通过 Docker 容器转发所有 Wireguard 流量

通过 Docker 容器转发所有 Wireguard 流量

我对 Linux 网络的了解有限。非常希望得到帮助!

我想通过特定的 Docker 容器转发所有传入的 Wireguard 流量(主机上的接口 wgnet0)。Docker 容器旨在检查流量,然后将流量转发到互联网。已启用 IP 转发。

Docker 容器连接到名为 docker0 的主机桥。

我的具体问题是,将所有流量从 wgnet0 转发到该特定容器的最佳方法是什么?我应该使用什么命令?

到目前为止我尝试过的事情:

  • 我尝试过使用 iptables,但收效甚微。例如,我尝试过使用 iptables 将流量直接转发到容器的 veth 接口,但数据包似乎没有出现在容器内。或者,我可以将流量重定向到 docker0,但这样我就很难弄清楚路由表(Linux 上的“路由”只能根据目标地址设置网关)。

  • 或者,我尝试了基于策略的路由(PBR)以便根据源地址重定向流量,但每当遇到“下一跳”问题时,似乎很难调试。

相关内容