在centos7之后默认防火墙不在是iptables而是firewall了。其实firewall是基于iptables的,底层还是在操作iptables。
1.防火墙的允许,停止,禁用
#启动
systemctl start firewalld
#停止
systemctl stop firewalld
#禁用
systemctl disable firewalld
#查看状态
systemctl status firewalld
2.配置firewalld
#查看版本
firewall-cmd --version
#查看帮助
firewall-cmd --help
#查看状态 【这个和 systemctl status firewalld 是有点区别的】
firewall-cmd --state
#查看区域信息【】
firewall-cmd --get-active-zones
#拒绝所有包
firewall-cmd --panic-on
#取消拒绝状态
firewall-cmd --panic-off
#查看是否拒绝
firewall-cmd --query_panic
3.更新防火墙规则
#动态更新【不用断开连接】
firewall-cmd --reload
#断开连接更新 【类似重启服务】
firewall-cmd --complete-reload
4.端口(区域)
#添加接口到区域 ,
firewall-cmd --zone=public --add-interface=eth0
如果要永久生效,则直接加上 --permanent ,然后重启防火墙即可。
#设置默认接口区域【默认区域都是public】
firewall-cmd --set-default-zone=public
打开端口【最常用】
#查看所有打开的端口
firewall-cmd --zone=dmz --list-ports
#加入一个端口到区域 【如果要永久生效,也是加个 --permanent 即可】
firewall-cmd --zone=public --add-port=8080/tcp
5.添加服务
打开一个服务,类似于将端口可视化,服务需要在配置文件中添加。 /etc/firewalld 目录下有一个services文件夹
#添加服务
firewall-cmd --add-service=http
#移除服务
firewall-cmd --remove-service=http
#查看服务是否生效
firewall-cmd --zone=public --query-service http