ipv6 在沒有路由器的情況下分發 ula 前綴
我有一個沒有 ipv6 連接到網際網路的網路。但我想玩一點私人網路。
所以我想為我的設備使用 ULA 並自動分發前綴。
我知道 ipv6 使用路由器廣告來做到這一點。但是(因此得名……)它也宣傳路由器。在我使用 dnsmasq 的情況下,它是執行它的伺服器的地址。所以它最終在我的客戶中作為預設路由。
由於我沒有路由器並且不希望我的客戶擁有預設路由,有沒有辦法在沒有路由器的情況下動態分配 ula 前綴?
甚至更“高級”:有沒有辦法在沒有路由器的情況下使用 dhcpv6?
這個有可能。
根據RFC 4861(IPv6 中的鄰居發現)*第 4.2 節。*路由器廣告消息格式:
Router Lifetime [...] A Lifetime of 0 indicates that the router is not a default router and SHOULD NOT appear on the default router list. The Router Lifetime applies only to the router's usefulness as a default router; it does not apply to information contained in other message fields or options. Options that need time limits for their information include their own lifetime fields.
使用radvd這可以通過例如:
interface eth0 { AdvSendAdvert on; AdvDefaultLifetime 0; prefix fd10:1::/64 { }; };
使用dnsmasq,它可能看起來像這樣:
enable-ra ra-param=eth0,0,0 dhcp-range=::,constructor:eth0,ra-stateless
(注意 ra 參數。第二個零是路由器的生命週期)(儘管請注意 eth0 配置為具有 fd10:1::XX/64)
兩者都會在用於無狀態自動配置的客戶端上產生一個分配的前綴,從而產生像 fd10:1::c00l:cafe:baad:food 這樣的地址。沒有設置預設路由。
不,Router Advertisements 意味著 RA 發送者願意成為路由器,以及前綴資訊。你需要一個路由器來做任何對 IP 有用的事情。
主機將發送路由器請求。他們將假設返回的路由器廣告來自路由器,並將其連結本地地址用作網關。這樣做的好處是,發現網關是鄰居發現所固有的,自動的,不需要 DHCP。
只允許從您希望成為路由器的主機發送 RA。如果您不希望 dnsmasq 發送 RA,請禁用它。在您的路由器上啟用 RA。如果您還沒有準備好在生產中實施 IPv6,請在測試環境中練習。
對於您的地址計劃,請從您的 ISP 獲取全域可路由前綴,或生成唯一的 ULA 前綴以供使用。請注意,ULA 無法讓您訪問網際網路。