Linux下透明代理的配置

                 Linux下透明代理的配置

  我們都知道,Squid是一種在Linux系統下使用的優秀的代理服務器軟件。主要功能包括:正向代理,反向代理,透明代理。當然,在現在的實際應用中,squid主要承擔的是正向代理和透明代理,而反向代理很多企業選擇了Nginx,Nginx(發音同 engine x)是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,在這裏不再詳細的介紹。相面我主要以rhel5 作爲平臺,分享一下自己關於學習squid透明代理的一些配置,有不合適的地方,希望大家批評指正。安裝配置我就不再介紹了。

實驗環境:

代理服務器:

 內網:eth1:10.1.1.1  255.255.255.0

 外網:eth0:192.168.1.201   255.255.255.0  192.168.1.1

       DNS:192.168.1.1

1.配置/etc/squid/squid.conf 文件。

 將http_port 10.1.1.1:3128改爲http_port 10.1.1.1:3128  transparent

注意事項:由於一般情況下,代理服務器是雙網卡,因此儘量在3128前面加上IP地址作爲限制。

2.打開數據包的轉發功能

 echo "1">/proc/sys/net/ipv4/ip_forward

或者打開/etc/sysctl.conf 將net.ipv4.ip_forward = 0改爲1

3.使用NAT打開地址僞裝。

 iptables -t nat -A POSTROUTING -o eth0 -p udp --dport 53 -j MASQUERADE

注意:這裏沒有指名源地址,表明任意地址。想指名源地址,使用-s 選項。

4.使用端口重定向將客戶端的80端口重定向到3128端口。

 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-ports 3128

5.配置客戶端的IP選項。

 將網關指向代理的內網網卡的IP地址:10.1.1.1

 將DNS設置爲自己所在網絡的DNS服務器:192.168.1.1

注意事項:此時DNS和網關必須配置,因爲透明代理設計不同的網段,並且訪問internet需要DNS解析,因此網關和DNS必須配置。

6.打開瀏覽器測試。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章