Не работает мост на FreeBSD 8.3

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
iltmpz
ефрейтор
Сообщения: 58
Зарегистрирован: 2008-11-10 13:10:56

Не работает мост на FreeBSD 8.3

Непрочитанное сообщение iltmpz » 2013-03-27 11:08:09

Пытаюсь настроить мост на FreeBSD 8.3
Гугл предлагает кучу вариантов, но все они относятся к совсем старым версиям, и на 8-ю ветку не подходят. Например, ядро на опцию options BRIDGE говорит, что не знает такого. sysctl тоже не знает таких опций, как net.link.ether.bridge, и т.д.

В общем, из того, что удалось найти, сделал следующее:
Собрал ядро, которое отличается от GENERIC прописанной в конце строчкой:

Код: Выделить всё

device          if_bridge
Сервер находится под vmware esxi 5. (Впрочем, развернул железную, не виртуальную рабочую станцию для эксперимента - тот же результат, так что дело не в виртуализации как я понимаю).
В качестве альтернативы своему ядру пробовал подгружать к стандартному ядру модули через /boot/loader.conf:

Код: Выделить всё

if_bridge_load="YES"
bridgestp_load="YES"
На сервере 3 интерфейса: em0, em1, em2.
em0 я подключил только для управления из внутренней сети, между em1, em2 собственно планируется мост, для проброса инета.

Соотв, к em1 подключена машина с winxp, которая должна иметь внешний ип и доступ к инету, к em2 подключен канал инета.

Вот rc.conf:

Код: Выделить всё

gateway_enable="YES"
ifconfig_em0="inet 192.168.xx.9 netmask 255.255.255.0"
defaultrouter="192.168.xx.6"
cloned_interfaces="bridge0"
ifconfig_bridge0="addm em1 addm em2"
ifconfig_em1="inet 83.xxx.xxx.105 netmask 255.255.255.240"
Вот sysctl, то что относится к мосту:

Код: Выделить всё

net.link.bridge.ipfw: 0
net.link.bridge.inherit_mac: 0
net.link.bridge.log_stp: 0
net.link.bridge.pfil_local_phys: 0
net.link.bridge.pfil_member: 1
net.link.bridge.pfil_bridge: 1
net.link.bridge.ipfw_arp: 0
net.link.bridge.pfil_onlyip: 1
Вот ifconfig:

Код: Выделить всё

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 00:50:56:99:7d:75
        inet 192.168.xx.9 netmask 0xffffff00 broadcast 192.168.xx.255
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
em1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 00:50:56:99:7d:76
        inet 83.xxx.xxx.105 netmask 0xfffffff0 broadcast 83.xxx.xxx.111
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
em2: flags=8902<BROADCAST,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 00:50:56:99:7d:77
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 0e:2e:e0:6d:fe:ec
        id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
        maxage 20 holdcnt 6 proto rstp maxaddr 100 timeout 1200
        root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
        member: em2 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 3 priority 128 path cost 20000
        member: em1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 2 priority 128 path cost 20000
Соответственно, пускаю с виндовой машины пинг наружу - на шлюз провайдера - не проходит.
tcpdump -i em1 - вывод пустой.
bridge0 и em2 - аналогично.
Пинг между виндовой машиной и интерфейсом роутера (83.xxx.xxx.105) есть.

На vmware на этих 2 виртуальных свитчах promiscuous mode включил.

Куда копать дальше - ума не приложу...

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

iltmpz
ефрейтор
Сообщения: 58
Зарегистрирован: 2008-11-10 13:10:56

Re: Не работает мост на FreeBSD 8.3

Непрочитанное сообщение iltmpz » 2013-03-27 11:17:02

Упс, прошу прощения, не хватило одной-единственной строчки:
ifconfig em2 up
Теперь все заработало: пинги бегают, tcpdump их ловит, все стало как и должно быть :)