Назад | Перейти на главную страницу

Проверьте, является ли IP статическим или динамическим программно в Ubuntu

Я пытаюсь определить, был ли мой IP-адрес назначен статически или динамически в Ubuntu 11.04 изнутри C. Самое близкое, что я подошел, - это изучение /var/lib/dhcp/dhclient.leases, но это не изменится, если назначен статический IP-адрес (поскольку он кэширует аренду DHCP для будущих попыток подключения).

Итак ... есть ли утилита командной строки (для Ubuntu), которая позволит мне проверить, включен или отключен DHCP?

В качестве альтернативы: машина представляет собой сервер, выделенный для одного приложения; Было бы проще поддерживать переменную среды, которая отслеживает статус DHCP?

Теоретически, если у вас включен dhcp, у вас должен быть запущен dhclient. Таким образом, один (хотя и беспорядочный) способ сделать это будет просто:

пс топор | grep dhclient | grep eth0 (или любой другой интерфейс, который вам нужен).

Но вы также можете попробовать "nmcli con", который сообщит вам "Auto eth0" (я думаю), если это интерфейс dhcp.

Также взгляните на nm-tool

HTH

Это возможно через DBUS API NetworkManager, но источник IP-адреса не отображается в списке интерфейсов, попробуйте обсудить с разработчиками указанного приложения.

http://projects.gnome.org/NetworkManager/developers/spec.html