squid透明代理服务器

2 透明代理
透明代理:(此实验类似于DNAT策略实验,用外网客户机访问内网web服务器)

网卡、IP设置
内网web服务器 192.168.1.17  网关 192.168.1.18
squid 192.168.1.18(网关192.168.1.18)   172.168.1.1(网关172.168.1.1)
外网客户机  172.168.1.19 网关 172.168.1.1

squid主机上的操作:
(0)源码安装squid
tar -zxvf squid-3.4.6.tar.gz -C /usr/src
cd /usr/src/squid-3.4.6/
./configure --prefix=/usr/local/squid --sysconfdir=/etc 
--enable-arp-acl --enable-linux-netfilter 
--enable-linux-tproxy --enable-async-io=100 
--enable-err-language="Simplify_Chinese" 
--enable-underscore --enable-poll --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/
chmod -R 757 /usr/local/squid/var/

(1)修改squid 主配置文件
在 http_port 3128这一行添加内容,如下所示
http_port 172.168.1.1:3128 transparent
(2)重启squid服务
service squid restart
(3)开启路由转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
(4)编写防火墙规则
iptables -t nat -I PREROUTING -i ens32 -s 192.168.20.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -I PREROUTING -i ens32 -s 192.168.20.0/24 -p tcp --dport 443 -j REDIRECT --to-port 3128
iptables -I INPUT -p tcp --dport 3218 -j ACCEPT


nginx主机上的操作:
启动nginx服务: nginx

在外网客户机上操作(172.168.1.19的主机上)
firefox 192.168.1.17
可以访问到nginx主页
在 squid主机上 tailf /usr/local/squid/var/logs/access.log
在内网web主机上 tailf /usr/local/nginx/logs/access.log
都能够看到访问记录 nginx的访问日志上显示的是网关中与自己同网段的网卡的IP即可

关于这部分的说明

1. 如果访问不到,可能是squid没有启动起来,再次启动squid即可
2. 在停止防火墙的情况下也可以做实验,只要看到相应的访问IP即可
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值