我家的 DD-WRT 路由器有几个接口,其中包括:
- eth0:ISP 广域网
- eth1:局域网
- tun0:在 VPN 提供商私人互联网接入上打开 VPN 客户端设置
我在 LAN 上托管 NAS“Joe”,由于端口转发(又称 D-NAT),可以通过端口 12345 从互联网访问。在 DD-WRT 上设置 tun0 之前,这很正常。
现在,在 DD-WRT 上,“Joe”已设置为通过 tun0。
因此,当我从互联网连接到 Joe:12345 时,会发生以下情况:
- Joe 收到 TCP SYN 数据包
- Joe 回复,将 TCP ACK 数据包发送给发起者
- 问题:DD-WRT 将 TCP ACK 路由到 tun0,而不是 eth0
- 发起方连接从未被确认
我的想法是使用 IP 表来正确引导 TCP 数据包,即:
- “Joe” TCP 连接从 eth0 发起:通过 eth0(而不是 tun0)回复
- 来自“Joe”的其他流量:通过 tun0 路由
我正在研究使用 IP 表进行数据包标记,但目前无济于事。我该如何修复此接口路由问题?