使用 Squid 搭建 Http 代理服务器隐藏 IP

在一些情况下,需要变更自己的访问 IP,可以通过 Squid 搭建代理服务器实现。

本文使用的是 CentOS 7.6 系统。

一、部署 Squid

安装 Squid

复制代码
yum install squid -y

启动服

复制代码
systemctl start squid

二、访问控制

总有刁民想害郑,疯狂访问朕的HTTP代理服务,所以需要进行一下访问控制。

使用 vim 打开 /etc/squid/squid.conf 配置文件。

  1. 端口默认是 3128,建议修改一下。

    复制代码
    http_port 3128
  2. 新增 acl 策略
    acl 策略主要有以下几种:

    复制代码
    # 配置访问源ip,采用子网掩码的方式,可以指定网段
    acl home src xxx.xxx.xx.xx/xx
    ​
    # 配置访问目标ip,采用子网掩码的方式,可以指定网段
    acl home dst xxx.xxx.xx.xx/xx
    ​
    # 配置访问目标端口
    acl home port xxx
    ​
    # 配置访问目标域名
    acl home dstdomain .xxxx.com
    ​
    # 配置访问目标网站,支持正则,-i表示不区分大小写
    acl home url_regex -i ^https://
    ​
    # 配置访问目标路径,支持正则,-i表示不区分大小写
    acl home url_regex -i \.html$
    ​
    # 配置访问时间,MTWHF为星期的首字母
    acl home time MTWHF 08:30-17:30
    ​
    # 配置客户机最大连接数
    acl home maxconn 20
  3. 应用 acl 策略

    复制代码
    # 禁止该acl策略
    http_access deny xxx
    ​
    # 允许该acl策略
    http_access allow xxx
    ​
    # 同时选择多个acl是与的关系
    http_access allow xxx yyy
    ​
    # 对acl不匹配的请求进行控制
    http_access allow !xxx
  4. 重启服务

    复制代码
    # 检查配置
    squid -k parse
    ​
    # 重启服务
    systemctl restart squid

三、隐藏 IP

通过以上配置后,服务可以实现 HTTP 代理,但是并不能隐藏客户端IP。

要隐藏客户端 IP,需要关闭代理的两个请求头,在配置文件中添加如下配置:

复制代码
# 高密配置,不暴露源ip
request_header_access Via deny all
request_header_access X-Forwarded-For deny all
相关推荐
coding随想2 小时前
网络世界的“快递站”:深入浅出OSI七层模型
后端·网络协议
失因3 小时前
Web 服务详解:HTTP 与 HTTPS 配置
linux·运维·前端·http·https
DemonAvenger4 小时前
未来展望:Go 网络编程的发展趋势与新特性
网络协议·架构·go
清和已久5 小时前
tomcat
http
范纹杉想快点毕业15 小时前
C 语言主控开发与显控开发能力体系及技术栈详解,STM32、QT、嵌入式、边缘系统显示
stm32·单片机·tcp/ip·microsoft·fpga开发·51单片机·wpf
千码君201617 小时前
计算机网络:超网即路由聚合一定需要连续的IP地址吗?
网络协议·tcp/ip·计算机网络·子网掩码·路由聚合·超网·网络前缀
雨白17 小时前
HTTP协议详解(二):深入理解Header与Body
android·http
Menior_17 小时前
【网络基础】深入理解 TCP/IP 协议体系
网络·网络协议·tcp/ip
稚辉君.MCA_P8_Java18 小时前
常见通信协议详解:TCP、UDP、HTTP/HTTPS、WebSocket 与 GRPC
服务器·tcp/ip·http·https·udp
张飞的猪大数据19 小时前
通过Certbot自动申请更新HTTPS网站的SSL证书
网络协议·https·ssl