CentOS 中的 iptables 可以通過腳本或使用現有的自動化工具進行管理。以下是一些建議:
創建一個腳本文件(例如:iptables.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
# 允許本地回環接口的流量
iptables -A INPUT -i lo -j ACCEPT
# 允許特定 IP 地址訪問
iptables -A INPUT -s 192.168.1.100 -j ACCEPT
# 保存規則
service iptables save
給腳本添加可執行權限:
chmod +x iptables.sh
運行腳本以應用規則:
./iptables.sh
iptables-services 軟件包:iptables-services 是一個用于管理 iptables 規則的軟件包,它提供了一個簡單的系統服務來啟用、禁用和重啟 iptables 規則。
安裝 iptables-services:
sudo yum install iptables-services
啟動并啟用 iptables 服務:
sudo systemctl start iptables
sudo systemctl enable iptables
使用 firewall-cmd 命令管理防火墻規則:
# 查看當前規則
firewall-cmd --list-all
# 添加規則
firewall-cmd --permanent --zone=public --add-port=80/tcp
# 刪除規則
firewall-cmd --permanent --zone=public --remove-port=80/tcp
# 重新加載規則
firewall-cmd --reload
ufw(Uncomplicated Firewall):ufw 是一個簡單的防火墻管理工具,適用于 Ubuntu 和 CentOS 系統。
安裝 ufw:
sudo yum install ufw
啟動并啟用 ufw 服務:
sudo systemctl start ufw
sudo systemctl enable ufw
使用 ufw 命令管理防火墻規則:
# 查看當前規則
ufw status
# 允許特定端口
ufw allow 80/tcp
# 禁止特定端口
ufw deny 80/tcp
# 刪除規則
ufw delete allow 80/tcp
# 重新加載規則
ufw reload
請注意,ufw 在 CentOS 7 及更高版本中不可用。在這種情況下,建議使用 firewalld 或 iptables-services。