Centos7安装Squid代理服务及配置透明代理

关于Squid的概述及传统代理的配置可以参考上篇博文:Centos 7安装Squid代理服务及构建传统代理

一、透明代理

透明代理提供的服务功能与传统代理时一致的,但是其“透明”的实现依赖于默认路由和防火墙的重定向策略,因此更适用于局域网主机服务,而不适合Internet中。

开始配置透明代理服务器:(环境是接上一篇博文环境做的,不懂的可以先参考上一篇博文)

1、配置httpd服务器

1)httpd服务器将网卡调为VM2网卡

Centos7安装Squid代理服务及配置透明代理_第1张图片

[root@centos03 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32    
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网卡开机即可

Centos7安装Squid代理服务及配置透明代理_第2张图片

[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     
DEVICE=ens34  
ONBOOT=yes
IPADDR=192.168.200.10   
NATEMASK=255.255.255.0
[root@centos02 ~]# systemctl restart network    
                                      
[root@centos02 ~]# 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=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  

[root@centos02 ~]# iptables -t nat -I PREROUTING -i ens32 -s
192.168.100.0/24 -p tcp --dport 8080 -j REDIRECT --to 3128  

[root@centos02 ~]# iptables -t nat -I PREROUTING -i ens32 -s
192.168.100.0/24 -p tcp --dport 443 -j REDIRECT --to 3128   

[root@centos02 ~]# iptables -t nat -I PREROUTING -i ens32 -s
192.168.100.0/24 -p tcp --dport 21 -j REDIRECT --to 3128   

[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...
[root@centos02 ~]# vim /etc/squid.conf   
           
60 http_port 192.168.100.20:3128 transparent
[root@centos02 ~]# /etc/init.d/squid start    
正在启动squid...

5、Windows客户机使用透明代理服务器

1)windows客户端网络添加网关

Centos7安装Squid代理服务及配置透明代理_第3张图片

2)windows客户端浏览器取消代理

Centos7安装Squid代理服务及配置透明代理_第4张图片

3)访问测试

Centos7安装Squid代理服务及配置透明代理_第5张图片

4)跟踪squid服务器的访问日志文件

Centos7安装Squid代理服务及配置透明代理

6、Linux命令行客户机使用透明代理

[root@centos01 ~]# unset HTTP_PROXY HTTPS_PROXY FTP_PROXY   
[root@centos01 ~]# elinks http://192.168.200.30   
                

—————— 本文至此结束,感谢阅读 ——————

你可能感兴趣的:(Linux高级管理,Squid服务配置透明代理,透明代理的工作原理,透明代理故障排查)