防火墙
查看防火墙状态
systemctl status firewalld 或 firewall-cmd --state
暂时开启防火墙,重启后将会恢复到原来的状态
systemctl start firewalld
永久性的开启防火墙,执行命令后需要重启才能生效:
systemctl enable firewalld
关闭防火墙命令
暂时关闭防火墙(使用 reboot 命令重启后会恢复到原来的状态)
systemctl stop firewalld
永久性关闭防火墙(重启将不会恢复到原来的状态,并且需要重启后(reboot 命令)才能生效)
systemctl disable firewalld
使用firewall-cmd配置端口
查看防火墙状态:
firewall-cmd --state
重新加载配置:
firewall-cmd --reload
查看开放的端口:
firewall-cmd --list-ports
开启防火墙端口:
firewall-cmd --zone=public --add-port=9200/tcp --permanent
命令含义:
–zone #作用域
–add-port=9200/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
注意:添加端口后,必须用命令firewall-cmd --reload重新加载一遍才会生效
关闭防火墙端口:
firewall-cmd --zone=public --remove-port=9200/tcp --permanent
查看防火墙规则
firewall-cmd --list-all
加入一个黑名单ip
ipset add openapi 127.x.x.x
去除黑名单,又可以访问了
ipset del openapi 127.x.x.x
firewalld和firewalld.service区别
疑问:为什么有时候使用firewalld,有时候在firewalld后加.service?
systemctl是从centos7.x开始引入的一个服务管理工具命令,融合了之前的service和chkconfig的功能于一体。
所以使用firewalld和firewalld.service效果一样,以后就用firewalld,写着方便(大多数Linux版本加上.service都可以用)