Dhcp

pfsense dhcpv6 中地址輪換的主機特定 ipv6 地址範圍

  • July 17, 2017

我自己承擔了企業區域網路中 ipv6 網路的配置。LAN 中的所有主機都有一個 VLAN。我正在使用 pfsense 2.3.4 軟體。

我現在必須弄清楚區域網路中的地址分佈。這些地址不應允許辨識來自全球網路的任何主機,因此有 2 個選項。具有本地地址的 NATv6 或具有地址輪換的全域地址,但我讀過 NATv6 是一個糟糕的選擇。我可以使用全域地址設置地址輪換,但這會阻止我創建基於 IP 地址的防火牆規則,因為地址會一直變化。

有沒有辦法可以為每個主機分配一個 IPv6 地址範圍以在該範圍內輪換它們的地址,所以我仍然可以為每個範圍(而不是靜態地址)編寫防火牆規則並隱藏(在某種程度上)來自全球觀眾的主持人的公共地址?這在 pfsense 中可行嗎?

我也可以為辦公室中的每個不同角色創建一個 VLAN,並基於每個角色輪換全域地址,並基於每個角色創建防火牆規則,但這不是一個選項。

在過去的幾天裡,我做了更多的調整和修補,並找到了一個好地方。

所以我會寫一個我要工作的總結。

刷新主題:我想在我的 pfsense 盒子的單個(LAN)介面後面創建一個網路。網路的要求是為網路中的工作站提供工作 ipv6 地址。網路不應允許全球網路辨識此網路上的設備,但應提供一個選項以根據此網路中的地址編寫防火牆規則。我希望該網路中的所有主機都能夠“匿名”瀏覽網路並保持身份不明,並且我希望該網路中的所有主機都對直接連接到我的 pfsense 框的其他網路具有訪問限制。因此,我需要辨識每個主機並編寫每個主機(或每個員工角色)的防火牆規則,以限制對內部資源的某些訪問。

據我所知,有 3 種方法可以實現這一目標。

  1. 使用 ULA(唯一本地地址)進行內部通信,對靜態 ULA 有訪問限制,但使用 NAT66 進行全域通信,保護主機的身份。這被認為是壞的。
  2. 在網路中有多個每個員工角色(訪問級別)的 VLAN。這樣,防火牆規則可以基於忽略地址的 VLAN 編寫,並且每個主機都可以具有用於全域和本地通信的 GUA(全域唯一地址)。可能有臨時隱私地址來幫助保護身份免受全球網路的影響。這不是一個選項,因為我想使用單個 VLAN 來執行此操作。
  3. 仍然保持使用 GUA 的單個 VLAN,但為每個可以輪換地址的主機分配一個特定的地址範圍。通過這種方式,我可以根據這些範圍編寫防火牆規則,並使用輪換地址保護身份。這是我想要實現的,但在 pfsense 中發現是不可能的(與某些商業解決方案相反)。

現在我找到了第四種方法來實現這一點。

  1. LAN 中的每台主機都有 2 個不同的網路地址:一個 ULA 和一個 GUA。實際上可以有多個 GUA,因為 GUA 是自動生成的。通過向網路中的主機通告全域前綴,我可以讓路由器通告處理 GUA。然後,這些 GUA 將用於訪問全球網路,主機可以使用隱私(循環)地址,以便它們在全球網路中無法辨識。至於 ULA:DHCPv6 伺服器將處理這些地址,為每個主機提供每個 DUID LUA 的統計資訊。這些地址可用於上述內部通信,並根據它們編寫防火牆規則。為了完成這項工作,我需要每個主機在這個本地網路中只有一個地址,所以我必須禁用這個前綴的 RA(路由器廣告)。預設情況下,pfsense 會生成帶有所有 RA 列出前綴的 /var/etc/radvd.conf 配置文件,並且總是將 DHCPv6 前綴添加到 RA。這樣,所有主機都會獲得多個地址,這將導致它們使用隱私地址作為源,而我的防火牆規則將毫無用處,因此我註釋掉了從 /etc/inc 為 radvd.conf 文件生成 DHCPv6 前綴子句的部分/services/inc 文件,並且 DHCP 網路不再通過路由器廣告進行廣告。這樣,每個主機在這個本地前綴中只有一個地址。除此之外,我必須確保主機將始終使用 ULA 訪問內部資源,使用 GUA 訪問全域資源,這要歸功於每個 RFC6724 的源地址選擇協議中的第二條規則(帶有所有 RA 列出的前綴的 conf 配置文件,並且始終將 DHCPv6 前綴添加到 RA。這樣,所有主機都會獲得多個地址,這將導致它們使用隱私地址作為源,而我的防火牆規則將毫無用處,因此我註釋掉了從 /etc/inc 為 radvd.conf 文件生成 DHCPv6 前綴子句的部分/services/inc 文件,並且 DHCP 網路不再通過路由器廣告進行廣告。這樣,每個主機在這個本地前綴中只有一個地址。除此之外,我必須確保主機將始終使用 ULA 訪問內部資源,使用 GUA 訪問全域資源,這要歸功於每個 RFC6724 的源地址選擇協議中的第二條規則(帶有所有 RA 列出的前綴的 conf 配置文件,並且始終將 DHCPv6 前綴添加到 RA。這樣,所有主機都會獲得多個地址,這將導致它們使用隱私地址作為源,而我的防火牆規則將毫無用處,因此我註釋掉了從 /etc/inc 為 radvd.conf 文件生成 DHCPv6 前綴子句的部分/services/inc 文件,並且 DHCP 網路不再通過路由器廣告進行廣告。這樣,每個主機在這個本地前綴中只有一個地址。除此之外,我必須確保主機將始終使用 ULA 訪問內部資源,使用 GUA 訪問全域資源,這要歸功於每個 RFC6724 的源地址選擇協議中的第二條規則(這樣,所有主機都會獲得多個地址,這將導致它們使用隱私地址作為源,而我的防火牆規則將毫無用處,因此我註釋掉了從 /etc/inc 為 radvd.conf 文件生成 DHCPv6 前綴子句的部分/services/inc 文件,並且 DHCP 網路不再通過路由器廣告進行廣告。這樣,每個主機在這個本地前綴中只有一個地址。除此之外,我必須確保主機將始終使用 ULA 訪問內部資源,使用 GUA 訪問全域資源,這要歸功於每個 RFC6724 的源地址選擇協議中的第二條規則(這樣,所有主機都會獲得多個地址,這將導致它們使用隱私地址作為源,而我的防火牆規則將毫無用處,因此我註釋掉了從 /etc/inc 為 radvd.conf 文件生成 DHCPv6 前綴子句的部分/services/inc 文件,並且 DHCP 網路不再通過路由器廣告進行廣告。這樣,每個主機在這個本地前綴中只有一個地址。除此之外,我必須確保主機將始終使用 ULA 訪問內部資源,使用 GUA 訪問全域資源,這要歸功於每個 RFC6724 的源地址選擇協議中的第二條規則(並且 DHCP 網路不再通過路由器廣告進行廣告。這樣,每個主機在這個本地前綴中只有一個地址。除此之外,我必須確保主機將始終使用 ULA 訪問內部資源,使用 GUA 訪問全域資源,這要歸功於每個 RFC6724 的源地址選擇協議中的第二條規則(並且 DHCP 網路不再通過路由器廣告進行廣告。這樣,每個主機在這個本地前綴中只有一個地址。除此之外,我必須確保主機將始終使用 ULA 訪問內部資源,使用 GUA 訪問全域資源,這要歸功於每個 RFC6724 的源地址選擇協議中的第二條規則(https://www.rfc-editor.org/rfc/rfc6724),它表示將首選與目標具有相同範圍(全域,本地,連結本地)的源地址。多虧了這個和具有本地地址的內部資源,我的一切都按我想要的方式工作。唯一的技巧是更改 /etc/inc/services.inc 文件以註釋掉該部分。此外,我還必須為 LAN 介面設置一個 IP 別名類型的虛擬 IP,其地址來自網路的第二個前綴。因此,一個地址被設置為介面(在我的情況下是本地地址),另一個(全域地址)被設置為虛擬 IP。

所以這第四種方式按預期工作,不需要更多的 VLAN 或 NAT66 或 pfsense 不提供的功能。

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