Linux命令之firewalld的用法

 

Linux命令之firewalld

 

1、程序包

firewalld、firewall-config、system-config-firewall-base (*可用yum同时安装)

 

2、启动firewalld

systemctl enable firewalld
systemctl restart firewalld

 

3、配置文件

  • /etc/firewallld/路径下

 

4、firewalld规则定义的九大区域

  • public:默认开机区域,公共区域 --- 只有设置允许的通信才可以通过
  • trusted:信任区域 ---允许所有通信通过
  • drop:丢弃区域 --- 拒绝所有通信
  • block:类似于drop --- 拒绝所有外部通信,允许内部通信
  • external:NAT区域 --- 开启NAT和端口映射
  • dmz:非军事区 ---允许外部访问的服务器
  • work:工作区域
  • home:家庭区域
  • internal:内部区域

 

5、定义防火墙规则的命令:firewall-cmd

 

5.1 查看

(1)查看firewall的状态

# firewall-cmd --state ==systemctl status firewalld

(2)查看默认区域

# firewall-cmd --get-default-zone

(3)查看默认区域的所有规则

# firewall-cmd --list-all

(4)查看所有区域

# firewall-cmd --get-zones

(5)查看所有服务的服务名

# firewall-cmd --get-services

(6)查看指定接口所在的区域

# firewall-cmd --get-zone-of-interface=eno0

(7)通过查看区域来查看指定规则

# firewall-cmd --zone=trusted --list-all

(8)查看所有区域的规则

# firewall-cmd --list-all-zones

 

5.2 修改

(1)修改默认区域

# firewall-cmd --set-default-zone=trusted

(2)在当前默认区域中添加服务

# firewall-cmd --add-service=http

(3)将某个网卡添加到某个区域中,添加之前该网卡处于无区域的状态

# firewall-cmd --zone=trusted --add-interface=eno0

(4)改变某个接口所在的区域

# firewall-cmd --zone=trusted --change-interface=eno0

(5)指定端口和协议,必须写清楚是tcp,还是udp

# firewall-cmd --add-port=80/tcp

 

5.3 移除

(1)在当前区域中移除http

# firewall-cmd --remove-service=http

(2)从默认区域中移除网卡

# firewall-cmd --remove-interface=eno0

(3)从某个区域中移除网卡,该网卡的状态将变为无区域

# firewall-cmd --zone=trusted --remove-interface=eno0