Openwrt預設安裝的dhcp server是dnsmasq, dnsmasq基本上是一個小型的domain name server但也同時提供dhcp server的功能, 又小又好用, 功能也不少, 實在沒什麼好挑剔的, 不過剛好我的環境中需架設PXE Server, 需要dhcp server, 偏偏dnsmasq不提供指向tftp server的功能, 可是同一lan中同時有兩個dhcp server會很麻煩, 分開兩個lan也是麻煩, 所以一直很想使用功能較完整的dhcp server來取代dnsmasq的dhcp功能, 首先下載我們需要的dhcp server, 可以在這裡http://openwrt.alphacore.net/ 找到,
root@wrt54gs:~# wget \
http://openwrt.alphacore.net/dhcpd_3.0.1_mipsel.ipk
接下來進行安裝,
root@wrt54gs:~# ipkg install dhcpd_3.0.1_mipsel.ipk
安裝好後, 還需要撰寫/etc/dhcpd.conf, 內容大致如下,
#/etc/dhcpd.conf
default-lease-time 7776000;
max-lease-time 7776000;
ddns-update-style none;
server-name drbl;
option routers 192.168.200.254;
option domain-name "alphalab.org";
option domain-name-servers 192.168.200.254;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.200.255;
filename = "pxelinux.0";
subnet 192.168.200.0 netmask 255.255.255.0 {
range 192.168.200.240 192.168.200.249;
host p5020 {
hardware ethernet 00:0B:5D:24:20:63;
fixed-address 192.168.200.100;
}
}
因為dhcpd執行的時候需要dhcpd.leases檔案存在, 所以我們先產生一個空的給他,
root@wrt54gs:~# echo "" > /etc/dhcpd.leases
接下來撰寫啟動腳本, 我們將dhcpd的啟動放在dnsmasq之後, 請建立一個檔案/etc/init.d/S51dhcpd, 內容如下,
#!/bin/sh
/usr/sbin/dhcpd -lf /etc/dhcpd.leases br0
為了不與dnsmasq的dhcp server衝突, 我們必須關閉dnsmasq的dhcp功能, 請修改/etc/init.d/S50dnsmasq如下,
#!/bin/sh
/usr/sbin/dnsmasq
No comments:
Post a Comment