Як направити пакети з вхідного тунельного інтерфейсу (l2tp) до Інтернету?


0

Я намагаюся налаштувати tunneldigger для тунелювання трафіку від маршрутизатора OpenWRT до одного з моїх виділених серверів. Сам тунель, здається, встановлюється належним чином, але пакети не маршрутизуються, як я очікую від них.

Для кращого пояснення це налаштування мережі:

+----------+      ens3 +-----------------+ l2tp100-1      l2tp0 +-----------------+
| internet |<----------| server / broker |<--- l2tp tunnel ---> | client / router |
+----------+           +-----------------+                      +-----------------+
                  public IP            10.254.0.2         10.254.0.4

Інтерфейс l2tp0 створюється на клієнті (маршрутизатор OpenWRT), і відповідний інтерфейс l2tpxxx-x створюється на брокері (виділений сервер). Після того, як я підведу обидва інтерфейси, я можу відправити пінг в один інтерфейс і побачити ARPs вийти з іншого:

# on the client
ping -I l2tp0 8.8.8.8

# on the broker/server
tcpdump -i l2tp100-1
00:36:29.925663 ARP, Request who-has google-public-dns-a.google.com tell <client-ip>, length 28

Ці ARP, здається, нікуди не йдуть. Я повинен бути пропущений деякий routing config щоб отримати ці пакети до інтернету.

Я налаштував пересилання в iptables за допомогою:

# ens3 is the interface on the server which has access to the internet
iptables -t nat -A POSTROUTING --out-interface ens3 -j MASQUERADE

# l2tp100-1 is the interface on the server which receives incoming packets from the tunnel
iptables -A FORWARD --in-interface l2tp100-1 -j ACCEPT

Але це не змінює нічого. Тоді я подумав, що маршрут відсутній, тому я спробував додати маршрут з вхідного інтерфейсу l2tp100-1 до інтерфейсу, який має доступ до Інтернету (ens3):

ip route add <subnet>/22 dev l2tp100-1 src <public internet IP>

Це призводить до такої помилки:

RTNETLINK answers: File exists

Однак, показуючи повну таблицю маршрутизації, виконуючи "ip list list table all", взагалі немає запису для l2tp100-1.

Я повинен серйозно помилятися про щось тут, але в чому проблема?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.