Squid代理服務器

Squid代理服務器
模擬內網客戶機IP192.168.1.10 代理服務器內網口IP192.168.1.254 代理服務器外網口IP202.0.0.252 外網服務器IP202.0.0.10
一 安裝及運行控制squid
1 編譯安裝Squid
tar –zxf squid- -C /usr/src
cd /usr/src/squid-

./configure --prefix=/usr/local/squid --sysconfdir=/etc --enable-linux-netfilter --enable-async-io=240 --enable-default-err-language=Simplify_Chinese --disable-poll --enable-epoll --enable-gnuregex && make && make install
ln -s /usr/local/squid/sbin/ /usr/local/sbin/
useradd -M -s /sbin/nologin squid
chown -R squid:squid /usr/local/squid/var/
2 修改配置文件
vim /etc/squid.conf
http_port 3128
添加
cache_effective_user squid //指定squid的程序用戶,用來設置初始化的賬戶
cache_effective_group squid
去除62行“#”號
3 squid運行控制
squid -z //初始化緩存目錄
squid // 啓動squid服務
拓展:添加腳本,使用chkconfig和systemctl工具進行管理
vim /etc/init.d/squid
#!/bin/bash
#chkconfig: 2345 90 25
#config: /etc/squid.conf
#pidfile: /usr/local/squid/var/run/squid.pid
#Description: Squid-Internet Object Cache
PID="/usr/local/squid/var/run/squid.pid"
CONF="/etc/squid.conf"
CMD="/usr/local/squid/sbin/squid"
case "$1" in
start)
netstat -anpt | grep squid &> /dev/null
if [ $? -eg 0 ]
then
echo "squid id runing"
else
echo "正在啓動squid..."
$CMD
fi
;;
stop)
$CMD -k kill &> /dev/null
rm -rf $PID &> /dev/null
;;
status)
[ -f $PID ] &> /dev/null
if [ $? -eq 0 ]
then
netstat -anpt | grep squid
else
echo "Squid is not runing."
fi
;;
restart)
$0 stop &> /dev/null
echo "正在關閉squid..."
$0 start &> /dev/null
echo "正在啓動squid..."
;;
reload)
$CMD -k reconfigure
;;
check)
$CMD -k parse
;;
)
echo "用法:$0 {start | stop | restart | reload | check | status}"
;;
esac
Squid代理服務器
Squid代理服務器
Squid代理服務器
chmod +x /etc/init.d/squid
chkconfig --add squid //tianjiaxitongfuw
systemctl restart squid
二 構建代理服務器
1 傳統代理
在瀏覽器中手動添加代理 IP爲代理服務器192.168.1.254 端口爲3128
2 透明代理
(1)配置squid支持透明代理
vim /etc/squid.conf
添加 http_port 192.168.1.254:3128 transparent
Squid代理服務器
systemctl restart squid
vim /etc/sysctl.conf
添加 net.ipv4.ip_forward = 1
Squid代理服務器
sysctl -p
Squid代理服務器
(2)設置firewalld的重新定向策略
systemctl start firewalld
firewall-cmd --zone=external --add-interface=ens33 //內網接口
firewall-cmd --zone=internal --add-interface=ens37 //外網接口
firewall-cmd --zone=external --add-service=http
firewall-cmd --zone=external --add-service=https
firewall-cmd --zone=external --add-port=3128/tcp
firewall-cmd --direct --add-rule ipv4 nat PREROUTING 0 -i ens33 -p tcp --dport 80 -j REDIRECT --to-ports 3128
firewall-cmd --direct --add-rule ipv4 nat PREROUTING 0 -i ens33 -p tcp --dport 443 -j REDIRECT --to-ports 3128
firewall-cmd --runtime-to-permanent
驗證時客戶機的網關爲代理服務器的內網ip,同時關閉手動代理
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章