Squid代理服务器模拟内网客户机IP192.168.1.10 代理服务器内网口IP192.168.1.254 代理服务器外网口IP202.0.0.252 外网服务器IP202.0.0.10一 安装及运行控制squid1 编译安装Squidtar –zxf squid- -C /usr/srccd /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 installln -s /usr/local/squid/sbin/ /usr/local/sbin/useradd -M -s /sbin/nologin squidchown -R squid:squid /usr/local/squid/var/2 修改配置文件vim /etc/squid.confhttp_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 CachePID="/usr/local/squid/var/run/squid.pid"CONF="/etc/squid.conf"CMD="/usr/local/squid/sbin/squid"case "$1" instart)netstat -anpt | grep squid &> /dev/nullif [ $? -eg 0 ]thenecho "squid id runing"elseecho "正在启动squid..."$CMDfi;;stop)$CMD -k kill &> /dev/nullrm -rf $PID &> /dev/null;;status)[ -f $PID ] &> /dev/nullif [ $? -eq 0 ]thennetstat -anpt | grep squidelseecho "Squid is not runing."fi;;restart)$0 stop &> /dev/nullecho "正在关闭squid..."$0 start &> /dev/nullecho "正在启动squid...";;reload)$CMD -k reconfigure;;check)$CMD -k parse;;)echo "用法:$0 {start | stop | restart | reload | check | status}";;esacchmod +x /etc/init.d/squidchkconfig --add squid //tianjiaxitongfuwsystemctl restart squid二 构建代理服务器1 传统代理在浏览器中手动添加代理 IP为代理服务器192.168.1.254 端口为31282 透明代理(1)配置squid支持透明代理vim /etc/squid.conf添加 http_port 192.168.1.254:3128 transparentsystemctl restart squidvim /etc/sysctl.conf添加 net.ipv4.ip_forward = 1sysctl -p(2)设置firewalld的重新定向策略systemctl start firewalldfirewall-cmd --zone=external --add-interface=ens33 //内网接口firewall-cmd --zone=internal --add-interface=ens37 //外网接口firewall-cmd --zone=external --add-service=httpfirewall-cmd --zone=external --add-service=httpsfirewall-cmd --zone=external --add-port=3128/tcpfirewall-cmd --direct --add-rule ipv4 nat PREROUTING 0 -i ens33 -p tcp --dport 80 -j REDIRECT --to-ports 3128firewall-cmd --direct --add-rule ipv4 nat PREROUTING 0 -i ens33 -p tcp --dport 443 -j REDIRECT --to-ports 3128firewall-cmd --runtime-to-permanent验证时客户机的网关为代理服务器的内网ip,同时关闭手动代理