服务器防火墙开放端口(解决服务器端口无法访问问题)

服务器防火墙开放端口(解决服务器端口无法访问问题)

前言

最近操作服务器的时候,不小心误操作了防火墙,导致除22端口外,其他端口外部都不能访问,试了很多种方法,后最终得到解决。网络上的解决方式很多都比较零碎,所以在这里整理一下具体解决的思路和步骤。

一、解决思路

1. 判断服务器使用的是firewall还是iptable

Linux一共有两款防火墙软件,分别是firewall和iptable。一般来说,ConterOS7.0以上使用的是firewall,ConterOS7.0以下使用的是iptables。开放端口前,我们要先弄清楚自己服务器使用的是哪种软件,才方便使用对应的命令

service iptables status

systemctl status firewalld.service

因为我本地使用的是firewall进行防火墙管理的,所以后续将以firewall进行演示

2. 判断firewall当前开启的服务和端口

查看当前firewall的所有信息

firewall-cmd --list-all

这里可以看到,我们当前没有配置开放的端口,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

# 开放80端口

firewall-cmd --permanent --add-port=80/tcp

# 移除端口

firewall-cmd --permanent --remove-port=8080/tcp

#重启防火墙(修改配置后要重启防火墙)

firewall-cmd --reload

# 参数解释

1、firwall-cmd:是Linux提供的操作firewall的一个工具;

2、--permanent:表示设置为持久;

3、--add-port:标识添加的端口;

相关推荐

终于等到你!萧山与杭州主城区公共自行车“互通”, “扫码租车”功能也同步上线啦! 神器365软件下载

终于等到你!萧山与杭州主城区公共自行车“互通”, “扫码租车”功能也同步上线啦!

弧动之美一触即发 青橙N2全网通版评测 神器365软件下载

弧动之美一触即发 青橙N2全网通版评测

滑雪到底贵不贵?如何省钱去滑雪? 365bet官网网投

滑雪到底贵不贵?如何省钱去滑雪?