LINUX.ORG.RU
ФорумAdmin

Роутинг через посредника в локальной сети


0

1

Нужно гнать трафик через отведённый для этих целей хост (не гейтвей), расположенный в одной подсети и с клиентами, и с гейтом. Назовём его gateway_ad.

Целевая сеть (10.0.0.0/24) лежит в инете за gateway.

gateway. 2 внутренних интерфейса: 192.168.0.1, 172.20.0.1
gateway_ad. Тоже, 2 внутренних интерфейса 192.168.0.2, 172.20.0.2

На gateway_ad активирую форвард, делаю NAT, пишу маршрут до 10.0.0.0/24 (эта сеть gateway_ad достижима) через 172.20.0.1. Таким образом хочу указать клиентским компам из сети 192.168.0.0, маршрут до 10.0.0.0/24 лежит через 192.168.0.2.

192.168.0.x ==> 192.168.0.2|172.20.0.2 ==> 172.20.0.1 ==> 10.0.0.x

gateway_ad возвращает клиенту icmp redirect. Как мне заставить его таки роутить этот трафик, а не лишь уведомлять, что до этого (172.20.0.1) хоста клиент может добраться сам?

Схема с дополнительной подсетью 172.20.0.0/24 вынужденная. Во всём виноват IPSEC.

Ответ на: комментарий от kernelpanic

Видимо, речь идет о подмене подсети. Если я правильно понимаю, используется цель MAP в таблице nat. А вот дальше я совсем запутался. Зачем два внутренних интерфейса на gateway, если он будет получать пакеты только на один? Каким образом на обоих гейтах настроен роутинг? Как настроен роутинг на клиентских машинах? Видимо без дополнительной информации от ТС, это все для меня так и останется загадкой.

delete83 ★★
()
Ответ на: комментарий от delete83

>Видимо, речь идет о подмене подсети.
Да, совершенно верно. Админы удалённого офиса выдали нам подсеть, которая должна использоваться в нашем офисе. Пффф... А на этой подсети завязан IPSEC. Я поднимал давно эту тему, как обойти данное ограничение с IPSEC, но так ничего и не придумалось.

172.20.0.0/24 - подсеть, для использования в IPSEC.

Если я правильно понимаю, используется цель MAP в таблице nat.

Нет.

Зачем тебе NAT на gateway_ad?

Если я не буду использовать NAT, то gateway ответные пакеты будет отсылать напрямую клиентам, а не через gateway_ad, и те их проигнорят. Но до этого ещё не дошло.

Вот примерно намалевал http://194.190.162.231/tmp/net.svg

markevichus ★★★
() автор топика

У вас точно трафик не идёт? Раньше в таких случаях icmp redirect возращался, но пакет обрабатывался (маршрутизировался).

mky ★★★★★
()

> гнать трафик через отведённый для этих целей хост (не гейтвей), расположенный в одной подсети и с клиентами, и с гейтом
аля триангл роут?

Как мне заставить его таки роутить этот трафик, а не лишь уведомлять, что до этого (172.20.0.1) хоста клиент может добраться сам?

snat для транзитного трафика на 192.168.0.2|172.20.0.2
в итоге для 172.20.0.1 трафик будет выглядеть так, будто бы его генерит 172.20.0.2, а не хосты из локалки.

вообще можно с snat и без дополнительных адресов обойтись

fr_butch
()
Ответ на: комментарий от mky

>У вас точно трафик не идёт?
Не идёт. Можно отключить icmp redirect на gateway_ad и тогда client будет до последнего пытаться достучаться до целевого хоста через gateway_ad.

Я не представляю, что ещё можно придумать в данной ситуации:
На gateway_ad:
# ip route add 10.0.0.0/24 via 172.20.0.1 dev eth0
# echo 1 > /proc/sys/net/ipv4/ip_forward

Уже этого должно быть достаточно, чтобы трафик маршрутизировался.

вообще можно с snat и без дополнительных адресов обойтись

Это как же?

markevichus ★★★
() автор топика

Воткнул во вторую сетевуху на gateway_ad кабель и подключил её к общему свичу. Костыль, конечно, да ещё и физический, но пашет.

markevichus ★★★
() автор топика
Ответ на: комментарий от bsw_m

Эта инструкция объясняет, как отключить/включить отправку icmp redirect. Маршрутизировать трафик сервер не будет.

markevichus ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.