Verifique se o IP é estático ou dinâmico programaticamente no Ubuntu

1

Estou tentando determinar se meu IP foi atribuído estaticamente ou dinamicamente no Ubuntu 11.04 de dentro de C. O mais próximo que cheguei é examinar /var/lib/dhcp/dhclient.leases , mas isso não muda se um IP estático for atribuído ( armazenando DHCP para futuras tentativas de conexão).

Então ... existe um utilitário de linha de comando (para o Ubuntu) que me permitirá verificar se o DHCP está habilitado ou desabilitado?

Alternativamente: a máquina é um servidor dedicado a uma aplicação; seria mais fácil apenas manter uma variável de ambiente que rastreia o status do DHCP?

    
por Alex Mullans 09.06.2011 / 16:46

2 respostas

1

Em teoria, se o dhcp estiver habilitado, você deve ter o dhclient em execução. Então, uma maneira (embora claudicante) de fazer isso seria simplesmente:

ps ax | grep dhclient | grep eth0 (ou qualquer interface que você queira).

Mas você também pode tentar "nmcli con", que dirá "Auto eth0" (eu acho) se for uma interface dhcp.

Veja também a nm-tool

HTH

    
por 09.06.2011 / 18:17
0

Pode ser possível através da API DBUS do NetworkManager, mas a fonte de endereço IP não aparece na lista de interfaces, tente discutir com os desenvolvedores do aplicativo.

link

    
por 09.06.2011 / 18:05

Tags