Как избавиться от асимметричной маршрутизации трафика
При попытке настроить доступ в удаленные сети через роутер в локальной сети может возникнуть асимметричная маршрутизация, препятствующая прохождению пакетов между двумя локальными сетями. В этой статье описаны случаи возникновения асимметричной маршрутизации и способы предотвращения.
Пример. В локальной сети UTM используется роутер, устанавливающий связь с другими сетями. UTM - шлюз по умолчанию для клиентов сети. Требуется настроить маршрутизацию на UTM так, чтобы клиенты сети 10.80.1.0/24
получали доступ в удаленную сеть 192.168.10.0/24
и обратно через роутер.
Асимметричная маршрутизация при наличии роутера в локальной сети
Неправильная топология сети, способствующая асимметричной маршрутизации:
10.80.1.1
- шлюз для локальной сети10.80.1.0/24
;10.80.1.2
- роутер, имеющий доступ в удаленную сеть192.168.10.0/24
;10.80.1.5
- адрес хоста в локальной сети;Красные стрелки - двусторонняя связь роутера с удаленным шлюзом или роутером, обеспечивающая доступ к удаленной сети
192.168.10.0/24
(туннель к шлюзу, маршрут до роутера в соседнюю сеть предприятия);Черные стрелки - трафик от хостов локальной сети
10.80.1.0/24
до удаленной сети192.168.10.0/24
через шлюз UTM (10.80.1.1
) и роутер (10.80.1.2
);Пунктирная стрелка - трафик, который роутер возвращает хостам локальной сети в обход UTM, поэтому хосты этот трафик обратно не принимают.
Часть трафика от клиентов до роутера идет через шлюз, а часть - непосредственно от роутера до абонентов сети. Разная маршрутизация на разных участках делает прохождение пакетов между двумя локальными сетями невозможной.
Асимметричная маршрутизация при публикации сайтов через DNAT
Асимметричная маршрутизация также возникает, когда в одной локальной сети находится хост и сервер, на котором расположен опубликованный при помощи DNAT-правила ресурс:
![](https://docs.ideco.dev/~gitbook/image?url=https%3A%2F%2F4217941192-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FzELp0pTlLMmCAnvEjR2o%252Fuploads%252Fgit-blob-5c04bba49b8a45fee19fb3f89630e5e8eb13a5ba%252Fnets-var11.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=e665cc37&sv=1)
10.80.1.1
- адрес Ideco UTM в локальной сети;10.80.1.2
- адрес сервера в локальной сети;10.80.1.5
- адрес хоста в локальной сети;188.114.8.8
- адрес сайта в интернете;Красная стрелка - ответ напрямую от сервера хосту в локальной сети.
Когда хост 10.80.1.5
обращается на сайт по внешнему адресу 188.114.8.8
(например, в случае обращения по доменному имени, которое разрешено во внешнем IP), трафик проходит через UTM. На UTM срабатывает правило DNAT и перенаправляет трафик на сервер 10.80.1.2
, а сервер отвечает хосту, минуя UTM.
Правильная топология сети:
![](https://docs.ideco.dev/~gitbook/image?url=https%3A%2F%2F4217941192-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FzELp0pTlLMmCAnvEjR2o%252Fuploads%252Fgit-blob-814c948df13f694d5c185041908298392e4b26d8%252Fnets-var1.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=540a59f2&sv=1)
Для правильной работы схемы нужно:
1. Вынести роутер в отдельную локальную сеть (DMZ 10.90.1.0/24
), чтобы избежать асимметричной маршрутизации между роутером и клиентами локальной сети:
2. Настроить DMZ на UTM, добавив на локальный интерфейс UTM еще один IP-адрес (10.90.1.0/24
), к локальной сети которого подключен роутер.
3. На роутере настроить IP-адрес из адресного пространства новой сети 10.90.1.2
. Шлюзом указать дополнительный IP-адрес, настроенный на локальном интерфейсе UTM из этой сети 10.90.1.1
.
Физически роутер и клиенты локальной сети будут находиться в одном сегменте сети, имея при этом разную IP-адресацию и шлюзы. Как правило, схемы с виртуальной изоляцией сетей на основе одного физического интерфейса достаточно.
Для физической изоляции локальной сети клиентов UTM и роутера:
Подключите к Ideco UTM дополнительную сетевую карту;
Настройте на сетевой карте дополнительный локальный интерфейс и отдельную IP-адресацию в этой сети;
Укажите в качестве шлюза для роутера адрес, настроенный на дополнительном локальном интерфейсе.
Физически роутер будет находиться в сегменте дополнительной сетевой карты.
Если по какой-то причине изолировать сервер в DMZ невозможно, создайте на UTM специальное SNAT-правило.
Last updated