使用squid搭建透明代理

简介

squid的透明代理和正向代理的区别就是

  1. 透明代理不需要在客户端上配置代理地址,只需要把自己的网关改为squid服务器地址就好
  2. 透明代理需要配置iptables把80端口的访问转到squid的端口中

虽然squid的透明代理也是可以代理https请求的,但是需要配置证书,用户体验不是很好,所以443端口的请求还是保持正常的转发就好

操作

首先就是安装squid什么的,这个就不说了很简单

之后要开启squid服务器的转发功能

vim /etc/sysctl.conf

加入

net.ipv4.ip_forward = 1

接着执行

sysctl -p

然后就是修改配置squid文件

vim /etc/squid/squid.conf

下面这行改为

http_port 3128 intercept

之后重载配置

systemctl restart squid

下面是最关键的,添加一条iptables的规则,把你的所有80请求转发到squid的3128端口

iptables -t nat -A PREROUTING -s 10.10.100.0/24 -i bond0 -p tcp --dport 80 -j REDIRECT --to-port 3128

最后一步就是把自己机器的网关改为squid的ip就好了,或者直接修改内网的dhcp服务器配置也行

最后说几句

http请求都没得什么问题,但是现在的互联网http请求是越来越少了,就算十个野鸡站点也知道添加一个ssl证书了,所以如果内网真的想搞一个缓存服务器还是squid用正向代理比较好

欢迎关注我的博客www.bboy.app

Have Fun

欢迎关注我的其它发布渠道