Prever nomes de interface de rede previsíveis antes de reinicializar?

0

Eu realmente gosto de nomes de interface previsíveis Eu só quero conhecê-los antes de reiniciar após um dist-upgrade do Debian para que eu possa mudar o /etc/network/interfaces de acordo. Alguma ideia de como prevê-los?

    
por lathspell 10.07.2018 / 15:31

1 resposta

3

Nota: quando você atualiza um sistema Debian que originalmente usava nomes antigos, ele continuará usando nomes antigos por padrão: o processo de atualização irá colocar um link simbólico para / dev / null como /etc/systemd/network/99-default.link , que substituirá o novo arquivo de política de nomenclatura /lib/systemd/network/99-default.link . Se você optar por usar o novo estilo, basta rm /etc/systemd/network/99-default.link antes de reinicializar após a atualização.

Se a nova versão do conjunto de regras udev já estiver em vigor (como você indicou: depois de apt dist-upgrade , mas antes de reinicializar), então

udevadm info -q all -p /sys/class/net/<current name of interface> |grep ID_NET_NAME

deve exibir todas as opções de nomenclatura, na ordem de prioridade decrescente:

  • ID_NET_NAME_ONBOARD enoN aparecerá se houver informações DMI que identifiquem a interface de rede como uma placa de rede integrada integrada. Por padrão, esse nome tem prioridade sobre todas as outras opções.
  • se a NIC estiver em um slot PCIe hot-plug, você poderá ver um número ID_NET_NAME_SLOT ensN identificando o número do slot correspondente
  • ID_NET_NAME_PATH enpNsM corresponde ao ID do dispositivo PCI N: M.0. Infelizmente, os números do nome do dispositivo estão em decimal, enquanto os IDs do dispositivo PCI usam hexadecimal, portanto, algumas conversões podem estar em ordem.
  • se uma NIC tiver várias portas que aparecem como funções PCI separadas (PCI id N: M.L), então ID_NET_NAME_PATH será enpNsMfL .
  • existe também o formato ID_NET_NAME_MAC enx<MAC address in hex> . Isso não é usado por padrão, mas pode ser conveniente em NICs conectadas por USB.

Se você ainda não executou a atualização, o procedimento seria:

  • primeiro, execute dmidecode -t10 . Se relatar qualquer interface Ethernet, elas serão listadas como onboard ( enoN ).
  • se você tiver NICs em slots PCIe capazes de hot plug , seu manual de hardware provavelmente identificará a numeração dos slots.
  • , use ethtool -i ethN | grep bus-info para ver o identificador de barramento PCI de uma NIC. Converta os números de identificação de barramento de hexadecimal em decimal e você saberá a forma enp... dos novos nomes. Por exemplo:

    info do barramento: 0000: 00: 19.0

mapeará para enp0s25 e um NIC de porta dupla com

bus-info: 0000:01:00.0

e

bus-info: 0000:01:00.1

mapeará para enp1s0f0 e enp1s0f1 .

Se você quiser ajustar a nomenclatura padrão, poderá fazê-lo com .link arquivos no diretório /etc/systemd/network/ : consulte man systemd.link para obter detalhes. Por exemplo, se você quiser usar a nomenclatura de enx<MAC> style para interfaces de rede USB, poderá adicionar o arquivo /etc/systemd/network/81-usbnet.link com o seguinte conteúdo:

[Match]
Path=*usb*

[Link]
NamePolicy=database mac
    
por 10.07.2018 / 17:39