欢迎光临
我们一直在努力

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

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

systemctl restart squid
vim /etc/sysctl.conf
添加 net.ipv4.ip_forward = 1

sysctl -p

(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,同时关闭手动代理

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。