WireGuard не может подключиться к интернету, кроме как на стороне сервера - PullRequest
0 голосов
/ 16 февраля 2019

Я использую Wireguard, это моя конфигурация сервера в /etc/wireguard/wireguard.conf:

[Interface]
Address = 0.0.0.0
# server private key
PrivateKey = GL7AIArkhGTKkz3vSn/ONifC7SKJtspYDDZEtAybyVE=    
ListenPort = 51820

[Peer]
# windows client public key
PublicKey = 3omwALzVoZhaqdu6dwL9vpRFlv+1omznmtuQKdwODFE=
AllowedIPs = 192.168.3.0/24

Это моя конфигурация клиента:

[Interface]
PrivateKey = f4e60OIQXMdny6+hBDwddHB6tGS6a4WKYpG89ERQK+Tk=
Address = 192.168.3.1/24

[Peer]
PublicKey = 72Gix3UR/coszkazkVp3ieRrlMTOK8ia2TISnaD1Az4=
Endpoint = 14.80.12.186:51820
AllowedIPs = 0.0.0.0/0

Клиент используетtunsafe, и подключение прошло успешно. Вопрос в том, что: после подключения к wireguard я не смог получить доступ к Интернету, кроме сервера wireguard, это сервер ipv4 forward config:

[root@dolphin-xiaoqiang ~]# sysctl -a |grep net.ipv4.ip_forward
sysctl: reading key "net.ipv6.conf.all.stable_secret"
sysctl: reading key "net.ipv6.conf.default.stable_secret"
sysctl: reading key "net.ipv6.conf.eth0.stable_secret"
sysctl: reading key "net.ipv6.conf.lo.stable_secret"
net.ipv4.ip_forward = 1
net.ipv4.ip_forward_use_pmtu = 0

1 Ответ

0 голосов
/ 17 февраля 2019

Добавить правило iptables на стороне сервера:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
...