之前的服务都是简单粗暴的将防火墙直接关闭后(systemctl stop fireawalld),提供服务,这样太奔放对身体不好!因此需要使用firewall-cmd命令更加精细化的管理。

【CLI】

准备工作:

  •  确保iptables未安装或者服务未启动

  • systemctl status iptables 查看是否开启,我这台没安装iptables所以not be foubd

  • 如果安装了那可以通过

  • systemctl stop iptables 命令关闭

  •  systemctl start firewalld 开启防火墙

开始操作

 安装apache服务,并对外提供测试页面(漂亮网页)服务。

yum install -y httpd

没提示最后的已安装就是你得yum仓库有问题或者需要

重新挂载:mount /dev/cdrom /mnt 再次尝试安装

 systemctl start httpd 开启httpd

systemctl status httpd  查询开启状态

浏览器输入apache服务的ip访问测试页打不开

netstat -npl |grep httpd    查看到服务器已经开启了80端口的监听

firewall-cmd  --get-default-zone   查看服务器所在的区域zone

使用命令

firewall-cmd --zone=public --query-service=http

查看在public区域是否语序http流量进入?

答案是no

因此需要使用命令放通http流量

firewall-cmd --zone=public --add-service=http

再次使用命令

firewall-cmd --zone=public --query-service=http

查看在public区域是否语序http流量进入?

此时为yes

再次访问,发现可以了

但是是临时放通!!!

使用命令查看是否是永久放通?

firewall-cmd  --permanent --zone=public --query-service=http

是no的,需要手动输入命令开启,不然每次都次重启服务都需要再临时关闭一次,极其繁琐!

 firewall-cmd  --permanent --zone=public --add-service=http

 但是此时无法立刻生效,需要使用命令   

firewall-cmd --reload

重启防火墙服务

重启服务依旧可以访问

firewall-cmd --reload

安装vsftpd服务

yum install -y vsftpd

不能安装请重新挂载:mount /dev/cdrom   /mnt  或者检查yum仓库repo文件配置:点我查看yum配置文章

查看启动状态为关

systemctl start vsftpd   //启动vsftpd服务

systemctl status vsftpd    //查看服务状态

netstat -npl |grep vsftpd   

 服务器已经开启了21端口的监听

但是可以ping通却不可以访问登陆ftp

firewall-cmd --permanent --zone=public --add-service=ftp  //永久允许ftp连接

firewall-cmd --reload  //重启防火墙

登陆失败

关闭SELinux,那么此时就可以进行查看与上传下载了。

setenforce 0

我是用子账户(mamublog)进行登陆上传,可以登陆上传

安装BIND服务,并对外提供域名解析服务

yum install -y bind-chroot.x86_64

不能安装请重新挂载:mount /dev/cdrom   /mnt  或者检查yum仓库repo文件配置:点我查看yum配置文章

修改主配置文件

vim /etc/named.conf

使用

named-checkconf 查看主配置文件修改是否有误,没报错即可

修改区域配置文件

vim  /etc/named.rfc1912.zones

输入或者复制添加以下内容

zone "mamublog.com" IN {

        type master;

        file "mamu-zone";

        allow-update { none; };

};

再次使用

named-checkzone 

无报错即可

cd /var/named 

cp named.localhost mamu-zone  //我们可以从/var/named目录中复制一份正向解析的模板文件(named.localhost),然后把域名和IP地址的对应数据填写数据配置文件中并保存。

更改后wq保存

systemctl restart named 回车没报错即为重启成功

netstat -npl |grep dns  查看dns监听端口

使用另一台电脑win7设置dns为dns服务器地址192.168.192.136

发现解析不了

原因是防火墙关处于开启状态,但是并且允许53号端口被访问。

使用以下命令

firewall-cmd --permanent --zone=public --add-service=dns

firewall-cmd --reload

firewall-cmd --zone=public --query-service=dns

再次尝试可以了

【GUI模式】

我们总是要考虑有些人是非命令敏感形的,更多是图像敏感形式的。所以firewall的GUI格式一定是你的首选。

输入

firewall-config

几大福利

  1. 它是firewalld防火墙配置管理工具的GUI(图形用户界面)版本,几乎可以实现所有以命令行来执行的操作,因此可以告别那些令人害喜的长格式命令;

  2. 即使读者没有扎实的Linux命令基础,也完全可以通过它来妥善配置RHEL 7中的防火墙策略;

  3. 功能如下图所示

可以发现之前手打的配置的内容已经被“同步”过来了

所以如果需要修改,例如需要放通某个服务(https)

先确认的确未开放

firewall-cmd --zone=public --query-service=https

发现是no即为关闭

重启防火墙

firewall-cmd --zone=public --query-service=https

发现是yes即为开启

【使用GUI开启SNAT模式】

iptables的SNAT模式是在nat表中的POSTROUTING规则链中给完成,配置命令令人绝望。

firewalld的SNAT相对而言比较友好,再结合GUI那简直如虎添翼。

windows 7(仅主机模式)

自动获取分配到192.168.192.134

确保能ping通网关,一般.1

RHEL/CentOS 7(桥接)(仅主机模式)

开启ip转发

重启防火墙

将仅主机的win7更改Ip为手动,ip一样为刚才获取的,网关改为开启ip转发的电脑ip     

百度正常打开

squid部分

使用squid和firewalld

完成一个用户缓存上网的场景,并且针对网址中所有带有ruijie的均禁止访问

1、内网用户经常访问某个网站,

每次访问均需要重新下载,使得效率较低、带宽浪费

2、用户在工作的时候无法总是无心恋战,经常访问一些中继器网站,老板苦不堪言

【解决方法】

1、增大带宽,替换高端设备,管理手段(裁员)

2、使用用户上网行为管理设备

3、使用缓存技术(例如Squid)

啥是squid

 Squid是Linux系统中最为流行的一款高性能代理服务软件,通常用作Web网站的前置缓存服务,能够代替用户向网站服务器请求页面数据并进行缓存。简单来说,Squid服务程序会按照收到的用户请求向网站源服务器请求页面、图片等所需的数据,并将服务器返回的数据存储在运行Squid服务程序的服务器上。当有用户再请求相同的数据时,则可以直接将存储服务器本地的数据交付给用户,这样不仅减少了用户的等待时间,还缓解了网站服务器的负载压力。

        Squid服务程序具有配置简单、效率高、功能丰富等特点,它能支持HTTP、FTP、SSL等多种协议的数据缓存,可以基于访问控制列表(ACL)和访问权限列表(ARL)执行内容过滤与权限管理功能,还可以基于多种条件禁止用户访问存在威胁或不适宜的网站资源,因此可以保护企业内网的安全,提升用户的网络体验,帮助节省网络带宽。

正向代理之 标准正向代理模式

18-2(CentOS7)(仅主机模式) 

18-1(CentOS 7)仅主机模式)(桥接)

还原主机到一清二白

不能安装请重新挂载:mount /dev/cdrom   /mnt  或者检查yum仓库repo文件配置:点我查看yum配置文章

yum install -y squid

设置18-2(仅主机模式) dns为114.114.114.114

发现设置了公网DNS IP还是无法上网

确保18-1可以正常访问外网(仅主机和桥接)所以可以访问外网

 配置18-1的squid服务的主配置文件

vim  /etc/squid/squid.conf

systemctl start squid    // 启动服务

systemctl enable squid    //加入开机启动项

配置18-2的Firefox浏览器代理

在弹出的对话框中输入18-1 Squid服务器仅主机ip,点击OK保存

 在18-2上访问www.ruijie.com.cn进行测试发现不行

 

systemctl status squid发现服务开着,如果没开则需要输入 systemctl start squid开启服务

使用GUI界面针对内网口对应的区域,永久放通squid服务,并且重启防火墙使其生效

重载防火墙

再次访问发现可以了

18-2 的试了www.baidu.com访问不了,而且其他的https的网站均访问不了

解决办法,代理中勾选:为所有协议使用相同代理

再次访问https网站发现可以了

使用代理的优点

1、代理无需配置SNAT

2、代理无需开启路由转发功能

缺点

1、终端配置麻烦(小白的噩梦)

2、累死代理服务器

正向代理之 透明正向代理模式

透明代理,顾名思义,就是对于用户而言就是透明!!无需做任何额外的配置!

去掉原先的代理,并且确认无法上网!

在18-1上配置SNAT功能,记得重载防火墙

将18-1的内网口加入到另外一个区域,为了便于记忆,加入到internal区域

更改区域为internal

重启防火墙

将内网用户的所有外网流量全部定位到3128端口上

设置端口转发到18-1的仅主机ip,端口3128

弹出的窗口选择no,即internal区域不做SNAT

因为内网口划入squid区域,因此需要针对internal区域开放squid服务,让客户进行透明代理

重启防火墙

 修改squid的主配置文件

vim /etc/squid/squid.conf

59行 3128后加入transparent

去掉62行#号注释

使用squid -k parse命令检查主配置文件是否有错误

使用squid -z命令对Squid服务程序的透明代理技术进行初始化。

重启服务 systemctl restart squid

 测试

ACL访问控制

在日常工作中,企业员工一般是通过公司内部的网关服务器来访问互联网,当将Squid服务程序部署为公司网络的网关服务器后,Squid服务程序的访问控制列表(ACL)功能将发挥它的用武之地。它可以根据指定的策略条件来缓存数据或限制用户的访问。比如很多公司会分时段地禁止员工逛淘宝、打网页游戏,这些禁止行为都可以通过Squid服务程序的ACL功能来实现。

Squid服务程序的ACL是由多个策略规则组成的,它可以根据指定的策略规则来允许或限制访问请求,而且策略规则的匹配顺序与防火墙策略规则一样都是由上至下;在一旦形成匹配之后,则立即执行相应操作并结束匹配过程。为了避免ACL将所有流量全部禁止或全部放行,起不到预期的访问控制效果,运维人员通常会在ACL的最下面写上deny all或者allow all语句,以避免安全隐患。

禁止员工访问域名中带有ruijie的网站

squid服务程序的这种ACL功能模式是比较粗犷暴力的,客户端访问的任何网址中只要包含了某个关键词就会被立即禁止访问,但是这并不影响访问其他网站。

首先,确保可以打开

 在18-1的squid主配置文件/etc/squid/squid.conf中一个acl

vim /etc/squid/squid.conf

26以及34行加入命令实现访问控制

acl deny_ruijie url_regex -i rujie

http_access deny deny_ruijie

acl名为deny_ruijie ,内容意思是,在url中包含关键词如果包含ruijie,那么就被拒绝

 重启服务后进行测试

systemctl restart squid

Ctrl+shift+del清除缓存,再次访问www.ruijie.com.cn

百度还可以正常访问

Linux-firewalld-squid正向代理相关推荐

  1. Linux配置squid正向代理(标准正向代理)

    Squid是支持HTTP,HTTPS,FTP等的Web的缓存代理.它通过缓存和重用频繁请求的网页来减少带宽并缩短响应时间.Squid拥有广泛的访问控制,是一个出色的服务器加速器.并根据GNU GPL许 ...

  2. squid正向代理 反向代理 CDN加速

    文章目录 一.squid正向代理 反向代理 CDN加速. 1.正向代理 1.1如何实现正向代理 2.反向代理 2.1 如何实现反向代理 3.CDN加速 3.1.如何实现CDN加速 一.squid正向代 ...

  3. Squid正向代理矩阵

    简介: squid是很老的代理软件,功能齐全可以做正向和反向代理.目前反向代理市场已经被nginx和varnish占据了主导地位,不过依然是正向代理的霸主.本文介绍如何利用squid的子节点和父节点配 ...

  4. Linux:Nginx 正向代理实现内网访问互联网

    前言: 因为公司的某些系统需要访问互联网上的某些功能,每个系统的服务器都开通访问互联网的能力太麻烦并且不方便管理,所以打算只对一台服务器开通访问互联网的能力,并在此服务器基础上搭建 nginx 正向代 ...

  5. Linux配置squid服务(代理实现解析DNC(国赛Linux服务器))

    Linux配置squid服务 前言 安装squid squid原理 准备工作 安装squid 实验结果 配置手动代理 最终实验 前言 两台centos7.9,一台统信uos squid服务器,命名为R ...

  6. Centos7 Squid正向代理

    环境centos7(1台),windows(1台) Centos7,两张网卡,一张网卡是内网不能上网,IP地址为192.168.10.1/24 另一张网卡设置为桥接模式要求可以上网. Windows, ...

  7. Squid正向代理(编译安装)

    tps://www.aliyun.com/product/cas?source=5176.11533457&userCode=kv73ipbs&type=copy https://ww ...

  8. squid 正向代理

    squid访问控制 acl元素类型 src:源地址(即客户机IP地址) dst:目的地址(即服务器IP地址) srcdomain:源名称(即客户机名称) dstdomain:目的名称(即服务器名称) ...

  9. linux下PAC正向代理某个网址上网

    使用场景: 我们在某些私有化场景下部署服务,一般情况下既然私有化了当然服务器对网络的限制就比较多,一般分两种情况  第一种彻底不让上网,那我这文章就别看了:第二种 就是服务器可以通过内部搭建的代理服务 ...

  10. 想要比别人跑的快,还得 Squid 替你代 ———— 部署Squid代理服务器 —— 正向代理(传统代理、透明代理) ---- 你值得一看!

    部署Squid代理服务器 Squid介绍 使用Squid的好处 Squid代理类型 正向代理 反向代理 部署 Squid 正向代理 传统代理 传统代理部署规划 传统代理部署 透明代理 透明代理部署规划 ...

最新文章

  1. asp.net % = #区别
  2. MySQL设置数据库的字符编码为utf8
  3. boost::fusion::as_nview用法的测试程序
  4. mac osx wine 1.7.5 源码编译方法及中文乱码的解决
  5. MUI 如何更改单选框样式
  6. Git Stash解释:如何在Git中临时存储本地更改
  7. 装修的九大风格,快来看看哪种适合你
  8. Reflector反编译winform心得
  9. 无监督︱异常、离群点检测 一分类——OneClassSVM
  10. 电脑键盘打字手法_电脑快速打字技巧,送个每一位初学者
  11. 全球知名 CMS 提供商详细清单
  12. 记账用哪个软件比较好?
  13. Emoji表情代码大全
  14. AMS1117-3.3(线性稳压器(LDO))
  15. 微信公众号jssdk音频
  16. 天池竞赛:Docker 基本操作
  17. php如何把word转图片
  18. 戴尔R730XD服务器的不定时蓝屏研究 蓝屏错误代码 0x00000124
  19. VRchat改模型相关
  20. 黑鹰红客基地VIP美工教程系列

热门文章

  1. 电商产品安全要求(UL+IEC)
  2. android逆向去广告,教程]安卓逆向去广告教程送给大家(
  3. CSDN企业账户用户手册操作文档
  4. java poi操作word转pdf
  5. taobao API open淘宝 错误码一览表
  6. 打印机更换感光鼓单元k_打印机换硒鼓步骤:老司机手把手教你
  7. 【优化求解】基于NSGA2算法求解多目标优化问题matlab源码
  8. 代码整洁之道:想要成为一个更好的程序员,你要注意这些方面
  9. YV12 and NV12
  10. Tomcat7安装步骤