跨越极限,Linux一键重装接受Crunchbits机50条IPv6写入大试炼
侧边栏壁纸
  • 累计撰写 65,187 篇文章
  • 累计收到 0 条评论

跨越极限,Linux一键重装接受Crunchbits机50条IPv6写入大试炼

James
2023-08-12 / 0 评论 / 2 阅读 / 正在检测是否收录...

论坛主贴:

https://mjjbbs.eu.org/thread-1159839-1-1.html

github:

https://github.com/leitbogioro/Tools

图库为sm.ms,国内用户需挂梯子全局才能查看。

以下案例除了我自己在用机型,来自其他坛友反馈报告的案例部分均已做隐**理,各位不必担心自己机器的真实IP地址等信息泄露。

省流版

脚本在Crunchbits重装,且支持写入多条IPv6规则的条件限定为以下,缺一不可。如果你的机器没有启动项随意变动的问题,设置启动顺序部分可以忽略。

输入lsblk-ip,如果发现系统分区在/dev/sdb,请务必在后台重新设置一下启动顺序,然后重启系统,再次查看lsblk-ip,确保当前系统内,系统所在分区在/dev/sda重装为Debian/Kali,红帽9+Fedora全系,可保证多IPv6配置不会丢失;重装为AlpineLinux、Ubuntu、Windows或自定义dd后,多IPv6配置会丢失切不可逆,除非用后台模板再次重装;系统本身必须拥有IPv4网络,纯IPv6栈机器暂不支持多IPv6配置添加。Crunchbits重装时如果发现安装器提示无法找到硬盘,是因为其硬盘、光盘启动顺序经常错乱导致的,而非脚本判断系统安装盘失误,安装时如果出现此类错误提示,在面板里重新设置启动顺序,重启安装器即可解决:Crunchbits特价机IPv6网络部分于2023年8月10日UTC+84:00时起开始离线,表现特征为ping外部IPv6服务器时,显示“From_gateway(fd2e::)icmp_seq=1Destinationunreachable:Portunreachable”(来自网关xxx,目标不可达,端口无法建立),其IPv6网络也无法被外界访问。无论是从后台模板建立的系统,还是用我脚本重装过后的系统,目测原因是IPv6栈网络正在维护,此时水友们如果面临“系统中IPv6配置已有,且IPv6不可访问”此种状况,可以在脚本运行时加入--networkstack"bi或bistack或dual或two",如:
bashInstallNET.sh-debian"12"--networkstack"dual"
bashInstallNET.sh-kali"rolling"--networkstack"dual"
bashInstallNET.sh-centos"9"--networkstack"dual"
bashInstallNET.sh-alma"9"--networkstack"dual"
bashInstallNET.sh-rocky"9"--networkstack"dual"
bashInstallNET.sh-fedora"38"--networkstack"dual"


-----------------------------------------------------
网友回复:

有没有一种更“灵巧且简洁”的方法,给Debian系添加多条IP规则呢?这个当然可以有!我翻出来今年(2023年)5月份,帮一个MJJ解决双栈机重装前陷入寻找网络配置文件关键字卡死的问题,该机型是Virmach的,后台模板系统为Debian10,网络配置详情如下:

ifaceeth0inetstatic

address59.67.82.30
gateway59.67.82.1
netmask255.255.255.0
dns-nameservers1.0.0.18.8.4.4
upipaddradd2a12:a520:d420::736f/48deveth0
upipaddradd2a12:a520:2e0b::a89c:11de/40deveth0
upip-6routeadd2a12:a520:2e0b:0000:0000:0000:0000:0001deveth0
upip-6routeadddefaultvia2a12:a520:2e0b:0000:0000:0000:0000:0001deveth0<BR><BR><BR> **网友回复**:


以上目标实现后,我们还需要做一个大胆假设,一个极有可能被忽略的细节:如果机器原环境中,网络配置文件标注的是IPv4dhcp,且IPv4部分为不规则配置,且需要添加多条IPv6地址的情况下,会存在一个漏洞。即:

安装Debian12+/Kali时,还是会优先采用某条IPv6去配置网络,一旦该IPv6配置不属于总网段下的第一个,还是会因为配置IPv6后无法联网而导致安装失败。

所以,脚本获取完双栈机IPv4IPv6网络配置,还需要添加的代码如下:

if[["$IPStackType"=="BiStack"&&"$i6AddrNum"-ge"2"]];then
Network4Config="isStatic"
[["$BiStackPreferIpv6Status"==1]]&&{
BiStackPreferIpv6Status=""
BurnIrregularIpv4Status=1
}
fi


网友回复:

若非展示完整代码,以下案例各语句,仍然是只体现我们尝试、排错思维的精简格式。

我只测试了红帽9+的NetworkManager格式网络配置文件的操作,红帽8及之前ipupdown格式文件的多IPv6写入操作不再考虑支持。

首先我们需要搞清楚,NetworkManager配置有效的,多条IPv6的标准格式应该是什么:

[ipv6]
addr-gen-mode=eui64
address1=2606:a8c0:3:6f::b/64,fd2e::
address2=2606:a8c0:3:6f::c/64,fd2e::
address3=2606:a8c0:3:6f::/64,fd2e::
dns=2606:4700:4700::1001;2001:4860:4860::8844;
method=manual


网友回复:

唯一需要关注的参数是"$3",它的定义是接受目标系统中网络配置文件目录,对于红帽9+的NetworkManager,其文件名为:/etc/NetworkManager/system-connections/网卡名.nmconnection,如:

/etc/NetworkManager/system-connections/eth0.nmconnection

0