我的所有网络流量都通过 Squid 使用 iptables 运行:
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:http owner UID match proxy
REDIRECT tcp -- anywhere anywhere tcp dpt:http redir ports 3128
我还使用 ddclient 来更新动态 DNS 主机:
$ ddclient -force -v
SENDING: GET / HTTP/1.0
SENDING: Host: checkip.dyndns.org
SENDING: User-Agent: ddclient/3.8.0
SENDING: Connection: close
SENDING:
RECEIVE: HTTP/1.0 200 OK
RECEIVE: Date: Sat, 13 Aug 2011 02:53:11 GMT
RECEIVE: Content-Type: text/html
RECEIVE: Server: DynDNS-CheckIP/1.0
RECEIVE: Cache-Control: no-cache
RECEIVE: Pragma: no-cache
RECEIVE: Content-Length: 100
RECEIVE: X-Cache: MISS from __HOSTNAME__
RECEIVE: X-Cache-Lookup: MISS from __HOSTNAME__:3128
RECEIVE: Via: 1.0 __HOSTNAME__ (squid/3.1.14)
RECEIVE: Connection: close
RECEIVE:
RECEIVE: <html><head><title>Current IP Check</title></head><body>Current IP Address: 10.1.1.3</body></html>
ipcheck.dyndns.org 返回的是我电脑的 LAN IP,而不是我的互联网连接的 IP。另一个类似的网站 (ipdetect.dnspark.com) 返回了正确的外部 IP 地址(我已通过重新配置 ddclient 以使用该服务解决了我的问题),但我很好奇 ipcheck.dyndns.org 的情况到底是怎么回事?