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

Gre туннельная маршрутизация общедоступных IP-адресов между двумя серверами

Я хочу маршрутизировать общедоступные IP-адреса с сервера A и использовать их на сервере B. Я создал туннель GRE, и он работает. Затем я настраиваю маршрут на сервере A следующим образом:

(публичный IP не фактический IP) 192.168.11.111 через 10.0.33.50 dev tun2

На сервере B я привязал IP к dev eth0 и добавил маршрут:

(общедоступный IP-адрес не является фактическим IP-адресом) 192.168.11.111 dev eth0 scope link

Проблема, с которой я сталкиваюсь, заключается в том, что когда я тестирую с помощью netcat, у меня нет подключения. IP MASquerading не решит мою проблему, поскольку он не использует IP-адрес с сервера A. Любая помощь будет принята с благодарностью.

Ненавижу говорить вам, но у вас серьезные проблемы с настройкой.

(общедоступный IP-адрес) 192.168.11.111 через 10.0.33.50 dev tun2

Ваш так называемый общедоступный IP-адрес является частным и не маршрутизируется через Интернет. Это часть адресного пространства RFC 1918. На ОБЕИХ концах. Это означает, что для работы требуется обратный NAT на обоих концах и реальные общедоступные IP-адреса.

Вы получаете асимметричную маршрутизацию с вашей настройкой. Пакеты с вашего конца направляются через туннель к 8.8.8.8 с исходным IP-адресом в 10.0.33.0/24 сеть. Я думаю, что внешние брандмауэры Google отбрасывают пакеты с адресами частной сети, поэтому 8.8.8.8 никогда не получит пакет.

Если вы хотите направить пакеты обратно через туннель, вы должны использовать NAT на другом конце туннеля, который изменяет исходный IP-адрес на IP-адрес другого конца.

Также может случиться так, что клиентский конец туннеля использует свой IP-адрес с выходом в Интернет для пакетов, отправляемых в туннель. В этом случае результат - асимметричная маршрутизация. Пакеты от клиента отправляются через туннель на 8.8.8.8, но 8.8.8.8 отправляет пакеты непосредственно на собственный IP-адрес клиента, что также может вызвать проблемы.

проблема была с сервером B. Я тестировал это на другом сервере, и он работал. Не уверен, почему именно этот сервер не работает с туннелями gre. спасибо за ваше время и комментарии.