CentOS 使用 iptables 作為其默認的防火墻,可以通過編寫腳本來實現自動化管理。以下是一些建議和方法:
創建一個 Shell 腳本文件,例如 iptables_rules.sh,并在其中添加 iptables 規則。例如:
#!/bin/bash
# 清除現有規則
iptables -F
iptables -X
# 設置默認策略
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# 允許已建立的連接
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# 允許 SSH 連接
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 允許 HTTP 和 HTTPS 連接
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 保存規則
service iptables save
給腳本添加可執行權限:
chmod +x iptables_rules.sh
運行腳本以應用規則:
./iptables_rules.sh
iptables-persistent:iptables-persistent 是一個用于保存和恢復 iptables 規則的工具。安裝并啟用它:
sudo yum install iptables-services
sudo systemctl enable iptables
sudo systemctl start iptables
將規則添加到 /etc/sysconfig/iptables 文件中,例如:
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
COMMIT
保存文件后,運行以下命令以應用規則:
sudo systemctl restart iptables
firewalld:firewalld 是 CentOS 7 中的另一個防火墻管理工具,它提供了更簡單且易于管理的接口。安裝并啟用它:
sudo yum install firewalld
sudo systemctl enable firewalld
sudo systemctl start firewalld
使用 firewall-cmd 命令添加規則,例如:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --permanent --zone=public --add-service=ssh
sudo firewall-cmd --reload
這些方法可以幫助你實現 CentOS 上 iptables 的自動化管理。你可以根據自己的需求選擇合適的方法。