Centos7上配置安装Squid代理(主动代理,与透明代理)

安装环境:Centos7,Windows7

centos7上安装好squid服务
centos7:172.16.0.100/24(nat),192.168.0.2/24(仅主机)
windows:192.168.0.100/24(仅主机)

在这里插入图片描述
访问控制列表检查原则:从上到下的顺序依次匹配,如果匹配,立刻执行该行为(拒绝|允许 deny|allow)

• 主动代理

1、禁止指定IP上网
acl badhost src 192.168.0.100
http_access deny badhost

2、禁止工作时间上网
acl worktime time MTWHF 9:00-17:00
http_access deny worktime
禁止非工作时间上网
acl worktime time MTWHF 9:00-17:00
http_access deny !worktime

3、禁止访问指定的服务器(IP)
acl baddst dst 14.215.177.39
acl baddst dst 14.215.177.38
http_access deny baddst

4、禁止访问指定的域名(taobao.com)
acl baddomain dstdomain .taobao.com .pinduoduo.com
http_access deny baddomain

5、禁止员工区域电脑(192.168.32.100-192.168.32.199)访问电商网站(淘宝,拼多多)
acl staff src 192.168.0.100-192.168.0.199
acl unbus dstdomain .taobao.com .pinduoduo.com
http_access deny staff unbus

6、禁止通过IP地址访问网站(nbzjzx.com.cn)
使用到正则表达式

250-255、200-249、100-199、0-99
0.0.0.0 – 255.255.255.255

acl xdomain dstdomain .nbzjzx.com.cn
acl xhost dstdom_regex ((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9]).){3}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])
http_access deny xdomain
http_access deny xhost

• 安全基本用户认证

1.创建密码文件(htpasswd)

默认是没有安装的,这个包在安装httpd时时会自动依赖安装,那么我们现在单独安装这个包

yum install -y httpd-tools
在squid目录下创建passwd密码文件
htpasswd -c passwd vec

2.修改主配置文件(squid.conf)
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm You need pasword

acl authuser proxy_auth REQUIRED
在这里插入图片描述

注意需要把默认的允许所有访问给注销掉,并且注意加载的位置,一定要写在http_access deny all 的前面

正向代理的缺点:客户端需要单独配置,才能使用正向代理功能

• 透明代理(不需要客户单独配置)

遇到的问题:浏览网页有两种方式(http、https)

实验步骤:
• 1.制作公钥和私钥
私钥:openssl genrsa -out s.key
请求文件:openssl req -new -key s.key -out s.csr
在这里插入图片描述

公钥(证书)openssl x509 -req -in s.csr -signkey s.key -out s.crt
在这里插入图片描述

cat /etc/squid/s.crt >> /etc/pki/tls/certs/ca-bundle.crt
• 2、编辑主配置文件
默认端口:3128
http代理端口:3129、https代理端口:3130 (这个端口没有特指你可以随便配一个)
http_port 3129 intercept
https_port 3130 ssl-bump cert=/etc/squid/s.crt key=/etc/squid/s.key generate-host-ce
rtificates=on dynamic_cert_mem_cache_size=4MB transparent

/usr/lib64/squid/ssl_crtd -c -s /var/lib/ssl_db
chown squid:squid /var/lib/ssl_db/

• *3、修改防火墙(重点配置)

iptables -t nat -A PREROUTING -s 191.168.0.0/24 -i eno16777736 -p tcp -m tcp --dport 80 -j REDIRECT --to-port 3129

把80端口的数据包重定向到3129端口去

iptables -t nat -A PREROUTING -s 191.168.0.0/24 -i eno16777736 -p tcp -m tcp --dport 443 -j REDIRECT --to-port 3130

把ssl的443端口重定向到3130端口中去

iptables -t nat -A PREROUTING -s 192.168.0.0/24 -j DNAT -p udp --dport 53 --to 172.16.0.2
iptables -t nat -A PREROUTING -s 192.168.0.0/24 -j DNAT -p tcp --dport 53 --to 172.16.0.2

iptables -t nat -A POSTROUTING -o eno33554944 -j MASQUERADE

将收到的数据包从外网口转发出去

cat /etc/resolv.conf
在这里插入图片描述
在这里插入图片描述

echo 1 > /proc/sys/net/ipv4/ip_forward
在这里插入图片描述

开启包转发

• 4.客户机的配置

如果有DHCP服务就不需要配置,自动获取就好了
没有的话手动配置,网关是squid服务器内网地址,DNS也是squid服务器内网地址

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值