「開放」連接埠並未真正開放

「開放」連接埠並未真正開放

我使用以下命令在 Ubuntu 中開啟連接埠 2022:

sudo iptables -A INPUT -p tcp --dport 2022 -j ACCEPT

但如果我在連接埠 2022 上啟動 Web 伺服器,則無法存取它。

如果我運行命令來查看打開的連接埠:

sudo iptables -vnL

輸出開始於

在此輸入影像描述

現在,顯示的連接埠(如 3000 或 4000)可以工作,但 2022 則不能。

這是怎麼回事?

答案1

順序很重要。您在 iptables 中的 2022 年條目位於後面DROP,因此DROP首先匹配,並且您的ACCEPT條目永遠不會到達。

您需要插入而不是附加(-I而不是-A)。

答案2

打開port 是封包過濾器不阻止的連接埠。為了使該連接埠可訪問,必須將某些東西綁定到它,並且在 TCP 情況下,開始在上面。

ss -nl您可以使用或檢查某些操作是否正在執行netstat -an | grep LISTEN

相關內容