一文带你体验CentOS7防火墙firewall

一时失言乱红尘 2022-10-16 12:28 187阅读 0赞

文章目录

      • 防火墙分类:
      • 防火墙的作用
      • firewalld 实战
        • firewalld 介绍
        • firewalld 四个常用区域
        • 防火墙的匹配原则:
        • 案例一: 查看默认zone
      • 常用命令参数
        • 案例二: 修改默认zone
        • 案例三: 在public区域添加协议
        • 案例四: 把http协议永久加入到public 区域
        • 案例五: 拒绝某一个IP 访问
    • 总结

防火墙分类:

硬件防火墙
软件防火墙
比如360,金山毒霸,这些就是一种软件防火墙

防火墙的作用

防火墙主要是做隔离,严格过滤入站,允许出站

软件防火墙:做本机的防护

firewalld 实战

firewalld 介绍

在centos7中默认的防火墙系统,是一个集合多款防火墙管理工具并存的系统, 同时拥有命令行终端和他图形化界面的配置工具。

相较于iptables防火墙而言,firewalld支持动态更新技术并加入了区域(zone)的概念。简单来说,区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换

默认安装,默认随机自动启动

系统服务: firewalld
管理工具: firewalld-cmd ,firewall-config(图形工具)

重启防火墙:

  1. [root@itlaoxin162 ~]# systemctl restart firewalld

firewalld 四个常用区域

根据所在的网络场所区分,预设保护规则集,有四个部分用的比较多:

  • public: 仅允许访问本机的SSH,dhcp, ping 服务
  • trusted: 允许任何访问
  • block: 阻塞任何来访请求(明确拒绝,给客户端一个回应)
  • drop: 丢弃任何来访的数据包(直接丢弃,不给客户端回应,节省资源)

防火墙的匹配原则:

一个数据包包含三个部分: 源IP地址,目标IP地址,数据

  1. 查看数据包中源IP地址,然后查询所有区域中的规则,哪一个区域中有该源IP地址的规则,则进入哪一个区域
  2. 若第一条不符合,进入默认区域(public)

当然默认区域 可以修改。

怎么查看默认区域呢?

案例一: 查看默认zone

  1. [root@itlaoxin162 ~]# firewall-cmd --get-default-zone
  2. public

常用命令参数


































































参数 作用
–get-default-zone 查访默认的区域名称
–set-default-zone=<区域名称> 设置默认的区域,使其永久生效
–get-zones 显示可用的区域
–get-services 显示预定义的服务
–get-active-zones 显示当前正在使用的区域、来源地址和网卡名称
–add-source= 将源自此IP或子网的流量导向指定的区域
–remove-source= 不再将源自此IP或子网的流量导向这个区域
–list-all 显示当前区域的网卡配置参数、资源、端口以及服务等信息
–list-all-zones 显示所有区域的网卡配置参数、资源、端口以及服务等信息
–add-service=<服务名> 设置默认区域允许该服务的流量
–add-port=<端口号/协议> 设置默认区域允许该端口的流量
–remove-service=<服务名> 设置默认区域不再允许该服务的流量
–remove-port=<端口号/协议> 设置默认区域不再允许该端口的流量
–reload 让“永久生效”的配置规则立即生效,并覆盖当前的配置规则

案例二: 修改默认zone

修改默认区域:

  1. [root@itlaoxin162 ~]# firewall-cmd --set-default-zone=block
  2. success
  3. [root@itlaoxin162 ~]# firewall-cmd --get-default-zone
  4. block
  5. 可以看到默认区域改成了block

案例三: 在public区域添加协议

  1. [root@itlaoxin162 ~]# firewall-cmd --zone=public --add-service=ftp
  2. success
  3. [root@itlaoxin162 ~]# firewall-cmd --zone=public --list-all
  4. public
  5. target: default
  6. icmp-block-inversion: no
  7. interfaces:
  8. sources:
  9. services: dhcpv6-client ftp ssh
  10. ports:
  11. protocols:
  12. masquerade: no
  13. forward-ports:
  14. source-ports:
  15. icmp-blocks:
  16. rich rules:

注意: 一旦重启,public里我们添加的协议就没有了,恢复到原来的样子

所以firewall给我们提供了永久性的规则

使用 permanent 来永久添加规则
方法就是在firewall-cmd命令后面添加–permanent参数,这样配置的防火墙策略就可以永久生效了

案例四: 把http协议永久加入到public 区域

  1. [root@itlaoxin162 ~]# firewall-cmd --permanent --zone=public --add-service=http
  2. success

查看一下:

在这里插入图片描述
原因是这种永久添加是添加了配置文件里需要重新服务器生效。
如果不想重启服务器,则需要使用 —reload命令

  1. [root@itlaoxin162 ~]# firewall-cmd --reload
  2. success
  3. [root@itlaoxin162 ~]# firewall-cmd --zone=public --list-all
  4. public
  5. target: default
  6. icmp-block-inversion: no
  7. interfaces:
  8. sources:
  9. services: dhcpv6-client http ssh
  10. ports:
  11. protocols:
  12. masquerade: no
  13. forward-ports:
  14. source-ports:
  15. icmp-blocks:
  16. rich rules:

案例五: 拒绝某一个IP 访问

  1. [root@itlaoxin-163 ~]# ping 192.168.1.162
  2. 64 bytes from 192.168.1.163: icmp_seq=1 ttl=64 time=0.097 ms

我们将192.168.1.163的源IP地址,写入block区域

  1. [root@itlaoxin162 ~]# firewall-cmd
  2. [root@itlaoxin162 ~]# firewall-cmd --zone=block --add-source=192.168.1.162
  3. success
  4. [root@itlaoxin162 ~]# firewall-cmd --zone=block --list-all
  5. block (active)
  6. target: %%REJECT%%
  7. icmp-block-inversion: no
  8. interfaces: ens32
  9. sources: 192.168.1.162
  10. services:
  11. ports:
  12. protocols:
  13. masquerade: no
  14. forward-ports:
  15. source-ports:
  16. icmp-blocks:
  17. rich rules:

再来ping一下看一下效果

  1. [root@itlaoxin-163 ~]# ping 192.168.1.162
  2. PING 192.168.1.162 (192.168.1.162) 56(84) bytes of data.
  3. From 192.168.1.162 icmp_seq=1 Destination Host Prohibited
  4. 这里会提示错误

一般常用的两种思路:

  • 宽松: 默认区域为trsuted ,单独拒绝的源IP地址写入block
  • 严格: 默认区域为block,单独允许的源IP地址写入trsuted

总结

防火墙这边大约要写4篇文章,这是第一篇,带你初步认识和体验下防火墙。

我是互联网老辛,一个互联网13年的从业者,也是一个在路上的创业者,你的点赞和评论就是对我最大的鼓励。

技术人创业路上的艰辛,我先来为你探路。

发表评论

表情:
评论列表 (有 0 条评论,187人围观)

还没有评论,来说两句吧...

相关阅读