文章目录
背景`firewalld`安装查看防火墙状态防火墙命令帮助提示启动防火墙关闭防火墙设置开机启动防火墙停止并禁用防火墙开机启动重启防火墙防火墙开放指定端口防火墙关闭指定端口查看端口状态查看指定区域所有打开的端口查看防火墙作用域信息设置默认接口区域
背景
项目实施,服务器安装的是 CentOS 7.6 的linux系统,启动对应服务后,访问指定端口发现无法访问,后面确定是系统防火墙未开放端口原因导致。
后面系统防火墙开放指定端口后就能正常访问了。
CentOS升级到7之后,内置的防火墙已经从iptables变成了firewalld。所以我这里介绍的是firewall-cmd的相关命令。更多关于CentOS防火墙的最新内容,请参考Redhat官网。
firewalld安装
CentOS7x 默认是安装了 firewalld 的,如果没有安装的话请使用如下命令进行安装。
yum install firewalld firewalld-config
查看防火墙状态
使用命令:
firewall-cmd --state
如图:
防火墙命令帮助提示
使用命令:
firewall-cmd -h
如图:
启动防火墙
systemctl start firewalld
关闭防火墙
systemctl stop firewalld
设置开机启动防火墙
systemctl enable firewalld
停止并禁用防火墙开机启动
systemctl disable firewalld
重启防火墙
firewall-cmd --reload
防火墙开放指定端口
firewall-cmd --zone=public --add-port=8899/tcp --permanent
firewall-cmd --reload
这里涉及到几个参数配置简单说明如下:
--zone 表示防火墙作用区域,这里为 public--add-port表示添加端口,这里需要指定端口号和通讯协议,例子中为8899端口和tcp通讯协议--permanent表示永久生效,没有此参数重启防火墙后失效
最后需要重新加载防火墙,才能使设置生效。
防火墙关闭指定端口
firewall-cmd --zone=public --remove-port=8899/tcp --permanent
firewall-cmd --reload
这里跟添加端口的参数配置基本没什么区别,只是由--add-port变为了--remove-port,具体说明参考防火墙开放指定端口的参数配置说明。
查看端口状态
firewall-cmd --zone=public --query-port=8899/tcp
查询端口8899(tcp通讯协议)的状态。
查看指定区域所有打开的端口
firewall-cmd --zone-public --list-ports
查看防火墙作用域信息
firewall-cmd --get-active-zones
设置默认接口区域
firewall-cmd --set-default-zone=public
这条命令不需要再额外重启防火墙,可以立即生效。
A little bit of progress every day!Come on!