我知道有一个名为的参数ip
可以让你通过引导加载程序在 Linux 内核上配置 IPv4 地址。看起来像下面这样:
ip=192.0.2.1::192.0.2.62:255.255.255.192::eth0:none
我正在寻找 IPv6 配置的相等参数。我在内核文档中找不到任何相关信息。
更新:因为很多人问我为什么需要这个:使用内核配置的想法与这个问题有关。我怀疑常规启动界面配置没有完成,因为界面已经启动。这样做的原因可能是我正在使用带有 Dropbear SSH 服务器的预引导环境来解锁我的加密根分区。此环境的 IP 地址是通过 GRUB 使用ip=
参数配置的。该以太网段上没有可用的 DHCP 或路由器通告,并且由于这是大型托管公司提供的上行链路段,因此无法改变这一事实。
抱歉,但如果你想要这个,你必须自己构建它,或者更可能的是,重用别人的实现。
ip=
您一直在使用的命令行选项实际上是用于安装 NFS 根文件系统的内核引导代码的一部分。它从未针对 IPv6 进行过扩展,并且没有用于在引导时配置 IPv6 的内核引导参数。也就是说,某些 Linux 发行版(例如 Red Hat)已经为其安装媒体实现了自己的
ipv6=
引导参数。您可以在自定义 initramfs 中重用此代码。根据 Fedora,ip= 参数可用于 IPv4 或 IPv6 地址。IPv6 地址必须括在方括号中。如果两者都需要,可以在内核行中使用多个 ip= 选项,如下所示:
... ip=[2001:db8::dead:beef]::[2001:db8::cafe:babe]:64::eth0:none ip=192.0.2.5::192.0.2.1:255.255.255.0:: eth0:无...
启动后,您的所有启动参数都可以通过 /proc/cmdline 获得。因此,您可以通过自定义 mkinitcpio 挂钩设置所有需要的选项,该挂钩将解析 cmdline 以搜索特定参数。您可以像 ip= one 一样使用 ipv6=。
这是在 Hetzner 的救援模式 (Debian 11) 中的样子: