Linux

ufw打不開埠

  • June 9, 2020

我需要8081為我的應用程序打開埠。我想從另一台伺服器連接到應用程序。問題我無法打開埠。我使用埠 8081 和 ip 0.0.0.0 和 127.0.0.1 啟動應用程序,我啟用了 ufw /disabled ufw,我閱讀了教程https://www.digitalocean.com/community/tutorials/how-to-set-up-防火牆與 ufw-on-ubuntu-20-04

我的系統:

經銷商編號:Ubuntu D

描述:Ubuntu 20.04 LTS

發佈時間:20.04

代號:焦點

輸出sudo lsof -i -P -n | grep LISTEN

應用程序 4431 foo 27u IPv4 64011 0t0 TCP *:8081 (LISTEN)

的輸出sudo ufw status

狀態:活躍

採取行動 – —— —- 22/tcp ALLOW Anywhere

8081/tcp ALLOW Anywhere

22 ALLOW Anywhere

8081 ALLOW Anywhere

22/tcp (v6) ALLOW Anywhere (v6)

8081/tcp (v6) ALLOW Anywhere (v6)

22 (v6) 允許在任何地方 (v6)

8081 (v6) 允許在任何地方 (v6)

nmap輸出:

在 2020-06-09 21:03 UTC啟動 Nmap 7.80 ( https://nmap.org ) myip.bc.googleusercontent.com (myip) 的 Nmap 掃描報告主機已啟動(0.00062 秒延遲)。未顯示:999 個過濾埠 PORT STATE SERVICE 22/tcp open ssh

Nmap 完成:在 8.19 秒內掃描了 1 個 IP 地址(1 個主機啟動)

如果您使用的是Google云計算實例,您的實例可能有一個具有自己預設防火牆規則的 VPC:

https://cloud.google.com/vpc/docs/firewalls

預設網路預先填充了防火牆規則,允許傳入實例連接。這些規則可以根據需要刪除或修改:

default-allow-internal 允許網路中實例之間的所有協議和埠的入口連接。此規則的優先級倒數第二低,為 65534,它有效地允許來自同一網路中其他人的 VM 實例的傳入連接。

default-allow-ssh 允許 TCP 埠 22 上從任何源到網路中任何實例的入口連接。此規則的優先級為 65534。

default-allow-rdp 允許 TCP 埠 3389 上從任何源到網路中任何實例的入口連接。此規則的優先級為 65534,它允許連接到執行 Microsoft 遠端桌面協議 (RDP) 的實例。

default-allow-icmp

允許從任何源到網路中任何實例的入口 ICMP 流量。此規則的優先級為 65534,它啟用了 ping 等工具

所以預設規則不包括來自任何地方的埠 8081 ……

您可以使用此文件在 Google 雲平台 Web 控制台(VPC 網路 -> 防火牆)上創建新的 fireall 規則以允許進入 8081:

https://cloud.google.com/vpc/docs/using-firewalls#creating_firewall_rules

它看起來像這樣

在此處輸入圖像描述

nmap 有點慢,所以您可能想嘗試直接使用 telnet 或 nc 連接:

$ telnet myip.bc.googleusercontent.com 8081
Trying 123.123.123.123...
Connected to myip.bc.googleusercontent.com.
Escape character is '^]'.
^]

或者

$ nc -zv myip.bc.googleusercontent.com 8081
Ncat: Version 7.80 ( https://nmap.org/ncat )
Ncat: Connected to 123.123.123.123:1234.
Ncat: 0 bytes sent, 0 bytes received in 0.24 seconds.

引用自:https://serverfault.com/questions/1020758