firewalld防火墙规则
<h2>(1)查看firewalld.service服务状态</h2>
<pre><code class="language-java">systemctl status firewalld</code></pre>
<h2>(2)查看firewall运行状态</h2>
<pre><code class="language-java">firewall-cmd --state</code></pre>
<h2>(3)查看防火墙已添加所有规则</h2>
<pre><code class="language-java">firewall-cmd --list-all</code></pre>
<h2>(4)手动启动/停止/重启firewalld.service服务</h2>
<pre><code class="language-java"># 启动firewalld
systemctl start firewalld
# 停止firewalld
systemctl stop firewalld
# 重启firewalld
systemctl restart firewalld
若遇到无法开启
先用:systemctl unmask firewalld.service
然后:systemctl start firewalld.service</code></pre>
<h2>(5)端口(端口段)的查询/开放</h2>
<pre><code class="language-java"># 查询端口是否开放
firewall-cmd --zone=public --query-port=8080/tcp
提示 no,表示未开启。
提示 yes,表示开启;
# 新建永久规则,开放8080端口(TCP协议)
firewall-cmd --permanent --zone=public --add-port=8080/tcp
# 移除上述规则
firewall-cmd --permanent --zone=public --remove-port=8080/tcp
# 新建永久规则,批量开放一段端口(TCP协议)
firewall-cmd --permanent --zone=public --add-port=8080-8090/tcp</code></pre>
<p>8080就是你要开放的端口号,可以自己改成你要查询的
提示success即代表开启成功
重载入添加的端口:</p>
<pre><code class="language-java">firewall-cmd --reload</code></pre>
<h2>(6)IP(IP段)的开放</h2>
<pre><code class="language-java"># 新建永久规则,开放192.168.1.1单个源IP的访问
firewall-cmd --permanent --zone=public --add-source=192.168.1.1
# 新建永久规则,开放192.168.1.0/24整个源IP段的访问
firewall-cmd --permanent --zone=public --add-source=192.168.1.0/24
# 移除上述规则
firewall-cmd --permanent --zone=public --remove-source=192.168.1.1</code></pre>
<h2>(7)系统服务的开放</h2>
<pre><code class="language-java"># 开放http服务
firewall-cmd --permanent --zone=public --add-service=http
# 移除上述规则
firewall-cmd --permanent --zone=public --remove-service=http</code></pre>
<h2>(8)自定义复杂规则(注意是否与已有规则冲突)</h2>
<pre><code class="language-java"># 允许指定IP访问本机8080端口
firewall-cmd --permanent --add-rich-rule='rule family=&quot;ipv4&quot; source address=&quot;192.168.1.1&quot; port protocol=&quot;tcp&quot; port=&quot;8080&quot; accept'
# 允许指定IP段访问本机8080-8090端口
firewall-cmd --permanent --add-rich-rule='rule family=&quot;ipv4&quot; source address=&quot;192.168.1.0/24&quot; port protocol=&quot;tcp&quot; port=&quot;8080-8090&quot; accept'
# 禁止指定IP访问本机8080端口
firewall-cmd --permanent --add-rich-rule='rule family=&quot;ipv4&quot; source address=&quot;192.168.1.1&quot; port protocol=&quot;tcp&quot; port=&quot;8080&quot; reject'
# 移除上述规则
firewall-cmd --permanent --remove-rich-rule='rule family=&quot;ipv4&quot; source address=&quot;192.168.1.1&quot; port protocol=&quot;tcp&quot; port=&quot;8080&quot; reject'</code></pre>