Firewalld防火墙基础与基本命令

Firewalld防火墙基础与基本命令

一:Firewalld简介

  • 支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具
  • 支持IPv4,IPv6防火墙设置以及以太网桥
  • 支持服务或应用程序直接添加防火墙规则接口
  • 拥有两种配置模式
    • 运行时配置(一般测试的时候使用)
    • 永久配置

二:iptablesi简介

​ iptables是Linux的防火墙管理工具,真正实现防火墙功能的是Netfilter,我们配置类iptables规则后Netfilter通过这些规则来进行防火墙过滤等操作。

1、netfilter
  • 位于Linux内核中的包过滤功能体系
  • 称为Linux防火墙的“内核态”
2、Firewalld、iptables
  • CentOS 7默认的管理防火墙规则的工具(Firewalld)
  • 称为Linux防火墙的“用户态“
3、Firewalld和iptables的区别

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8dRTOMHh-1576202779468)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1576199591402.png)]

能与kernel(内核态)交互的是iptables,提高iptables就需要四表五链。

三:四表五链

1、定义
  • 链就是位置:共有五个
    • 进路由(PREROUTING)
    • 进系统(INPUT)
    • 转发(FORWARN)
    • 出系统(OUTPUT)
    • 出路由(POSTROUTING)
  • 表就是存储的规则
    • 数据包到了该链处,会去对应表中查询设置的规则,然后决定是否放行,丢弃,转发还是修改等操作。
2、具体的四表

​ filter表——过滤数据包(filter是默认的表,在使用iptables命令进行配置规则的时候,不特指其他的表就会默认filter);
​ Nat表——用于网络地址转换(IP,端口);
​ Mangle表——修改数据包的服务类型,TTL,并且可以配置路由实现QOS;
​ Raw表——决定数据包是否被状态跟踪机制处理。

3、具体的五链

​ INPUT链——进来的数据包应用此规则链中的策略;
​ OUTPUT链——外出的数据包应用此规则链中的策略;
​ FORWARD链——转发数据包时应用此规则链中的策略;
​ PREROUTING链——对数据包做路由选择前应用此规则链中的规则(所有的数据包进来的时候都先由这个链处理);
​ POSTROUTING链——对数据包作路由选择后应用此规则链中的规则(所有的数据包出来的时候都先由这个链处理。

四:iptables语法格式与常用参数

1、语法格式

iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]
如果不指定表名,则会默认指定filter表

2、基本参数

-P  设置默认策略:iptables
-P  INPUT(DROP|ACCEPT)
-F  清空规则链
-L  查看规则链
-A  在规则链的末尾加入新规则
-I  num 在规则链的头部加入新规则
-D  num 删除某一条规则
-s  匹配来源地址IP/MASK,加感叹号“!”表示除了这个IP外
-d  匹配目标地址
-i  网卡名称 匹配从这块网卡流入的数据
-o  网卡名称 匹配从这块网卡流出的数据
-p  匹配协议,如tcp,udp,icmp
--dport num  匹配目标端口号
--sport num  匹配来源端口号

五:示例

设置防火墙策略,演示安装apache服务

[root@localhost~]# yum install httpd -y        '先安装httpd'
[root@localhost~]# systemctl start httpd
'此时用win10浏览器访问本主机ip地址发现是无法连接的'
[root@localhost~]# iptables -I INPUT -i ens33 -p tcp --dport 80 -s 192.168.34.131/24 -j ACCPET	  '在规则链头部加入规则,指定从ens33网卡流入的,匹配tcp协议,匹配80端口(httpd的端口号)匹配源ip地址(win10),指定控制类型为接受'
[root@localhost~]# iptables -L  	'查看策略是否设置成功'

用win10网页输入centos7 ip地址,可以看到Apache服务,配置成功

六:Firewalld网络区域

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CR9C4mJ1-1576202779469)(C:\Users\xumin\AppData\Roaming\Typora\typora-user-images\1576200861796.png)]

firewalld数据处理流程 :

  • 检查数据来源的源地址

  • 若源地址关联到特定的区域,则执行该区域所指定的规则

  • 若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所指定的规则

  • 若网络接口未关联到特定的区域,则使用默认区域并执行该区域所指定的规则

七:firewalld防火墙基本命令

  • firewall-cmd是firewalld防火墙自带的字符管理工具,可以用来设置firewalld防火墙的各种规则。
1、维护命令

​ 防火墙进程操作

[root@localhost ~]# systemctl 选项 firewalld
选项:
    stop:关闭
    start:开启
    restart:重启
    status:状态
    
2、防火墙操作管理

firewalld-cmd命令:

  • 支持全部防火墙特性
  • 对于状态和查询模式,命令只返回状态,没有其他输出
  • –permanent(永久的)参数:携带该参数表示永久配置,否则表示运行时配置
  • [–zone=]选项:不懈怠此选项表示针对默认区域操作,否则针对指定区域操作
3、查询命令

查询firewalld状态

[root@localhost ~]# systemctl status firewalld.service 		'查看防火墙状态'
firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-12-09 11:45:18 CST; 2h 46min ago
...省略内容
[root@localhost ~]# firewall-cmd --stat		'查看防火墙状态'
running
4、firewalld防火墙重载配置命令
  • ​ 重新加载firewalld的配置
[root@localhost ~]# firewall-cmd --reload
success
  • 状态信息将会丢失,多用于处理防火墙出现问题时
[root@localhost ~]# firewall-cmd --complete-reload
success
  • 开启防火墙
[root@localhost ~]# systemctl restart firewalld.service 
5、查看预定义信息命令
  • 查看预定义的区域
[root@localhost ~]# firewall-cmd --get-zones
block dmz drop external home internal public trusted work 	'默认网络区域'
  • 查看预定义的服务
[root@localhost ~]# firewall-cmd --get-services 
RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc
  • 查看预定义的ICMP类型
[root@localhost ~]# firewall-cmd --get-icmptypes 
address-unreachable bad-header communication-prohibited destination-unreachable echo- ...省略内容
6、区域操作命令
  • 显示网络连接或接口的默认区域
[root@localhost ~]# firewall-cmd --get-default-zone 
public
  • 设置网络连接或接口的默认区域为internal
[root@localhost ~]# firewall-cmd --set-default-zone=internal 
success
  • 显示已激活的所有区域
[root@localhost ~]# firewall-cmd --get-active-zones 
internal
  interfaces: ens33
  • 显示ens33接口绑定的区域
[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33
internal
  • 为ens33接口绑定work区域
[root@localhost ~]# firewall-cmd --zone=work --add-interface=ens33
The interface is under control of NetworkManager, setting zone to 'work'.
success
[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33
work
  • 为work区域更改绑定的网络接口ens33
[root@localhost ~]# firewall-cmd --zone=work --change-interface=ens33
The interface is under control of NetworkManager and already bound to 'work'
The interface is under control of NetworkManager, setting zone to 'work'.
success
[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33
work
  • 显示左右区域及其规则
[root@localhost ~]# firewall-cmd --list-all-zones 
...省略内容
  • 显示internal区域的所有规则
[root@localhost ~]# firewall-cmd --zone=internal --list-all 
    ...省略内容
  • 显示默认区域的所有规则
[root@localhost ~]# firewall-cmd --list-all 
    ...省略内容
7、firewalld阻塞ICMP操作命令
  • 显示work区域内阻塞的所有ICMP类型
[root@localhost ~]# firewall-cmd --zone=work --list-icmp-block
  • 为work区域设置阻塞echo-reply类型的ICMP
[root@localhost ~]# firewall-cmd --zone=work --add-icmp-block=echo-reply 
success
  • 删除work区域已阻塞的echo-reply类型的ICMP
[root@localhost ~]# firewall-cmd --zone=work --remove-icmp-block=echo-reply
success
  • 查询work区域的echo-request类型的ICMP是否阻塞
[root@localhost ~]# firewall-cmd --zone=work --query-icmp-block=echo-request 
no
8、firewall-cmd 命令工具有两种配置模式

运行时模式(Runtime mode):

​ 当前内存中运行的防火墙配置,在系统或 firewalld 服务重启、停止时配置将失效;

永久模 式(Permanent mode):

​ 表示重启防火墙或重新加载防火墙时的规则配置,是永久存储在配置 文件中的。

9、firewall-cmd 命令工具与配置模式相关的选项有三个

–reload:重新加载防火墙规则并保持状态信息,即将永久配置应用为运行时配置;

–permanent:带有此选项的命令用于设置永久性规则,这些规则只有在重新启动firewalld 或重新加载防火墙规则时才会生效;若不带有此选项,表示用于设置运行时规则;

ime mode):

​ 当前内存中运行的防火墙配置,在系统或 firewalld 服务重启、停止时配置将失效;

永久模 式(Permanent mode):

​ 表示重启防火墙或重新加载防火墙时的规则配置,是永久存储在配置 文件中的。

9、firewall-cmd 命令工具与配置模式相关的选项有三个

–reload:重新加载防火墙规则并保持状态信息,即将永久配置应用为运行时配置;

–permanent:带有此选项的命令用于设置永久性规则,这些规则只有在重新启动firewalld 或重新加载防火墙规则时才会生效;若不带有此选项,表示用于设置运行时规则;

–runtime-to-permanent:将当前的运行时配置写入规则配置文件中,使之成为永久性。

发布了62 篇原创文章 · 获赞 11 · 访问量 2376

猜你喜欢

转载自blog.csdn.net/XuMin6/article/details/103521726