1、安裝
yum install iptables-services #安裝iptables
2、systemctl使用
systemctl unmask firewalld #執行命令,即可實現取消服務的鎖定
systemctl mask firewalld # 下次需要鎖定該服務時執行
systemctl start firewalld.service #啟動防火牆
systemctl stop firewalld.service #停止防火牆
systemctl reloadt firewalld.service #重載配置
systemctl restart firewalld.service #重啟服務
systemctl status firewalld.service #顯示服務的狀態
systemctl enable firewalld.service #在開機時啟用服務
systemctl disable firewalld.service #在開機時禁用服務
systemctl is-enabled firewalld.service #查看服務是否開機啟動
systemctl list-unit-files|grep enabled #查看已啟動的服務列表
systemctl --failed #查看啟動失敗的服務列表
3、firewall-cmd使用
firewall-cmd --state #查看防火牆狀態
firewall-cmd --reload #更新防火牆規則
firewall-cmd --state #查看防火牆狀態
firewall-cmd --reload #重載防火牆規則
firewall-cmd --list-ports #查看所有打開的端口
firewall-cmd --list-services #查看所有允許的服務
firewall-cmd --get-services #獲取所有支持的服務
#區域相關
firewall-cmd --list-all-zones #查看所有區域信息
firewall-cmd --get-active-zones #查看活動區域信息
firewall-cmd --set-default-zone=public #設置public為默認區域
firewall-cmd --get-default-zone #查看默認區域信息
firewall-cmd --zone=public --add-interface=eth0 #將接口eth0加入區域public
#接口相關
firewall-cmd --zone=public --remove-interface=eth0 #從區域public中刪除接口eth0
firewall-cmd --zone=default --change-interface=eth0 #修改接口eth0所屬區域為default
firewall-cmd --get-zone-of-interface=eth0 #查看接口eth0所屬區域
4、用例
firewall-cmd --query-port=8080/tcp # 查詢端口是否開放
firewall-cmd --add-port=80/tcp --permanent #永久添加80端口例外(全局)
firewall-cmd --remove-port=80/tcp --permanent #永久刪除80端口例外(全局)
firewall-cmd --add-port=65001-65010/tcp --permanent #永久增加65001-65010例外(全局)
firewall-cmd --zone=public --add-port=80/tcp --permanent #永久添加80端口例外(區域public)
firewall-cmd --zone=public --remove-port=80/tcp --permanent #永久刪除80端口例外(區域public)
firewall-cmd --zone=public --add-port=65001-65010/tcp --permanent #永久增加65001-65010例外(區域public)
firewall-cmd --reload #重啟防火牆(修改配置后要重啟防火牆)
由於SELinux的限制,端口需提前定義。
策略與規則管理相關命令:seinfo命令、sesearch命令、getsebool命令、setsebool命令、semanage命令。
semanage port -l | grep ftp
semanage port -l | grep http
semanage port -l | grep 8000
semanage port -l | grep 80
semanage port -a -t http_port_t -p tcp 8008
firewall-cmd --add-port=8008/tcp --permanent
netstat antlupe | grep httpd ##查看httpd端口為80
netstat -antlupe | grep httpd ##查看端口為8080
netstat -antlupe | grep 8888
netstat -antlupe | grep httpd