- 云服务器开启端口
- CentOS开启端口
- Ubuntu开启端口
云服务器开启端口
CentOS开启端口
- 防火墙添加端口
firewall-cmd --zone=public --add-port=端口/tcp --permanent
命令含义:
–zone #作用域
–add-port=1935/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
- 重新载入,添加端口后重新载入才能起作用
firewall-cmd --reload
- 查看端口是否开启
firewall-cmd --zone=public --query-port=端口/tcp
- 阿里云服务器还需在控制台配置:
阿里云: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,在默认情况下面都是没有安装的)
- 安装nc
切换到root用户:
yum install -y nc
- 监听端口(当客户端链接之后关闭)
nc -lp 端口 &
-l 开启 监听模式,用于指定nc将处于监听模式。通常这样代表着为一个服务等待客户端来链接指定的端口。
-p 设置本地主机使用的通信端口。
本地使用 telnat 访问
telnat 服务器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开启端口
- 打开端口
登录阿里云服务器,进入控制台,添加要打开的服务器端口到安全组
下载ufw(这个工具用来操作防火墙,比如指定对外开放哪个端口), sudo apt-get install ufw
打开防火墙, sudo ufw enable
防火墙打开需要对外开放的端口, sudo ufw allow 端口号(注意,控制台做了另外一层防护,所以必须先在阿里云安全组打开端口, 就是本文的第一步的操作)
查看防火墙状态, sudo ufw status, 可以查看上面的对外开放端口操作是否成功 - 检测端口开放是否成功
使用端口, nc -lp 端口号
注意,这里相当于打开一个程序,使用对应端口, 这个程序占用目前这个端口。如果后面有程序要使用,就先关闭这个进程
在另外一台机器使用telnet + ip + 端口号,如telnet xxx.xxx.xxx.xxx 9944, 如果可以连接,说明开放端口已经成功 - 说明
阿里云服务器千万不要随便使用sudo ufw default deny命令, 会拒绝一切远程连接,包括在控制台也不能重新进入服务器,只能发工单解决
禁用端口命令sudo ufw deny 端口号
删除防火墙的某条规则sudo ufw delete allow smtp(这里是删除allow smtp规则)
关闭防火墙sudo ufw disable - 一些很有用的操作
netstat -tnlp | grep :9945 查看9945端口占用的进程
kill -9 进程id, 杀掉进程