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

NAT Маскарад на подключение L2TP / IPSec

Я пытаюсь создать две сети (используя сервер debian):

Моя текущая топология:

Если клиент использует 10.0.0.1 в качестве маршрутизатора, он проходит через eth0, если клиент использует 10.1.0.1 в качестве маршрутизатора, он получает через ppp0. Итак, для этого я создал два правила IPTables:

Первая сеть (10.0.0.0/16) работает хорошо, нат маскарад работает отлично. А вот со вторым (10.1.0.0/16) вообще не работает.

Я уверен, что ppp0 работает, потому что если я изменю маршрут по умолчанию на моем сервере, чтобы использовать адрес ppp0, traceroute google.com показывает мне, что я иду через VPN.

У меня вопрос: а почему не работает с нат?

Я подозреваю, что возникла проблема с вашими правилами маршрутизации. Вам необходимо указать, какие адреса назначения выходят из каких интерфейсов. Вероятно, в настоящее время все просто выходит из шлюза по умолчанию. Эти правила POSTROUTING применяются после завершения маршрутизации.

Ваша проблема, скорее всего, связана с шифрованием, в которое ваш IPSec-туннель инкапсулирует ваш пакет. Для правильной пересылки пакетов Natting вам нужны заголовки назначения и источника, однако ваш IPSec-туннель инкапсулирует эти пакеты и шифрует их, что делает невозможным для вашего маршрутизатора направить движение.

В зависимости от модели и сборки вашего маршрутизатора есть несколько распространенных решений. Оборудование Cisco может обойти это с помощью список контроля доступа

Справочная документация: VPN и Наттинг объяснили