Wireguard Server DNAT funktioniert nicht
Mahlzeit!
Ich baue mir gerade einen neuen Wireguard Tunnel auf zwischen meinem Mikrotik router und einen Vserver.
Die Verbindung steht auch schon. Ich habe nur noch Probleme mit dem DNAT. Ich möchte einige Ports von dem Vserver zu mir ins Netz routen.
Server:
Client (der Mikrotik Router):
Ich kann beide Geräte gegenseitig pingen. Ich kann auch curl http://192.168.1.1 benutzen direkt vom Vserver. Das klappt alles.
Aber wenn ich nun Versuche die Test Website von außen, also mit der Öffentlichen IP des Vservers zu erreichen gibt es nur einen Timeout.
Auf meinem Mikrotik Router habe ich in der Firewall das Logging aktiviert bei dem Wireguard Interface. Dort sehe ich in diesem fall gar nichts. Also die Anfrage kommt scheinbar nicht über den Tunnel.
Ich sehe einfach den Fehler nicht...
net.ipv4.ip_forward habe ich aktiviert.
Die Anfragen über die öffentliche IP kommen auch an auf dem Vserver.
Wenn ich mir das wg interface anschaue mit "tcpdump -nn -i wg0" sehe ich die öffentlichen anfragen auch weitergeleitet an die 192.168.1.1. Aber warum kann ich diese nicht auf meinem Router sehen?
Ich habe eine Regel in der Firewall hinterlegt als Input und einmal als forward zum loggen. Da passiert in dem Moment nichts.
Ich benutze auf dem Vserver Ubuntu LTS 22.
Hat jemand einen nützlichen Tipp für mich?
LG
Ich baue mir gerade einen neuen Wireguard Tunnel auf zwischen meinem Mikrotik router und einen Vserver.
Die Verbindung steht auch schon. Ich habe nur noch Probleme mit dem DNAT. Ich möchte einige Ports von dem Vserver zu mir ins Netz routen.
Server:
[Interface]
Address = 10.0.112.1/24
ListenPort = 51820
PrivateKey = XXX
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
PostUp = iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to-destination 192.168.1.1:80
PostDown = iptables -t nat -D PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to-destination 192.168.1.1:80
PostUp = iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 443 -j DNAT --to-destination 192.168.1.1:443
PostDown = iptables -t nat -D PREROUTING -p tcp -i eth0 --dport 443 -j DNAT --to-destination 192.168.1.1:443
# Router
[Peer]
PublicKey = XXX
AllowedIPs = 10.0.112.2/32,192.168.1.0/24
Client (der Mikrotik Router):
[Interface]
ListenPort = 13234
PrivateKey = XXX
[Peer]
PublicKey = XXX
AllowedIPs = 10.0.112.1/32
Endpoint = XXX:51820
Ich kann beide Geräte gegenseitig pingen. Ich kann auch curl http://192.168.1.1 benutzen direkt vom Vserver. Das klappt alles.
Aber wenn ich nun Versuche die Test Website von außen, also mit der Öffentlichen IP des Vservers zu erreichen gibt es nur einen Timeout.
Auf meinem Mikrotik Router habe ich in der Firewall das Logging aktiviert bei dem Wireguard Interface. Dort sehe ich in diesem fall gar nichts. Also die Anfrage kommt scheinbar nicht über den Tunnel.
Ich sehe einfach den Fehler nicht...
net.ipv4.ip_forward habe ich aktiviert.
Die Anfragen über die öffentliche IP kommen auch an auf dem Vserver.
Wenn ich mir das wg interface anschaue mit "tcpdump -nn -i wg0" sehe ich die öffentlichen anfragen auch weitergeleitet an die 192.168.1.1. Aber warum kann ich diese nicht auf meinem Router sehen?
Ich habe eine Regel in der Firewall hinterlegt als Input und einmal als forward zum loggen. Da passiert in dem Moment nichts.
Ich benutze auf dem Vserver Ubuntu LTS 22.
Hat jemand einen nützlichen Tipp für mich?
LG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 13147961041
Url: https://administrator.de/contentid/13147961041
Ausgedruckt am: 21.11.2024 um 17:11 Uhr
3 Kommentare
Neuester Kommentar
Zu allererst, die AllowedIPs am Mikrotik lassen den Traffic aus dem Internet eingehend nicht durch (da muss 0.0.0.0/0 rein aber nur wenn man intern ohne NAT arbeitet!), des weiteren fehlt ein Masquerade des DNAT Traffics auf dem WG Interface in Richtung Mikrotik wenn man intern mit NAT arbeitet
Wenn man intern ohne NAT arbeitet muss man den eingehenden Traffic am WG-Interface des Mikrotik per Mangle Rule markieren und über den vServer per Routing-Tag zurück schicken sonst gibt es ein asynchrones Routing über das Default-GW des MIkrotik wenn man am Mikrotik kein GW-Redirect für den Host/Subnetz macht, lässt sich hier detailliert nachlesen
Routing zwischen zwei PfSense - Nutzung von public IP
Wie Portforwarding über 2 miteinander verbundenen pfSense realisieren
Pj
iptables -t nat -A POSTROUTING -o %i -d 192.168.1.0/24 -j MASQUERADE
Routing zwischen zwei PfSense - Nutzung von public IP
Wie Portforwarding über 2 miteinander verbundenen pfSense realisieren
Pj
👌 Frohes 🎄