Eu sei que existe um parâmetro chamado ip
que permite configurar endereços IPv4 no kernel do Linux por meio do carregador de inicialização. Parece com o seguinte:
ip=192.0.2.1::192.0.2.62:255.255.255.192::eth0:none
Estou procurando um parâmetro igual para a configuração do IPv6. Não consegui encontrar nada sobre isso nas documentações do kernel.
Atualização : Devido a muitos de vocês perguntarem por que eu precisaria disso: surgiu a idéia de usar uma configuração do kernel relacionada a esse problema. Eu suspeito que a configuração regular da interface de inicialização não foi concluída, porque as interfaces já estão ativadas. A razão para isso pode ser que eu estou usando um ambiente de pré-inicialização com um servidor Dropbear SSH para permitir que eu desbloqueie minha partição raiz criptografada. Os endereços IP deste ambiente são configurados através do GRUB com o ip=
parâmetro Não há anúncio DHCP ou roteador disponível nesse segmento Ethernet e, como é o segmento de uplink fornecido por uma grande empresa de hospedagem, não há como mudar esse fato.
ip=
parâmetro foi inicialmente concebido para configurar a pilha de IPs antes que o kernel tente montar um sistema de arquivos raiz NFS , mas acho que você deve confiar em outra coisa para obter o mesmo resultado com o IPv6 (provavelmente o SLAAC).Respostas:
Desculpe, mas se você quiser isso, precisará construí-lo sozinho ou, mais provavelmente, reutilizar a implementação de outra pessoa.
A
ip=
opção de linha de comando que você está usando faz parte do código de inicialização do kernel para montar um sistema de arquivos raiz NFS . Ele nunca foi estendido para o IPv6 e não há parâmetro de inicialização do kernel para configurar o IPv6 no momento da inicialização.Dito isto, algumas distribuições Linux, como a Red Hat, implementaram seu próprio
ipv6=
parâmetro de inicialização para a mídia de instalação. Você poderá reutilizar esse código em seu initramfs personalizado.fonte
De acordo com o Fedora, o parâmetro ip = pode ser usado com endereços IPv4 ou IPv6. Os endereços IPv6 devem estar entre colchetes. Se você precisar de ambos, poderá usar várias opções ip = na linha do kernel, como em:
... 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: nenhum ...
fonte
Todos os seus parâmetros de inicialização estão disponíveis via / proc / cmdline após a inicialização. Portanto, você pode simplesmente configurar todas as opções necessárias através do gancho mkinitcpio personalizado, que analisaria o cmdline em busca de parâmetros específicos. Você pode usar ipv6 = como ip = one.
fonte