URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 52063
[ Назад ]

Исходное сообщение
"Маршрутизация между двумя подсетями"

Отправлено Monty , 30-Дек-04 12:52 
Столкнулся со следующей проблемой.
На 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.2

10.1.0.2 и 10.2.0.2 это адреса сетевых карт на маршрутизаторе.

При таком раскладе не работает как нужно. Что нужно сделать?


Содержание

Сообщения в этом обсуждении
"Маршрутизация между двумя подсетями"
Отправлено butcher , 30-Дек-04 12:59 
>Необходимо, чтоб пакеты свободно бегали между подсетями и люди могли играть друг

# sysctl net.inet.ip.forwarding=1
Прописать в сетях на всех клиентах соответсвующие маршруты.


"Маршрутизация между двумя подсетями"
Отправлено Monty , 30-Дек-04 13:03 
>>Необходимо, чтоб пакеты свободно бегали между подсетями и люди могли играть друг
>
># 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

Когда некто пингует из одной подсети человека, находящегося в другой подсети, пакет должен быть направлен на стандартный шлюз, а далее маршрутизатор должен перекинуть его в другую подсеть. Я это так себе представляю.



"Маршрутизация между двумя подсетями"
Отправлено Skif , 30-Дек-04 13:08 
а как вариант, что просто очищается табличка маршрутов. Ничего туда не пишеться и просто в ipfw  указывается, что от сих до сих ходить можно?
Что бы не быть голословным

root@merlin /usr/ports/graphics/linux_glx :netstat  -rn
Routing tables

Internet:
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
Как видишь, никаких маршрутов не забивал.


"Маршрутизация между двумя подсетями"
Отправлено butcher , 30-Дек-04 13:12 
>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").

Если пинги не проходят, проверяйте ещё раз настройки клиентов, настройки файрвола.


"Маршрутизация между двумя подсетями"
Отправлено Monty , 30-Дек-04 13:25 
>>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 any

gateway_enable="YES" установлен, даже установил
router_enable="YES"


"Маршрутизация между двумя подсетями"
Отправлено butcher , 30-Дек-04 13:32 
>Нет, не проходят.
>Например, когда клиент 10.2.2.22 пытается пинговать 10.1.0.5, то на
>сетевом интерфейсе маршрутизатора

что выводит netstat -rn на клиентах с адресами 10.2.2.22 и 10.1.0.5

>router_enable="YES"

это лишнее.


"Маршрутизация между двумя подсетями"
Отправлено Monty , 30-Дек-04 14:06 
Оказалось, что у клиента маска подсети была указана неверно.
Спасибо всем за помощь.

"Маршрутизация между двумя подсетями"
Отправлено _dima , 31-Дек-04 20:45 
>>Нет, не проходят.
>>Например, когда клиент 10.2.2.22 пытается пинговать 10.1.0.5, то на
>>сетевом интерфейсе маршрутизатора
>
>что выводит netstat -rn на клиентах с адресами 10.2.2.22 и 10.1.0.5
>
>>router_enable="YES"
>
>это лишнее.
почему лишнее?


"Маршрутизация между двумя подсетями"
Отправлено Monty , 31-Дек-04 20:53 
>>>Нет, не проходят.
>>>Например, когда клиент 10.2.2.22 пытается пинговать 10.1.0.5, то на
>>>сетевом интерфейсе маршрутизатора
>>
>>что выводит netstat -rn на клиентах с адресами 10.2.2.22 и 10.1.0.5
>>
>>>router_enable="YES"
>>
>>это лишнее.
>почему лишнее?
В моем случае работает и без него. Достаточно приведенных выше маршрутов.