防火墙添加开放单个端口

1
2
3
firewall-cmd --zone=public --add-port=443/tcp --permanent
相当于配置:
<port protocol="tcp" port="443"/>

防火墙添加开放一个范围端口

1
2
3
firewall-cmd --zone=public --add-port=30000-32767/tcp --permanent
相当于配置:
<port protocol="tcp" port="30000-32767"/>

防火墙针对具体来源IP开放端口

1
2
3
4
5
6
7
firewall-cmd  --permanent  --zone=public --add-rich-rule='rule family="ipv4"  source address="10.244.0.0/16"  port protocol="tcp" port="1-65535" accept'
相当于配置:
  <rule family="ipv4">
    <source address="10.244.0.0/16"/>
    <port protocol="tcp" port="1-65535"/>
    <accept/>
  </rule>

重新加载配置文件

1
firewall-cmd --reload

删除防火墙规则

1
firewall-cmd --zone=public --remove-port=80/tcp --permanent

查看防火墙规则(只显示/etc/firewalld/zones/public.xml中防火墙策略)

1
2
3
firewall-cmd --list-all
#查看ports部分
firewall-cmd --zone=public --list-ports

查看所有的防火墙策略(即显示/etc/firewalld/zones/下的所有策略)

1
firewall-cmd --list-all-zones

防火墙启停

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#启动
systemctl start firewalld
#停止
systemctl stop firewalld
#重启
systemctl restart firewalld
#启用
systemctl enable firewalld
#停用
systemctl disable firewalld

查看firewall的状态

1
firewall-cmd --state

配置IP地址伪装–用于使内部网络的计算机可以与外部网络通信。

1
2
3
4
5
6
# 启用IP地址伪装
firewall-cmd --add-masquerade --permanent
# 关闭IP地址伪装
firewall-cmd --remove-masquerade
# 检查是否允许伪装IP
firewall-cmd --query-masquerade

将 “cni0” 接口添加到 “trusted” 区域,这意味着通过此接口传输的流量将被允许通过防火墙,而不会被阻止。

1
2
3
4
5
6
7
8
9
firewall-cmd --zone=trusted --add-interface=cni0 --permanent
等价于生成文件
/etc/firewalld/zones/trusted.xml
<?xml version="1.0" encoding="utf-8"?>
<zone target="ACCEPT">
  <short>Trusted</short>
  <description>All network connections are accepted.</description>
  <interface name="cni0"/>
</zone>

配置转发

1
2
#将访问63790转发到192.168.0.1:6379
firewall-cmd --add-forward-port=port=63790:proto=tcp:toaddr=192.168.0.1:toport=6379