iptables防火墙规则
<h2>(1)iptables.service服务状态</h2>
<pre><code class="language-java">systemctl status iptables</code></pre>
<h2>(2)查看防火墙所有规则</h2>
<pre><code class="language-java">iptables -nL</code></pre>
<h2>(3)手动启动/停止/重启iptables.service服务</h2>
<pre><code class="language-java"># 启动iptables
systemctl start iptables
# 停止iptables
systemctl stop iptables
# 重启iptables
systemctl restart iptables</code></pre>
<h2>(4)端口(端口段)的查询/开放</h2>
<pre><code class="language-java"># 新建永久规则,开放8080端口(TCP协议)
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 8080 -j ACCEP
# 新建永久规则,开放一段端口(TCP协议)
iptables -A INPUT -p tcp --dport 8080:8090 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 8080:8090 -j ACCEP
# 移除上述规则
iptables -D INPUT -p tcp --dport 8080 -j ACCEPT
iptables -D OUTPUT -p tcp --sport 8080 -j ACCEP
#保存规则,永久生效
service iptables save</code></pre>
<h2>(5)IP(IP段)的开放</h2>
<pre><code class="language-java">#新建永久规则,开放192.168.1.1单个源IP的访问
iptables -A INPUT -s 192.168.1.1 -j ACCEPT
iptables -A OUTPUT -d 192.168.1.1 -j ACCEP
#新建永久规则,开放192.168.1.0/24整个源IP段的访问
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
iptables -A OUTPUT -d 192.168.1.0/24 -j ACCEP
# 移除上述规则
iptables -D INPUT -s 192.168.1.1 -j ACCEPT
iptables -D OUTPUT -d 192.168.1.1 -j ACCEP
#保存规则,永久生效
service iptables save</code></pre>
<h2>(6)自定义复杂规则(注意是否与已有规则冲突)</h2>
<pre><code class="language-java"># 允许指定IP访问本机8080端口
iptables -A INPUT -s 192.168.1.1 -p tcp --dport 8080 -j ACCEPT
iptables -A OUTPUT -d 192.168.1.1 -p tcp --sport 8080 -j ACCEPT
# 允许指定IP段访问本机8080-8090端口
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 8080:8090 -j ACCEPT
iptables -A OUTPUT -d 192.168.1.0/24 -p tcp --sport 8080:8090 -j ACCEPT
# 禁止指定IP访问本机8080端口
iptables -A INPUT -s 192.168.1.1 -p tcp --dport 8080 -j DROP
# 移除上述规则
iptables -D INPUT -s 192.168.1.1 -p tcp --dport 8080 -j ACCEPT
iptables -D OUTPUT -d 192.168.1.1 -p tcp --sport 8080 -j ACCEPT</code></pre>