|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Anton V. Yuzhaninov 2:5020/400 08 Aug 2004 02:10:31 To : All Subject : BRIDGE --------------------------------------------------------------------------------
Hello, All!
Собрал сегодня у себя бридж в учебных целях, все завелось нормально но есть один
непонятный глюк - сам бридж доступен только с той стороны, где прописан ip.
В общем по порядку:
Есть машина с тремя интерфейсами: xl0 смотрит в локальную сеть, к rl0 и rl1
подключено по компу.
Собрал ядро с options BRIDGE
в /etc/sysctl.conf
net.link.ether.bridge.enable=1
net.link.ether.bridge.ipfw=1
net.link.ether.bridge.config=xl0,rl0,rl1
Перезагрузился. С компов подключенных к rl0 и rl1 внешняя сеть доступна, бридж
работает.
Hа внешнем интерфейсе прописываю адрес. 192.168.54.120/24 - из внешней сети он
пингуется, с самого бриджа внешняя сеть тоже доступна, HО
Связи между самим бриджом и компами подключенным к внутренним интерфейсам нет.
Hа компе подключенном к rl0 адрес 192.168.54.254/24
Запуская с бриджа ping 192.168.54.254, смотрю tcpdump на машине с 192.168.54.254
- приходят пакеты у которых в заголовке ip нулевая контрольная сумма, и конечно
такие пакеты отбрасываются.
Это вполне логичный баг. xl умеет считать контрольные суммы, а rl нет. Поскольку
ip-стек думает ,что пакет уйдет в сеть через xl то программно контрольная сумма
ip-заголовка не вычисляется, а бридж его потом отправляет через rl. Этот баг
легко обходится: ifconfig -rxcsum -txcsum.
Теперь на хост 192.168.54.254 приходят пакеты с правильной контрольной суммой,
обратно отправляется echo reply. Только бридж все равно игнорирует этот пакет.
Запускаю теперь tcpdump на бридже - уходит echo request, приходит echo reply но
пинг все равно показывает 100% loss
Включаю дебаг бриджа, смотрю:
kernel: bridge_in: 00.50.8d.fd.da.f5 ->00.5c.bf.00.14.b0 ty 0x0800 dst BDG_LOCAL
Т. е. бридж понимает, что пакет этот локальный.
Смотрю счетчики netstat -s - не увеличиваются. Т. е. входящие пакеты где то
дропаются.
И еще - на arp who-has 192.168.54.120 tell 192.168.54.254 возвращается мак
интерфейса rl0. Думал проблема в этом. Прописал на 54.254 статически мак
интерфейса xl0 - все тоже самое. Дебаг пишет dst BDG_LOCAL, а пакеты не доходят.
Файрволл тут не при чем - там allow ip from any to any и больше ничего.
Система - 5.2.1-RELEASE-p7
Кто ни будь сталкивался с подобной проблемой? Или это так задумано, что бридж
может быть доступен только со стороны одного из интерфейсов?
--
Anton V. Yuzhaninov, citrin#mail.ru
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5.3
* Origin: MSTU n. a. Bauman (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/6488730afc19.html, оценка из 5, голосов 10
|