firewall-cmd常用内容
- Block(阻塞)
 任何对该区域的连接请求都会被以 IPv4 的 icmp-host-prohibited 信息或 IPv6 的 icmp6-adm-prohibited 信息所拒绝。只能从系统内部启动网络连接。
- Dmz(隔离)
 用于你的隔离区内的电脑,此区域内可公开访问,可以有限地进入你的内部网络,仅仅接收经过选择的连接。
- Drop(丢弃)
 对进入该区域的所有数据包丢弃,并且不进行任何回包,区域内主动发起连接的流入回程数据包允许通过,允许进行出方向的网络连接。
- External(外部)
 用于在启用伪装的外部网络上使用,尤其路由器、防火墙认为在这个网络上的其它主机不可信。仅仅接收经过选择的连接。
- Home(家庭)
 默认其他同区域内主机可信,仅仅接收经过选择的连接。同时默认放行 ssh、mdns、ipp-client、amba-client 与 dhcpv6-client 服务产生的连接。
- Internal(内部)
 从描述中可以等同于家庭区域。
- Public(公开)
 公共区域,也是防火墙配置的默认区域,防火墙认为该区域主机不可信。仅仅接收经过选择的连接。同时默认放行 ssh 与 dhcpv6-client 服务产生的连接。
- Trusted(可信)
 可信区域,防火墙放行一切流量。等同于关闭防火墙功能。
- Work(工作)
 工作区域,防火墙认为在这个网络上的其它主机不可信。仅仅接收经过选择的连接。同时默认放行 ssh、ipp-client 与 dhcpv6-client 服务产生的连接。
查询状态:
# firewall-cmd --state
Running
查看当前系统防火墙设置的的区域名列表
# firewall-cmd --get-zones
block dmz drop external home internal libvirt public trusted work
查看当前所在的区域:
# firewall-cmd --get-active-zones
home
interfaces: ens192
libvirt
interfaces: virbr0
查看防火墙当前的默认区域
#firewall-cmd --get-default-zone
home
更改当前的区域
在网卡配置文件中设置:ZONE=【zone】重启网卡控制服务
或者:
firewall-cmd --remove-interface=ens192
firewall-cmd --add-interface=ens192
或者:
# firewall-cmd --change-interface=ens192
Success
设置防火墙默认区域:
# firewall-cmd --set-default-zone=public
Success
对当前修改过的规则即时保存为永久配置
# firewall-cmd --runtime-to-permanent
Success
对后续添加的修改保存为永久配置:
firewall-cmd –permanent –add-port **** --add-service ****
重新加载保存的永久配置(这会使当前的修改更改为系统中保存的配置)
# firewall-cmd --reload
Success
查看防火墙是否在panic模式(此模式关闭所有网络通信)
# firewall-cmd --query-panic
No
将防火墙设置成panic模式:
# firewall-cmd --panic-on
(网络断开,没有回显)
关闭防火墙panic模式:
# firewall-cmd --panic-off
Warning: NOT_ENABLED: panic mode is not enabled(因为已经在关闭所以再关闭会出现这问题)
Success
查看当前区域内被允许的服务
# firewall-cmd --list-services
You're performing an operation over default zone ('public'),
but your connections/interfaces are in zone 'home,libvirt' (see --get-active-zones)
You most likely need to use --zone=home option.
(因为当前的区域和默认的区域不同,此时显示的默认区域被允许的服务)
cockpit dhcpv6-client ssh
查看指定区域的服务:
# firewall-cmd --zone=home --list-services
cockpit dhcpv6-client http mdns samba-client ssh
列出所有防火墙已经给定的预定义服务名称
# firewall-cmd --get-services
RH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testn…………………………
开放某一服务
# firewall-cmd --add-service=http
Success
开放某一端口
# firewall-cmd --add-port=1000/tcp
success
# firewall-cmd --add-port=1001-1050/tcp
success
# firewall-cmd --add-port=1000/udp
success
# firewall-cmd --add-port=1001-1050/udp
Success
添加自定义服务:
# firewall-cmd --permanent --new-service=testserver
Success
向服务中添加端口:
# firewall-cmd --permanent --service=testserver --add-port=8000/tcp
Success
查看添加的服务文件
# cat /etc/firewalld/services/testserver.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<port port="8000" protocol="tcp"/>
</service>
设置区域默认流量行为
firewall-cmd --zone=zone-name --set-target=<default|ACCEPT|REJECT|DROP>
查看所有富规则: firewall-cmd --list-rich-rules
设置防火墙禁ping: firewall-cmd --add-rich-rule='rule protocol value=icmp drop'
允许防火墙ping: firewall-cmd --remove-rich-rule='rule protocol value=icmp drop'
只允许指定网段访问ssh firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'
允许通过vrrp协议 firewall-cmd --add-rich-rule='rule protocol value="vrrp" accept' --permanent
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号