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

Есть ли эквивалент «netsh dhcp» в Linux / BSD

У меня есть DHCP-сервер под управлением Windows 2003 Server. Я хотел бы запросить базу данных аренды, чтобы найти подробную информацию об аренде для определенного IP-адреса. Как мне сделать это удаленно из Linux?

В Windows XP есть эта команда:

netsh dhcp server <type.srvIP.here> scope s.s.s.s show client | find "clientIP" 

10.1.1.100      - 255.255.255.0  -10-12-34-56-78-9a   - NEVER EXPIRES        -D

Ищу соответствие между IP / MAC-адресом с арендой на Windows dhcp server 2003.

Почему бы не попробовать Winexe? Он предоставляет вам доступ к консоли Windows из Unix-подобной системы.

Я не хочу читать аренду на сервере * nix dhcpd, но на сервере dhcp windows 2003

Вы не задумывались о простой настройке SSH-сервера на вашем компьютере с Windows? После установки все, что вам нужно сделать, это просто ssh и запустить netsh.

Я не могу ничего установить на свой Windows Box, потому что это мой контроллер домена.

Тогда вам, вероятно, не повезло.

Единственное, что я могу придумать, это просто попросить администраторов Windows настроить сценарий, который использует netsh для периодического сброса базы данных dhcp в файл, который вы можете просмотреть.

Какой бы ОС ни был DHCP-сервер, аренда должна храниться на DHCP-клиенте, даже если только для того, чтобы знать, когда аренда должна быть продлена. Где хранится аренда, зависит от вашего DHCP-клиента и вашего O / S.

В OpenBSD история аренды хранится в /var/db/dhclient.lease.interfacename. Чтобы увидеть это, вы можете использовать 'cat' & tail (для отображения только последней аренды):

benoit@alix [/var/db] sudo cat dhclient.leases.vr2 | tail -14
Password:
lease {
  interface "vr2";
  fixed-address nnn.nnn.nnn.nnn;
  server-name "dhcp.server.fqdn";
  option subnet-mask nnn.nnn.nnn.nnn;
  option routers nnn.nnn.nnn.nnn;
  option broadcast-address nnn.nnn.nnn.nnn;
  option dhcp-lease-time 604800;
  option dhcp-message-type 5;
  option dhcp-server-identifier nnn.nnn.nnn.nnn;
  renew 3 2009/9/30 08:39:39;
  rebind 5 2009/10/2 23:39:39;
  expire 6 2009/10/3 20:39:39;
}

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

Я не верю, что есть инструмент, позволяющий делать это удаленно для платформы * nix. В большинстве документов вам будет предложено прочитать файл dhcpd.leases прямо на сервере и вручную получить оттуда нужную информацию. Вы всегда можете написать сценарий Perl (или другой аналогичный), чтобы сделать это, но я еще не нашел легкодоступного.