宝塔面板教程 – Linux 服务器 CentOS 系统宝塔面板如何开启网络端口

 4年前     1.3K  

文章目录

    因为之前开了“宝塔面板教程”这个坑,站长又不得不来填这个坑,为了将一整套教程连贯下来,所以写了这篇文章教程。很多萌新站长在接触 VPS 云主机的初期,都不知道服务器防火墙端口要如何去怎么开启。本问会写萌新站长最常用的宝塔面板的开启方式;以及 SSH 协议连入后台,使用命令操作 iptables 防火墙的开启方式。

    其实很多的萌新站长都会在群里问自己新建的网站为何打不开、宝塔面板为何打不开、phpmyadmin 页面为何打不开……的问题,这些问题中,大多可能是服务器端口没有开启的原因。一般表现为服务器未返回任何错误代码(因为服务器端口没开,所以服务器无法跟你通信,自然就不会给你返回信息)。我们看到的都是浏览器返回的某某网站链接超时、或者是响应时间过长这类提示。

    在看下面端口开启方式的教程之前,我建议先看我这一段话:

    我们访问一个网站时,中间要经过很多设备,这里面有自己本地的,比如电脑、路由器、交换机等;然后是网络运营商的骨干网上的路由设备等;然后是到达服务器所在机房的防火墙、核心路由设备、交换机、服务器。因为本地电脑端口都是没限制的,运营商也不会无故的限制你的网络端口,这样就基本确定了我们端口连接不上一般问题出现在机房和服务器这一块。通常机房那边能控制网络端口的就是服务器自身的设置和一些机房提供的安全组设置功能了。

    在我们放行服务器网络端口前,我们可以先参考这个教程来检测服务器端口是不是可连通的:

    服务器网络端口设置

    例如:我们想要在服务器放行 8989 端口,我们可以照下图操作即可:

    宝塔面板教程 – Linux 服务器 CentOS 系统宝塔面板如何开启网络端口

    在宝塔面板放行端口后,如果我们检测端口还是不通的话,我们就要检查下我们服务器 IDC 提供商的网站控制台里有没有安全组策略设置了。

    服务器安全组策略端口设置

    如果你使用的是阿里云或者腾讯云这类有安全组策略设置的服务商提供的 VPS 云主机,那么你就要在主机所在的安全组策略里,添加想要放行的网络端口,如下图(阿里云):

    宝塔面板教程 – Linux 服务器 CentOS 系统宝塔面板如何开启网络端口

    ①在阿里云服务器 ECS 页面中找到=>网络与安全=>安全组

    宝塔面板教程 – Linux 服务器 CentOS 系统宝塔面板如何开启网络端口

    ②在对应规则内,选择“入方向”或者“出方向”后再点击“手动添加”端口配置规则

    宝塔面板教程 – Linux 服务器 CentOS 系统宝塔面板如何开启网络端口

    ③填写“允许”或“阻止”的端口范围以及对应的网络 IP 地址范围后,保存

    请注意,上图中安全组放行分为“入方向”和“出方向”两种规则,请在出、入方向各添加同样的规则,保证端口出、入都是正常的。

    通过 SSH 终端操作服务器 iptables 防火墙端口设置

    CentOS 7 防火墙端口设置的常用命令
    #查看防火墙状态
    systemctl status firewalld
    
    #开启防火墙
    systemctl start firewalld
    
    #关闭防火墙
    systemctl stop firewalld
    
    #查看当前 firewall 状态
    firewall-cmd --state
    
    #重启 firewall
    firewall-cmd --reload
    
    #查看已经开放的端口:
    firewall-cmd --list-ports
    
    #开启端口
    firewall-cmd --zone=public --add-port=80/tcp --permanent
    #开启端口后需要重启防火墙
    
    命令含义:
    --zone #作用域
    --add-port=80/tcp #添加端口,格式为:端口/通讯协议
    --permanent #永久生效,没有此参数重启后失效
    
    #多个端口:
    firewall-cmd --zone=public --add-port=80-90/tcp --permanent
    
    #删除端口
    firewall-cmd --zone=public --remove-port=80/tcp --permanent
    
    #设置开机启用防火墙
    systemctl enable firewalld.service
    #设置开机不启动防火墙
    systemctl disable firewalld.service
    
    #查看本机已经启用的监听端口:
    #centos7 以下使用 netstat -ant,7 使用 ss
    ss -ant
    
    #centos7 查看防火墙所有信息
    firewall-cmd --list-all
    
    #centos7 查看防火墙开放的端口信息
    firewall-cmd --list-ports

    使用 SSH 协议连接到服务器,输入以下命令关闭服务器的 80 端口(80 端口是网站所用的端口),命令如下:

    关闭某端口
    /sbin/iptables -I INPUT -p tcp –dport 端口号 -j DROP
    
    保存修改
    /etc/init.d/iptables save
    
    重启防火墙
    service iptables restart
    
    开启某端口
    /sbin/iptables -I INPUT -p tcp –dport 端口号 -j ACCEPT
    
    查看端口状态
    /etc/init.d/iptables status

    举例:比如我关闭 80 端口就在 SSH 终端里输入以下命令:

    /sbin/iptables -I INPUT -p tcp –dport 80 -j DROP

    保存刚刚的修改:

    /etc/init.d/iptables save

    重启防火墙,使刚才的修改生效:

    service iptables restart

    如果打开 80 端口,则输入:

    /sbin/iptables -I INPUT -p tcp –dport 80 -j ACCEPT

    保存修改:

    /etc/init.d/iptables save

    重启防火墙:

    service iptables restart

    好了,关于 Linux 服务器网络端口开启的设置教程已经讲完了。如果各位小伙伴还有什么疑问,欢迎在评论区留言问我!

    您可能感兴趣的

    暂无评论

    暂无评论...