Ipv6

根據 netstat,HTTPD 在 IPv6 中偵聽,但在 IPv4 中可達

  • February 12, 2016

使用 Openstack,我在我的伺服器 (HTTPS) 上託管了一個 Web GUI (horizo​​n)。

當我做 anetstat -lt | grep https時,我有:

tcp6       0      0 [::]:https              [::]:*                  LISTEN

隨著lsof -i :443,我有:

COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
httpd    5250   root    6u  IPv6  27390      0t0  TCP *:https (LISTEN)
httpd   17675 apache    6u  IPv6  27390      0t0  TCP *:https (LISTEN)
httpd   17676 apache    6u  IPv6  27390      0t0  TCP *:https (LISTEN)
httpd   17677 apache    6u  IPv6  27390      0t0  TCP *:https (LISTEN)
httpd   17678 apache    6u  IPv6  27390      0t0  TCP *:https (LISTEN)
httpd   17679 apache    6u  IPv6  27390      0t0  TCP *:https (LISTEN)
httpd   17680 apache    6u  IPv6  27390      0t0  TCP *:https (LISTEN)
httpd   17681 apache    6u  IPv6  27390      0t0  TCP *:https (LISTEN)
httpd   17682 apache    6u  IPv6  27390      0t0  TCP *:https (LISTEN)
httpd   27444 apache    6u  IPv6  27390      0t0  TCP *:https (LISTEN)

但是,伺服器可以在 IPv4 中訪問。對我來說沒問題,但我想知道為什麼沒有這樣的 netstat 條目:

tcp       0      0 0.0.0.0:https              0.0.0.0:*                  LISTEN

我相信在 Linux 上,綁定到 [::] (IPv6) 會導致同時接收 IPv6 和 IPv4 流量(預設情況下)。我相信這些被稱為IPv4 映射的 IPv6 地址netstat僅顯示 IPv6 條目,因為從技術上講,只有一個綁定,恰好支持 IPv4 和 IPv6。

Apache 網站上有一些資訊。

軟體可能不使用 IPv4 映射的 IPv6 地址並分別綁定到 0.0.0.0 和 [::] 並因此在 中顯示兩次netstat,但這是開發人員的設計選擇。

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