我家的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」從 eth0 發起 TCP 連線:透過 eth0(而非 tun0)回复
- 來自「Joe」的其他流量:透過 tun0 路由
我正在研究用 ip 表標記資料包,但到目前為止還沒有結果。如何解決此介面路由問題?