安装环境: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服务器内网地址

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

  1. 在CentOS7上配置Open vSwitch和VXLAN

    在CentOS7上配置Open vSwitch和VXLAN 环境 实验环境 主机环境 [yuwh@node0 ~]$ uname -a Linux node0 3.10.0-123.9.3.el7.x ...

  2. CentOS7网络配置,安装jdk,tomcat和mysql全过程

    CentOS7网络配置,安装jdk,tomcat和mysql全过程 1.CentOS7网络配置 安装CentOS7要在VMware虚拟机上进行,设置密码后登陆进来,可以看见右下角有下面几个图标,右击网 ...

  3. mysql如何安装 centos7_如何解决centos7上mysql安装及问题

    本文主要向大家介绍了如何解决centos7上mysql安装及问题,通过具体的步骤向大家展现,希望对大家学习mysql有所帮助. 1 卸载centos7自带mariadb数据库 (1)列出所有被安装的r ...

  4. 神通数据库ShenTong7在CentOS7上的安装与MySQL迁移遇到的兼容性问题

    背景 最近接触了个项目,数据库用的是国产数据库:神通数据库 ShenTong7 .简单总结下 ShenTong7 在 CentOS7 上的安装与使用.此外,在开发环境使用的是 MySQL 数据库,部署 ...

  5. Docker在CentOS7上的安装及常用命令

    Docker简介:Docker是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化.容器是完全使用沙箱机制 ...

  6. myftpadmin+proftpd+mysql架设ftp服务器_[教程]在CentOS7上配置 FTP服务器 Proftpd 支持 MySQL 虚拟用户加密认证以及磁盘限额(Quota)...

    有一些很古老的教程,一般都是走编译安装路线的,本文是教你不需要编译,而且随时都可以跟随 CentOS 升级 Proftpd 到最新版本,以避免可能的漏洞攻击.利用 Proftpd 现成的配置以及设置好 ...

  7. tfs 安装mysql.h_如何在centos5或centos7上编译安装tfs rcserver 模块?

    已在docker centos7上成功编译rcserver模块,具体步骤如下: docker run -ti tfs:latest /bin/bash 1.进入到rcserver模块目录 cd /mn ...

  8. 在centos7上配置caffe所遇到的一些问题

    之前在Ubuntu上配置过一次caffe,还算顺利,并没有遇到什么特别大的问题,但那是一台普通的台式机,并不能担负起跑数据的重担,于是换到了一台服务器上. 服务器上的系统是centoOS,之前并没有接 ...

  9. corosync+pacemaker在centos7上的安装,配置简述

    本文对corosync和pacemaker的组合的安装,配置及实例都做了叙述,内容见附件. 转载于:https://blog.51cto.com/daerwa/1842158

最新文章

  1. Python高级爬虫开发,高难度JS解密教程,绝地求生模拟登陆!
  2. socketmq 设置队列大小_C++编程实例:面向对象的整形队列实现
  3. 19道小米网运维工程师笔试真题
  4. W-D-S-UART编程
  5. 用Python实现选择排序
  6. python3(二)Numpy
  7. 恢复IE8自带的源代码查看器
  8. 开发函数计算的正确姿势——网页截图服务
  9. RabbitMQ学习之ConntectionFactory与Conntection的认知
  10. Nginx-windows
  11. postgresql学习笔记一之安装
  12. 移动开发:怎么去掉点击时出现背景蓝色
  13. linux怎么用jconsole_linux中jconsole
  14. 使用 cookie的一些缺陷和隐患
  15. python允许无止境的循环_python基础课程 第6章 循环(无尽的未来)
  16. 如何使用JavaScript实现前端导入和导出excel文件(H5编辑器实战复盘)
  17. 如何查找你的IP地址?通过IP地址能直接定位到你家!
  18. 大数据工程师技术栈探讨
  19. Oracle EBS创建LPN
  20. 【IOS】Object-C 中的Selector 概念

热门文章

  1. 元数据管理系统解决方案及产品调研-数仓系列(一)
  2. php 腾讯云 文字识别_讯飞语音转文字,图片转文字,效率高还免费
  3. 2015年薪酬大涨的15个IT岗位
  4. 和python哪个容易胖_碳水化合物,脂肪和蛋白质,到底吃哪个更容易胖?
  5. 硬件设计学习笔记---第一季第一集
  6. python自动化办公之 第1章 安装部署国产化系统和wps软件并python安装
  7. [RK3588 Android12]删除谷歌搜索框
  8. 2022-2028全球与中国医学头骨CT市场现状及未来发展趋势
  9. node.js+uni计算机毕设项目计算机配件价格查询微信小程序(程序+小程序+LW)
  10. 哈·曼丁的故事(二)