[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: проброс broadcast`а через роутер



В Срд, 07/05/2008 в 14:10 +0400, Roman Makurin пишет:
> В Срд, 07/05/2008 в 13:40 +0400, Alexander GQ Gerasiov пишет:
> > На Wed, 07 May 2008 13:00:36 +0400
> > Roman Makurin <drolyk@gmail.com> записано:
> > 
> > > Всем привет!
> > > 
> > > Пытаюсь прокинуть broadcast пакеты через роутер. Исходная сеть
> > > 192.168.1.0/24, сеть назначения 192.168.0.0/24, порты 137-139. Роутер
> > > с адресами 192.168.1.2 и 192.168.0.9. NAT настроен и работает. Пишу
> > > следующее правило iptables:
> > > 
> > > # iptables -t nat -A PREROUTING -s 192.168.1.0/24 -d 192.168.1.255 -p
> > > udp --destination-port 137:139 -j DNAT --to-destination 192.168.0.255
> > > 
> > > Если вместо DNAT говорить LOG, то видно что правило верное, те пакеты
> > > им ловятся. Слушаю tcpdump`ом интерфейс 192.168.0.0/24
> > > 
> > > # tcpdump -i eth0 -n udp portrange 137-139 and src 192.168.0.9
> > > 
> > > и тишина. В чем может быть дело ? Может я что-то не понимаю в
> > > принципе ?
> > Может на уровне ethernet кадры не броадкастовые? Посмотри tcpdump'ом.
> > Проверь, что броадкаст адрес для интерфейса действительно
> > 192.168.0.255
> 
> # ip addr show dev eth0
> 3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
> qlen 1000
>     link/ether 00:17:31:b2:85:80 brd ff:ff:ff:ff:ff:ff
>     inet 192.168.0.9/24 brd 192.168.0.255 scope global eth0
>     inet6 fe80::217:31ff:feb2:8580/64 scope link 
>        valid_lft forever preferred_lft forever
> 
> # ip addr show dev eth1
> 2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
> qlen 1000
>     link/ether 00:17:31:b2:6f:40 brd ff:ff:ff:ff:ff:ff
>     inet 192.168.1.2/24 brd 192.168.1.255 scope global eth1
>     inet6 fe80::217:31ff:feb2:6f40/64 scope link 
>        valid_lft forever preferred_lft forever
> 
> вроде всё как обычно

В этом и дело. Ethernet адрес ff:ff:ff:ff:ff:ff обрабатывается как-то по
особому и маршрутизироваться не будет.

Вообще для решения этой задачи есть 2 способа: мост и proxyarp. Но судя
по портам, которые Вы хотите пробросить задача состоит в том, чтобы
клиенты разных сетей видели друг друга по netbios. Это (и по ходу куча
других проблем) решается установкой wins-сервера. 

-- 
Покотиленко Костик <casper@meteor.dp.ua>


Reply to: