Как узнать, использует ли Ubuntu DHCP (Ubuntu 12.04 LTS GUI)

20

Как я могу узнать, является ли мой IP-адрес DHCP, фиксированным или динамическим?

Мне нужно сообщить сетевому администратору, какой IP-адрес используется в моей виртуальной машине. Я знаю цифры, но я не знаю, фиксировано это или нет.

Я попытался: ifconfigи это вернуло мой IP-адрес.

Kevdog777
источник
Администратор сети должен знать с необработанного IP-адреса, является ли он динамическим или статическим. (Или, по крайней мере, уметь угадывать с высокой степенью достоверности.) DHCP всегда должен использовать выделенный пул адресов, и машины со статическим IP-адресом никогда не должны использовать адрес в этом пуле, иначе они рискуют столкнуться с IP-адресом. Если вам нужен статический адрес в пуле DHCP, многие серверы DHCP предлагают способ назначить фиксированное значение на основе идентификатора клиента DHCP или MAC-адреса, но это по-прежнему DHCP.
Уоррен Янг
Спасибо @WarrenYoung, но у сетевого администратора есть полный список всех IP-адресов, которые я использовал, поэтому никаких конфликтов не будет.
Kevdog777

Ответы:

19

Щелкните правой кнопкой мыши значок Network Manager на верхней панели Ubuntu и выберите «Изменить». Перейдите на вкладку «Проводная сеть» или «Беспроводная сеть» и выберите имя сети. Нажмите на кнопку редактирования и перейдите на вкладку настроек IPv4 в новом окне. Если метод автоматический (DHCP), вы используете dhcp.

Другой метод cat /var/log/syslogи проверить что-то вроде ниже

DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 6
DHCPOFFER from 10.100.1.254
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from 10.100.1.254

Если у вас есть что-то похожее на выше. Вы используете DHCP (IP-адреса могут отличаться)

Манула Вайдьянатха
источник
8

Я использую Debian, но каталоги должны быть одинаковыми или похожими. Проверьте, есть ли у вас каталог /var/lib/dhcp. Потом:

ls -lrt /var/lib/dhcp/

Вы должны увидеть файлы с именем . Найдите самый последний файл, связанный с интересующим вас интерфейсом, и откройте его:/var/lib/dhcp/dhclient-random-numbers-eth1.lease

cat /var/lib/dhcp/dhclient-...-eth1.lease

Вывод должен быть примерно таким:

lease {
  interface "eth1";
  fixed-address 192.168.10.12;
  rebind 4 2012/08/02 03:56:17;
  expire 4 2012/08/02 04:41:17;
}

Если /var/lib/dhcpкаталог не существует или если он пуст, вы, скорее всего, не получаете свои IP-адреса от DHCP.

Гермес Конрад
источник
Спасибо за ваш ответ, но, поскольку я использую пользовательский интерфейс, я получил его отсортировано. Но еще раз спасибо.
Kevdog777
3

Педантическое примечание к старому посту: содержимое /etc/network/interfacesрасскажет вам, как интерфейсы МОГУТ управляться при загрузке (или после запуска service networking restart). Это не окончательно. Он не говорит вам, как данный интерфейс был назначен в данный момент. Например, при наличии DHCPуправляемого интерфейса я могу легко убить dhclientи использовать ifconfigдля статического присвоения любому IP-адресу, который я хочу, интерфейсу (я могу назначить IP-адрес в HCHPуправляемом диапазоне, чтобы вызвать еще большую путаницу).

Может быть, другой админ сделал это, чтобы что-то проверить, и забыл убрать. Или я могу работать dhclient eth0на интерфейсе со статическим назначением, теперь DHCPбуду управлять интерфейсом. Или другой администратор, возможно, сделал опечатку и теперь avahiдинамически настраивает интерфейс с локальным адресом связи.

Конечно, такие вещи не случаются каждый день, но это только в условиях разработки или в странных ситуациях, когда я когда-либо спрашивал себя: «Как этот интерфейс был настроен?» В нормальных условиях я никогда не задаю себе этот вопрос.

В общем, я считаю, что ответ «Нет, вы не можете знать наверняка». Насколько известно, ядро ​​не ведет запись. Лучшее, что вы можете сделать, - это grepпройти через обычных подозреваемых /var/log/. Но если кто-то зашел на назначенный вручную статический IP-адрес, вам не повезло.

Ноа Спурриер
источник
Это очень многословный ответ - и только реальная часть этого «ответа» - последний абзац.
Kevdog777
1

Используйте команду:

cat /etc/network/interfaces

Он покажет вам все интерфейсы и какой из них использует dhcp.

Является ли dhcp фиксированным или динамическим, вы должны проверить конфигурацию вашей виртуальной машины. Если вы используете, VM Wareто при редактировании вы получили свойства виртуальной сети. Там вы сможете проверить, если для конкретного виртуального интерфейса у вас есть резервирование dhcp для конкретных машин. Если вы еще не проверили его, мы можем предположить, что вы не изменили конфигурацию по умолчанию, которая является динамической. Вы можете настроить бронирование, если хотите.

Подробности настройки NAT в среде VM Ware: нажмите .

Если мостовое соединение:

Если вы используете мостовое соединение, ваша виртуальная машина должна иметь собственную идентификацию в сети. Например, в сети TCP / IP виртуальной машине необходим собственный IP-адрес. Ваш сетевой администратор может сообщить вам, доступны ли IP-адреса для вашей виртуальной машины и какие сетевые параметры следует использовать в гостевой операционной системе. Как правило, ваша гостевая операционная система может автоматически получать IP-адрес и другие сведения о сети с сервера DHCP, или вам может потребоваться установить IP-адрес и другие данные вручную в гостевой операционной системе.

Если вы используете мостовую сеть, виртуальная машина является полноправным участником сети. У него есть доступ к другим машинам в сети, и с ним могут связываться другие машины в сети, как если бы это был физический компьютер в сети.


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

mnmnc
источник
5
Это, вероятно, не будет работать на Ubuntu, который обычно использует NetworkManagerи нет /etc/network/interfaces.
Scai
Я использую Backtrackкоторый основан на Ubuntu. Если путь будет другим, он, вероятно, будет очень похожим.
mnmnc
Да, это не сработало, оно говорит (с использованием и без использования sudo): auto lo iface lo inet loopback- если это не сработало, но я не понимаю, что там было написано.
Kevdog777
2
Это сработало. У вас нет IP-адреса для eth0. Проверьте в конфигурации виртуальной машины, какой тип сети вы выбрали при создании виртуальной машины. Возможно, вы выбрали опцию «только хост», но вы должны были использовать «NAT».
Mnmnc
3
/etc/network/interfacesэто «ручной» способ настройки сетевых интерфейсов. Backtrack - это дистрибутив для игры с сетевыми конфигурациями, поэтому неудивительно, что он работает вручную. Ubuntu - это дистрибутив, предназначенный для автоматической настройки по предпочтениям и через графический интерфейс, когда это необходимо, поэтому неудивительно, что он поддерживает Network Manager.
Жиль "ТАК - перестать быть злым"