Wie routen Sie Pakete von einer eingehenden Tunnelschnittstelle (l2tp) in das Internet?

433
D.Cent

Ich versuche, Tunneldigger für das Tunneln des Datenverkehrs von einem OpenWRT-Router zu einem meiner dedizierten Server einzurichten. Der Tunnel selbst scheint ordnungsgemäß aufgebaut zu sein, aber Pakete werden nicht so geleitet, wie ich es erwartet habe.

Zur besseren Erklärung ist mein Netzwerk so eingerichtet:

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

Die l2tp0-Schnittstelle wird auf dem Client (dem OpenWRT-Router) erstellt, und eine entsprechende l2tpxxx-x-Schnittstelle wird auf dem Broker (dem dedizierten Server) erstellt. Sobald ich beide Schnittstellen ansehe, kann ich Pings an eine Schnittstelle senden und ARPs auf der anderen sehen:

# 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 

Diese ARPs scheinen jedoch nirgendwo anders zu sein. Ich muss etwas Routing-Konfiguration vermissen, um diese Pakete ins Internet zu bringen.

Ich habe die Weiterleitung in iptables eingerichtet mit:

# 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 

Das ändert aber nichts. Also dachte ich, vielleicht fehlt eine Route, also habe ich versucht, eine Route von der ankommenden l2tp100-1-Schnittstelle zu der Schnittstelle hinzuzufügen, die Zugang zum Internet hat (ens3):

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

Dies führt zu dem folgenden Fehler:

RTNETLINK answers: File exists 

Wenn Sie jedoch die vollständige Routingtabelle anzeigen, indem Sie "ip route list table all" ausführen, gibt es für l2tp100-1 überhaupt keinen Eintrag.

Ich muss mich hier bei etwas ernsthaft irren, aber was ist das Problem?

0

0 Antworten auf die Frage