1、centos中firewalld與iptables
centos7以前的版本默認使用iptables服務進行管理防火牆規則。centos7以及其以上版本默認使用firewalld服務管理防火牆。所以在centos8中,就使用其默認的firewalld配置防火牆。
firewalld和iptables的官方說明可以參照https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/security_guide/sec-using_firewalls#sec-Comparison_of_Firewalld_to_system-config-firewall_and_iptables
2、firewalld相關命令
1 #進程與狀態相關 2 systemctl start firewalld.service #啟動防火牆 3 systemctl stop firewalld.service #停止防火牆 4 systemctl status firewalld #查看防火牆狀態 5 systemctl enable firewalld #設置防火牆隨系統啟動 6 systemctl disable firewalld #禁止防火牆隨系統啟動 7 firewall-cmd --state #查看防火牆狀態 8 firewall-cmd --reload #更新防火牆規則 9 firewall-cmd --list-ports #查看所有打開的端口 10 firewall-cmd --list-services #查看所有允許的服務 11 firewall-cmd --get-services #獲取所有支持的服務 12 13 #區域相關 14 firewall-cmd --list-all-zones #查看所有區域信息 15 firewall-cmd --get-active-zones #查看活動區域信息 16 firewall-cmd --set-default-zone=public #設置public為默認區域 17 firewall-cmd --get-default-zone #查看默認區域信息 18 19 20 #接口相關 21 firewall-cmd --zone=public --add-interface=eth0 #將接口eth0加入區域public 22 firewall-cmd --zone=public --remove-interface=eth0 #從區域public中刪除接口eth0 23 firewall-cmd --zone=default --change-interface=eth0 #修改接口eth0所屬區域為default 24 firewall-cmd --get-zone-of-interface=eth0 #查看接口eth0所屬區域 25 26 #端口控制 27 firewall-cmd --query-port=8080/tcp # 查詢端口是否開放 28 firewall-cmd --add-port=8080/tcp --permanent #永久添加8080端口例外(全局) 29 firewall-cmd --remove-port=8800/tcp --permanent #永久刪除8080端口例外(全局) 30 firewall-cmd --add-port=65001-65010/tcp --permanent #永久增加65001-65010例外(全局) 31 firewall-cmd --zone=public --add-port=8080/tcp --permanent #永久添加8080端口例外(區域public) 32 firewall-cmd --zone=public --remove-port=8080/tcp --permanent #永久刪除8080端口例外(區域public) 33 firewall-cmd --zone=public --add-port=65001-65010/tcp --permanent #永久增加65001-65010例外(區域public)
最常用命令 firewalld-cmd --zone=public --add-ports=8080/tcp --permanent 命令解析 firwall-cmd:是Linux提供的操作firewall的一個工具(服務)命令 --zone #作用域 --add-port=8080/tcp #添加端口,格式為:端口/通訊協議 ;add表示添加,remove則對應移除 --permanent #永久生效,沒有此參數重啟后失效