即使 UFW 允許,也無法在本機連接到連接埠 5432

即使 UFW 允許,也無法在本機連接到連接埠 5432

我正在嘗試設定我的伺服器,以便只能從本地主機存取連接埠 5432 (Postgres)。所以我拒絕了一切,並添加了連接埠 5432,但我無法連接到它。

這是我的 UFW 配置:

$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), deny (outgoing), deny (routed)
New profiles: skip

To                         Action      From
--                         ------      ----
22                         ALLOW IN    Anywhere
80                         ALLOW IN    Anywhere
443                        ALLOW IN    Anywhere
127.0.0.1 5432             ALLOW IN    127.0.0.1
22 (v6)                    ALLOW IN    Anywhere (v6)
80 (v6)                    ALLOW IN    Anywhere (v6)
443 (v6)                   ALLOW IN    Anywhere (v6)

80                         ALLOW OUT   Anywhere
22                         ALLOW OUT   Anywhere
443                        ALLOW OUT   Anywhere
53                         ALLOW OUT   Anywhere
33434:33524/udp            ALLOW OUT   Anywhere
127.0.0.1 5432             ALLOW OUT   127.0.0.1
80 (v6)                    ALLOW OUT   Anywhere (v6)
22 (v6)                    ALLOW OUT   Anywhere (v6)
443 (v6)                   ALLOW OUT   Anywhere (v6)
53 (v6)                    ALLOW OUT   Anywhere (v6)
33434:33524/udp (v6)       ALLOW OUT   Anywhere (v6)

和網路統計:

$ netstat -an | grep "LISTEN "
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN
tcp6       0      0 :::55056                :::*                    LISTEN
tcp6       0      0 :::80                   :::*                    LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 :::5432                 :::*                    LISTEN
tcp6       0      0 :::443                  :::*                    LISTEN

只是為了確認 ufw 確實阻止了連接,因為如果我停用它,它就可以正常工作。知道我缺少什麼嗎?

答案1

從你的netstat中,我們可以看到只有一處提到了連接埠5432(即tcp6線路正在偵聽:::5432。這表示你的程式只偵聽IPv6。你的防火牆只允許IPv4。有兩種選擇,一種是你允許IPv6 位址::1(相當於IPv6本機)連接到防火牆中的該服務,另一個是讓您的程式偵聽IPv4最好的方法可能是兩者兼而有之。

相關內容