Ubuntu server 11.04
apt-get install dhcp3-server
никаких танцев с включением USE_SOCKETS не проводилось, - все из коробки.
2 локальных интерфейса
192.168.10.1 - оттдает ИП с привязкой к маку - все работает
10.0.0.1 - отдает на d-link 3550 и далее (на данный момент тестируется только с d-link 3550)
Конфиги: dhcpd.conf
subnet 10.0.0.0 netmask 255.255.0.0 {
include "/etc/dhcp/pb.conf";
}
subnet 192.168.0.0 netmask 255.255.0.0{
include "/etc/dhcp/sb.conf";
}
pb.conf
option domain-name-servers хх.хх.хх.хх ,хх.хх.хх.хх;
option routers 10.0.0.1;
default-lease-time 30;
max-lease-time 70;
authoritative;
option broadcast-address 10.0.255.255;
option ntp-servers 195.137.202.4;
#allow unknown-clients;
log(info, "***");
if exists agent.circuit-id {
log( info,concat("*Leased ",binary-to-ascii(10,8,".",leased-address)," (with opt82)") );
log( info,concat("*Remote-ID: ",binary-to-ascii(16,8,":",substring(option agent.remote-id,2,6))) );
log( info,concat("*Port: ",binary-to-ascii(10,8,"",suffix(option agent.circuit-id,1))) );
} else {
log( info,concat("*Leased ",binary-to-ascii(10,8,".",leased-address)," (without opt82)") );
}
log(info, "***");
class "10.0.2.254:7" {
match if binary-to-ascii (10, 8, "", suffix( option agent.circuit-id, 1)) = "7"
and binary-to-ascii(10,8,".",packet(24,4))="10.0.2.254";
}
pool {
range 10.0.2.7;
allow members of "10.0.2.254:7";
}
sb.conf
range 192.168.200.1 192.168.200.250;
option domain-name-servers хх.хх.хх.хх,хх.хх.хх.хх;
option routers 192.168.10.1;
default-lease-time 1114400;
max-lease-time 11172800;
authoritative;
option broadcast-address 192.168.255.255;
option ntp-servers хх.хх.хх.хх
host 1a23{
hardware ethernet 00:1c:25:0f:30:a9;
fixed-address 192.168.10.33;
}
(В файлах даны настройки по одному хосту для каждой подсети)
А теперь суть проблемы - включаю ноут в 7 порт свича,- и получаю 10.0.2.7 - все хорошо. Syslog
ubuntu dhcpd: ***
ubuntu dhcpd: *Leased 10.0.2.7 (with opt82)
ubuntu dhcpd: *Remote-ID: 0:19:5b:8b:7:10
ubuntu dhcpd: *Port: 7
ubuntu dhcpd: ***
ubuntu dhcpd: DHCPREQUEST for 10.0.2.7 (10.0.0.1) from 00:13:77:69:76:34 (homa) via 10.0.2.254
ubuntu dhcpd: DHCPACK on 10.0.2.7 to 00:13:77:69:76:34 (homa) via 10.0.2.254
Перетыкаю патчкорд в другой ноут - Syslog сначала дает
Jun 10 16:23:14 ubuntu dhcpd: DHCPDISCOVER from 00:1e:33:07:ef:89 via 10.0.2.254: network 10.0.0.0/16: no free leases
Jun 10 16:23:23 ubuntu dhcpd: DHCPDISCOVER from 00:1e:33:07:ef:89 via eth0: network 10.0.0.0/16: no free leases
Jun 10 16:23:23 ubuntu dhcpd: DHCPDISCOVER from 00:1e:33:07:ef:89 via 10.0.2.254: network 10.0.0.0/16: no free leases
Оно то и понятно - leases
Но потом начинается такое -
Jun 10 16:26:06 ubuntu dhcpd: ***
Jun 10 16:26:06 ubuntu dhcpd: DHCPDISCOVER from 00:1e:33:07:ef:89 via 10.0.2.254
Jun 10 16:26:06 ubuntu dhcpd: DHCPOFFER on 10.0.2.7 to 00:1e:33:07:ef:89 (NOUT233) via 10.0.2.254
Jun 10 16:26:06 ubuntu dhcpd: DHCPREQUEST for 10.0.2.7 (10.0.0.1) from 00:1e:33:07:ef:89 via eth0: lease 10.0.2.7 unavailable.
Jun 10 16:26:06 ubuntu dhcpd: DHCPNAK on 10.0.2.7 to 00:1e:33:07:ef:89 via eth0
Jun 10 16:26:06 ubuntu dhcpd: ***
Jun 10 16:26:06 ubuntu dhcpd: *Leased 10.0.2.7 (with opt82)
Jun 10 16:26:06 ubuntu dhcpd: *Remote-ID: 0:19:5b:8b:7:10
Jun 10 16:26:06 ubuntu dhcpd: *Port: 7
Jun 10 16:26:06 ubuntu dhcpd: ***
Jun 10 16:26:06 ubuntu dhcpd: DHCPREQUEST for 10.0.2.7 (10.0.0.1) from 00:1e:33:07:ef:89 (NOUT233) via 10.0.2.254
Jun 10 16:26:06 ubuntu dhcpd: DHCPACK on 10.0.2.7 to 00:1e:33:07:ef:89 (NOUT233) via 10.0.2.254
Jun 10 16:26:07 ubuntu dhcpd: DHCPDISCOVER from 00:1e:33:07:ef:89 via eth0: network 10.0.0.0/16: no free leases
Jun 10 16:26:07 ubuntu dhcpd: ***
Jun 10 16:26:07 ubuntu dhcpd: *Leased 10.0.2.7 (with opt82)
Jun 10 16:26:07 ubuntu dhcpd: *Remote-ID: 0:19:5b:8b:7:10
Jun 10 16:26:07 ubuntu dhcpd: *Port: 7
Jun 10 16:26:07 ubuntu dhcpd: ***
Jun 10 16:26:07 ubuntu dhcpd: DHCPDISCOVER from 00:1e:33:07:ef:89 via 10.0.2.254
Jun 10 16:26:07 ubuntu dhcpd: DHCPOFFER on 10.0.2.7 to 00:1e:33:07:ef:89 (NOUT233) via 10.0.2.254
Jun 10 16:26:07 ubuntu dhcpd: DHCPREQUEST for 10.0.2.7 (10.0.0.1) from 00:1e:33:07:ef:89 via eth0: lease 10.0.2.7 unavailable.
Jun 10 16:26:07 ubuntu dhcpd: DHCPNAK on 10.0.2.7 to 00:1e:33:07:ef:89 via eth0
Jun 10 16:26:07 ubuntu dhcpd: ***
Jun 10 16:26:07 ubuntu dhcpd: *Leased 10.0.2.7 (with opt82)
Jun 10 16:26:07 ubuntu dhcpd: *Remote-ID: 0:19:5b:8b:7:10
Jun 10 16:26:07 ubuntu dhcpd: *Port: 7
Jun 10 16:26:07 ubuntu dhcpd: ***
Jun 10 16:26:07 ubuntu dhcpd: DHCPREQUEST for 10.0.2.7 (10.0.0.1) from 00:1e:33:07:ef:89 (NOUT233) via 10.0.2.254
Jun 10 16:26:07 ubuntu dhcpd: DHCPACK on 10.0.2.7 to 00:1e:33:07:ef:89 (NOUT233) via 10.0.2.254
При этом ноут адрес не получает, но логи пишут вроде адрес отдан.
Пробовал менять время leases - толку нет.
Цель - заставить option 82 работать правильно, - при смене устройства не засорять логи, а по истечении скажем 10 минут (default-lease-time 600;) отдавать правильный адрес уже другому маку.
В какую сторону смотреть?