firewalld/iptables防火墙维护和状态查询命令(防火墙重载,区域操作命令,开启服务或端口,堵塞端口,iptables规则添加和删除)

firewalld防火墙维护和状态查询命令

[root@localhost ~]# systemctl  stop firewalld·    关闭防火墙
[root@localhost ~]# systemctl  start firewalld    开启防火墙
[root@localhost ~]# systemctl  restart firewalld  重启防火墙
[root@localhost ~]# systemctl  status firewalld  状态防火墙
    

firewalld防火墙状态查询命令

[root@localhost ~]# systemctl status firewalld.service 		'//查看防火墙状态'
[root@localhost ~]# firewall-cmd --stat		'//查看防火墙状态'

firewalld防火墙重载配置命令

重新加载firewalld的配置

[root@localhost ~]# firewall-cmd --reload   重启防火墙
success
[root@localhost ~]# firewall-cmd --complete-reload 状态信息将会丢失,多用于处理防火墙出现问题时
successb
[root@localhost ~]# systemctl restart firewalld.service  重启防火墙

查询预定义信息命令

查看预定义的区域

[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

firewalld区域操作命令

显示网络连接或接口的默认区域

[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

区域操作命令2

显示ens33接口绑定的区域

[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33
public

为ens33接口绑定work区域

扫描二维码关注公众号,回复: 11563553 查看本文章
[root@localhost ~]# firewall-cmd --zone=work --add-interface=ens33
success
[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33
work

为work区域更改绑定的网络接口ens33

[root@localhost ~]# firewall-cmd --zone=work --change-interface=ens33
success
[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33
work

为work区域删除绑定的网络接口ens33

[root@localhost ~]# firewall-cmd --zone=work --remove-interface=ens33
The interface is under control of NetworkManager, setting zone to default.
success

如果出现下面情况删除一下

[root@localhost ~]# firewall-cmd --zone=work --add-interface=ens33
Error: ZONE_CONFLICT: 'ens33' already bound to a zone
[root@localhost ~]# firewall-cmd --zone=public --remove-interface=ens33
success
[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33
no zone
[root@localhost ~]#  firewall-cmd --zone=work --add-interface=ens33
success
[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33 
work

firewalld区域操作命令3

查询work区域中是否包含接口ens33

[root@localhost ~]# firewall-cmd --zone=work --query-interface=ens33
yes

显示区域及其规则

[root@localhost ~]# firewall-cmd --list-all-zones 
block
  target: %%REJECT%%
  icmp-block-inversion: no
  interfaces: 
  sources: 
  services: 
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
等...

显示internal区域的所有规则

[root@localhost ~]# firewall-cmd --zone=internal --list-all 

显示默认区域的所有规则

[root@localhost ~]# firewall-cmd --list-all
internal (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources: 
  services: ssh mdns samba-client dhcpv6-client
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 

    ...省略内容

区域操作命令总结

命令选项 说明
–get-default-zone 显示网络连接或接口的默认区域
–set-default-zone=区域类型 设置网络连接或接口的默认区域
–get-active-zones 显示已激活的所有区域
–get-zone-of-interface=接口(网卡) 显示指定接口绑定的区域
–zone=区域类型 --add-interface=接口(网卡) 为指定接口绑定区域
–zone=区域类型 --change-interface=接口(网卡) 为指定的区域更改绑定的网络接口
–zone=区域类型 --remove-interface=接口(网卡) 为指定的区域删除绑定的网络接口
–query-interface=接口(网卡) 查询区域中是否包含某接口
–list-all-zones 显示所有区域及其规则
[–zone=区域类型] --list-all 显示所有指定区域的所有规则

firewalld服务操作命令

显示internal区域内允许访问的所有服务

[root@localhost ~]# firewall-cmd --zone=internal --list-services
dhcpv6-client mdns samba-client ssh

为public区域设置允许访问SMTP服务

[root@localhost ~]# firewall-cmd --zone=public --add-service=smtp
success

删除internal区域中的SSH服务

[root@localhost ~]# firewall-cmd --zone=internal --remove-service=ssh
success

查询internal区域中是否启用了SSH服务

[root@localhost ~]# firewall-cmd --zone=internal --query-service=ssh
yes

操作命令总结

命令选项 说明
[–zone=区域类型] --list-services 显示指定区域内允许访问的所有服务
[–zone=区域类型] --add-service=服务 为指定区域设置允许访问的某项服务
[–zone=区域类型] --remove-service=服务 删除指定区域已设置的允许访问的某项服务
[–zone=区域类型] --query-service=服务 查询指定区域中是否启用了某项服务

firewalld端口操作命令

显示internal区域内允许访问的所有端口号

[root@localhost ~]# firewall-cmd --zone=internal --list-ports

启用internal区域22端口的TCP协议组合

[root@localhost ~]# firewall-cmd --zone=internal --add-port=22/tcp --timeout=5m
success
'//--timeout=5m:表示五分钟后删除该端口,多用于测试'

禁用internal区域22端口的TCP协议组合

[root@localhost ~]# firewall-cmd --zone=internal --remove-port=22/tcp
success

查询internal区域中是否启用了22端口和TCP协议组合

[root@localhost ~]# firewall-cmd --zone=internal --query-port=22/tcp
no

操作命令总结

命令选项 说明
[–zone=区域类型] --list-ports 显示指定区域内允许访问的所有端口号
[–zone=区域类型] --add-port=端口号[-端口号]/协议 [–timeout=时间] 启用区域端口和协议组合,可选配置超时时间
[–zone=区域类型] --remove-port=端口号[-端口号]/协议] 禁用区域端口和协议组合
[–zone=区域类型]==query-port=端口号[-端口号]/协议] 查询区域中是否启用了端口和协议组合

firewalld阻塞ICMP操作命令

显示work区域内阻塞的所有ICMP类型

[root@localhost ~]# firewall-cmd --zone=work --list-icmp-blocks

为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

操作命令总结

操作命令选项 说明
[–zone=区域类型] --list-icmp-blocks 显示指定区域内阻塞的所有ICMP类型
[–zone=区域类型] --add-icmp-block=ICMP类型 为指定区域设置阻塞的某项ICMP类型
[–zone=区域类型] --remove-icmp-block=ICMP类型 删除指定区域已阻塞的某项ICMP类型
[–zone=区域类型] --query-icmp-block=ICMP类型 查询指定区域的ICMP阻塞功能

| -------------------------------- |
| [–zone=区域类型] --list-icmp-blocks | 显示指定区域内阻塞的所有ICMP类型 |
| [–zone=区域类型] --add-icmp-block=ICMP类型 | 为指定区域设置阻塞的某项ICMP类型 |
| [–zone=区域类型] --remove-icmp-block=ICMP类型 | 删除指定区域已阻塞的某项ICMP类型 |
| [–zone=区域类型] --query-icmp-block=ICMP类型 | 查询指定区域的ICMP阻塞功能 |

iptables编写防火墙规则命令

iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]

ps:

  1. 不指定表名时,默认指filter表
  2. 不指定链名时,默认指表内的所有链
  3. 除非设置链的默认策略,否则必须指定匹配条件
  4. 选项、链名、控制类型使用大写字母,其余均为小写

数据包的常见控制类型

  1. ACCEPT:允许通过
  2. DROP:直接丢弃,不给出任何回应
  3. REJECT:拒绝通过,必要时会给出提示
  4. LOG:记录日志信息,然后传给下一跳规则继续匹配

添加、查看、删除规则

添加新的规则

[root@client ~]# iptables -t filter -A INPUT -p tcp -j ACCEPT
[root@client ~]# iptables -I INPUT -p udp -j ACCEPT
[root@client ~]# iptables -I INPUT 2 -p icmp -j ACCEPT

-A:在链的末尾追加一条规则
-I:在链的开头(或指定序号)插入一条规则

查看规则表

-L:列出所有的规则条目

-n:以数字形式显示地址、端口等信息

-v:以更详细的方式显示规则信息

–line-numbers:查看规则时,显示规则的序号
[root@client ~]# iptables -n -L INPUT --line-numbers

删除、清空规则

-D:删除链内指定序号(或内容)的一条规则

-F:清空所有的规则
[root@client ~]# iptables -D INPUT 3
[root@client ~]# iptables -n -L INPUT
[root@client ~]# iptables -t nat -F

设置默认策略

-p:为指定的链设置默认规则
[root@client ~]# iptables -t filter -P FORWARD DROP
[root@client ~]# iptables -P OUTPUT ACCEPT

总结规则

类别 选项 用途
添加新的规则 -A 在链的末尾追加一条规则
-I 在链的开头(或指定序号)插入一条规则
查看规则列表 -L 列出所有的规则条目
-N 以数字形式显示地址、端口等信息
-V 以更详细的方式显示规则信息
–line-numbers 查看规则时,显示规则的序号
删除、清空规则 -D 删除链内指定序号(或内容)的一条规则
-F 清空所有的规则
设置默认策略 -P 为指定的链设置默认规则

常见的通用匹配条件

  1. 协议匹配:-p 协议名
  2. 地址匹配:-s 源地址、-d目的地址
  3. 接口匹配:-i 入站网卡、-o出站网卡
[root@client ~]# iptables -I INPUT -p icmp -j DROP
[root@client ~]# iptables -A -FORWARD ! -p icmp -j ACCEPT

ps:感叹号表示条件取反

[root@client ~]# iptables -A -FORWARD -s 192.168.1.10 -j REJECT
[root@client ~]# iptables -I INPUT -s 10.10.10.0/24 -j DROP
[root@client ~]# iptables -A INPUT -i ens33 -s 192.168.0.0/16 -j DROP

常用的隐含匹配条件

  1. 端口匹配:–sport 源端口、–dport目的端口
  2. ICMP匹配:–icmp-type ICMP类型
[root@client ~]# iptables -A FORWARD -s 192.168.5.0/24 -p udp --dport 53 -j ACCEPT
[root@client ~]# iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT

常用的显示匹配条件

端口匹配:-m multiport --sports 源端口列表

-m multiport --dports 目的端口列表

2、IP范围匹配:-m iprange --src-range IP范围

3、MAC地址匹配:-m mac --mac-source MAC地址

4、状态匹配:-m state --state 连接状态

[root@client ~]# iptables -A INPUT -p tcp -m multiport --dport 25,80,110,143 -j ACCEPT
[root@client ~]# iptables -A FORWARD -p tcp -m iprange --src-range 192.168.5.43-192.168.5.46 -j ACCEPT
[root@client ~]# iptables -A INPUT -m mac --mac-source 00:0c:29:c0:55:3f -j DROP

总结规则

类别 条件类型 用法
通用匹配 协议匹配 -p 协议名
地址匹配 -s 源地址、-d 目的地址
接口匹配 -i 入站网卡、-o 出站网卡
隐含匹配 端口匹配 –sport 源端口、–dport 目的端口
ICMP类型匹配 –icm-type ICMP类型
显式匹配 多端口匹配 -m multiport --sports | --dports 端口列表
IP范围匹配 -m iprange --src-range IP范围
MAC地址匹配 -m mac --mac-source MAC地址
状态匹配 -m state --state 连接状态

猜你喜欢

转载自blog.csdn.net/weixin_47151717/article/details/107736756
今日推荐