firewalld 與 iptables的比較:
1,firewalld可以動态修改單條規則,動态管理規則集,允許更新規則而不破壞現有會話和連接配接。而iptables,在修改了規則後必須得全部重新整理才可以生效;
2,firewalld使用區域和服務而不是鍊式規則;
3,firewalld預設是拒絕的,需要設定以後才能放行。而iptables預設是允許的,需要拒絕的才去限制;
4,firewalld自身并不具備防火牆的功能,而是和iptables一樣需要通過核心的netfilter來實作。也就是說,firewalld和iptables一樣,它們的作用都用于維護規則,而真正使用規則幹活的是核心的netfilter。隻不過firewalld和iptables的結果以及使用方法不一樣!
firewalld是iptables的一個封裝,可以讓你更容易地管理iptables規則。它并不是iptables的替代品,雖然iptables指令仍可用于firewalld,但建議firewalld時僅使用firewalld指令。
使用方式差別:
iptables要給http服務添加80端口允許規則,需要在/etc/sysconfig/iptables中添加如下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
然後
systemctl stop iptables
systemctl restart iptables
systemctl enable iptables
firewalld實作同樣的功能,可以用下面2種方式:
1.直接添加服務
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload
2.添加端口
firewall-cmd --permanent --zone=public --add-port=80/tcp
參考:https://linux.cn/article-10075-1.html
http://itxw.net/article/45.html