LinuxForum.Fans
Тема

Помогите с маршрутизацией

Автор: Serega955 11 сообщений 2962 просмотров
#323032

Доброго времени суток. Подскажите, что я делаю не так.

text
uname -a
Linux debian 3.2.0-4-amd64 #1 SMP Debian 3.2.41-2+deb7u2 x86_64 GNU/Linux

3 нтерфейса

text
eth0 - LAN 192.168.0.0
eth1 - WAN, белый адрес
eth2 - VPN канал

iptables -t nat -L SNAT all -- 192.168.0.0/24 anywhere to: <провайдерский gw>

интернет само собой работает.

Далее. Дано N площадок, которые разбиты на подсети. В данный момент я пытаюсь направить трафик из 192.168.0.0 в подсеть 192.168.1.0 на VPN шлюз.
Для этого я сделал так:

nano /etc/iproute2/rt_tables
дописал

101 WAN
102 VPN

И прописал каждой таблице свой шлюз. Получилось.

text
ip route list table WAN
default via <шлюз провайдера> dev eth1

ip route list table VPN default via <VPN шлюз> dev eth2

добавил рулс:

text
ip rule
0:      from all lookup local
32765:  from 192.168.0.0 to 192.168.1.0 lookup VPN
32766:  from all lookup main
32767:  from all lookup default

route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 212.100.146.57 0.0.0.0 UG 0 0 0 eth1 <vpn подсеть> 0.0.0.0 255.255.255.192 U 0 0 0 eth2 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 <wan подсеть> 0.0.0.0 255.255.255.252 U 0 0 0 eth1

Так вот, если я стираю шлюз по умолчанию, то интернет пропадает, рулс так же не работает. Помогите пожалуйста, опытные люди.
Если все оставить в таком виде, то при traceroute все уходит по маршруту 0.0.0.0

#323038

Если я правильно понимаю, инет в локалку идет через eth0, а белый адрес получаете через eth1. верно? в этом случае, тогда все верно, у вас шлюз стоит по умолчанию на интерфейсе eht0, если его убрать из route -n, то инет пропадет в офисе. У меня в офисе шлюз тоже поднят и раздает инет юзерам сети. А вот дальше я неочень понял, через локалку надо раздать на eth2 - на еще некоторое количество подсетей??

#323039

Вы верно поняли, задача такая, я из локалки, должен увидеть подсеть филиала. Для этого при обращении к данной подсети, мне нужно перенаправить трафик не по маршруту шлюз по умолчанию, а по альтернативному маршруту. Но я явно что то делаю не так, так как при обычной трассировке первый же хоп- wan gw.

#323041

Если у филиалов подсеть другая тогда таблицы лишнее.

text
/etc/iproute2/rt_tables

Просто надо добавить маршрут, пример:
филиал 1 имеет подсеть 192.168.1.0/24 и к нам подключён через vpn (eth3)
Просто на шлюзе указываем маршрут.

text
route add -net 192.168.1.0/24 dev eth3

или

text
route add -net 192.168.1.0/24 gw "тут айпи впн"
#323042

да, тоже хотел сказать, что на подсеть филиала надо добавить шлюз.

"Kettler⇓" написал:
eth3

наверно eth2

#323043
Linux777 написал:
да, тоже хотел сказать, что на подсеть филиала надо добавить шлюз.
[quote="Kettler⇓"]eth3

наверно eth2[/quote]
Я привёл лишь пример. Мне ещё странно почему vpn имеет eth*

#323044

Дело в том, что это было первое, что я попробовал. Это мой первый шлюз с 3я сетевыми картами, и я был удивлен, когда ничего не заработало.
http://habrahabr.ru/post/108690/
В данной статье рассматривается схожая проблема. Но я как не понимал, так и не понимаю, почему даже при указании каждой сетевой карте своего шлюза, или как в статье, при использовании iproute2, весь трафик все равно ходит по default gw.

#323045

Ну я не знаю. возможно имеется ввиду что между шлюзом eth2 есть железка типа циски, где проброшен vpn. (но а в целом суть понятна)

#323046
"Serega955⇓" написал:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 212.100.146.57 0.0.0.0 UG 0 0 0 eth1
<vpn подсеть> 0.0.0.0 255.255.255.192 U 0 0 0 eth2
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
<wan подсеть> 0.0.0.0 255.255.255.252 U 0 0 0 eth1

первая и третия строчка верны. (что означает вся сеть 0.0.0.0 находится там, доступна через шлюз.212.100.146.57) а вот в 2 и 4 надо указать шлюз, считаю именно поэтому все ходит по дефолту (наверняка через dwfault gw это 212.100.146.57). а могли бы вы для лючшего понимания структуру в скриншоте выложить, где есть кто, ну где какая сеть и подсеть)

#323047

никакого оборудования нет между офисом и филиалом? железок? Сложно так не зная топологии сети гооврить)
кстати, попробуйте как вариант traceroute пустить, докуда дойдет. ping понял не проходит до той сети?
iptables может тоже блокировать пакеты. стоит посмотерть это.

#323049

По поводу IP tables отписался в начале. Только нат. Железок по VPN каналу между филиалами полно. Но пинг ходит только если шлюз по умолчанию - VPN GW. В общем все проблемы начинаются при добавлении 3ей сетевой карты. Пока их две, все вообше отлично. Проблема не в железе, т.к с другой стороны те же сложности. По поводу трасировки, я тоже отписался. Она ходит только через шлюз по умолчанию. А все шлюзы, указанные для каждой подсети, как мне советовали выше, игнорируются. Так же как и игнорируются настройки iproute2, очевидно я что то не донастроил. И я не могу понять что.

Войдите или зарегистрируйтесь, чтобы ответить.