So leiten Sie den Datenverkehr über verschiedene Ports über ein Wireguard-VPN mit iptables/ufw weiter

So leiten Sie den Datenverkehr über verschiedene Ports über ein Wireguard-VPN mit iptables/ufw weiter

Ich habe 2 Maschinen, auf denen Ubuntu 22.04 läuft, wir nennen sie Server und Proxy. Der Proxy ist ein VPS mit einer statischen öffentlichen IP, und der Server läuft hinter einem NAT. Ich möchte den gesamten Verkehr über einige Ports des Proxys an den Server weiterleiten.

Ich habe zwischen den beiden ein Wireguard-VPN eingerichtet und beide können sich gegenseitig anpingen. Wenn ich die VPN-Adresse des Servers vom Proxy aus curle, erhalte ich die richtige HTML-Antwort. Und durch das Einrichten von Nginx auf dem Proxy (was nicht die beabsichtigte endgültige Lösung ist, da ich andere Dienste routen möchte, die nicht http/https sind) kann ich per Proxy_Pass an die VPN-IP senden und erneut eine richtige HTML-Antwort erhalten.

Aber ich konnte die Weiterleitung nicht mit iptables/ufw einrichten. Dies ist meine Wireguard-Konfiguration, die die iptables-Routingregeln für die Schnittstelle enthält.

Stellvertreter:

[Interface]
# Proxy with static ip
Address = 10.250.0.1/32
ListenPort = 23456
PrivateKey = {private key}
# packet forwarding
PreUp = sysctl -w net.ipv4.ip_forward=1
# port forwarding
PreUp = iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 10.250.0.2
PostDown = iptables -t nat -D PREROUTING -p tcp --dport 80 -j DNAT --to-destination 10.250.0.2
PreUp = iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to-destination 10.250.0.2
PostDown = iptables -t nat -D PREROUTING -p tcp --dport 443 -j DNAT --to-destination 10.250.0.2
      
[Peer]
# main_server behind nat
PublicKey = {pub key}
AllowedIPs = 10.250.0.2/32

Server:

[Interface]
Address = 10.250.0.2/32
ListenPort = 23456
PrivateKey = {priv key}

[Peer]
PublicKey = {pub key}
Endpoint = {proxy server ip}:23456
AllowedIPs = 10.250.0.0/16
PersistentKeepalive = 25

Das Ausführen sudo iptables-save -c gibt Folgendes zurück:

# Completed on Wed Aug 24 17:01:57 2022
# Generated by iptables-save v1.8.7 on Wed Aug 24 17:01:57 2022
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
[0:0] -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.250.0.2
[4:208] -A PREROUTING -p tcp -m tcp --dport 443 -j DNAT --to-destination 10.250.0.2
COMMIT

Die Anzahl der Pakete und Bytes [4:208]steigt jedes Mal, wenn ich versuche, über einen Webbrowser auf den Proxy zuzugreifen

verwandte Informationen