Há muitas informações enganosas sobre como mudar nomes de rede em versões recentes do Ubuntu. Algumas informações apontam para systemd.link, o que é errado porque o Ubuntu (a partir de 16.04) não usa essa parte do systemd.
Na verdade, a mudança do nome da interface funciona quase como antes, com duas pequenas diferenças: primeiro, o arquivo /etc/udev/rules.d/70-persistent-net.rules
agora precisa ser criado manualmente. Isso tem a vantagem de você não precisar se preocupar com qualquer script que sobrescreve este arquivo e pode simplesmente adicionar as linhas necessárias (você também não precisa de nenhum comentário). Em segundo lugar - e esta é a mudança que me custou muito tempo para descobrir isso - o formato mudou ligeiramente em comparação com o Ubuntu 14.04 LTS:
A linha para corrigir o nome da interface da NIC com o endereço MAC "02: 01: 02: 03: 04: 05" para "eth0" é agora:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="02:01:02:03:04:05", ATTR{dev_id}=="0x0", ATTR{type}=="1", NAME="eth0"
Esta linha parece quase a mesma do Ubuntu 14.04 LTS, com uma pequena diferença: no Ubuntu 14.04, havia a condição adicional KERNEL=="eth*"
. Por algum motivo, isso não funciona no Ubuntu 16.04 LTS. Se esta condição adicional estiver presente, a linha inteira será ignorada e você voltará ao comportamento padrão (conforme especificado em 80-net-setup-link.rules
).