树叶云linux教程:16.3.3 透明正向代理

正向代理服务一般是针对企业内部的所有员工设置的,鉴于每位员工所掌握的计算机知识不尽相同,如果您所在的公司不是IT行业的公司,想教会大家如何使用代理服务也不是一件容易的事情。再者,无论是什么行业的公司,公司领导都希望能采取某些措施限制员工在公司内的上网行为,这时就需要用到透明的正向代理模式了。

“透明”二字指的是让用户在没有感知的情况下使用代理服务,这样的好处是一方面不需要用户手动配置代理服务器的信息,进而降低了代理服务的使用门槛;另一方面也可以更隐秘地监督员工的上网行为。

在透明代理模式中,用户无须在浏览器或其他软件中配置代理服务器地址、端口号等信息,而是由DHCP服务器将网络配置信息分配给客户端主机。这样只要用户打开浏览器便会自动使用代理服务了。如果大家此时并没有配置DHCP服务器,可以像如图16-12所示来手动配置客户端主机的网卡参数。

图16-12 配置Windows客户端的网络信息

为了避免实验之间互相影响,更好地体验透明代理技术的效果,我们需要把客户端浏览器的代理信息删除(即图16-6的操作),然后再刷新页面,就会看到访问任何网站都失败了,如图16-13所示。

图16-13 停止使用代理服务后无法成功访问网站

有些时候会因为Windows系统的缓存原因导致依然能看到网页内容,这时可以换个网站尝试一下访问效果。

既然要让用户在无需过多配置系统的情况下就能使用代理服务,作为运维人员就必须提前将网络配置信息与数据转发功能配置好。前面已经配置好的网络参数,接下来要使用8.3.2节介绍的SNAT技术完成数据的转发,让客户端主机将数据交给Squid代理服务器,再由后者转发到外网中。简单来说,就是让Squid服务器作为一个中间人,实现内网客户端主机与外部网络之间的数据传输。

由于当前还没有部署SNAT功能,因此当前内网中的客户端主机是不能访问外网的:

    C:\Users\linuxprobe>ping www.linuxprobe.com
    Ping 请求找不到主机 www.linuxprobe.com。请检查该名称,然后重试。

第8章已经介绍了iptables与firewalld防火墙理论知识以及策略规则的配置方法,大家可以任选其中一款完成接下来的实验。刘遄老师觉得firewalld防火墙实在太简单了,因此决定使用纯命令行的iptables防火墙管理工具来演示部署方法。

要想让内网中的客户端主机能够访问外网,客户端主机首先要能获取到DNS地址解析服务的数据,这样才能在互联网中找到对应网站的IP地址。下面通过iptables命令实现DNS地址解析服务53端口的数据转发功能,并且允许Squid服务器转发IPv4数据包。sysctl -p命令的作用是让转发参数立即生效:

    [root@linuxprobe ~]# iptables -F
    [root@linuxprobe ~]# iptables -t nat -A POSTROUTING -p udp --dport 53 -o eno33554968 -j MASQUERADE
    [root@linuxprobe ~]# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
    [root@linuxprobe ~]# sysctl -p 
    net.ipv4.ip_forward = 1

现在回到客户端主机,再次ping某个外网地址。此时可以发现,虽然不能连通网站,但是此时已经能够获取到外网DNS服务的域名解析数据。这个步骤非常重要,为接下来的SNAT技术打下了扎实的基础。

    C:\Users\linuxprobe>ping www.linuxprobe.com
    正在 Ping www.linuxprobe.com [116.31.127.233] 具有 32 字节的数据:
    请求超时。
    请求超时。
    请求超时。
    请求超时。
    116.31.127.233 的 Ping 统计信息:
        数据包: 已发送 = 4,已接收 = 0,丢失 = 4 (100% 丢失),

与配置DNS和SNAT技术转发相比,Squid服务程序透明代理模式的配置过程就十分简单了,只需要在主配置文件中服务器端口号后面追加上transparent单词(意思为“透明的”),然后把第62行的井号(#)注释符删除,设置缓存的保存路径就可以了。保存主配置文件并退出后再使用squid -k parse命令检查主配置文件是否有错误,以及使用squid -z命令对Squid服务程序的透明代理技术进行初始化。

    [root@linuxprobe ~]# vim /etc/squid/squid.conf
    ………………省略部分输出信息………………
    58 # Squid normally listens to port 3128
    59 http_port 3128 transparent
    60
    61 # Uncomment and adjust the following to add a disk cache directory.
    62 cache_dir ufs /var/spool/squid 100 16 256
    63 
    ………………省略部分输出信息………………
    [root@linuxprobe ~]# squid -k parse
    2017/04/13 06:40:44| Startup: Initializing Authentication Schemes ...
    2017/04/13 06:40:44| Startup: Initialized Authentication Scheme 'basic'
    2017/04/13 06:40:44| Startup: Initialized Authentication Scheme 'digest'
    2017/04/13 06:40:44| Startup: Initialized Authentication Scheme 'negotiate'
    2017/04/13 06:40:44| Startup: Initialized Authentication Scheme 'ntlm'
    2017/04/13 06:40:44| Startup: Initialized Authentication.
    ………………省略部分输出信息………………
    [root@linuxprobe ~]# squid -z
    2017/04/13 06:41:26 kid1| Creating missing swap directories
    2017/04/13 06:41:26 kid1| /var/spool/squid exists
    2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/00
    2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/01
    2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/02
    2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/03
    2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/04
    2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/05
    2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/06
    2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/07
    2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/08
    2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/09
    2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/0A
    2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/0B
    2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/0C
    2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/0D
    2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/0E
    2017/04/13 06:41:26 kid1| Making directories in /var/spool/squid/0F
    [root@linuxprobe ~]# systemctl restart squid

在配置妥当并重启Squid服务程序且系统没有提示报错信息后,接下来就可以完成SNAT数据转发功能了。它的原理其实很简单,就是使用iptables防火墙管理命令把所有客户端主机对网站80端口的请求转发至Squid服务器本地的3128端口上。SNAT数据转发功能的具体配置参数如下。

    [root@linuxprobe ~]# iptables -t nat -A PREROUTING  -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
    [root@linuxprobe ~]# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eno33554968 -j SNAT --to 您的桥接网卡IP地址
    [root@linuxprobe ~]# service iptables save
    iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]

这时客户端主机再刷新一下浏览器,就又能访问网络了,如图16-14所示。

图16-14 客户端主机借助于透明代理技术成功访问网络

现在肯定有读者在想,如果开启了SNAT功能,数据不就直接被转发到外网了么?内网中的客户端主机是否还依然使用Squid服务程序提供的代理服务呢?其实,只要仔细看一下iptables防火墙命令就会发现,刘遄老师刚才并不是单纯地开启了SNAT功能,而是通过把客户端主机访问外网80端口的请求转发到Squid服务器的3128端口号上,从而还是强制客户端主机必须通过Squid服务程序来上网。为了验证这个说法,我们编辑Squid服务程序的配置文件,单独禁止本书的配套站点(https://www.linuxprobe.com/),然后再次刷新客户端主机的浏览器,发现网页又被禁止显示了,如图16-15所示。

图16-15 客户端主机再次无法访问网络

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/180694.html<

(0)
运维的头像运维
上一篇2025-03-27 03:42
下一篇 2025-03-27 03:43

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注