如何分配多個IP位址和子網路進行綁定?

如何分配多個IP位址和子網路進行綁定?

我有一個家庭網路伺服器、/29 IPv4 位址(由於具有需要網關位址的路由子網,目前可從該區塊分配 3 個位址)和兩個已指派給我的 DNS 記錄的位址。此外,我有一個 /64 IPv6 子網,其中兩個位址已指派給我的 DNS 記錄。

我已經更改了我的sysconfig > 網路腳本檔案(透過網路管理員管理,而不是DHCP),以使所有IPv4 位址可供我的系統使用,並將IPv6 子網路指派為輔助子網,如圖所示(我認為這是正確的,但請告訴如果不是我):

IPV6ADDR=2a10:b900:10e4:1::2/64
IPV6ADDR_SECONDARIES=2a10:b900:10e4:1::/64
IPV6_DEFAULTGW=2a10:b900:10e4:1::

問題? - 我需要修改我的綁定區域檔案以使用額外的可用 IP 位址和整個 IPv6 子網路。我想我可以將 IPv4 新增為附加 A 記錄(儘管我過去遇到過導致連線問題的問題),但這裡有人可以告訴我如何新增 IPv6 子網路嗎?

答案1

總結一下這些評論,沒有答案,因為這個問題完全基於錯誤的假設。

[...] 將 IPv6 子網路指派為輔助子網,如圖所示

IPV6ADDR=2a10:b900:10e4:1::2/64
IPV6ADDR_SECONDARIES=2a10:b900:10e4:1::/64

這實際上並沒有分配整個子網路。它分配單一位址(全零 IID 位址,2a10:b900:10e4:1:0:0:0:0)並將「子網路遮罩」設為 /64。該行為與分配任何其他地址相同;對於…:0:0:0:0 沒有特殊處理。兩種情況下的 /64 僅指示哪些位址是「線上」位址(可以透過實體介面在 MAC 層級到達)。

https:// 連接無法共用(即:如果它們是 http://,您可以透過相同 IP 位址擁有 10 個連接,但如果它們是 https://,則這些相同的連接將需要 10 個 IP 位址

不,他們不會,因為底層傳輸協定 TCP 已經具有復用機制 - 本地連接埠 + 遠端連接埠的組合。假設你有

  1. 一位客戶,
  2. 一台伺服器監聽一個端口,

理論上,(local_addr, remote_addr, local_port, remote_port)透過改變 local_port 最多可以有 65535 個獨特的組合。實際上,該數字在 ~32k 或 ~48k 範圍內,取決於作業系統配置的「臨時連接埠」範圍。

這種機制獨立於上層協議,伺服器可以接受與連接埠443 的HTTPS 連接,就像它可以接受連接埠80 上的HTTP 連接一樣多。每個連接的每個資料包。


如果你的故事是關於 HTTP(S)「虛擬主機」而不是「連結」(即共享),那麼它仍然有意義網域在同一 IP 位址上。 10-20 年前,HTTPS 伺服器(更準確地說是 SSL/TLS 伺服器)只能透過單一 IP 位址:連接埠提供一個證書,因此只能為單一憑證提供的網域數量提供服務。

然而,現在所有現代客戶端都支援 TLS 1.1+“伺服器名稱指示”,這允許它們在 TLS 握手期間請求特定的域名,以便伺服器可以在開始應用層握手之前選擇正確的 TLS 憑證。

總之,一開始就沒有必要為伺服器分配子網路。

最後,技術上的主要問題:

因此,我嘗試創建一個解決方案,其中 BIND 可以在需要時進入位址池

DNS 沒有這樣的功能-只有 AAAA 記錄可以指向 IPv6 位址,而每筆這樣的記錄只能指向一個位址。 (還有其他類型,但它們有不同的用途,大多數軟體都會簡單地不看對他們。

您必須使用 BIND 的$GENERATE功能,這是一個可以擴展到許多記錄的巨集,或編寫一個自訂 DNS 伺服器,根據需要產生具有隨機 AAAA 記錄的回應。

相關內容