Docker部署WireGuard实现Peer1以Peer2为默认网关的路由配置故障排查请求
Docker部署WireGuard实现Peer1以Peer2为默认网关的路由配置故障排查请求
我现在想实现这样一个路由场景:让Peer1通过Docker部署的WireGuard服务器,将Peer2作为默认网关访问互联网,拓扑结构如下:peer1 --- wireguard_server(in docker) --- peer2 --- internet
各节点的WireGuard内网IP信息:
- Peer1: 10.14.1.2
- WireGuard服务器: 10.14.1.1
- Peer2: 10.14.1.3
我的Docker Compose配置文件如下:
version: "2.1" services: wireguard: image: lscr.io/linuxserver/wireguard:latest container_name: wireguard cap_add: - NET_ADMIN - SYS_MODULE environment: - PUID=1000 - PGID=1000 - TZ=Europe/Nicosia - SERVERURL=auto #optional - SERVERPORT=51820 #optional - PEERS=2 #optional - PEERDNS=auto #optional - INTERNAL_SUBNET=10.14.1.0 #optional - ALLOWEDIPS=0.0.0.0/0 #optional - PERSISTENTKEEPALIVE_PEERS=all #optional - LOG_CONFS=true #optional volumes: - /root/wireguard/config:/config - /lib/modules:/lib/modules #optional ports: - 51820:51820/udp sysctls: - net.ipv4.conf.all.src_valid_mark=1 restart: unless-stopped
之后我做了这些配置操作:
- 进入WireGuard容器执行路由规则配置:
docker exec -it wireguard bash ip rule add from 10.14.1.2 lookup 200 ip route add default dev wg0 table 200 - 在宿主机上开启IP转发:
sysctl -w net.ipv4.ip_forward=1 - 修改了Peer2的wg0.conf中的AllowedIPs配置:
AllowedIPs = 0.0.0.0/5,8.0.0.0/7,10.14.1.3/32,11.0.0.0/8,12.0.0.0/6,16.0.0.0/4,32.0.0.0/3,64.0.0.0/2,128.0.0.0/1
但做完这些配置后,我发现Peer1的流量完全没有转发到Peer2上,Peer2这边看不到任何来自Peer1的流量。有没有大佬能帮我排查下问题出在哪?
备注:内容来源于stack exchange,提问作者a1dude
相关产品推荐
相关产品推荐

