Добрый вечер!
Внимательно прочитал весь FAQ и форум. Пытался натсроить простейшую конфигурацию.
IP сервера DHCP 10.0.0.2/8
IP свитча 10.90.90.90/8
IP который должен получить клиент в первом порту 10.0.0.130/8
Проще некуда
Настроил свитч как в
FAQ
кроме роутинга в другую сеть.
Код:
config dhcp_relay add ipif System 10.0.0.2
config dhcp_relay option_82 state enable
enable dhcp_relay
save
настройки сервера
Код:
lease-file-name "/var/dhcpd/dhcpd.leases";
ddns-update-style none;
option domain-name-servers 192.168.0.252;
server-identifier 10.0.0.2;
local-address 10.0.0.2;
option subnet-mask 255.0.0.0;
option broadcast-address 10.255.255.255;
option routers 10.0.0.1;
option domain-name-servers 192.168.0.252;
default-lease-time 3100; # 51 minutes.
max-lease-time 604800; # 1 week
authoritative;
log-facility local7;
ignore client-updates;
if exists agent.circuit-id {
log ( info, concat( "Lease for ", binary-to-ascii (10, 8, ".", leased-address), " is connected to interface ",
binary-to-ascii (10, 8, "/", suffix ( option agent.circuit-id, 2)), " , VLAN ",
binary-to-ascii (10, 16, "", substring( option agent.circuit-id, 2, 2)), " on switch ",
binary-to-ascii(16, 8, ":", substring( option agent.remote-id, 2, 6))));
log ( info, concat( "Lease for ", binary-to-ascii (10, 8, ".", leased-address),
" raw option-82 info is CID: ", binary-to-ascii (10, 8, ".", option agent.circuit-id), " AID: ",
binary-to-ascii(16, 8, ".", option agent.remote-id)));
}
class "dlink-1"
{
match if binary-to-ascii(10,8, ":", substring(option agent.circuit-id,4,2)) = "0:1" and binary-to-ascii(16,8, ":", substring(option agent.remote-id,2,6)) = "0:19:5b:ed:a0:f5";
}
subnet 10.0.0.0 netmask 255.0.0.0 {
pool {
range 10.0.0.130;
allow members of "dlink-1";
}
происходит следющее:
Посылается DHCP запрос, класифицируется правильно, направляется ответ с IP внутри. Но почемуто после этого приходят еще запросы и все повторяется. В результате WinXP клиент адрес не получает ( Подкл. ограничено или отсутствует) Все как бы зацикливается.
Вот что в логах DHCP
Код:
Lease for 10.0.0.130 is connected to interface 0/1 , VLAN 1 on switch 0:19:5b:ed:a0:f5
Lease for 10.0.0.130 raw option-82 info is CID: 0.4.0.1.0.1 AID: 0.6.0.19.5b.ed.a0.f5
DHCPDISCOVER from 00:0c:f1:c1:fc:be via 10.90.90.90
DHCPOFFER on 10.0.0.130 to 00:0c:f1:c1:fc:be (mikle-bc4445de5) via 10.90.90.90
DHCPREQUEST for 10.0.0.130 (10.0.0.2) from 00:0c:f1:c1:fc:be via eth1: lease 10.0.0.130 unavailable.
DHCPNAK on 10.0.0.130 to 00:0c:f1:c1:fc:be via eth1
Lease for 10.0.0.130 is connected to interface 0/1 , VLAN 1 on switch 0:19:5b:ed:a0:f5
Lease for 10.0.0.130 raw option-82 info is CID: 0.4.0.1.0.1 AID: 0.6.0.19.5b.ed.a0.f5
DHCPREQUEST for 10.0.0.130 (10.0.0.2) from 00:0c:f1:c1:fc:be (mikle-bc4445de5) via 10.90.90.90
DHCPACK on 10.0.0.130 to 00:0c:f1:c1:fc:be (mikle-bc4445de5) via 10.90.90.90
DHCPDISCOVER from 00:0c:f1:c1:fc:be via eth1: network 10/8: no free leases
Lease for 10.0.0.130 is connected to interface 0/1 , VLAN 1 on switch 0:19:5b:ed:a0:f5
Lease for 10.0.0.130 raw option-82 info is CID: 0.4.0.1.0.1 AID: 0.6.0.19.5b.ed.a0.f5
У меня сложилось впечатление что клиентский комп и свитч какбы мешают друг другу при получение адреса. Или Dhcp relay через option 82 обязательно должно работать через маршрутизатор как в FAQ ?
Никогда не пользовался этой опцией - Подскажите кто знает!!!
p.s
Свитч новый. Firmware: Build 4.01-B19
DHCP ISC V3.1.0