You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Docker容器内WireGuard实例跨接口双向数据转发配置求助

Docker容器内WireGuard实例跨接口双向数据转发配置求助

大家好,我遇到了一个WireGuard容器的双向转发问题,想请各位帮忙排查下:

我有一个运行在Docker网络上的WireGuard容器,Docker网络的子网是10.18.0.0/16,容器自身的IP是10.18.0.2。目前我能通过容器内的tcpdump看到eth0接口有数据进来,但需要实现双向数据转发——把eth0上的所有数据转发到wg0接口(对应地址10.10.10.1),同时wg0接口的数据也要能转发回eth0。

我已经尝试了两种配置命令,但都没达到预期效果:

第一种尝试的命令:

docker exec --privileged wireguard sh -c "
    sudo iptables -A FORWARD -i eth0 -o wg0 -j ACCEPT
    sudo iptables -A FORWARD -i wg0 -o eth0 -j ACCEPT
    sudo iptables -A FORWARD -i eth0 -o wg0 -m state --state RELATED,ESTABLISHED -j ACCEPT
    sudo iptables -A FORWARD -i wg0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
    sudo iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
    sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    sysctl -w net.ipv4.ip_forward=1
    ip route add 10.10.10.0/24 dev wg0
"

第二种尝试的命令(未完成部分按原内容保留):

docker exec --privileged wireguard sh -c "
    sudo iptables -A FORWARD -i eth0 -o wg0 -j ...
"

有没有大佬能帮我看看哪里配置有问题?或者有没有更合适的双向转发配置方案?

备注:内容来源于stack exchange,提问作者adastra

火山引擎 最新活动