CentOS系统中squid透明代理+iptables防火墙详细配置

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

CentOS系统中squid透明代理+iptables防火墙详细配置

2015-03-02 16:12:04| 分类:http | 标签:|举报|字号大中小订阅

看到很多人都在不停地问iptables+squid做透明代理的问题,鄙人不才,斗胆在此做统一解答。如有任何纰漏还望各位批评指教。===================================

看到很多人都在不停地问iptables+squid做透明代理的问题,鄙人不才,斗胆在此做统一解答。如有任何纰漏还望各位批评指教。

=====================================================================

相关资源:

,左下角有iptables的man,仔细看看。

系统:

CentOS4.2,三块网卡,两个内网,一个外网。双至强,2GHz,2GB内存。服务器主要开了squid,sshd,其他的一律闭掉了。

eth0:192.168.100.1

eth1:192.168.168.12

eth2:A.B.C.D ―― 外网地址

=====================================================================

squid设定可以根据自己的情况来,我们假设其端口为3128,在三块网卡上都有监听(不要绑定某一个IP 或网卡)。

/etc/squid/squid.conf

http_port 3128

cache_mem 1000 MB

cache_swap_low 90

cache_swap_high 95

cache_dirufs /opt/cache/squid 8000 16 256

cache_access_log /var/log/squid/access.log

cache_store_log /var/log/squid/store.log

dns_nameservers 210.77.192.88

maximum_object_size 409600 KB

maximum_object_size_in_memory 64000 KB

emulate_httpd_log on

ipcache_size 1024

ipcache_low 90

ipcache_high 95

fqdncache_size 1024

forwarded_for off

coredump_dir /opt/cache/squid/coredumphttpd_accel_port 80

httpd_accel_host virtual

httpd_accel_with_proxy on

httpd_accel_single_host off

httpd_accel_uses_host_header on

acl all src 0.0.0.0/0

acl lixiaedu100 src 192.168.100.0/24

acl lixiaedu168 src 192.168.168.0/24

http_access allow lixiaedu100

http_access allow lixiaedu168

http_access deny all

cache_effective_user squid

cache_effective_group squid

cache_mgr zhaobing8181@

visible_hostnamelixiaedu

======================================================================

iptables设定。iptables的设定分为两部分,一是如何进行SNAT,二是在开设了squid的情况下如何进行安全防护的问题。

一、SNAT

modprobeip_tables

modprobeiptable_nat

modprobeiptable_filter

modprobeip_conntrack_ftp

modprobeip_nat_ftp

加挂一些iptables的必要的模块,以便调用。

echo 1 > /proc/sys/net/ipv4/ip_forward

打开“转发”功能。让数据包可以在不同的网卡间“流动”。

iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth2 -j SNAT --to A.B.C.D

iptables -t nat -A POSTROUTING -s 192.168.168.0/24 -o eth2 -j SNAT --to A.B.C.D

iptables -t nat -A PREROUTING -s 192.168.100.0/24 -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 iptables -t nat -A PREROUTING -s 192.168.168.0/24 -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128 上面这四句比较重要,是进行透明代理的关键。前两句的作用是进行“源地址转换”,也就是说要进行内网地址到外网地址的转换。执行了这两句,即使没有squid,内网机器也可以上网了。

后面两句是对从两个内网网卡进入的、tcp协议的、目的端口号是80的,做“端口重定向”。重定向到3128端口。这样,squid就可以接到这个数据包了。

OK!如果你的squid没有问题,而且你也执行了上面的语句,并且没有报错。那就恭喜你,一个iptables+squid的透明代理做成了。如果你不相信,有两个方法可以测试:一是登录:,这是一个国外网站,可以显示你的外网ip地址,还有是否被代理过。二是在一台内网机器上下载一个文件,或者看一页图片很多而且较慢的网页,然后转到另一台内网机器上下载同样的文件或看刚才的图片网页。比

较一下速度,就能感觉出来了。

二、firewall

如果你把这样一台服务器放到internet上,无异于是想“自杀”。防火墙没有任何的保护机制和过滤功能。很容易被各种攻击所击破。不要迷

信Linux的安全性,网管员的安全意识要比空喊Linux安全重要得多。

iptables -F

iptables -X

iptables -F -t mangle

相关文档
最新文档