Ipv6
Debian 7 如何設置 IPv6 連結本地地址?
似乎當 dhclient 在 eth0 上執行時,我從 DHCP 伺服器獲得了一個 IPv4 地址和一個 Scope:Link IPv6 地址附加到 eth0:
inet6 addr: fe80::a00:27ff:fed0:4d41/64 Scope:Link
但我無法從 dhclient-script 中看到該地址是如何添加的。在另一個具有靜態 IP 地址的介面上,我想添加一個連結本地 IPv6 地址,我想知道是否有一個通用命令可以在不知道 mac 的情況下執行此操作。
編輯:
當您執行“ip link set dev ethX up”或“ifconfig ethX up”時,核心似乎分配了連結本地地址。但是,在我的情況下,我有一根電纜插入了正在 DHCP 的介面,並且沒有電纜插入我靜態設置的介面。直到星期一才能驗證,但我猜如果沒有連結,核心不會將連結本地地址分配給介面。
鏈路本地地址派生自設備的 MAC 地址。它們是作為啟動界面的一部分自動生成的。自動配置包括一個發現過程,以確保地址在網路上是唯一的。
當路由器通告可用時,類似的過程用於自動配置可路由地址。這些地址可能會定期重新生成以提供隱私。
RFC 4862指定了要遵循的流程。
找到了!這個命令是不夠的:
ifconfig eth0 up
相反,我必須這樣做:
ifconfig eth0 up sysctl -w net.ipv6.conf.eth0.disable_ipv6=0
只有後者會恢復 eth0 上的 IPv6 鏈路本地地址。
換句話說,我的發行版似乎在某處隱藏了一些程式碼,
net.ipv6.conf.eth0.disable_ipv6
每次要求它啟動或關閉網路時,這些程式碼都會動態變化。你的旅費可能會改變。僅僅因為:
sysctl -a | grep ipv6