1

Я пытаюсь найти общее решение для всех дистрибутивов Linux, чтобы определить, является ли IP- адрес, подключенный к системе, статическим или DHCP ?

В Ubuntu я могу определить, статический он или DHCP , выполнив DHCP grep в /var/log/syslog но это не общее решение, оно может отличаться на других платформах.

Одной из целевых плат является Cortina, и я использую open wrt в качестве загрузочного ядра для этого. На Cortina нет var/log/syslog ничего подобного этому тоже нет.

3 ответа3

1

Введите в терминале

cat /etc /network /interfaces

Вы должны найти одну из этих строк

iface eth0 inet dhcp

это означает, что IP для интерфейса eth0 от DHCP

iface eth0 inet static

Выше строки показывает, что IP является статическим. Вы также должны найти другие параметры.

1

Проблема в том, что, например, если вы используете NetworkManager, он будет запрашивать IP-адрес, шлюз и DNS-сервер. Но помимо этого, получив необходимую информацию, он устанавливает статическую адресацию информации. По сути, остальная часть вашей машины не знает и не заботится, является ли адрес статическим или динамическим, просто он имеет адрес.

Вы можете проверить /var/log/syslog на наличие записей DHCPACK. Я считаю, что dhclient и NetworkManager пишут там.

0

Если это CentOS, вы можете проверить /etc /sysconfig /network-scripts /ifcfg-eth0. Проверьте BOOTPROTO запись говорит. Если это dhcp, то его DHCP настроен. Если его статический или нет, то это не DHCP

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .