Za prvé:toto není duplikát. Zkoušel jsem všechno kromě OpenVPN nebo IPSec. Přijímám handshake mezi klientem a serverem a SSH a Ping mezi klienty fungují, ale nemohu přistupovat ke globálnímu internetu a dokonce ani nemám přístup k veřejné IP serveru. Moje konfigurace je jen obvyklá, klíče, koncové body, přesně jsem postupoval podle průvodce Linode. Můj klient je openSUSE, ale můj server je ubuntu, což je podle mě škrticí bod.
Přijatá odpověď:
Přesně tuhle situaci jsem měl. Má váš server veřejnou IP nebo je za NAT? Pokud je za NAT, PostUp
a PostDown
Příkazy iptables z průvodce Linode se nepoužijí.
Zkuste do konfiguračního souboru serveru přidat následující a změňte eth0
jakkoli to váš počítač nazývá:
PreUp = iptables -t nat -A POSTROUTING -j MASQUERADE -o eth0
PreDown = iptables -t nat -D POSTROUTING -j MASQUERADE -o eth0
Zdroj:https://unix.stackexchange.com/questions/530790/wireguard-not-routing-traffic-from-client-to-other-servers-on-the-network
Příklad konfigurace
Zde je příklad konfigurace, kde je router na 10.0.1.1 (normální síť) a 10.0.0.x je nová síť WireGuard, přičemž server je nakonfigurován na 10.0.0.1 a klient na 10.0.0.2. Použitý port je 51820 a výchozí síťové rozhraní je eth0. Veškerý provoz je směrován přes WireGuard, ale nezůstává v podsíti WireGuard. Klient má přístup k místní síti serveru (10.0.1.x) a obecnému internetu. Nezapomeňte přesměrovat port 51820 z vašeho routeru na váš server a povolit přesměrování ipv4 na serveru (# sysctl -w net.ipv4.ip_forward=1
)
Konfigurace serveru
[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
Konfigurace klienta
[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