Zunächst einmal:Dies ist kein Duplikat. Ich habe alles ausprobiert, außer OpenVPN oder IPSec. Ich erhalte einen Handshake zwischen Client und Server, und SSH und Ping funktionieren zwischen Clients, aber ich kann nicht auf das globale Internet zugreifen oder sogar auf die öffentliche IP des Servers zugreifen. Meine Konfiguration ist nur die übliche, Schlüssel, Endpunkte, ich habe mich genau an die Linode-Anleitung gehalten. Mein Client ist openSUSE, aber mein Server ist Ubuntu, von dem ich annehme, dass es der Engpass ist.
Akzeptierte Antwort:
Genau diese Situation hatte ich. Hat Ihr Server eine öffentliche IP oder steckt er hinter einem NAT? Wenn es sich hinter einem NAT befindet, der PostUp
und PostDown
iptables-Befehle aus dem Linode-Handbuch gelten nicht.
Versuchen Sie Folgendes zu Ihrer Serverkonfigurationsdatei hinzuzufügen, indem Sie eth0
ändern wie auch immer Ihr Computer es nennt:
PreUp = iptables -t nat -A POSTROUTING -j MASQUERADE -o eth0
PreDown = iptables -t nat -D POSTROUTING -j MASQUERADE -o eth0
Quelle:https://unix.stackexchange.com/questions/530790/wireguard-not-routing-traffic-from-client-to-other-servers-on-the-network
Beispielkonfiguration
Hier ist eine Beispielkonfiguration, bei der sich der Router auf 10.0.1.1 (normales Netzwerk) befindet und 10.0.0.x das neue WireGuard-Netzwerk ist, wobei der Server für 10.0.0.1 und der Client für 10.0.0.2 konfiguriert ist. Der verwendete Port ist 51820 und die Standardnetzwerkschnittstelle ist eth0. Der gesamte Datenverkehr wird über WireGuard geleitet, verbleibt jedoch nicht innerhalb des WireGuard-Subnetzes. Der Client hat Zugriff auf das lokale Netzwerk des Servers (10.0.1.x) und das allgemeine Internet. Vergessen Sie nicht, den Port 51820 von Ihrem Router an Ihren Server weiterzuleiten und die IPv4-Weiterleitung auf dem Server zu aktivieren (# sysctl -w net.ipv4.ip_forward=1
)
Serverkonfiguration
[Interface]
Address = 10.0.0.1/24
PrivateKey = YOUR_SEVER_PRIVATE_KEY
ListenPort = 51820
PreUp = iptables --table nat --append POSTROUTING --jump MASQUERADE --out-interface eth0
PreDown = iptables --table nat --delete POSTROUTING --jump MASQUERADE --out-interface eth0
[Peer]
PublicKey = YOUR_CLIENT_PUBLIC_KEY
AllowedIPs = 10.0.0.2/32
Client-Konfiguration
[Interface]
Address = 10.0.0.2/24
DNS = 10.0.1.1
PrivateKey = YOUR_CLIENT_PRIVATE_KEY
ListenPort = 51820
[Peer]
PublicKey = YOUR_SERVER_PUBLIC_KEY
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = YOUR.DYNAMIC_DNS.COM:51820