O arquivo /etc/udev/rules.d/70-persistent-net.rules
é gerado automaticamente em um sistema Linux com o udev, se não existir, durante a reinicialização. Mas eu gostaria de saber como criar esse arquivo de regras (com um comando) sem reiniciar o servidor.
Eu estava pesquisando no Google por um tempo e descobri que o arquivo de regras é gerado por este script:
/lib/udev/write_net_rules
No entanto, é impossível executar esse script a partir da linha de comando, pois (presumo) ele deseja ser iniciado pelo udev, com algumas variáveis de ambiente definidas corretamente. Iniciando manualmente, imprime a mensagem de erro "ausente $ INTERFACE". Mesmo se eu definir a variável env INTERFACE = eth0 antes do início do script, ele ainda imprimirá o erro "falta de correspondência válida". Sem mencionar que tenho duas interfaces ( eth0
e eth1
) e quero o arquivo de regras gerado para ambas.
Eu também estava pensando em acionar eventos do udev como este, esperando que ele inicie o script a partir do próprio udev, mas nada muda:
udevadm trigger --type=devices --action=change
Então, alguém sabe como regenerar as regras de rede persistentes no arquivo /etc/udev/rules.d/70-persistent-net.rules
sem reiniciar?
70-persistent-net.rules
nem o/lib/udev/write_net_rules
roteiro nem o . Portanto, não posso verificar, mas presumivelmente a$INTERFACE
variável está definida no próprio script. Muito provavelmente, é passado como argumento. Você pode nos mostrar o conteúdo do script?$INTERFACE
variável. Existem muito mais variáveis simplesmente usadas, nunca declaradas. É porque é chamado pelo udev, e o udev define todas as variáveis env antes de executar o script na inicialização.Respostas:
De acordo com a página do manual,
--action=change
é o valor padrão paraudevadm
.Portanto, é melhor você tentar
--action=add
. Deve ajudar:fonte
No Ubuntu Server 16.04LTS, o 70-persistent-net.rules não existe.
tudo o que fiz foi correr:
Em seguida, crie o arquivo usando
e adicione o seguinte
:wq
salvar o arquivodepois reinicie e ajuste seu arquivo / etc / network / interfaces. Em seguida, reinicie novamente.
fonte
Eu tive o mesmo problema, mas notei que ainda conseguia ver as interfaces na
ip addr
lista. Eu usei o seguinte (como root):Repita para cada interface. Isso foi usado para "recuperar" meu arquivo. (Nota: uma invocação listará todas as interfaces + adicionará renomeação para corresponder a uma, então eu recomendo que você espreite o arquivo de saída após uma invocação)
Definitivamente, existem diferenças entre os sistemas operacionais e as implementações atuais do UDEV e os scripts de suporte. Para observar, eu estava usando o CentOS 6.8 quando fiz isso com sucesso.
Crédito - referenciei principalmente este site. Há um comentário em alguns tópicos abaixo sobre como modificar o script, mas eu preferi usar variáveis de ambiente, pois era mais limpo: https://access.redhat.com/discussions/1240213
fonte