У меня весь мой веб-трафик проходит через 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 возвращает IP-адрес локальной сети моего компьютера, а не IP-адрес моего интернет-соединения. Другой похожий сайт (ipdetect.dnspark.com) возвращает правильный внешний IP-адрес (и я решил свою проблему, перенастроив ddclient для использования этого сервиса), но мне любопытно, что происходит в случае ipcheck.dyndns .org?