LINUX.ORG.RU
ФорумAdmin

pxe аренда ip адреса


0

1

Здравствуйте, есть вопрос по pxe boot.

вопрос в том, что dhcpd раздает по 2 ip на каждую станцию, хотелось бы, чтобы этого не было, то есть хотелось бы, чтобы на каждую станцию выдавался всего 1 ip не глядя на UID.

На данный момент конфиг сервера выглядит так:

ddns-update-style none;
default-lease-time 300;
max-lease-time 2000;
deny duplicates;
log-facility local7;

shared-network test-1 {
	subnet 192.168.0.128 netmask 255.255.255.192 {
		range dynamic-bootp 192.168.0.131 192.168.0.190;
		option routers 192.168.0.129;
		if exists user-class and option user-class = "iPXE" {
			filename "http://10.4.2.4/ipxe/real_boot_script.php";
		} else {
			filename "undionly.kpxe";
		}
	}
}

вот dhcpd.leases, после загрузки одной станции.

lease 192.168.0.131 {
  starts 4 2012/11/15 09:09:23;
  ends 4 2012/11/15 09:14:23;
  cltt 4 2012/11/15 09:09:23;
  binding state active;
  next binding state free;
  hardware ethernet d0:27:88:af:ea:53;
}
lease 192.168.0.131 {
  starts 4 2012/11/15 09:09:32;
  ends 4 2012/11/15 09:14:32;
  cltt 4 2012/11/15 09:09:32;
  binding state active;
  next binding state free;
  hardware ethernet d0:27:88:af:ea:53;
  uid "\001\320'\210\257\352S";
}
lease 192.168.0.132 {
  starts 4 2012/11/15 09:09:52;
  ends 4 2012/11/15 09:14:52;
  cltt 4 2012/11/15 09:09:52;
  binding state active;
  next binding state free;
  hardware ethernet d0:27:88:af:ea:53;
}
lease 192.168.0.132 {
  starts 4 2012/11/15 09:09:52;
  ends 4 2012/11/15 09:14:52;
  cltt 4 2012/11/15 09:09:52;
  binding state active;
  next binding state free;
  hardware ethernet d0:27:88:af:ea:53;
}

не очень хорошо, что тратится по 2 адреса на каждый компютер.

как можно заставить dhcp сервер смотреть исключительно на MAC адрес: deny duplicates не помогло или просто я не понял, как оно работает, но разницы нет вообще, что deny duplicates, что allow duplicates.

может можно передать ip адрес ядру из undionly.kpxe, затем загрузиться, считать адрес из /proc/cmdline, затем настроить dhclient, чтобы он запрашивал обновление адреса, полученного из cmdline, но это второй вариант (более сложный) может кто-то подскажет?

★★★

Гугл говорит про опцию «one-lease-per-client» или предлагает по «dhcp-client-identifier option» отделять pxe-ip адреса и давать им совсем короткое время жизни.

Передать pex-ip адрес ядру, вроде, никак нельзя.

mky ★★★★★ ()
Ответ на: комментарий от mky

ну один способ мне в голову пришел.

передать ip, полученный undionly.kpxe на web server )что-то типа такого php?ip=${ip} а затем с вебсервера отправить обратно вместе с ядром параметры ядру, дальше их разобрать в initrd и настроить eth0 в соответствии с этими параметрами.

IvanR ★★★ ()
Ответ на: комментарий от IvanR

one-lease-per-client не срабоотало почему-то. сработало на основе dhcp-client-identifier и маленького времени аренды.

Все равно не совсем то, что хотелось получить

IvanR ★★★ ()
Ответ на: комментарий от IvanR

С веб-сервером, ИМХО, перебор. Лучше уж воскресить RARP, скрестив его с лизами dhcpd. Правда, от ip-адреса толку особо не будет, в общем случае dhcp это настройки DNS, маршруты.

и настроить eth0 в соответствии с этими параметрами.

А в случае двух сетёвок в системе?

Наверное, лучше просто побыстрее забирать адрес и PXE и всё. Я не помню, но вроде tftp пишет в логи про закачки.

mky ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.