跨多個 MikroTik 路由器手動對 IPv6 前綴進行子網劃分,無需前綴委派
我想配置我的網路,以便主機可以使用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 伺服器實施,請繼續閱讀…
- 如何範圍:
本 HowTo 將指導手動劃分 ::/48 前綴和配置 (2) 具有鄰居發現、啟用RIPng和一些靜態路由的路由器。主機將在它們連接的介面的子網上配置一個 GUA 地址。
Prefix Distribution、DHCPv6 Server和DHCPv6 Client不包括在內,因為它們未在配置中使用。
我也沒有詳細說明 ::/48 如何從路由器 #1路由到 Internet,因為這可能是特定於網路的。即,分配給我的 ::/48 Hurricane Electric(免費!)路由出6to4隧道,而您可能有一個 ::/48 直接由您的 ISP 分配並且沒有。
IPv6 安全性是一個更好地單獨處理的主題,並且超出了本 HowTo 的範圍。如果您沒有配置 IPv6 FW,則在一切正常後,您可以禁用 IPv6 介面,直到您配置一組合理的規則。
- 兼容性:
由於此配置僅使用鄰居發現、手動定址介面、RIPng和一些靜態路由,因此它應該不會在未來的RouterOS升級中受到損壞。
使用此解決方案測試成功自動定址的客戶:
- Raspberry Pi4 :使用 DHCP執行Buster
- MacBook :再次使用預設 DHCP執行 OSX Catalina 10.15.3
- IOS和iPadOS 13.41
- Windows:使用橋接在我的 MacBook 上執行的Virtualbox VM Windows 10 VM
- IPv6 測試工具:
一些與 IPv6 兼容的工具可幫助您測試和排除配置故障:
瀏覽器:https ://test-ipv6.com 。注意:Firefox 移動與 IPv6 地址不兼容。
IOS : Hurricane Electric IOS 應用程序
ping
和traceroute
來自 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。
- 全球單播定址(“ 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: 1d4f:21 :: 1/64
- 乙太4:2001:db8: 1d4f:22 :: 1/64
- 乙太5:2001:db8: 1d4f:23 :: 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
- IPv6 路由:
4.1 RIPng:所有路由器
- Routing > RIPng :在所有路由器上的所有路由器介面上啟用RIPng
/routing ripng 介面添加 2. 路由> RIPng > RIPng 設置:啟用“重新分配靜態路由”
/routing ripng 設置重新分配靜態=是
4.2 靜態路由:僅路由器 #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
- 鄰居發現(“ND”)
鄰居發現 (ND) 用於鏈路層地址解析(類似於 ARP)和地址自動配置。ND 是所有IPv6 地址自動配置的組成部分 - SLAAC、DHCPv6 伺服器和前綴委派(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 地址或預設路由。
- 設置 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
- 允許管理員訪問:
如果您想使用 IPv6 地址進行 Webfig 或 SSH 訪問,請不要忘記更新:
IP >服務並添加子網以允許對 MikroTik 進行管理訪問。
結論:
至此,您應該讓客戶端自動配置 IPv6 GUA 地址。如果您發現任何錯誤/遺漏,請告訴我,以便我更新文件。
不要忘記花一些時間配置IPv6 >防火牆並加強安全性,或者至少在您有時間之前禁用 IPv6 介面。希望您發現這很有用,它可以幫助您快速上手。