云服务器开启端口

  • 云服务器开启端口已关闭评论
  • 200 次浏览
  • A+
所属分类:linux技术
摘要

firewall-cmd –zone=public –add-port=端口/tcp –permanent命令含义:
–zone #作用域
–add-port=1935/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效

云服务器开启端口

CentOS开启端口

  1. 防火墙添加端口

firewall-cmd --zone=public --add-port=端口/tcp --permanent

命令含义:
–zone #作用域
–add-port=1935/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效

  1. 重新载入,添加端口后重新载入才能起作用

firewall-cmd --reload

  1. 查看端口是否开启

firewall-cmd --zone=public --query-port=端口/tcp

  1. 阿里云服务器还需在控制台配置:

阿里云:https://ecs-buy.aliyun.com/wizard

1.进入 云服务器 ECS 找到 安全组

2.进入配置规则

3.在访问规则 入方向中添加需要开发的端口即可

至此Linux外网访问端口已开启

注:Linux打开端口命令每一个打开的端口,都需要有相应的监听程序才可以

查看端口监听程序

netstat -ntlp

-n/-numeric 以数值地址形式进行展示
-t/-tcp 显示 TCP 协议的连接情况
-l/-listening 仅显示监听中的套接字
-p/-program 显示套接字关联的程序名称和 PID

5.测试(Linux中有一个级强大的网络工具netcat,在默认情况下面都是没有安装的)

  1. 安装nc
    切换到root用户:

yum install -y nc

  1. 监听端口(当客户端链接之后关闭)

nc -lp 端口 &

-l 开启 监听模式,用于指定nc将处于监听模式。通常这样代表着为一个服务等待客户端来链接指定的端口。
-p<通信端口> 设置本地主机使用的通信端口。

本地使用 telnet 访问
telnet 服务器ip地址 端口
附:

查看防火墙状态: systemctl status firewalld  停止防火墙: systemctl disable firewalld  重启防火墙:systemctl restart firewalld  禁用防火墙: systemctl stop firewalld  查看开启了哪些端口:firewall-cmd --list-ports  关闭端口(需要重新载入):firewall-cmd --zone=public --remove-port=端口/tcp --permanent 

Ubuntu开启端口

  1. 打开端口
    登录阿里云服务器,进入控制台,添加要打开的服务器端口到安全组
    下载ufw(这个工具用来操作防火墙,比如指定对外开放哪个端口), sudo apt-get install ufw
    打开防火墙, sudo ufw enable
    防火墙打开需要对外开放的端口, sudo ufw allow 端口号(注意,控制台做了另外一层防护,所以必须先在阿里云安全组打开端口, 就是本文的第一步的操作)
    查看防火墙状态, sudo ufw status, 可以查看上面的对外开放端口操作是否成功
  2. 检测端口开放是否成功
    使用端口, nc -lp 端口号
    注意,这里相当于打开一个程序,使用对应端口, 这个程序占用目前这个端口。如果后面有程序要使用,就先关闭这个进程
    在另外一台机器使用telnet + ip + 端口号,如telnet xxx.xxx.xxx.xxx 9944, 如果可以连接,说明开放端口已经成功
  3. 说明
    阿里云服务器千万不要随便使用sudo ufw default deny命令, 会拒绝一切远程连接,包括在控制台也不能重新进入服务器,只能发工单解决
    禁用端口命令sudo ufw deny 端口号
    删除防火墙的某条规则sudo ufw delete allow smtp(这里是删除allow smtp规则)
    关闭防火墙sudo ufw disable
  4. 一些很有用的操作
    netstat -tnlp | grep :9945 查看9945端口占用的进程
    kill -9 进程id, 杀掉进程