在 CentOS 系統中,使用 iptables
自定義鏈可以幫助你更好地組織和管理防火墻規則。以下是自定義鏈的基本步驟:
查看現有鏈: 首先,你可以查看當前的鏈,以確保你不會創建一個已經存在的鏈。
iptables -L --line-numbers
創建自定義鏈:
使用 iptables
命令創建一個新的自定義鏈。例如,創建一個名為 MY_CUSTOM_CHAIN
的鏈:
iptables -N MY_CUSTOM_CHAIN
添加規則到自定義鏈:
你可以向自定義鏈中添加規則。例如,向 MY_CUSTOM_CHAIN
中添加一條規則,拒絕來自特定 IP 地址的流量:
iptables -A MY_CUSTOM_CHAIN -s 192.168.1.100 -j DROP
將自定義鏈應用到現有鏈:
你需要將自定義鏈應用到現有的鏈中。例如,將 MY_CUSTOM_CHAIN
應用到 INPUT
鏈:
iptables -A INPUT -j MY_CUSTOM_CHAIN
這樣,所有進入 INPUT
鏈的流量都會被跳轉到 MY_CUSTOM_CHAIN
進行處理。
查看自定義鏈: 你可以查看自定義鏈中的規則,以確保它們已經正確添加:
iptables -L MY_CUSTOM_CHAIN --line-numbers
保存規則:
為了確保在系統重啟后規則仍然有效,你需要保存 iptables
規則。CentOS 7 及以上版本使用 firewalld
服務來管理防火墻規則,因此你需要使用 firewall-cmd
命令來保存規則。
firewall-cmd --runtime-to-permanent
如果你使用的是 CentOS 6 或其他不支持 firewalld
的版本,可以使用 service iptables save
命令來保存規則:
service iptables save
以下是一個完整的示例:
# 創建自定義鏈
iptables -N MY_CUSTOM_CHAIN
# 向自定義鏈添加規則
iptables -A MY_CUSTOM_CHAIN -s 192.168.1.100 -j DROP
# 將自定義鏈應用到 INPUT 鏈
iptables -A INPUT -j MY_CUSTOM_CHAIN
# 查看自定義鏈中的規則
iptables -L MY_CUSTOM_CHAIN --line-numbers
# 保存規則(CentOS 7 及以上)
firewall-cmd --runtime-to-permanent
# 保存規則(CentOS 6)
service iptables save
通過這些步驟,你可以在 CentOS 系統中成功創建和應用自定義的 iptables
鏈。