如何在 Ubuntu 版本 22 上启用特定端口以便外界可以访问它?
我已经使用端口 22 通过 ssh 登录到服务器,并且能够成功执行所有命令。
我已经启用了 ufw 防火墙,并且启用了端口 22、80 和 22786。
22 和 80 均可以正常访问,但无法从外界访问 22786。
我是否需要更改其他防火墙设置来启用端口 22786?
admin@prod:~$ sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] 22786 ALLOW IN Anywhere
[ 2] 22 ALLOW IN Anywhere
[ 3] 80 ALLOW IN Anywhere
[ 4] 22786 (v6) ALLOW IN Anywhere (v6)
[ 5] 22 (v6) ALLOW IN Anywhere (v6)
[ 6] 80 (v6) ALLOW IN Anywhere (v6)
admin@prod:~$ sudo netstat -plunt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1619/nginx: master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 834/sshd: /usr/sbin
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 927/sshd: admin@pts
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 784/systemd-resolve
tcp6 0 0 :::80 :::* LISTEN 1619/nginx: master
tcp6 0 0 :::22 :::* LISTEN 834/sshd: /usr/sbin
tcp6 0 0 ::1:6010 :::* LISTEN 927/sshd: admin@pts
udp 0 0 127.0.0.53:53 0.0.0.0:* 784/systemd-resolve
我Nginx
手动安装了,并且能够使用http://ipaddress
但当我通过这个在线工具检查时(https://www.yougetsignal.com/tools/open-ports/),显示22
和 '80' 端口均已启用,但 22786 端口已关闭。
22
当我获得此主机时,端口已经打开,并且在我安装并将其添加到使用命令80
后启用。我使用 sudo ufw allow 22786 命令也启用了此端口,但没有成功。Nginx
ufw
sudo ufw allow 80
答案1
服务器上是否有监听 TCP 端口 22786 的应用程序非常重要。
netstat
请在此处附加来自您服务器的命令的回复。
sudo netstat -lntp
您还应该在监听 TCP 端口列表中看到端口 22786。
如果netstat
缺少,请安装net-tools
。
sudo apt-get update
sudo apt-get install net-tools
nc
如果您的测试缺少端口 2276 上必要的应用程序,您可以尝试使用 netcat作为替代监听应用程序。
sudo nc -l -p 22786 -k
在运行 的终端窗口以外的其他终端窗口中nc
重复netstat
。