管理網絡流量是系統管理員必需處理的最棘手工作之一,我們必需規定連接系統的用戶滿足防火牆的傳入和傳出要求,以最大限度保證系統免受攻擊。
很多用戶把 Linux 中的 IPTables 當成一個防火牆,從嚴格意見上來說 IPTables 只是能夠幫助管理員定義各種規則並與 Linux Kernel 進行溝通的一個命令行工具。它只是幫助管理員配置網絡流量的傳入、傳出規則列表,具體的實現其實是在 Linux 內核當中。
IPTables 包括一組內置和由用戶定義規則的「鏈」,管理員可以在「鏈」上附加各種數據包處理規則。
接下來我們將由簡入難介紹 25 條 Linux 管理員最常會用到的 IPTables 規則。
1、啟動、停止和重啟IPTables
雖然 IPTables 並不是一項服務,但在 Linux 中還是可以像服務一樣對其狀態進行管理。
基於SystemD的系統
systemctl start iptables
systemctl stop iptables
systemctl restart iptables
基於SysVinit的系統
/etc/init.d/iptables start
/etc/init.d/iptables stop
/etc/init.d/iptables restart
2、查看IPtables防火牆策略
你可以使用如下命令來查看 IPtables 防火牆策略:
iptables -L -n -v
以上命令應該返回數據下圖的輸出:
以上命令是查看默認的 FILTER 表,如果你只希望查看特定的表,可以在 -t 參數後跟上要單獨查看的表名。例如只查看 NAT 表中的規則,可以使用如下命令:
iptables -t nat -L -v –n