Linux-бокс в качестве сетевого шлюза изменяет исходный адрес

Linux-бокс в качестве сетевого шлюза изменяет исходный адрес

У меня есть Ubuntu Server box(A) с туннелем IPSec к другому датацентру(AWS, через VPC VPN). Туннель в порядке, и я могу пинговать другую сторону туннеля.

Проблема возникает, когда я пытаюсь связаться с любым хостом на другой стороне туннеля.

Предположим, у меня есть следующая конфигурация:

Ящик А:172.31.0.5

Ящик Б:172.30.0.5

Если я сделаю следующее:

A> ping 172.30.0.5

Пакеты ICMP поступают на целевой сервер (B), но их исходный адрес не является IP-адресом исходного сервера (A).

Вместо этого они приходят с 169.254.248.xxx в качестве исходного адреса, который является частным адресом туннеля IPSec в AWS VPC.

Поскольку 169.254.248.xxx не существует за пределами ящика A, ящик B не может отправить ответ, и пакеты теряются.

Я уверен, что это проблема с настройкой маршрутизации на сервере A. Как мне ее устранить, чтобы найти решение?

решение1

Вы можете указать интерфейс, pingкоторый следует использовать для отправки пакетов.

В Windows:

ping -S 172.31.0.5 172.30.0.5

В Linux:

ping -I 172.31.0.5 172.30.0.5

Связанный контент