一、基本配置
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访问外网。