RedHat 5.4 Squid配置本地代理服务器

一、基本配置

Squid代理服务器配置两个网卡

WAN:eth0:10.10.10.200    需要配置网关、DNS,允许上网

LAN:eth1:172.168.1.254   不用配置网关、DNS

squid(代理)   端口:3128

 

RedHat 5.4 Squid配置本地代理服务器 

  

主机名

服务器IP

客户端IP

RedHat 5.4

proxy

Eth0:10.10.10.200

172.16.1.0

Eth1:172.16.1.254

 

需求:

1. 禁止单IP上网

2. 禁止网段10-50上网

3. 禁止所有网段访问IP:172.16.1.200(MySQL)

4. 禁止访问:www.youku.com网站

5. 禁止访问包含关键字163网址

6. 禁止下载*.mp3$ *.exe$ *.zip$ *.rar$ 类型的文件

7. 禁止网段10-50客户端在周一到周五的09:00-18:00上班时间上网

8. 禁止端口号上网

9. 限制用户并发连接数为:5

 

1、配置IP

WAN配置:

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"

BOOTPROTO="static"

IPADDR=10.10.10.200

NETWASK=255.255.255.0

GATEWAY=10.10.10.1

:wq  保存

LAN配置:

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE="eth1"

BOOTPROTO="static"

IPADDR=172.16.1.254

NETWASK=255.255.255.0

:wq  保存

[root@localhost ~]# service network restart

 

2、配置DNS文件

[root@localhost ~]# vim /etc/resolv.conf

nameserver 202.96.134.133

nameserver 202.96.128.166

:wq  保存

 

3、配置主机名:proxy

[root@localhost ~]# vim /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=proxy

:wq  保存

[root@localhost ~]# hostname proxy

断开终端,再次连接,这样就需要重新启动系统:ctrl+d

[root@proxy ~]# hostname

proxy

4SELinux关闭、LINUX关闭防火墙

SELinux关闭

永久方法  需要重启服务器

修改/etc/selinux/config文件中设置SELINUX=disabled ,然后重启服务器。

临时方法  设置系统参数

使用命令setenforce 0

 

5、查看路由表、测试是否能上网

[root@proxy ~]# route -n      

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

172.16.1.0      0.0.0.0         255.255.255.0   U     0      0        0 eth1

10.10.10.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0

169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth1

0.0.0.0         10.10.10.1      0.0.0.0         UG    0      0        0 eth0

 

[root@proxy ~]# ping www.baidu.com

PING www.a.shifen.com (115.239.210.26) 56(84) bytes of data.

64 bytes from 115.239.210.26: icmp_seq=1 ttl=55 time=304 ms

64 bytes from 115.239.210.26: icmp_seq=2 ttl=55 time=48.3 ms

 

二、安装squid

[root@proxy ~]# yum install squid -y

[root@proxy ~]# rpm -ql squid |less    #查看安装路径

/etc/rc.d/init.d/squid

[root@proxy ~]# grep -v "^#" /etc/squid/squid.conf |grep -v "^$"    #查看squid配置文件需要修改重要部分

[root@proxy ~]# ll /var/spool/squid/

total 0

[root@proxy ~]# cp /etc/squid/squid.conf /etc/squid/squid.confbak   #备份

 

编辑squid配置文件

[root@proxy ~]# vim /etc/squid/squid.conf

2994 #  TAG: visible_hostname

修改为

2994 visible_hostname 172.16.1.254

:wq

 

[root@proxy ~]# service squid start  #启动

init_cache_dir /var/spool/squid... Starting squid: .       [  OK  ]

[root@proxy ~]# chkconfig squid on   #设置开机启动

 

[root@proxy ~]# ll /var/spool/squid/

 

[root@proxy ~]# netstat -anp |grep :3128   #查看squid端口号

tcp      0    0 0.0.0.0:3128       0.0.0.0:*      LISTEN      5967/(squid)

 

三、客户端配置:

1IE浏览器-----工具------Internet选项----连接-----局域网设置--------勾选“为LAN使用代理服务器”----输入地址:172.16.1.254   端口:3128 -----确定。

RedHat 5.4 Squid配置本地代理服务器

RedHat 5.4 Squid配置本地代理服务器

2、编辑squid配置文件

[root@proxy ~]# vim /etc/squid/squid.conf

http_access deny all上面一行插入http_access allow all

 637 http_access allow all

 638 http_access deny all

:wq

 

[root@proxy ~]# service squid restart   

Stopping squid:                                          [  OK  ]

Starting squid: .                                        [  OK  ]

 

3、测试正常上网:

RedHat 5.4 Squid配置本地代理服务器

4、查看日志:

[root@proxy ~]# tail -f /var/log/squid/access.log

 

5、手动添加访问控制策略(注意:策略要合理的配置应用,避免冲突)

[root@proxy ~]# vim /etc/squid/squid.conf

配置策略在574行开始

在下面添加以下策略内容:

#####################禁止单IP上网###############################

acl badip src 172.16.1.2/32

http_access deny badip

 

#####################禁止网段10-50上网##########################

acl badip src 172.16.1.10-172.16.1.50/32

http_access deny badip

 

#####################禁止所有网段访问IP:172.16.1.200(MySQL)#######

acl MySQL dst 172.16.2.100

http_access deny MySQL

 

#####################禁止访问:www.youku.com网站################

acl web dstdomain -i www.baidu.com

http_access deny web

 

#####################禁止访问包含关键字163网址##################

acl web163 url_regex -i 163

http_access deny web163

 

###########禁止下载*.mp3$ *.exe$ *.zip$ *.rar$ *.doc$类型的文件########

acl webxiazai urlpath_regex -i \.mp3$ \.exe$ \.zip$ \.rar$ \.doc$

http_access deny webxiazai

 

#####禁止网段10-50客户端在周一到周五的09:00-18:00上班时间上网######

acl badip src 172.16.1.10-172.16.1.50/32

acl worktime time MTWHF 09:00-18:00

http_access deny badip worktime

 

########################限制443端口上网 ############################

acl http port 443

http_access deny http

 

########################限制用户并发连接数为:5 ######################

acl client15 src 172.16.1.15

acl conn5 maxconn 5

http_access deny client15 conn5

 

[root@proxy ~]# service squid restart    #重启

Stopping squid:                                          [  OK  ]

Starting squid: .                                        [  OK  ]

 

配置完成!现在内部网段172.16.1.0/24内客户机可以通过代理服务器172.16.1.254访问外网。





本文转自 yhw85 51CTO博客,原文链接:http://blog.51cto.com/yanghuawu/1111445,如需转载请自行联系原作者

上一篇:javascript运行机制


下一篇:有关try..catch..finally处理异常的总结