Iptables

DNAT 條件下的意外 netstat 輸出

  • May 7, 2015

所以,這裡我有一個 SOCKS5 代理監聽的基本設置,哦,比如說 8123

我通過重定向 TCP 到代理iptables

iptables角度來看,一切看起來都很漂亮, iptables -t nat -v -L顯示

DNAT tcp -- any any anywhere anywhere to:127.0.01:8123

從“實用”的角度來看,它是有效的(Google的賬戶活動、geoip 網站和http://ipleak.net/特別顯示了代理的外部 IP)

所以看起來代理正在按預期工作。

但是,如果我嘗試做 a netstat,我會看到類似

tcp 0 0 10.201.87.64:59949 74.125.141.104:443 ESTABLISHED [browser's PID]

74.125.141.104:443是Google。

我希望顯示 netstat的是代理的偵聽 IP(本地主機)而不是遠端伺服器(Google的)IP。

瀏覽器是否出於某種原因“洩漏”了iptable規則(如果是,為什麼Google的帳戶詳細資訊顯示來自代理的外部 IP 的連接)?

還是它對netstatDNAT 正在發生的事實感到奇怪和無視?

就您的瀏覽器而言,它連接到 74.125.141.104。DNAT 不會改變這一事實。如果您將來自 Internet 的 80 埠 DNAT 連接到內部網路伺服器上的埠 80,例如 10.201.87.80,您是否希望遠端系統上的 netstat 將 10.201.87.80 顯示為遠端 IP 或您的外部 IP?

PS:10.201.87.64:599449是不可能的,埠號是65535或者更少(16位)。

引用自:https://unix.stackexchange.com/questions/201982