Linux GRE Tunnel: Remote Address parameter

The Linux GRE tunnel as two parameters, local address and remote address. Suppose I have two routers, the left one is outside of a NAT and right one is inside NAT, then I want to create a GRE tunnel between the left and right routers. I am clear to the right side, where local address should be own address and remote address should be the peer public address. But the to the left side, I think the router will not know the peer address before the connection, then how would I set the 'remote' address for it?

Thanks in advance. -woody

0
задан 18 August 2018 в 08:00
1 ответ

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

Пример:

left : 192.0.2.10

Система NAT: 198.51. 100.20 / 192.168.0.1

справа (за NAT): 192.168.0.30

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

Вам нужно сообщить левому маршрутизатору, что удаленный - 198.51.100.20, а для правый маршрутизатор, удаленный - 192.0.2.10.

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

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

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

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

0
ответ дан 5 December 2019 в 05:24

Теги

Похожие вопросы