首页 > 系统 > Linux > 正文

Linux中怎么设置透明代理

2020-10-14 22:32:29
字体:
来源:转载
供稿:网友

用户的浏览器不需要任何代理设置就能使用我的Squid cache代理服务器上网?此时你就需要使用透明代理,那么linux中怎么设置透明代理呢?今天小编与大家分享下Linux中设置透明代理的具体操作步骤,有需要的朋友不妨了解下。

Linux中设置透明代理方法

透明模式的特点就是对用户是透明的(Transparent),即用户意识不到防火墙的存在。要想实现透明模式,防火墙必须在没有IP地址的情况下工作,不需要对其设置IP地址,用户也不知道防火墙的IP地址。

透明模式的防火墙就好象是一台网桥(非透明的防火墙好象一台路由器),网络设备(包括主机、路由器、工作站等)和所有计算机的设置(包括IP地址和网关)无须改变,同时解析所有通过它的数据包,既增加了网络的安全性,又降低了用户管理的复杂程度。

Squid传统代理、透明代理应用

防火墙使用透明代理技术,这些代理服务对用户也是透明的,用户意识不到防火墙的存在,便可完成内外网络的通讯。当内部用户需要使用透明代理访问外部资源时,用户不需要进行设置,代理服务器会建立透明的通道,让用户直接与外界通信,这样极大地方便了用户的使用。

一般使用代理服务器时,每个用户需要在客户端程序中指明要使用代理,自行设置Proxy参数(如在浏览器中有专门的设置来指明HTTP或FTP等的代理)。而透明代理服务,用户不需要任何设置就可以使用代理服务器,简化了网络的设置过程。

透明代理与透明模式都可以简化防火墙的设置,提高系统安全性。但两者之间也有本质的区别:工作于透明模式的防火墙使用了透明代理的技术,但透明代理并不是透明模式的全部,防火墙在非透明模式中也可以使用透明代理。

那么下边我们就通过示例让大家明白透明代理、传统代理及ACL控制的效果:

Squid传统代理、透明代理应用

实验环境(略加修改,因为当测试网站在同一网段就没有必要验证了):

地址规划:

Squid 代理:

eth0:192.168.10.1

eth1:173.16.16.173

测试网站:173.16.16.2

客户机:192.168.10.10

实验描述:

在squid主机上,构建squid为客户机访问各种网站提供代理服务;

在客户机上,指定squid作为web访问代理,以隐藏自己的真实IP地址。

实验步骤:

1:squid服务器的配置:

因代理服务的主配置文件大多是注释行,需简化配置文件:

过滤前先进行备份—数据至上:

[root@squid ~]# mv /etc/squid/squid.conf /etc/squid/squid.conf.bak

Squid传统代理、透明代理应用

执行过滤操作:

[root@squid ~]# grep -v "^#" /etc/squid/squid.conf.bak | grep -v "^$" > /etc/squid/squid.conf

在主配置文件/etc/squid/squid.conf中,添加配置项

http_port 3128 ###指定代理服务监听的端口,默认为3128

cache_mem 64 MB ###指定缓存所使用的内存空间的大小

maximum_object_size 4096 KB ###保存到缓存空间的最大对象(文件)大小

reply_body_max_size 10240000 allow all ###允许用户下载的最大文件大小,其中all为默认的访问控制列表名

cache_dir ufs /var/spool/squid 100 16 256 ###指定缓存数据所存放的目录,容量,子目录个数;其中100为容量100M;16为一级子目录;256为二级子目录

access_log/var/log/squid/access.log squid ###指定代理服务的日志文件位置及记录格式(squid)

visible_hostname localhost ###指定代理服务器本机的主机名

dns_testname www.sohu.com ###执行DNS解析,确保squid服务器自身的DNS查询功能正常,只要成功解析出一个域名,则不再测试后边的其他域名

http_access allow all ###放在http_access deny all之前

2:在Squid服务器上配置防火墙策略,允许3128端口访问外网的WEB服务器

iptables -I(大写i) INPUT -p tcp --dport 3128 -j ACCEPT

3:初始化并启动服务(2种方法)

a:squid -z ###初始化缓存目录

squid -D ###启动squid 服务

b:service squid start ###初始化并启动服务

修改squid.conf配置文件后,需要重新加载方可生效。

执行“ service squid reload ”或者“ squid -k reconfigure”重新加载。
(责任编辑:VEVB)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表