服务器防火墙开放端口(解决服务器端口无法访问问题)
目录
一、解决思路
1. 判断服务器使用的是firewall还是iptable
2. 判断firewall当前开启的服务和端口,查看当前firewall的所有信息
3. 添加http服务
4. 重新执行
5. 添加开放端口
6.查看端口是否开放成功
补充
1、查看firewall服务状态
2、查看firewall的状态
3、开启、重启、关闭、firewalld.service服务
#开启
#重启
#关闭
4、查看防火墙规则
5、查询、开放、关闭端口
#查询端口是否开放
#开放80端口
开放一个范围的端口,如果要开通一个范围的端口,命令如下
#移除端口
#重启防火墙(修改配置后要重启防火墙)
#参数解释
一、解决思路
1. 判断服务器使用的是firewall还是iptable
Linux一共有两款防火墙软件,分别是firewall和iptable。一般来说,ConterOS7.0以上使用的是firewall,ConterOS7.0以下使用的是iptables。开放端口前,我们要先弄清楚自己服务器使用的是哪种软件,才方便使用对应的命令
service iptables status
systemctl status firewalld.service
2. 判断firewall当前开启的服务和端口,查看当前firewall的所有信息
firewall-cmd --list-all
这里可以看到,我们当前配置开放的端口为9001-9009,services服务是有http的,那么没有配置开放的端口,services服务也没有http,应该怎么做?
3. 添加http服务
firewall-cmd --permanent --add-service=http
注意:如果在添加http服务的时候,报了一个Error: Action org.fedoraproject.FirewallD1.all is not registered的错误,可能是防火墙版本存在问题,可以
yum update firewalld
手动更新防火墙版本。更新完成后,即可解决。
4. 重新执行
firewall-cmd --list-all
查看是否添加成功
如果查不到的话,执行以下命令重启一下防火墙服器
systemctl restart firewalld.service
5. 添加开放端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
这里的permanent配置是永久生效的意思,不配的话重启后该配置就失效
添加好后,执行:
firewall-cmd --reload
重新加载策略配置
6.查看端口是否开放成功
firewall-cmd --list-all
#或者
firewall-cmd --list-ports
最后我们就可以顺利访问服务器的相关端口啦
补充
1、查看firewall服务状态
systemctl status firewalld
出现Active: active (running)切高亮显示则表示是启动状态。 出现Active: inactive (dead)灰色表示停止,看单词也行。
2、查看firewall的状态
firewall-cmd -state
3、开启、重启、关闭、firewalld.service服务
#开启
service firewalld start
#重启
service firewalld restart
#关闭
service firewalld stop
4、查看防火墙规则
firewall-cmd --list-all
5、查询、开放、关闭端口
#查询端口是否开放
firewall-cmd --query-port=8080/tcp
提示yes表示已开通,提示no表示未开通。
#开放80端口
法1
firewall-cmd --permanent --add-port=80/tcp
法2
firewall-cmd --add-port=8888/tcp -permanent
开放一个范围的端口,如果要开通一个范围的端口,命令如下
firewall-cmd --add-port=8000-9999/tcp --permanent
#移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
#参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具; 2、--permanent:表示设置为持久; 3、--add-port:标识添加的端口;