您的位置:首页 > 运维架构 > 反向代理

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

2013-01-08 12:22 399 查看
一、基本配置
Squid代理服务器配置两个网卡
WAN:eth0:10.10.10.200 需要配置网关、DNS,允许上网
LAN:eth1:172.168.1.254 不用配置网关、DNS
squid(代理) 端口:3128





系 统
主机名
服务器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
4、SELinux关闭、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)

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








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、测试正常上网:




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访问外网。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息