Linux-Box als Netzwerk-Gateway ändert Quelladresse

1

Ich habe eine Ubuntu Server-Box (A) mit einem IPSec-Tunnel zu einem anderen Rechenzentrum (AWS, über ein VPC-VPN). Der Tunnel ist in Ordnung und ich kann die andere Seite des Tunnels anpingen.

Das Problem ist, wenn ich versuche, mit einem Host auf der anderen Seite des Tunnels zu kommunizieren.

Angenommen, ich habe die folgende Konfiguration:

Kasten A: 172.31.0.5

Feld B: 172.30.0.5

Wenn ich folgendes mache:

A> ping 172.30.0.5

Die ICMP-Pakete kommen auf dem Zielserver an (B), aber ihre Quelladresse ist nicht die IP des Quellservers (A).

Stattdessen kommen sie mit 169.254.248.xxx als Quelladresse an. Dies ist die private Adresse des IPSec-Tunnels in AWS VPC.

Da 169.254.248.xxx außerhalb von Feld A nicht vorhanden ist, kann Feld B keine Antwort senden, und die Pakete gehen verloren.

Ich bin mir sicher, dass dies ein Problem mit meinem Routing-Setup auf Server A ist. Wie kann ich dies debuggen, um eine Lösung zu finden?

greenboxal
quelle
Was meinst du mit "169.254.248.xxx existiert nicht außerhalb von Box A"? Sie sagten, 169.254.248.xxx sei der Adressbereich des IPSec-Tunnels, also die im Tunnel vorhandene Adresse. Box A hat mehrere IPs, 172.31.0.5 und 169.254.248.xxx. Der Netzwerkstapel wählt die beste Adresse aus 172.30.0.5, das ist die VPN IP.
heavyd
Das Gegenstück in AWS für 169.254.248.xxx befindet sich nicht in Box B, sondern in der AWS-Infrastruktur. Der IPSec-Tunnel befindet sich nicht zwischen A und B, sondern zwischen dem Netzwerkrouter von A und B.
greenboxal

Antworten:

0

Sie können die Schnittstelle angeben ping sollte verwenden, um Pakete zu senden.

Unter Windows:

ping -S 172.31.0.5 172.30.0.5

Unter Linux:

ping -I 172.31.0.5 172.30.0.5
heavyd
quelle
Versuchte dies. Keine Antwort im Ping-Befehl. Ich habe folgendes auf tcpdump: gist.github.com/greenboxal/7e7dea68037c736e1907
greenboxal
@ Greenboxal, und was ist los? Ist die 3. Zeile in "Box A" nicht die Ping-Antwort, die zurückkommt?
heavyd
Der Ping-Befehl empfängt die Antwort nicht. Dies ist das Protokoll: gist.github.com/greenboxal/71fe53cf134ea52465e0
greenboxal
@greenboxal, weißt du was die IP ist 172.30.10.214 ist?
heavyd
Sorry, diese IP ist 172.30.0.5, ich habe gerade die Frage zu einer einfachen geändert.
greenboxal