![So leiten Sie eine öffentliche IP durch einen VPN-Tunnel um](https://rvso.com/image/697028/So%20leiten%20Sie%20eine%20%C3%B6ffentliche%20IP%20durch%20einen%20VPN-Tunnel%20um.png)
Ich bin neu hier und habe viele ähnliche Fragen durchgesehen, konnte aber keine Antwort finden.
Ich habe zwei Server bei SoYouStart und auf einem Server habe ich eine HAProxy-VM. Beide Server sind mit einem Strongswan-VPN-Tunnel verbunden. Ich habe auch eine Failover-IP, die auf HAProxy auf Port 80, 443 und einigen anderen lauscht.
HAProxy VM1-Netzwerkkonfiguration:
iface eth0 inet static
address 192.168.100.2
netmask 255.255.255.224
network 192.168.100.0
broadcast 192.168.100.31
gateway 192.168.100.30
post-up ip addr add FAILOVER_IP dev $IFACE
pre-down ip addr del FAILOVER_IP dev $IFACE
Auf dem Hostserver verwende ich diese Route, um die Failover-IP auf meiner HAProxy-VM verfügbar zu machen.
ip route add FAILOVER_IP/32 via 192.168.100.2 dev vmbr1
Alles funktioniert, aber jetzt möchte ich den Datenverkehr für alle VMs auf Server 2 über meinen VPN-Tunnel auf diese Failover-IP umleiten.
Ich habe diese Regeln ausprobiert, aber es funktioniert nicht.
Server 2:
iptables -t nat -A PREROUTING -i eth0 -d FAILOVER_IP -m connmark
--mark 0xE010E798 -j DNAT --to-destination 192.168.100.2
Server 1:
iptables -t nat -A POSTROUTING -i eth0 -d 192.168.100.2/32
--match connmark --mark 0xE010E798 -j SNAT --to-source FAILOVER_IP
Kann mir bitte jemand helfen, herauszufinden, was ich falsch mache? Mein Ziel ist es, eine zweite HAProxy-Instanz auf Server 2 zu haben und den internen Datenverkehr auf die aktive HAProxy-Instanz umzuleiten.
Danke.
Antwort1
Habe die Antwort gefunden. Erstens wusste ich nicht, dass die Markierung nur für den lokalen Rechner gilt. Der zweite Fehler war, dass ich SNAT auf Server 1 verwendet habe, wodurch die Absenderadresse geändert wird, aber ich musste die Zieladresse erneut ändern und die Schnittstelle ändern. Meine Arbeitsregeln sind
Server 2
iptables -t nat -A PREROUTING -i vmbr1 -p tcp -d FAILOVER_IP
-j DNAT --to-destination 192.168.100.2
Server 1
iptables -t nat -A PREROUTING -p tcp -d 192.168.100.2
-j DNAT --to-destination FAILOVER_IP