Routing

跨多個 MikroTik 路由器手動對 IPv6 前綴進行子網劃分,無需前綴委派

  • May 5, 2020

我想配置我的網路,以便主機可以使用SLAAC IPV6 自動定址全球單播地址(“ GUA ”) 。我有一個 ::/48 (由Hurricane Electric分配),我想將其劃分為子網並為此目的分佈在多個路由器上。但是,我遵循了 MikroTik 的Prefix Distribution文件(“ PD ”),但它沒有產生有效的配置。

MikroTik 的 DHCPv6 伺服器實現——也提供 PD 功能——已經被破壞多年,並且在RouterOS v6.46.6中仍然被破壞。如何使用分配給我的 ::/48 MANUALLY 子網和地址 MikroTik 路由器?

MikroTik 的 DHCPv6 伺服器——也提供 PD 功能——多年來一直在進行中,所以我想避免對它的任何依賴。這個HowTo記錄了我是如何做到這一點的,以幫助其他人重新解決同樣的問題。

因此,如果您正在配置網路以使主機能夠跨多個路由器自動配置 IPv6 GUA 地址,但還想要替代MikroTik的 DHCPv6 伺服器實施,請繼續閱讀…

  1. 如何範圍:

本 HowTo 將指導手動劃分 ::/48 前綴和配置 (2) 具有鄰居發現、啟用RIPng和一些靜態路由的路由器。主機將在它們連接的介面的子網上配置一個 GUA 地址。

Prefix DistributionDHCPv6 ServerDHCPv6 Client不包括在內,因為它們未在配置中使用。

我也沒有詳細說明 ::/48 如何從路由器 #1路由到 Internet,因為這可能是特定於網路的。即,分配給我的 ::/48 Hurricane Electric(免費!)路由出6to4隧道,而您可能有一個 ::/48 直接由您的 ISP 分配並且沒有。

IPv6 安全性是一個更好地單獨處理的主題,並且超出了本 HowTo 的範圍。如果您沒有配置 IPv6 FW,則在一切正常後,您可以禁用 IPv6 介面,直到您配置一組合理的規則。

  1. 兼容性:

由於此配置僅使用鄰居發現、手動定址介面、RIPng和一些靜態路由,因此它應該不會在未來的RouterOS升級中受到損壞。

使用此解決方案測試成功自動定址的客戶:

  • Raspberry Pi4 :使用 DHCP執行Buster
  • MacBook :再次使用預設 DHCP執行 OSX Catalina 10.15.3
  • IOSiPadOS 13.41
  • Windows:使用橋接在我的 MacBook 上執行的Virtualbox VM Windows 10 VM
  1. IPv6 測試工具:

一些與 IPv6 兼容的工具可幫助您測試和排除配置故障:

  • 瀏覽器https ://test-ipv6.com 。注意:Firefox 移動與 IPv6 地址不兼容。

  • IOS : Hurricane Electric IOS 應用程序 pingtraceroute來自 iPhone 和 iPad 的 IPv6 地址

  • 作業系統

    • ifconfig -a
    • netstat -r -f inet6
    • ping6
    • traceroute6
  • Linux

    • ip -6 addr show
    • ip -6 route show
    • route -6 -n
    • ping6
    • traceroute6 -r

2001:4860:4860:8888是用於測試外部連接的好地址;Google的 DNS。

  1. 全球單播定址(“ GUA ”)手動 IPv6 定址:

使用 ::/48 前綴:

2001:db8:1d4f::/48

我將說明如何對分配給我的 ::/48 Hurricane Electric 進行子網劃分並手動定址(2)路由器上的介面。但是,分配給非颶風 ::/48 的過程是相同的

3.1:點對點連結:

在此範例中,我們的 (2) 路由器在ether2上使用自動配置**的本地連結 fe80::/10 地址相互連接。用於自動地址配置的路由器公告是使用這些本地連結 fe80::/10 地址,而不是全球單播地址(“ GUA ”)。

關於RoS v6中的 P-2-P 連結的注意事項:雖然***::/126::/127***似乎是顯而易見的選擇,但對 ::/127 的支持只會出現在 RoS v7中。

3.2 路由器#1:(RB4011

直接連接到 Internet,為無線客戶端公開多個 SSID。儘管在我的 RB4011 上為 IPv6 配置了許多介面,但為了簡化範例,我們將只使用:

  • ether2:到路由器**#2**的上行鏈路。不需要 GUA 地址。
  • wlan1 : 2001:db8:1d4f: 10 ::1/64
  • wlan2 : 2001:db8:1d4f: 11 ::1/64
  • wlan3 : 2001:db8:1d4f: 12 ::1/64
  • ETC….

/ipv6 地址 添加地址=2001:db8:1d4f:10::1 介面=wlan1 添加地址=2001:db8:1d4f:11::1 介面=wlan2 添加地址=2001:db8:1d4f:12::1 介面=無線區域網路3

3.3 路由器#2:(RB951-2n

連接到路由器 #1,為無線客戶端公開單個 SSID。

  • ether2 : 2001:db8:1d4f: 20 ::1/64 到路由器**#1**的上行鏈路。注意:為 WebFig 訪問添加了 GUA 地址
  • 乙太3:2001:db8: 1d4f21 :: 1/64
  • 乙太4:2001:db8: 1d4f22 :: 1/64
  • 乙太5:2001:db8: 1d4f23 :: 1/64
  • wlan1 : 2001:db8:1d4f: 24 ::1/64

/ipv6 地址 添加地址=2001:db8:1d4f:20::1 介面=ether2-master 添加地址=2001:db8:1d4f:21::1 介面=ether3 添加地址=2001:db8:1d4f:22::1介面=ether4 添加地址=2001:db8:1d4f:23::1 介面=ether5 添加地址=2001:db8:1d4f:24::1 介面=wlan1

3.4 附加路由器:

如果有第三個路由器,我們將使用 2001:db8:1d4f: 30 ::X/64,將子網增加 10 並使用主機地址“1”。如果暴露大量 SSID,建議您以大於 10 的偶數倍數遞增子網以保持整潔。

3.5 主機定址:

一旦在路由器上配置了路由器 GUA 地址並完成了以下其他步驟,網路主機將通過SLAAC從與它們連接的路由器介面相同的子網自動配置 GUA 地址。即,使用路由器*#2*的上述定址計劃,連接到路由器#2的AP wlan1的主機將自動配置GUA 地址:

  • 2001:db8:1d4f: 24 :: PrivacyExtensionConfiguredByHost
  1. IPv6 路由:

4.1 RIPng:所有路由器

  1. Routing > RIPng :在所有路由器上的所有路由器介面上啟用RIPng

/routing ripng 介面添加 2. 路由> RIPng > RIPng 設置:啟用“重新分配靜態路由

/routing ripng 設置重新分配靜態=是

4.2 靜態路由:僅路由器 #1

  1. IPv6 >路由:在路由器**#1上,將靜態路由添加到連接到路由器***#1*的路由器**#2(和任何其他路由器)。使用定址計劃,這將是:
2001:db8:1d4f:**20**::1/64

   /ipv6 route
   add distance=1 dst-address=2001:db8:1d4f:20::1/128 gateway=\
       ether2-AP2-RB951-2n
  1. 鄰居發現(“ND”)

鄰居發現 (ND) 用於鏈路層地址解析(類似於 ARP)和地址自動配置。ND 是所有IPv6 地址自動配置的組成部分 - SLAACDHCPv6 伺服器前綴委派(PD)。

IPv6 > ND > Add New:在每個路由器上,僅添加客戶端將連接並用於SLAAC自動地址配置的介面。請注意,MTU 設置為 1280,因為這是 Hurricane Electric 使用的大小,他們路由他們分配給我的 ::/48。

對於路由器**#1**,這將是:

  • 無線區域網路1
  • 無線區域網路2
  • 無線區域網路3
 /ipv6 nd
 set [ find default=yes ] disabled=yes other-configuration=yes
 add hop-limit=64 interface=wlan1 mtu=1280 other-configuration=yes \
     ra-lifetime=10m reachable-time=10m retransmit-interval=10m
 add hop-limit=64 interface=wlan2 mtu=1280 other-configuration=yes \
     ra-lifetime=10m reachable-time=10m retransmit-interval=10m
 add hop-limit=64 interface=wlan3 mtu=1280 other-configuration=yes \
     ra-lifetime=10m reachable-time=10m retransmit-interval=10m

對於路由器**#2**,這將是:

  • 乙太3
  • 乙太4
  • 乙太5
  • 無線區域網路1
 /ipv6 nd
 set [ find default=yes ] disabled=yes hop-limit=64 interface=ether2-master \
     mtu=1280 other-configuration=yes ra-lifetime=10m reachable-time=10m \
     retransmit-interval=10m
 add hop-limit=64 interface=ether3 mtu=1280 other-configuration=yes \
     ra-lifetime=10m reachable-time=10m retransmit-interval=10m
 add hop-limit=64 interface=ether4 mtu=1280 other-configuration=yes \
     ra-lifetime=10m reachable-time=10m retransmit-interval=10m
 add hop-limit=64 interface=ether5 mtu=1280 other-configuration=yes \
     ra-lifetime=10m reachable-time=10m retransmit-interval=10m
 add hop-limit=64 interface=wlan1 mtu=1280 other-configuration=yes \
     ra-lifetime=10m reachable-time=10m retransmit-interval=10m

安全注意事項:使用 ND RA(路由器公告)進行自動地址配置存在安全問題。有權訪問連接網路的攻擊者可以將 RA 注入網路,觸發設備添加 IPv6 地址或預設路由。

  1. 設置 IPv6 DNS 和 NTP 源:

域名解析:

IP > DNS:添加一個 IPv6 DNS 源,例如2001:4860:4860::8888(Google) 到 IPv4 之一:

/ip dns
set allow-remote-requests=yes servers=8.8.8.8,2001:4860:4860::8888

NTP:

系統> NTP 客戶端:添加一個 IPv6 NTP 源,例如2610:20:6f15:15::27到 IPv4 之一:

/system ntp client
set enabled=yes primary-ntp=216.239.35.0 secondary-ntp=2610:20:6f15:15::27
  1. 允許管理員訪問:

如果您想使用 IPv6 地址進行 Webfig 或 SSH 訪問,請不要忘記更新:

IP >服務並添加子網以允許對 MikroTik 進行管理訪問。

結論:

至此,您應該讓客戶端自動配置 IPv6 GUA 地址。如果您發現任何錯誤/遺漏,請告訴我,以便我更新文件。

不要忘記花一些時間配置IPv6 >防火牆並加強安全性,或者至少在您有時間之前禁用 IPv6 介面。希望您發現這很有用,它可以幫助您快速上手。

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