我将WireGuard(WG)用作VPN,并且仅在其上路由某些基于端口的流量。在隧道的入口端,流量首先到达eth0,然后继续到WG TUN接口wg0,因此以下规则适用于在入口转发:
-A PREROUTING -d 192.#.#.# -i eth0 -p tcp -m tcp --dport 7054 -j DNAT --to-destination 10.#.#.#:7054
但是我不能使用以下规则将流量从TUN接口路由到隧道出口侧的eth0,我认为由于“隧道”是虚拟的,因此流量必须首先穿越eth0,所以PREROUTING无效? ??我不确定如何考虑TUN接口的路由顺序,即它仍然是PREROUTEING或POSTROUTING还是在中间?
-A PREROUTING -d 10.#.#.# -i wg0 -p tcp -m tcp --dport 7054 -j DNAT --to-destination 192.#.#.#:7054
我尝试了以下操作,以查看PREROUTING是否适用于wg0接口,但没有成功。我也尝试过POSTROUTING,但是没有解决办法。
iptables -t raw -A PREROUTING -i eth0 -j NOTRACK