关于squid这个强大的代理软件,已不须多言,本身也测试了一把,不过,在centos7.3安装测试的过程,出现了问题, 在作透明代理的时候,用iptables是能够成功的,而用firewall默认防火墙怎么也不成功,但真正知道了firwall的原理后,其实firewall已经帮咱们作好了!请看linux
安装centos
#yum install squid -y
禁用selinux
bash
#vi /etc/sysconfig/selinux SELINUX=disabled #setenforce 0 临时关闭
打开路由转发服务器
#vi /etc/sysctl.conf net.ipv4.ip_forward=1
配置squidide
#vi /etc/squid/squid.conf
主要修改下面几个,其余的功能,网上应该有一大批讲解的测试
cache_dir ufs /var/log/squid 10240 16 256 ... http_access allow all //测试,容许全部访问 http_access deny all http_port 3128 transparent //关键,必定要加上,作为透明代理 ... 其余你们看着修改
#squid -k parse 检查配置文件 #squid -z 初始化 #systemctl start squid 启动 #lsof -i :3128 查看端口是否启用
关键,firewall防火墙配置ui
#firewall-cmd --zone=external --add-interface=eth0 --permanent //外网网卡添加到外网zone #firewall-cmd --zone=internal --add-interface=eth1 --permanent //内网网卡添加到内网zone #firewall-cmd --zone=external --add-service=squid --permanent //关键,添加squid服务 #firewall-cmd --zone=internal --add-service=squid --permanent //应该只要内网区域添加服务便可
#firewall-cmd --zone=external --list-all //列出外网区域信息,默认应该开启了 masquerade:yes若是是no的话 执行以下语句添加 #firewall-cmd --zone=external --add-masquerade --permanent #systemctl restart firewalld //重启防火墙
客户端centos7
添加内网的ip,网关,设为squid服务器的内网IP,DNS设为可用的DNS便可spa
打开网页,看是否可以用了?代理
其中有个要注意的,若是squid服务器端,防火墙不添加--add-service=squid 服务的话,虽然客户端也能够正常访问网页,但已经不通过squid来转发了,到时,全部squid的限制功能都会失效。