CentOS7默認沒有安裝iptables,可以手動安裝iptables;也可以通過CentOS7已帶的firewall配置防火牆。
1.查看firewalld.service服務狀態
systemctl status firewalld

2.查看firewall運行狀態
firewall-cmd --state

3.手動啟動/停止/重啟firewalld.service服務
# 啟動firewalld service firewalld start # 停止firewalld service firewalld stop # 重啟firewalld service firewalld restart

4.展示當前配置的firewall規則
firewall-cmd --list-all

5.端口(端口段)的查詢/開放
# 查詢端口是否開放 firewall-cmd --query-port=8080/tcp # 新建永久規則,開放8080端口(TCP協議) firewall-cmd --permanent --add-port=8080/tcp # 移除上述規則 firewall-cmd --permanent --remove-port=8080/tcp # 新建永久規則,批量開放一段端口(TCP協議) firewall-cmd --permanent --add-port=9001-9100/tcp

6.IP(IP段)的開放
# 新建永久規則,開放192.168.1.1單個源IP的訪問 firewall-cmd --permanent --add-source=192.168.1.1 # 新建永久規則,開放192.168.1.0/24整個源IP段的訪問 firewall-cmd --permanent --add-source=192.168.1.0/24 # 移除上述規則 firewall-cmd --permanent --remove-source=192.168.1.1

7.系統服務的開放
# 開放http服務 firewall-cmd --permanent --add-service=http # 移除上述規則 firewall-cmd --permanent --remove-service=http
8.自定義復雜規則(注意是否與已有規則沖突)
# 允許指定IP訪問本機8080端口 firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" accept' # 允許指定IP段訪問本機8080-8090端口 firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080-8090" accept' # 禁止指定IP訪問本機8080端口 firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" reject'
9.任何修改操作,配置完成后,需要重新裝載firewall。可重新啟動firewalld服務。
firewall-cmd --reload
service firewalld restart