Centos7默认的防火墙不再是Iptable,而变成了firewall。这款工具使用方法还是非常简单的,主要常用命令总结如下,以便查找:
#开启
$ systemctl start firewalld.service
$ systemctl start firewalld.service
#关闭
$ systemctl stop firewalld.service
$ systemctl stop firewalld.service
#启用开机自启动
$ systemctl enable firewalld.service
$ systemctl enable firewalld.service
#关闭开机自启动
$ systemctl disable firewalld.service
$ systemctl disable firewalld.service
#查看状态
$ systemctl status firewalld
$ systemctl status firewalld
firewall的配置文件在目录/usr/lib/firewalld/services/和/etc/firewalld/services/中,是xml文件,前者优先级高于后者。修改配置后,需要使用firewall-cmd --reload命令重载后生效。在每次修改端口、服务都保存在/etc/firewalld/zones/public.xml文件中。firwall中所有设置查看都用firewall-cmd命令。
#IP和端口#################################################
#查看开启的端口,输出信息中端口空格隔开,例如 8080-8081/tcp 8388/tcp 80/tcp
$ firewall-cmd --permanent --zone=public --list-ports
#查看开启的端口,输出信息中端口空格隔开,例如 8080-8081/tcp 8388/tcp 80/tcp
$ firewall-cmd --permanent --zone=public --list-ports
#开启对某端口的永久访问许可
$ firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp
$ firewall-cmd --reload
$ firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp
$ firewall-cmd --reload
#开启对某端口的临时访问许可
$ firewall-cmd --zone=public --add-port=8080-8081/tcp
$ firewall-cmd --reload
$ firewall-cmd --zone=public --add-port=8080-8081/tcp
$ firewall-cmd --reload
#开启对某个IP的访问某个服务的访问许可,例如IP 192.168.1.1/24 访问 http
$ firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.1.1/24" service name="http" accept"
$ firewall-cmd --reload
$ firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.1.1/24" service name="http" accept"
$ firewall-cmd --reload
#删除上面设置的规则
$ firewall-cmd --permanent --zone=public --remove-rich-rule="rule family="ipv4" source address="192.168.0.4/24" service name="http" accept"
$ firewall-cmd --reload
$ firewall-cmd --permanent --zone=public --remove-rich-rule="rule family="ipv4" source address="192.168.0.4/24" service name="http" accept"
$ firewall-cmd --reload
#服务####################################################
#查看开启的服务,输出信息中服务空格隔开,例如 dhcpv6-client https ss
$ firewall-cmd --permanent --zone=public --list-services
$ firewall-cmd --permanent --zone=public --list-services
#获取有支持的服务,输出信息中每个服务以空格分隔
$ firewall-cmd --get-service
$ firewall-cmd --get-service
#获取所有永久支持的服务,重启后也支持
$ firewall-cmd --get-service --permanent
$ firewall-cmd --get-service --permanent
#开启某个服务的永久访问许可
$ firewall-cmd --permanent --zone=public --add-service=https
$ firewall-cmd --permanent --zone=public --add-service=https
#开启某个服务的临时访问许可
$ firewall-cmd --zone=public --add-service=https
$ firewall-cmd --zone=public --add-service=https
#状态与应急#################################################
#查看状态,running 表示运行
$ firewall-cmd --state
#查看状态,running 表示运行
$ firewall-cmd --state
#查活动的区域,将用以格式:<zone1>: <interface1> <interface2> ..<zone2>: <interface3> ..输出每个区域所含接口
$ firewall-cmd --get-active-zones
$ firewall-cmd --get-active-zones
#查看应急模式的状态
$ firewall-cmd --query-panic
$ firewall-cmd --query-panic
#启用应急模式阻断所有网络连接(在 0.3.0 之前的 FirewallD版本中, 是 –enable-panic 与 –disable-panic)
$ firewall-cmd --panic-on
$ firewall-cmd --panic-on
#关闭应急模式
$ firewall-cmd --panic-off
$ firewall-cmd --panic-off
#在不改变状态的条件下重新加载防火墙:
$ firewall-cmd --reload
$ firewall-cmd --reload
著作权归作者所有。商业转载请联系本站作者获得授权,非商业转载请注明出处 ZZKOOK。
评论
提出表扬。
我也遇到一些这方面的问题,正在上下求索中。。。
?!!
真的吗?