首先,确保OpenWrt设备上的IP转发已经启用。可以通过以下命令检查:

sysctl net.ipv4.ip_forward

如果返回值为1,则IP转发已经启用。如果返回值为0,则可以通过以下命令启用:

echo 1 > /proc/sys/net/ipv4/ip_forward

接下来,需要将Docker容器的流量路由到OpenWrt设备上。可以使用iptables规则实现:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination openwrt_ip:proxy_port

其中,eth0是Docker容器的网卡,openwrt_ip是OpenWrt设备的IP地址,proxy_port是代理端口。

最后,将OpenWrt设备设置为Docker容器的默认网关。可以使用以下命令:

route add default gw openwrt_ip

其中,openwrt_ip是OpenWrt设备的IP地址。

这样,Docker容器的流量就会经过OpenWrt设备的代理处理

我想转发Docker容器流量到其他网段Openwrt设备上的网关使容器流量经过openwrt proxy处理而不是访问openwrt的 interface

原文地址: https://www.cveoy.top/t/topic/fjYt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录