Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по FreeBSD (http://forum.oszone.net/forumdisplay.php?f=10)
-   -   сетевой мост (http://forum.oszone.net/showthread.php?t=71884)

Pallot 25-09-2006 13:46 489219

сетевой мост
 
Необходимо организовать мост между двумя сетями.
Сеть 1: 10.1.x.x маска 255.255.0.0
Сеть 2: 192.168.1.x маска 255.255.255.0

Есть машина FreeBSD 6.1 две карты:
rl0 192.168.1.1 маска 255.255.255.0
xl0 10.1.0.1 маска 255.255.0.0

пересобрал ядро:
Код:

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREEWALL_VERBOSE_LIMIT=10
options        TCP_DROP_SYNFIN

В rc.conf пишем:
Gateway_enable=”YES”
Вариант 1:
Код:

    kldload if_bridge
    ifconfig bridge0 create
    ifconfig bridge0 addm xl0 addm frl0 up
    ifconfig xl0 up
    ifconfig rl0 up

Вариант 2:
Код:

    kldload bridge
    sysctl net.link.ether.bridge.config=xl0, rl0
    sysctl net.link.ether.bridge.enable =1

(взято тут -> http://www.opennet.ru/tips/info/1051.shtml )

При загрузке машины выдает:
Если вариант 2:
Код:

kldload: can’t load bridge: File exists
sysctl net.link.ether.bridge.config: rl0, xl0 -> rl0, xl0
sysctl net.link.ether.bridge.enable: 1 -> 1

Если вариант 2:
kldload: can’t load if_bridge: File exists
Код:

ifconfig: SIOCIFCREATE: File exists
ifconfig: BRDGADD xl0: File exists
ipconfig: not found
ipconfig: not found

Пинги не проходят не в одном ни в другом случае.
(На машинах выставлен шлюз: 192.168.1.1 и 10.1.0.1 в соответствующей сети.)

Какие есть варианты??
Как еще можно организовать мост между сетями?? Желательно что бы можно было резать скорость.

BaguM 25-09-2006 16:50 489319

можно попробовать пользовать natd для трансляции адресов.
natd -u -a 10.1.0.1
ipfw add divert ip from any to any
ipfw add allow ip from any to any

Вариант кривой, но может всеж поможет

ЗЫ на http://www.linuxcenter.ru/lib/articl...t_bridge.phtml
нашел что нужно в конфиге ядра прописывать device if_bridge, и тогда работает по вашему 1му варианту

или попробуй в rc.conf добавить
cloned_interfaces="bridge0"
ifconfig_bridge0="addm xl0 addm rl0 up"

Barracuda 25-09-2006 19:03 489408

Pallot
Вам роутер нужен? Тогда зачем вам мост?
В rc.conf:
Код:

gateway_enable="YES"
и в таблицах маршрутизации на улиентских машинах прописать статичсекий маршрут на противоположную подсеть чере этот роутер.

Igor_I 25-09-2006 19:35 489430

Цитата:

и в таблицах маршрутизации на улиентских машинах прописать статичсекий маршрут на противоположную подсеть чере этот роутер.
Надо будет попробовать.
А пока в опциях ядра
device if_bridge
rc.conf
Цитата:

cloned_interfaces="bridge0"
ifconfig_bridge0="addm xl0 addm rl0"
File exists -> Файл существует

Pallot 26-09-2006 11:26 489680

BaguM
Цитата:

Вам роутер нужен? Тогда зачем вам мост?
мне надо соединить две (а в перспективе и три) физически разделенные локальные сети и в глобальную сеть доступ дать (кому то дать и кому то нет :) ).
Машина под FreeBSD должна раздавать доступ и резать канал.
Задайте правильное направление :)...

gf100 26-09-2006 13:43 489750

У меня работает так:

<rc.conf>

gateway_enable="YES"
firewall_enable="YES"
firewall_type="open" # для начала, потом можно написать и вписать сюда свою конфигурацию - кого куда пускать и зачем
ifconfig_rl0="inet 192.168.1.1 netmask 255.255.255.0"
ifconfig_xl0="inet 10.1.0.1 netmask 255.255.0.0"

<в конфиге ядра>

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=1000
options IPFIREWALL_FORWARD
options IPFIREWALL_FORWARD_EXTENDED
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPDIVERT # для NAT

Pallot 26-09-2006 14:03 489764

gf100
а FreeBSD 6.1 ??
а канал режешь?? чем??

gf100 26-09-2006 15:49 489817

Pallot
Цитата:

а FreeBSD 6.1 ??
Ага.
Цитата:

а канал режешь?? чем??
Внутри сети - не режу (нет необходимости), выход в инет - проксей (squid) в транспарент-режиме. Если не ошибаюсь, firewall умеет ограничивать полосу пропускания - пишешь соответствующий конфиг.

Pallot 26-09-2006 16:08 489833

я немного тут вот нарыл. но это актуально для 4.
на это
Код:

  # этот параметр в некоторых случаях
  # помогает от D.O.S. атак.
  options ICMP_BANDLIM

config ругаеться. я так понимаю нет необходимости.
вот это
Код:

  # Добавим еще парочку нужных параметров
  # ICMP_BANDLIM включает ограничение полосы для

тоже вопрос, Надо ли в 6.1 врубать.??
мост:
Код:

options BRIDGE
помоему его заменили на IF_BRIDGE

gf100
ща попробую твой вариант (ядро 1.5 часа собиралось)...

Barracuda 26-09-2006 17:30 489886

Pallot
AFAIK, для роутинга (в нашем случае - это оно и есть, т.к. сети с неперекрываемыми диапазонами адресов) if_bridge вообще не нужен...
И ещё: рекомендую для данного аппарата (судя по тому, что ядро собиралось 1.5 часа, то это что-то вроде Pentium-133...200) взять хорошие "аппаратные" сетевухи, т.к. при росте траффика через роутер обычные "народные" сетевухи будут захлёбываться. К тому же, оч полезным будет polling(4)

greywind 26-09-2006 20:37 489981

ipfw pipe bw режет. man ipfw, man dummynet

Pallot 27-09-2006 13:53 490277

gf100
Цитата:

gateway_enable="YES" firewall_enable="YES" firewall_type="open" # для начала, потом можно написать и вписать сюда свою конфигурацию - кого куда пускать и зачем ifconfig_rl0="inet 192.168.1.1 netmask 255.255.255.0" ifconfig_xl0="inet 10.1.0.1 netmask 255.255.0.0"

<в конфиге ядра>

options IPFIREWALL options IPFIREWALL_VERBOSE options IPFIREWALL_VERBOSE_LIMIT=1000 options IPFIREWALL_FORWARD options IPFIREWALL_FORWARD_EXTENDED options IPFIREWALL_DEFAULT_TO_ACCEPT options IPDIVERT # для NAT
так вроде заработало но как то криво, только в одну сторону.
т.е. из сети 10.... ping проходит на 192.... а вот обратно нет :(
Еще смущеат что при заргузке на карте с IP 10.1.0.1 стоит status: no carrier

gf100 27-09-2006 15:20 490322

Цитата:

только в одну сторону
Может случайно NAT включил? Выключи.
Кроме того, проверь на клиентских машинах маршрутизатор "по умолчанию": для подсети 192.168.1.0/24 - 192.168.1.1, для 10.1.0.0/16 - 10.1.0.1.
Попробуй попинговать клиентские машины с Free'шки.

Pallot 27-09-2006 16:13 490358

Цитата:

Может случайно NAT включил? Выключи.
ну я поддержку NAT вбил в ядро
Код:

options IPDIVERT # для NAT
убрать??

Код:

natd_interface="xl0"
xl0 смотрит в 192...
при таком раскладе пакеты идут из 192... в 10... обратно нет.

меняем
Код:

natd_interface="rl0"
rl0 смотрит в 10...
пакеты идут из 10... в 192... обртно нет.

настраивать IPFW??

gf100 27-09-2006 17:04 490386

Цитата:

поддержку NAT вбил в ядро, убрать??
Не надо.
Цитата:

natd_interface="xl0"
А вот <natd_interface> - убрать, совсем убрать. Он полностью экранирует (маскирует) сеть за одним адресом.
IPFW - умеет ограничивать скорости, огрганизовывать проброс пакетов, кое-что считать, в общем, рулить.

Pallot 27-09-2006 17:30 490398

Цитата:

А вот <natd_interface> - убрать, совсем убрать. Он полностью экранирует (маскирует) сеть за одним адресом.
ну и наверно natd_enable="NO"
Цитата:

IPFW - умеет ограничивать скорости, огрганизовывать проброс пакетов, кое-что считать, в общем, рулить.
ага, будем разбираться.

gf100 27-09-2006 17:39 490402

Цитата:

ну и наверно natd_enable="NO"
Просто закомментарить.

Pallot 04-10-2006 14:22 493199

Barracuda
Цитата:

и в таблицах маршрутизации на улиентских машинах прописать статичсекий маршрут на противоположную подсеть чере этот роутер.
Да почти в этом было дело... с одной стороны на клиенте шлюз небыл прописан. Вернее он просто пропадал.
Шлюз по умолчанию стоит другой. я добовляю маршрут а после перегрузки он пропадает.
Код:

с одной стороны
route add 10.1.0.0 MASK 255.255.0.0 10.1.0.1
с другой стороны
route add 192.168.1.0 MASK 255.255.255.0 192.168.1.1

где его можно на клиентах (win) прописать??
как вариант .bat файл который будет испольняться при входе пользователя, но это же только при входе... :( пока он не залогинился машина в другой сети не видна.

gf100 04-10-2006 16:33 493298

Pallot, шлюз "по умолчанию" (default router) прописывается в свойствах протокола ip (для каждой установленной сетевой карты).

А если хочешь через route add... мог бы догадаться запустить route help (из cmd) и увидеть чудесный ключик -p :)

Pallot 05-10-2006 10:14 493607

gf100
невнимательность меня погубит... :)
на машине два шлюза, вот и надо было прописать чтобы 10.1.0.0 255.255.0.0 ходили через шлюз 10.1.0.1
route help я читал, но с конца, как добавлять я прочитал а вот как фиксировать недошел.


Время: 21:38.

Время: 21:38.
© OSzone.net 2001-