Столкнулся со следующей проблемой.
На FreeBSD машине стоят две сетевухи. К одной подключена подсеть 10.1.0.0/16, к другой - 10.2.0.0/16
Необходимо, чтоб пакеты свободно бегали между подсетями и люди могли играть друг с другом.
Я сделал так:
route add -net 10.1.0.0 -netmask 255.255.0.0 10.1.0.2
route add -net 10.2.0.0 -netmask 255.255.0.0 10.2.0.210.1.0.2 и 10.2.0.2 это адреса сетевых карт на маршрутизаторе.
При таком раскладе не работает как нужно. Что нужно сделать?
>Необходимо, чтоб пакеты свободно бегали между подсетями и люди могли играть друг# sysctl net.inet.ip.forwarding=1
Прописать в сетях на всех клиентах соответсвующие маршруты.
>>Необходимо, чтоб пакеты свободно бегали между подсетями и люди могли играть друг
>
># sysctl net.inet.ip.forwarding=1
# sysctl net.inet.ip.forwarding
net.inet.ip.forwarding: 1>Прописать в сетях на всех клиентах соответсвующие маршруты.
У клиентов прописаны стандартные шлюзы.
В сети 10.1.0.0/16 прописан шлюз 10.1.0.2, в сети 10.2.0.0/16 - 10.2.0.2Когда некто пингует из одной подсети человека, находящегося в другой подсети, пакет должен быть направлен на стандартный шлюз, а далее маршрутизатор должен перекинуть его в другую подсеть. Я это так себе представляю.
а как вариант, что просто очищается табличка маршрутов. Ничего туда не пишеться и просто в ipfw указывается, что от сих до сих ходить можно?
Что бы не быть голословнымroot@merlin /usr/ports/graphics/linux_glx :netstat -rn
Routing tablesInternet:
Destination Gateway Flags Refs Use Netif Expire
default 195.177.xxx.xxx UGSc 89 353736 rl0
127.0.0.1 127.0.0.1 UH 1 131519 lo0
192.168.10 link#3 UC 26 0 xl0
192.168.10.1 00:02:b3:d9:dc:a6 UHLW 2 147897 xl0 721
192.168.10.2 00:0c:6e:0b:3f:2c UHLW 1 341 xl0 733
..........................................................
192.168.10.244 00:50ba:39:77:c5 UHLW 0 723719 xl0 129
192.168.10.252 00:01:02:20:c2:82 UHLW 1 627 xl0 1192
192.168.10.254 00:07:e9:0e:48:2e UHLW 0 1212 xl0 1192
192.168.100 192.168.100.114 UGSc 1 1647 gif0
192.168.100.114 192.168.10.114 UH 3 43047 gif0
192.168.139 link#2 UC 2 0 rl1
192.168.139.111 00:50:ba:49:0d:c6 UHLW 1 439 rl1 197
192.168.139.240 00:0e:2e:07:37:55 UHLW 0 364344 rl1 1160
root@merlin /usr/ports/graphics/linux_glx :В данном случае сегмент 192.168.100.0/24 соединен через тунель, а вот 192.168.139.0/24 просто кабель воткнут от свитча. Центральная сетка 192.168.10.0/24
Как видишь, никаких маршрутов не забивал.
>net.inet.ip.forwarding: 1
>У клиентов прописаны стандартные шлюзы.
>В сети 10.1.0.0/16 прописан шлюз 10.1.0.2, в сети 10.2.0.0/16 - 10.2.0.2>Когда некто пингует из одной подсети человека, находящегося в другой подсети, пакет
И что происходит? Пинги проходят?
>должен быть направлен на стандартный шлюз, а далее маршрутизатор должен перекинуть
>его в другую подсеть. Я это так себе представляю.система, когда получает пакет, MAC-адрес которого адресован ей, но IP адрес находится в другой сети пороется по своей таблице маршрутизации и если там будет маршрут - перекинет пакет по маршруту дальше. Что она и сделает при включенном forwarding (в rc.conf опция gateway_enable="YES").
Если пинги не проходят, проверяйте ещё раз настройки клиентов, настройки файрвола.
>>net.inet.ip.forwarding: 1
>>У клиентов прописаны стандартные шлюзы.
>>В сети 10.1.0.0/16 прописан шлюз 10.1.0.2, в сети 10.2.0.0/16 - 10.2.0.2
>
>>Когда некто пингует из одной подсети человека, находящегося в другой подсети, пакет
>
>И что происходит? Пинги проходят?
Нет, не проходят.
Например, когда клиент 10.2.2.22 пытается пинговать 10.1.0.5, то на сетевом интерфейсе маршрутизатора (адрес 10.2.0.2) начинают появляться такие записи:
(tcpdump)
12:46:14.605245 arp who-has 10.1.0.5 tell 10.2.2.22
12:46:20.105505 arp who-has 10.1.0.5 tell 10.2.2.22
12:46:25.605806 arp who-has 10.1.0.5 tell 10.2.2.22>>должен быть направлен на стандартный шлюз, а далее маршрутизатор должен перекинуть
>>его в другую подсеть. Я это так себе представляю.
>>система, когда получает пакет, MAC-адрес которого адресован ей, но IP адрес находится
>в другой сети пороется по своей таблице маршрутизации и если там
>будет маршрут - перекинет пакет по маршруту дальше. Что она и
>сделает при включенном forwarding (в rc.conf опция gateway_enable="YES").
>
>Если пинги не проходят, проверяйте ещё раз настройки клиентов, настройки файрвола.
Файрвол установил на полное пропускаиние.
65000 40988478 27510239740 allow ip from any to anygateway_enable="YES" установлен, даже установил
router_enable="YES"
>Нет, не проходят.
>Например, когда клиент 10.2.2.22 пытается пинговать 10.1.0.5, то на
>сетевом интерфейсе маршрутизаторачто выводит netstat -rn на клиентах с адресами 10.2.2.22 и 10.1.0.5
>router_enable="YES"
это лишнее.
Оказалось, что у клиента маска подсети была указана неверно.
Спасибо всем за помощь.
>>Нет, не проходят.
>>Например, когда клиент 10.2.2.22 пытается пинговать 10.1.0.5, то на
>>сетевом интерфейсе маршрутизатора
>
>что выводит netstat -rn на клиентах с адресами 10.2.2.22 и 10.1.0.5
>
>>router_enable="YES"
>
>это лишнее.
почему лишнее?
>>>Нет, не проходят.
>>>Например, когда клиент 10.2.2.22 пытается пинговать 10.1.0.5, то на
>>>сетевом интерфейсе маршрутизатора
>>
>>что выводит netstat -rn на клиентах с адресами 10.2.2.22 и 10.1.0.5
>>
>>>router_enable="YES"
>>
>>это лишнее.
>почему лишнее?
В моем случае работает и без него. Достаточно приведенных выше маршрутов.