DHCP Serverkonfiguration für Endgeräte mit Provisioning-URL
Gespeichert von root am/um 13 Januar, 2012 - 18:34
Einleitung
Das Phonalisa Provisioning erlaubt es, Endgeräte vollautomatisch zu konfigurieren. Damit die Endgeräte aber die URL bekommen, von der diese sich die Konfiguration beziehen können, muss man diese entweder per Hand eingeben (was bei größeren Installationen lässtig und aufwändig ist) oder per DHCP-Server deployen.
Der DHCP-Server muss meist als Option 66 die TFTP-Boot URL setzen, diese nehmen die meisten Endgeräte als Provisioning URL.
Beispielkonfiguration DHCPD3 unter Linux:
ddns-update-style none;
authoritative;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.24.255;
option routers 192.168.24.1;
option domain-name-servers 192.168.24.1;
option ntp-servers 192.168.24.10;
default-lease-time 259200; # 3 days
max-lease-time 777600; # 9 days
option space OptiIpPhone;
option OptiIpPhone.magic code 1 = string;
option OptiIpPhone.vlanid code 2 = unsigned integer 32;
option OptiIpPhone.url code 3 = string;
class "Grandstream" {
match if (
(substring(hardware, 1, 3) = 00:0B:82)
);
# DHCP options 66
option tftp-server-name "http://192.168.24.10:80/phonalisa/prov/grandstream";
}
class "Snom" {
match if (
(substring(hardware, 1, 3) = 00:04:13)
and not (substring(pick-first-value(option vendor-class-identifier, ""), 0, 8) = "snom-m3-")
);
set vendor-class-identifier = pick-first-value(option vendor-class-identifier, "snom-");
option tftp-server-name "http://192.168.24.10:80";
option bootfile-name "phonalisa/prov/snom/settings.php?mac={mac}";
default-lease-time 2764800; # 32 days
max-lease-time 3024000; # 35 days
}
class "SnomM3" {
match if (
(substring(hardware, 1, 3) = 00:04:13)
and (substring(pick-first-value(option vendor-class-identifier, ""), 0, 8) = "snom-m3-")
);
set vendor-class-identifier = pick-first-value(option vendor-class-identifier, "snom-m3-");
option tftp-server-name "192.168.24.10";
default-lease-time 2764800; # 32 days
max-lease-time 3024000; # 35 days
}
class "SiemensPhone" {
match if (
(substring(hardware, 1, 3) = 00:01:E3) or
(substring(hardware, 1, 3) = 00:1A:E8)
);
vendor-option-space OptiIpPhone;
option OptiIpPhone.magic 53:69:65:6D:65:6E:73:00:00:00;
option OptiIpPhone.url "sdlp://192.168.24.10:18443";
default-lease-time 2764800; # 32 days
max-lease-time 3024000; # 35 days
}
class "PolycomSoundPoint" {
match if substring(hardware, 1, 3) = 00:04:F2;
option tftp-server-name "http://192.168.24.10:80/phonalisa/prov/polycom/";
default-lease-time 2764800; # 32 days
max-lease-time 3024000; # 35 days
}
class "PolycomSoundStation" {
match if substring(hardware, 1, 3) = 00:E0:75;
option tftp-server-name "http://192.168.24.10:80/phonalisa/prov/polycom/";
default-lease-time 2764800; # 32 days
max-lease-time 3024000; # 35 days
}
class "Aastra" {
match if substring(hardware, 1, 3) = 00:08:5D;
option tftp-server-name "http://192.168.24.10/phonalisa/prov/aastra/";
default-lease-time 2764800; # 32 days
max-lease-time 3024000; # 35 days
}
class "Tiptel" {
match if substring(hardware, 1, 3) = 00:15:65;
option tftp-server-name "http://192.168.24.10/phonalisa/prov/tiptel/";
default-lease-time 2764800; # 32 days
max-lease-time 3024000; # 35 days
}
class "elmeg" {
match if substring (hardware, 1, 3) = 00:09:4f;
option tftp-server-name "192.168.24.10";
option bootfile-name "phonalisa/prov/elmeg/settings.php?mac={mac}";
# alternatively (ymmv):
}
subnet 192.168.24.0 netmask 255.255.255.0 {
default-lease-time 259200; # 3 days
max-lease-time 777600; # 9 days
option subnet-mask 255.255.255.0;
range 192.168.24.100 192.168.24.200;
}
