本文主要介紹如何應用 Squid 之 IPv6 之服務,基本上近三年 OS 發行所附之 Squid 皆已支援 IPv6,惟支援程度可能因 Squid 版本不同而稍有差異而有些許不同,而本文之介紹主要使用 Squid 3.1.4為主。
若您要下載新版的Squid ,可至其官方網站為 http://www.squid-cache.org,下載後解開壓縮即可進行編譯與安裝,過程如下:
安裝好 squid 後可至 /etc/squid/squid.conf 設定相關參數,本文僅就 IPv6 功能進行介紹。
# /etc/squid/squid.conf
http_port 80 accel vhost vport # 80 代表 Listen 所有的 Interface 的 80 Port
acl localhost src 127.0.0.1/32
acl localhost src ::1 # 可直接使用 IPv6 Address
acl my_network dst 211.72.210.0/24
acl my_network dst 2001:c50:ffff:1::/64 # 可直接使用 IPv6 Address
# 其餘設定略 |
重新啟動 squid 後,可使用 netstats 觀念目前 Port 80 (以本例 Proxy 服務設為port 80) 的服務情形:
# /etc/squid/squid.conf
http_port 80 accel vhost vport # 80 代表 Listen 所有的 Interface 的 80 Port
acl localhost src 127.0.0.1/32
acl localhost src ::1 # 可直接使用 IPv6 Address
acl my_network dst 211.72.210.0/24
acl my_network dst 2001:c50:ffff:1::/64 # 可直接使用 IPv6 Address
# 其餘設定略 |
如果在 Local Address 上看到到了 :::80 的內容,則表示 Squid 已正確的服務在 port 80 上,接下來再進行測試,以了解 Proxy 是否正確發揮功能。
$>telnet 2001:c50:ffff:1::228 80 # 連線到 Proxy IPv6
Trying 2001:c50:ffff:1::228...
Connected to 2001:c50:ffff:1::228 (2001:c50:ffff:1::228).
Escape character is '^]'.
GET / HTTP/1.0
Host: ietf82.tw
HTTP/1.0 200 OK #Proxy Server 代理的回應
Date: Fri, 05 Aug 2011 07:44:05 GMT
Server: Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.7a PHP/5.2.6
Last-Modified: Tue, 26 Jul 2011 01:31:09 GMT
ETag: "5d8005-29f-e2e23140"
Accept-Ranges: bytes
Content-Length: 671
Content-Type: text/html
Age: 2607
X-Cache: HIT from proxy.twnic.net.tw # 已快取,故直接回應
Via: 1.0 proxy.twnic.net.tw (squid/3.1.14) # sqiid.conf 中設 via on 後會加上 Proxy 記錄
Connection: close |
從上面我們可以看到,已可使用 IPv6 連接 Proxy ,至於 Proxy 後的Web無論是 IPv4 或 IPv6 都是可以正常服務的,經此一模式,即形成一種 IPv4/IPv6 的轉化過程。 |