Os nomes previsíveis da interface de rede não devem mudar quando o hardware é adicionado ou removido. Não é esse o objetivo do esquema de nomeação ???
Minha interface sem fio foi nomeada wlp3s0.
Instalei uma placa de som de interface PCI Express x1 de canais ASUS Xonar DX 7.1 em um slot PCI livre e o nome da minha interface sem fio foi alterado para wlp5s0.
A placa sem fio está no mesmo slot PCI em que estava antes da placa de som ser instalada, então por que o nome da interface mudaria ?!
O mobo é um GIGABYTE GA-970A-UD3 e a placa sem fio é um ASUS PCE-N15. O sistema está executando o Arch Linux com um kernel padrão.
Estou procurando uma explicação razoável de por que o nome da interface mudaria nesse cenário. Se não houver um bom motivo para a alteração do nome da interface, onde arquivo um relatório de bug / com quem reclamo?
Não é grande coisa e a única configuração que eu precisei mudar foi o meu perfil de rede para o netctl. Só acho que se um nome de interface de rede "previsível" não é previsível, eles falharam completamente em seu trabalho e esse esquema de nomeação é um lixo inútil! / discurso retórico
fonte
Respostas:
Para encurtar a história, isso não é novidade; é esperado / pretendido. Portanto, você não precisa registrar um bug, a menos que queira solicitar ao fabricante do PC que suporte melhor o Linux (BIOS) ou o fabricante do hardware (drivers). Algumas opções, se você quiser melhorar a situação dos dispositivos de hot plug e / ou voltar ao antigo esquema de nomenclatura:
net.ifnames=0
cmdline do kernelbiosdevname=1
linha de comando do kernel para incorporar números de índice fornecidos pelo BIOS aos nomesudev
regras para nomes personalizados ou esquemas de nomeação alteradosln -s /dev/null /etc/systemd/network/99-default.link
Se você estiver usando
systemd
e / ouudev
, o argumento "esquema de nomenclatura previsível" poderá ser diferente do que antes. Porém, com base no esquema de nomenclatura da interface WiFi, suponho que você esteja usando um sistemasystemd
.Você pode tentar anexar o seguinte parâmetro de inicialização à linha de comando do kernel para usar a convenção de nomenclatura "antiga" dos dispositivos de rede. No entanto, não tenho certeza de quais efeitos adicionais, se houver, isso pode ter, além de manter o esquema de nomenclatura para dispositivos de rede.
Adicioná-lo a
/etc/default/grub
pode facilitar a persistência e reutilização desse parâmetro; novamente, supondo que você esteja usandogrub2
:Se
udev
usar firmware do dispositivo, local e outras opções ao determinar os nomes do dispositivo, talvez o local ou outra coisa possa ter mudado internamente, dependendo de como os dispositivos relevantes interagem entre si. Isso não parece tão relevante aqui, pois os dispositivos são um adaptador WiFi e uma placa de som. No entanto, pode estar relacionado à estrutura de barramento subjacente; o que parece relevante, pois os dois dispositivos estão conectados aos slots PCI.Informações adicionais do FedoraDocs
8.1 Hierarquia de esquemas de nomenclatura
Por padrão, o systemd nomeará interfaces usando a seguinte política para aplicar os esquemas de nomenclatura suportados:
Esquema 1: Os nomes que incorporam números de índice fornecidos por firmware ou BIOS para dispositivos de bordo (exemplo: eno1) são aplicados se essas informações do firmware ou BIOS forem aplicáveis e disponíveis, e voltarão ao esquema 2.
Esquema 2: Nomes que incorporam Firmware ou BIOS, desde que os números de índice do slot de hotplug do PCI Express (exemplo: ens1) sejam aplicados se essas informações do firmware ou BIOS forem aplicáveis e disponíveis, retornando ao esquema 3.
Esquema 3: Os nomes que incorporam a localização física do conector do hardware (exemplo: enp2s0) são aplicados, se aplicável, voltando diretamente ao esquema 5 em todos os outros casos.
Esquema 4: Os nomes que incorporam o endereço MAC da interface (exemplo: enx78e7d1ea46da) não são usados por padrão, mas estão disponíveis se o usuário escolher.
Esquema 5: O esquema tradicional de nomenclatura imprevisível do kernel é usado se todos os outros métodos falharem (exemplo: eth0).
Esta política, o procedimento descrito acima, é o padrão. Se o sistema tiver o biosdevname ativado, ele será usado. Observe que a ativação do biosdevname requer a passagem
biosdevname=1
como um parâmetro da linha de comando, exceto no caso de um sistema Dell, em que o biosdevname será usado por padrão desde que esteja instalado. Se o usuário adicionouudev
regras que alteram o nome dos dispositivos do kernel, essas regras terão precedência.Recursos adicionais
fonte