Прослушивание "через" GRE Tunnel
В настоящее время я хочу узнать об использовании GRE Tunnels, и у меня есть следующая схема:
Сервер1 (200.1.2.3) ----> Сервер2 (190.1.2.3)
Оба сервера имеют публичные IP-адреса
Затем я настроил GRE Tunnel с помощью следующих команд, которые я нашел в интернете.
На сервере1:
iptunnel add tunX mode gre remote 190.1.2.3 local 200.1.2.3 ttl 225
ifconfig tunX 10.0.201.1/24
ifconfig tunX up
ifconfig tunX pointopoint 10.0.201.2
ifconfig tunX multicast
На сервере2:
iptunnel add tunY mode gre remote 200.1.2.3 local 190.1.2.3 ttl 225
ifconfig tunY 10.0.201.2/24
ifconfig tunY up
ifconfig tunY pointopoint 10.0.201.1
ifconfig tunY multicast
затем я могу пропинговать каждую машину, используя их локальные адреса (10.0.201.1 для Server1 и 10.0.201.2 для Server 2).
Теперь я хочу, чтобы программа, работающая на сервере Server1, прослушивала порт 5050 (tcp, udp) и могла получать доступ к этому порту извне, подключившись к 190.1.2.3:5050.
Server1 также должен иметь возможность прослушивать порты через общедоступный IP-адрес (200.1.2.3) (не такой, как тот, который я хочу туннелировать через GRE)
Я пробовал некоторые правила iptables, применяемые в Server2 для пересылки трафика, но они, похоже, не работают, поэтому я думаю, что мне не хватает чего-то важного в этой настройке, чтобы заставить его работать.
Клиенты из Интернета должны иметь возможность подключаться к 190.1.2.3:5050 для доступа к службе на сервере Server1, но они никогда не должны знать общедоступный IP-адрес сервера Server1.
Быстрая схема рисования будет такой:
Спасибо