关于Squid的概述及传统代理的配置可以参考上篇博文:Centos 7安装Squid代理服务及构建传统代理
一、透明代理
透明代理提供的服务功能与传统代理时一致的,但是其“透明”的实现依赖于默认路由和防火墙的重定向策略,因此更适用于局域网主机服务,而不适合Internet中。
开始配置透明代理服务器:(环境是接上一篇博文环境做的,不懂的可以先参考上一篇博文)
1、配置httpd服务器
1)httpd服务器将网卡调为VM2网卡
[root@centos03 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32 <!--修改httpd服务的IP地址、添加网关-->
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=ens32
DEVICE=ens32
ONBOOT=yes
IPADDR=192.168.200.30
NATEMASK=255.255.255.0
GATEWAY=192.168.200.10
[root@centos03 ~]# systemctl restart network <!--重启网卡服务-->
2、配置Squid服务器
1)squid代理服务器关机添加VM2网卡开机即可
[root@centos02 ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens32
/etc/sysconfig/network-scripts/ifcfg-ens34
<!--复制一块新的网卡配置文件-->
[root@centos02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens34
<!--修改新的网卡配置文件-->
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=ens34 <!--修改名字为ens34-->
DEVICE=ens34 <!--修改名字为ens34-->
ONBOOT=yes
IPADDR=192.168.200.10 <!--配置IP地址-->
NATEMASK=255.255.255.0
[root@centos02 ~]# systemctl restart network
<!--重新启动网卡服务-->
[root@centos02 ~]# ping 192.168.200.30
<!--ping命令测试和httpd服务器是否通信-->
PING 192.168.200.30 (192.168.200.30) 56(84) bytes of data.
64 bytes from 192.168.200.30: icmp_seq=1 ttl=64 time=0.350 ms
64 bytes from 192.168.200.30: icmp_seq=2 ttl=64 time=0.564 ms
3、配置Linux客户端
[root@centos01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32 <!--修改网卡配置文件-->
GATEWAY=192.168.100.20 <!--添加网关-->
[root@centos01 ~]# systemctl restart network<!--重新启动网卡服务 -->
[root@centos02 ~]# vim /etc/sysctl.conf <!--开启路由功能-->
net.ipv4.ip_forward = 1
[root@centos02 ~]# sysctl -p <!--验证路由是否开启成功-->
net.ipv4.ip_forward = 1
[root@centos01 ~]# ping 192.168.200.30 <!--测试是否全网互通-->
PING 192.168.200.30 (192.168.200.30) 56(84) bytes of data.
64 bytes from 192.168.200.30: icmp_seq=1 ttl=63 time=0.463 ms
64 bytes from 192.168.200.30: icmp_seq=2 ttl=63 time=0.484 ms
4、Squid服务器配置防火墙规则
[root@centos02 ~]# iptables -F <!--清除系统自动防火墙-->
[root@centos02 ~]# iptables -t nat -F <!--清除系统自动防火墙-->
[root@centos02 ~]# iptables -t nat -L <!--查看防火墙规则-->
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
[root@centos02 ~]# iptables -t nat -I PREROUTING -i ens32 -s
192.168.100.0/24 -p tcp --dport 80 -j REDIRECT --to 3128
<!--将192.168.100.0网络的80端口映射到外网的3218端口-->
[root@centos02 ~]# iptables -t nat -I PREROUTING -i ens32 -s
192.168.100.0/24 -p tcp --dport 8080 -j REDIRECT --to 3128
<!--将192.168.100.0网络的8080端口映射到外网的3218端口-->
[root@centos02 ~]# iptables -t nat -I PREROUTING -i ens32 -s
192.168.100.0/24 -p tcp --dport 443 -j REDIRECT --to 3128
<!--将192.168.100.0网络的443端口映射到外网的3218端口-->
[root@centos02 ~]# iptables -t nat -I PREROUTING -i ens32 -s
192.168.100.0/24 -p tcp --dport 21 -j REDIRECT --to 3128
<!--将192.168.100.0网络的21端口映射到外网的3218端口-->
[root@centos02 ~]# iptables -t nat -L <!--查看规则是否生效-->
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
REDIRECT tcp -- 192.168.100.0/24 anywhere tcp dpt:ftp redir ports 3128
REDIRECT tcp -- 192.168.100.0/24 anywhere tcp dpt:https redir ports 3128
REDIRECT tcp -- 192.168.100.0/24 anywhere tcp dpt:webcache redir ports 3128
REDIRECT tcp -- 192.168.100.0/24 anywhere tcp dpt:http redir ports 3128
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
[root@centos02 ~]# /etc/init.d/squid stop <!--关闭squid服务-->
正在关闭squid...
[root@centos02 ~]# vim /etc/squid.conf
<!--修改squid主配置文件支持透明代理-->
60 http_port 192.168.100.20:3128 transparent
[root@centos02 ~]# /etc/init.d/squid start <!--启动squid服务-->
正在启动squid...
5、Windows客户机使用透明代理服务器
1)windows客户端网络添加网关
2)windows客户端浏览器取消代理
3)访问测试
4)跟踪squid服务器的访问日志文件
6、Linux命令行客户机使用透明代理
[root@centos01 ~]# unset HTTP_PROXY HTTPS_PROXY FTP_PROXY <!--取消Linux系统的代理-->
[root@centos01 ~]# elinks http://192.168.200.30
<!--Linux客户端使用elinks访问httpd服务器-->
—————— 本文至此结束,感谢阅读 ——————
来源:51CTO
作者:俊伟祺i
链接:https://blog.51cto.com/14156658/2451724?source=dra