0. 簡介
在CentOS7開始,默認是沒有iptables的,而是使用了firewall防火牆.
firewalld自身並不具備防火牆的功能,而是和iptables一樣需要通過內核的netfilter來實現,也就是說firewalld和iptables一樣,他們的作用都是用於維護規則,而真正使用規則幹活的是內核的netfilter,只不過firewalld和iptables的結構以及使用方法不一樣罷了。
1. 啓停服務
# 啓動
systemctl start firewalld
#關閉:
systemctl stop firewalld
#查看狀態:
systemctl status firewalld
#開機禁用:
systemctl disable firewalld
#開機啓用:
systemctl enable firewalld
2. firewalld-cmd
# 查看版本:
firewall-cmd --version
# 查看幫助:
firewall-cmd --help
# 顯示狀態:
firewall-cmd --state
# 查看所有打開的端口:
firewall-cmd --zone=public --list-ports
# 更新防火牆規則:
firewall-cmd --reload
# 查看區域信息:
firewall-cmd --get-active-zones
# 查看指定接口所屬區域:
firewall-cmd --get-zone-of-interface=eth0
# 拒絕所有包:
firewall-cmd --panic-on
# 取消拒絕狀態:
firewall-cmd --panic-off
# 查看是否拒絕:
firewall-cmd --query-panic
3. 實例
3.1. 端口管理
# 添加 (--permanent永久生效,沒有此參數重啓後失效)
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 重新載入
firewall-cmd --reload
# 查看
firewall-cmd --zone= public --query-port=80/tcp
# 刪除
firewall-cmd --zone= public --remove-port=80/tcp --permanent