linux 搭建squid代理伺服器 實驗環境: 一臺linux搭建Web伺服器,充當內網web伺服器(同時充當內網客戶端) 202.100.10.100 一臺linux系統充當網關伺服器,兩個網卡,開啟路由轉發 192.168.133.131和202.100.10.1 一臺linux搭建Web服務 ...
linux 搭建squid代理伺服器
實驗環境:
一臺linux搭建Web伺服器,充當內網web伺服器(同時充當內網客戶端) 202.100.10.100
一臺linux系統充當網關伺服器,兩個網卡,開啟路由轉發 192.168.133.131和202.100.10.1
一臺linux搭建Web伺服器,充當外網web伺服器(同時充當外網客戶端)) 192.168.133.131
實驗步驟:
1.配置內網web伺服器、網關伺服器、外網Web伺服器的IP地址,開啟網關的路由轉發,關閉網關的防火牆,測試內網web伺服器與外網Web伺服器的聯通性,保證能互通。
2.安裝內網Web伺服器和外網Web伺服器的web服務,啟動服務,新建一個測試頁面
3.測試內網客戶端訪問外網web伺服器,外網客戶端訪問內網web伺服器
4.內網客戶端訪問外網web伺服器
5.外網客戶端訪問內網web伺服器
防火牆SNAT和DNAT
1.內網客戶端訪問外網web伺服器
2.在外網web伺服器上查看日誌
tail -f /var/log/httpd/access_log
3.在網關設置地址轉換
iptables -t nat -A POSTROUTING -s 192.168.133.0/24 -o eth2 -j SNAT --to-source 202.100.10.1
或者iptables -t nat -A POSTROUTING -s 192.168.133.0/24 -o eth2 -j MASQUERADE
4.再次在內網客戶端訪問外網web伺服器,然後查看外網的web伺服器可以看到,日誌文件記錄的IP的不是內網客戶端的IP
DNAT:
1.在網關上設置,把內網web伺服器映射到網關外網的介面上
iptables -t nat -A PREROUTING -i eth2 -d 202.100.10.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.133.131
2.訪問網關外網的介面IP(實際上就是訪問內網web伺服器)
3.查看內網web伺服器的日誌文件
squid代理伺服器
1.在配置網關伺服器配置squid代理伺服器,安裝squid, yum install -y squid
1.1傳統代理伺服器
啟動squid服務 service squid start
因為squid.conf配置文件,預設允許所有私網IP通過
1.2在內網客戶端設置瀏覽器,加入代理,測試
在外網伺服器查看日誌文件,可以看到IP是代理伺服器的IP
1.3關閉網關伺服器的代理伺服器,再次測試,下圖說明客戶端訪問外網web伺服器經過代理伺服器
2.透明代理伺服器
2.1在網關伺服器上配置,設置透明代理並開啟高速緩存, vim /etc/squid/squid.conf
http_port 192.168.133.130:3128 transparent #192.168.133.130為內網介面IP
cache_dir ufs /var/spool/squid 100 16 256
iptables -t nat -A PREROUTING -i eth1 -s 192.168.133.0/24 -p tcp --dport 80 -j REDIRECT --to-ports 3128 #-i介面是內網介面 -s 跟的是內網網段 -j 跟的是REDIRECT(重定向)
2.2重啟squid服務,然後在內網客戶端測試,取消之前測試中瀏覽器設置的代理,透明代理不需要設置在客戶端設置任何東西
2.3在外網web伺服器上查看日誌