Назад | Перейти на главную страницу

Linux GRE Tunnel: параметр удаленного адреса

Туннель Linux GRE имеет два параметра: локальный адрес и удаленный адрес. Предположим, у меня есть два маршрутизатора, левый находится за пределами NAT, а правый - внутри NAT, тогда я хочу создать туннель GRE между левым и правым маршрутизаторами. Я понимаю правую сторону, где локальный адрес должен быть собственным адресом, а удаленный адрес должен быть публичным адресом однорангового узла. Но что касается левой стороны, я думаю, что маршрутизатор не будет знать адрес однорангового узла перед подключением, тогда как мне установить для него «удаленный» адрес?

Заранее спасибо. -вуди

Для других протоколов следует поступать так, как ожидалось: для пультов следует указывать только общедоступные IP-адреса.

Пример:

left: 192.0.2.10

Система NAT: 198.51.100.20 / 192.168.0.1

right (за NAT): 192.168.0.30

(И, например, вы настраиваете IP-адреса туннеля для left 10.10.10.1/24 и right 10.10.10.2/24, тут не важно)

Вам нужно сказать left маршрутизатор, который remote 198.51.100.20, а для right маршрутизатор, remote это 192.0.2.10.

Теперь нюанс: это действительно зависит от настроек системы NAT. если он работает под Linux.

Если эта система NAT также является Linux,

  • Конечно, нужно как минимум делать SNAT / MASQUERADE для right для протокола gre (47), если он не имеет общего правила (но см. ниже),
  • в то время как NAT для обычных протоколов обычно автоматически извлекает соответствующие модули conntrack, для GRE этого не происходит. Ты должен вручную сделать modprobe nf_conntrack_proto_gre, или NAT не произойдет, и туннель не будет работать. Как ни странно, из тестов, nf_nat_proto_gre не кажется необходимым (и одного недостаточно).
  • Если нет эквивалента DNAT к SNAT/MASQUERADEто только right должен инициировать движение к left. Если left направляет трафик на right (фактически в систему NAT) после бездействия это не сработает, и запись conntrack может предотвратить до 30 секунд (после завершения попыток) right установить трафик на left. После «установки» таймер «ОК» увеличивается до 180 с. Так что вам действительно стоит подумать о добавлении DNAT правило от left к right завершить противоположное SNAT/MASQUERADE правило.

В такой системе NAT Linux вы можете проверить, что происходит, используя conntrack -L -p gre, в нем должна быть запись после активности туннеля GRE, или правильный модуль отсутствует.