CentOS 7.0默認使用的是firewall作為防火牆
1、查看firewall服務狀態
systemctl status firewalld
2、查看firewall的狀態
firewall-cmd --state
3、開啟、重啟、關閉、firewalld.service服務
#查看linux哪些程序正在使用互聯網
firewall-cmd --permanent --list-services ssh dhcpv6-client
# 開啟
service firewalld start
# 重啟
service firewalld restart
# 關閉
service firewalld stop
4、查看防火牆規則
firewall-cmd --list-all
停止firewall
systemctl stop firewalld.service
禁止firewall開機啟動
systemctl disable firewalld.service
5、查詢、開放、關閉端口
# 查詢端口是否開放
firewall-cmd --query-port=8080/tcp
# 開放80端口
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=8080-8085/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
查看防火牆的開放的端口
firewall-cmd --permanent --list-ports
#重啟防火牆(修改配置后要重啟防火牆)
firewall-cmd --reload
# 參數解釋
1、firwall-cmd:是Linux提供的操作firewall的一個工具;
2、--permanent:表示設置為持久;
3、--add-port:標識添加的端口;
常用命令配置白名單,限制指定ip只能訪問服務器指定的端口和去掉開通的端口
#配置規則 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="指定的ip地址" port protocol="tcp" prot="指定的端口" accept" #配置所有端口都可以訪問 firewall-cmd --permanent --zone=public --add-port=8080/tcp #批量配置規則 firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="指定的ip地址段(192.168.1.0/24)" port protocol="tcp" prot="指定的端口" accept" #reload配置生效 firewall-cmd --reload #關閉端口 firewall-cmd --zone=public --remove-port=80/tcp --permanent #批量添加區間端口 firewall-cmd --zone=public --add-port=4400-4600/udp --permanent #查看防火牆排除端口 firewall-cmd --permanent --list-port #查看所有開放的端口 iptables -L -n