Как маршрутизировать пакеты от входящего туннельного интерфейса (l2tp) в интернет?

392
D.Cent

Я пытаюсь настроить 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 создается на брокере (выделенном сервере). Как только я подключу оба интерфейса, я могу отправить пинг в один интерфейс и посмотреть, как ARP выходят из другого:

# 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, кажется, никуда не денутся, хотя. Мне, должно быть, не хватает некоторых настроек маршрутизации, чтобы вывести эти пакеты в Интернет.

Я настроил пересылку в 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 route list table all» вообще нет записи для l2tp100-1.

Я, должно быть, серьезно ошибаюсь в чем-то здесь, но в чем проблема?

0

0 ответов на вопрос

Похожие вопросы