关于armbian (network manager)以 eui64 的形式获取 Ipv6
刚开始编辑 sysctl 很久发现 ipv6 还不是 eui64, 问了 llm 都没回答对。
查了一下,因为是 network manager接管了这一块,而不是内核管理,随意编辑 sysctl 没用。
查看Linux_ipv6_无状态_设置为_eui64_有状态ipv6更改后缀
—-节选—-
修改 ipv6 无状态地址的缺省模式 addr_gen_mode 为 eui64
检查系统是否有 nmcli 命令。如果没有。-->网络是由内核直接管理的修改方法
执行 nmcli net 检查 NetworkManager 是否启用。
如果返回 disabled 即没启用,-->网络由内核直接管理的修改方法
如果返回 enabled 即启用了。
执行 nmcli device 查看对应的网卡设备是否由 NetworkManager 管理。
显示绿色的 connected 就是由 NetworkManager 管理的。-->由 NetworkManager 管理的修改方法
显示灰色的 unmanaged 是 NetworkManager 没有管理的。-->网络由内核直接管理的修改方法
你也可以考虑,启用NetworkManager对此网卡的管理。 -->见文章后面的“让 NetworkManager 管理有线网卡”
—-
网络由 NetworkManager 管理的,修改eui64方法
Armbian或Debian系统,改缺省无状态ipv6 为 stable-privacy
看帮助 man NetworkManager.conf。
修改 cd /etc/NetworkManager/system-connections/ 目录中对应网卡的文件。比如,Armbian_ethernet文件
[ipv6]
- addr-gen-mode=stable-privacy
+ #addr-gen-mode=stable-privacy
+ addr-gen-mode=eui64
dns-search=
Armbian_ethernet 文件中包含interface-name=eth0 , 所以这个文件是设置有线网卡的。
如果要设置无线网卡为eui64,则去修改对应的包含interface-name=wlan0的配置文件。
对eui64地址,valid_flt 和 preferred_lft 缺省值的修改。debian系统。(未测试)。
看 man systemd.network 有提到 ValidLifetimeSec=,PreferredLifetimeSec=。
另外,sysctl -a| grep _lft 能看到,
net.ipv6.conf.all.temp_prefered_lft = 86400
net.ipv6.conf.all.temp_valid_lft = 604800
net.ipv6.conf.default.temp_prefered_lft = 86400
net.ipv6.conf.default.temp_valid_lft = 604800
但 eui64实际的 valid_lft 远小于 604800,prefered_lft 远大于 86400。
对比 eui64地址的 lft,和路由器上 ipv6-prefix的 lft 基本一样,只差几秒。(2023-10测)
可是,在路由上设置 IPv6 RA Settings -> RA Livetime 为 1800sec,对客户机eui64的两个 lft没影响。
CentOS 或 Debian 修改之后。 systemctl restart NetworkManager 重启服务,即可生效。
#network
刚开始编辑 sysctl 很久发现 ipv6 还不是 eui64, 问了 llm 都没回答对。
查了一下,因为是 network manager接管了这一块,而不是内核管理,随意编辑 sysctl 没用。
查看Linux_ipv6_无状态_设置为_eui64_有状态ipv6更改后缀
—-节选—-
修改 ipv6 无状态地址的缺省模式 addr_gen_mode 为 eui64
检查系统是否有 nmcli 命令。如果没有。-->网络是由内核直接管理的修改方法
执行 nmcli net 检查 NetworkManager 是否启用。
如果返回 disabled 即没启用,-->网络由内核直接管理的修改方法
如果返回 enabled 即启用了。
执行 nmcli device 查看对应的网卡设备是否由 NetworkManager 管理。
显示绿色的 connected 就是由 NetworkManager 管理的。-->由 NetworkManager 管理的修改方法
显示灰色的 unmanaged 是 NetworkManager 没有管理的。-->网络由内核直接管理的修改方法
你也可以考虑,启用NetworkManager对此网卡的管理。 -->见文章后面的“让 NetworkManager 管理有线网卡”
—-
网络由 NetworkManager 管理的,修改eui64方法
Armbian或Debian系统,改缺省无状态ipv6 为 stable-privacy
看帮助 man NetworkManager.conf。
修改 cd /etc/NetworkManager/system-connections/ 目录中对应网卡的文件。比如,Armbian_ethernet文件
[ipv6]
- addr-gen-mode=stable-privacy
+ #addr-gen-mode=stable-privacy
+ addr-gen-mode=eui64
dns-search=
Armbian_ethernet 文件中包含interface-name=eth0 , 所以这个文件是设置有线网卡的。
如果要设置无线网卡为eui64,则去修改对应的包含interface-name=wlan0的配置文件。
对eui64地址,valid_flt 和 preferred_lft 缺省值的修改。debian系统。(未测试)。
看 man systemd.network 有提到 ValidLifetimeSec=,PreferredLifetimeSec=。
另外,sysctl -a| grep _lft 能看到,
net.ipv6.conf.all.temp_prefered_lft = 86400
net.ipv6.conf.all.temp_valid_lft = 604800
net.ipv6.conf.default.temp_prefered_lft = 86400
net.ipv6.conf.default.temp_valid_lft = 604800
但 eui64实际的 valid_lft 远小于 604800,prefered_lft 远大于 86400。
对比 eui64地址的 lft,和路由器上 ipv6-prefix的 lft 基本一样,只差几秒。(2023-10测)
可是,在路由上设置 IPv6 RA Settings -> RA Livetime 为 1800sec,对客户机eui64的两个 lft没影响。
CentOS 或 Debian 修改之后。 systemctl restart NetworkManager 重启服务,即可生效。
#network