本帖最后由 天权璇玑 于 2023-8-11 17:37 编辑
唯一需要关注的参数是 "$3",它的定义是接受目标系统中网络配置文件目录,对于红帽 9+ 的 NetworkManager,其文件名为:/etc/NetworkManager/system-connections/网卡名.nmconnection ,如:
- /etc/NetworkManager/system-connections/eth0.nmconnection
复制代码
- 函数从存储所有 IPv6 地址的数组,$tmpI6Index 中开始遍历,起始值为 0 ,以适应数组下标对应元素的规则;
- ipv6AddressOrder 对应目标网络配置文件中,“address数字序列=”,由于 NetworkManager 配置文件中,“address数字序列=”是从 1 开始的,如:address1= address2= 等等。所以从数组下标 0 开始的序列,要做一个 + 1 的运算;
- “addIpv6DnsForRedhat”存储配置 IPv6 部分的 DNS,它的值会根据机器在中国大陆境外或境内,给出“addIpv6DnsForRedhat='dns=2606:4700:4700::1001;2001:4860:4860::8844;'”或“addIpv6DnsForRedhat='dns=2402:4e00::;2400:3200::1'”两个不同值;
- “addIpv6AddrsForRedhat”负责将“[ipv6]”条目下“addr-gen-mode=eui64”部分的下面若干行,添加“address数字序列=”等多个 IPv6 配置;
- “setIpv6ConfigMethodForRedhat”部分,负责将“[ipv6]”的配置方法,从动态改为静态。
系统安装好后 IPv6 部分默认配置如下:
- [ipv6]
- addr-gen-mode=eui64
- method=auto
复制代码
经过以上功能在 anaconda 在系统安装好后续阶段,即 %post %end 中修改后,IPv6 部分配置如下:
- [ipv6]
- addr-gen-mode=eui64
- address1=2606:a8c0:3::64/128,fd2e::
- address2=2606:a8c0:3:6f::a/64,fd2e::
- address3=2606:a8c0:3:6f::b/64,fd2e::
- address4=2606:a8c0:3:6f::c/64,fd2e::
- address5=2606:a8c0:3:6f::d/64,fd2e::
- address6=2606:a8c0:3:6f::e/64,fd2e::
- address7=2606:a8c0:3:6f::f/64,fd2e::
- address8=2606:a8c0:3:6f::10/64,fd2e::
- address9=2606:a8c0:3:6f::11/64,fd2e::
- address10=2606:a8c0:3:6f::12/64,fd2e::
- address11=2606:a8c0:3:6f::13/64,fd2e::
- address12=2606:a8c0:3:6f::14/64,fd2e::
- address13=2606:a8c0:3:6f::15/64,fd2e::
- address14=2606:a8c0:3:6f::16/64,fd2e::
- address15=2606:a8c0:3:6f::17/64,fd2e::
- address51=2606:a8c0:3:6f::3b/64,fd2e::
- dns=2606:4700:4700::1001;2001:4860:4860::8844;
- method=manual
复制代码
经过实测,红帽 9+ 新安装系统中,原系统附带的多个 IPv6 地址均已顺利添加到新系统网络配置文件中,折腾终于圆满成功。
后记
Debian 12 preseed late_command 中添加多条 IPv6 语句如下:
Debian 12 重装完成后网络配置文件中写入的多条 IPv6 配置:
Kali rolling preseed late_command 中添加多条 IPv6 语句如下:
Kali rolling 重装完成后网络配置文件中写入的多条 IPv6 配置:
CentOS 9 stream Kickstart network 语句中添加单 IPv4 静态语句如下:
CentOS 9 stream Kickstart 后续执行自定义命令时 %post %end 中为 NetworkManager 配置文件添加多条 IPv6 语句如下:
CentOS 9 stream 重装完成后网络配置文件中写入的多条 IPv6 配置:
|