Iptables
DNAT 條件下的意外 netstat 輸出
所以,這裡我有一個 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 的連接)?還是它對
netstat
DNAT 正在發生的事實感到奇怪和無視?
就您的瀏覽器而言,它連接到 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位)。