Como obter o nome do host do servidor DHCP através do Network Manager?

0

Eu posso obter o nome de host e o endereço IP do servidor DHCP com a invocação do script no diretório /etc/dhcp/dhclient-exit-hooks.d/ , conforme explicado aqui no lado do cliente. Mas parou depois do gerenciador de rede instalado. Eu percebo que o gerenciador de rede não invoca scripts no diretório /etc/dhcp/dhclient-exit-hooks.d/ . Depois de alguma pesquisa, descobri que posso executar um script no diretório /etc/NetworkManager/dispatcher.d/ . Eu tentei (movido arquivo, em seguida, deu permissões), mas não funcionou. Porque não consigo acessar variáveis como $reason, $interface etc. nesse diretório. Estou preso aqui. Então, há uma maneira de obter o nome do host do servidor dhcp via gerenciador de rede? ou como executar um script no diretório dhclient-exit-hooks.d na inicialização, mesmo que o gerenciador de rede seja executado?

    
por Eyüp Alemdar 02.03.2014 / 00:35

2 respostas

0

Eu pesquisei cerca de 8 dias para encontrar uma solução, mas não encontrei nada. Eu desenvolvi meu próprio método. Não é o melhor caminho, mas funciona.

Primeiro passo: o Ubuntu sempre mostra "Aguardando configuração de rede ..." e aguarda 2 minutos para passar isso. Eu mudei duas linhas em failsafe.conf e desabilitei as funções "sleep" para resolver este problema.

* sudo nano /etc/init/failsafe.conf

... 
$PLYMOUTH message –text=”Waiting for network configuration…” 
#sleep 40 

$PLYMOUTH message –text=”Waiting up to 60 more seconds for network…”
#sleep 59 
...

Segundo passo: A rede falha depois de desativar as funções "sleep". Alterei rc.local para executar /etc/init.d/networking restart para configurar a rede corretamente antes do login.

* sudo nano /etc/init/rc.local

/etc/init.d/networking restart
exit 0

Espero que seja útil para alguém que enfrentou o mesmo problema.

    
por 05.03.2014 / 17:14
0

dhclient aprende script frequentemente sem shebang na primeira linha, mas os ganchos NM precisam disso. /etc/NetworkManager/dispatcher.d/xxxx.sh:

#!/bin/bash
if [ "$2" = "hostname" ]; then
  ......
fi
    
por 10.02.2017 / 13:11