我有搭载 ubuntu 的 vps,并安装了 wireguard。此外,我还有一个家庭网络:路由器 + 几台笔记本电脑。我想将路由器连接到 vps,并从 vps 访问任何笔记本电脑。
我使用 docker compose 运行 wirequard:
wireguard:
image: linuxserver/wireguard
container_name: wireguard
cap_add:
- NET_ADMIN
- SYS_MODULE
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London #set correct timezone
- SERVERPORT=51820 #optional
- PEERS=green #optional
- PEERDNS=auto #optional
- ALLOWEDIPS=0.0.0.0/0 #Peer addresses allowed
- INTERNAL_SUBNET=10.13.13.0/24 #Subnet used in VPN tunnel
- SERVERURL=example.org #Wireguard VPN server address
volumes:
- ~/apps/wireguard/config:/config
- /lib/modules:/lib/modules
ports:
- 51820:51820/udp
这是我的 wg0.conf:
[Interface]
Address = 10.13.13.1
ListenPort = 51820
PrivateKey =
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
[Peer]
# peer_green
PublicKey =
PresharedKey =
AllowedIPs = 10.13.13.2/32, 192.168.1.0/24
对等配置:
[Interface]
Address = 10.13.13.2
PrivateKey =
ListenPort = 51820
DNS = 10.13.13.1
[Peer]
PublicKey =
PresharedKey =
Endpoint = example.org:51820
AllowedIPs = 0.0.0.0/0
我可以使用路由器连接到 wireguard,但无法从 vps ping 路由器或任何设备。此外,我使用“ip route”在 ps 上看不到任何路由器。如何使 LAN 可从我的 vps 或连接到 vps 的笔记本电脑访问?
答案1
不要使用 AllowedIPs = 0.0.0.0/0,使用 10.13.13.0/24 并使用 PersistentKeepalive = 25。如果您仍然无法通过 vpn 连接,您应该执行 masquearate docker tunnel。