OpenWrt 9: ISC DHCPD – 100% funkcni DHCP server

OpenWrt pouziva na DNS a DHCP server program DNSMASQ. Je maly, jednoduchy a vetsinou funguje. Prave to vetsinou je problem. Uz dvakrat se mi stalo, ze dnsmasq neprideloval IP adresy. Konfigurace byla stejna, jako na spouste dalsich routeru. Ani na oficialnim foru OpenWrt se mi nepodarilo nalezt reseni. Problem jsem vyresil instalaci ISC DHCPD serveru.

V obou pripadech se jednalo o x86 desku PC Engines WRAP 2E1, ktera ma v OpenWrt podporu. Jednou se problem z DHCP objevil u OpenWrt verze 10.03.1, podruhe u nejnovejsiho 15.05. Vzdy oficialne sestavene obrazy z webu. Na ar71xx routerech se mi (zatim) problem s nefunkcnim dhcp nestal.

Protoze na serverech s Ubuntu a Debianem pouzivam vyborny DHCP server od ISC, rozhodl jsem se pro jeho instalci i na OpenWrt. Jeho nejvetsi nevyhodou je vetsi velikost – do routeru se 4 MB flash se nevejde, ale ve wrapech mam minimalne 64 MB Compact flash karty.

V nejnovejsim OpenWrt 15.05 byl bohuzel ISC DHCPD odstranen. Naposledy byl ve verzi 14.07 a to jeste v sekci oldpackages. Nevadi, stale se da nainstalovat. Zde uvedeny postup bude pro x86 OpenWrt ve verzi 15.05.

Instalace ISC DHCPD na OpenWrt 15.05

Balicek nalezeneme na adrese https://downloads.openwrt.org/barrier_breaker/14.07/x86/generic/packages/oldpackages/ zacina znaky „isc-„, doporucuji vyfiltrovat.

Pro instalci staci nasledujici prikazy:

Pozor! Po zkopirovani odkazu z webu OpenWrt vede odkaz na https verzi, ale OpenWrt v zakladu nema nainstalovane libssl. Staci jenom smazat z url pismeno s.

Pote upravime vychozi konfiguraci v souboru /etc/dhcpd.conf pro svoji sit:

Nutne minimum pro spusteni je: /usr/sbin/dhcpd -q -cf /etc/dhcpd.conf br-lan
kde na konci je interface, na kterem bude dhcp server poslouchat (debian-like distribuce ho nastavuji v /etc/default/isc-dhcp-server). 

Protoze OpenWrt vzdy melo chybu v init skriptu /etc/init.d/dhcpd, je potreba skript opravit:

V originalnim skriptu uplne chybi tucne vyznaceny radek. DHCP server pak nefunguje, protoze nevi, kde ma poslouchat.

Nevim proc, ale nekdy se mi behem bootovani dhcpd nespustil 🙁 proto mam pro jistotu jeho restart v /etc/rc.local:

Tim jsou vsechny chyby opraveny.

Na zaver je potreba zakazat automaticke spousteni dnsmasq a naopak povolit ISC DHCPD:

A po restartu bude vse fungovat 🙂

1 komentář u „OpenWrt 9: ISC DHCPD – 100% funkcni DHCP server

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *