DHCP  

Ubuntu 12.04 的 DHCP server 搭配的是 ISC DHCP server 4,基本安裝並未包含, 可以透過 apt-get 來安裝,步驟簡述如下。

 

1. Get isc-dhcp-server package

sudo apt-get install isc-dhcp-server

 

2. Setup the inteface to enalbe DHCP server

sudo vi /etc/default/isc-dhcp-server

 

 

 

打開來看:

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth2"

 

我打算在 eth2 開啟 DHCP server,如果有好幾個 interface 要開啟的話,用空格分開。

 

3. Edit dhcpd.conf

sudo vi /etc/dhcp/dhcpd.conf

 

dhcpd.conf 本身已經提供相當多的說明與範例(註解以 # 開頭)了,如果需要更清楚的說明,可以參考

   man 5 dhcpd.conf, 或者線上網頁: dhcpd.conf(5) - Linux man page

如果需要詳細的DHCP options 說明,可以參考

  man 5 dhcpd-options,或者線上網頁: dhcpd-options(5) - Linux man page

 

一個簡單的範例:

 

default-lease-time 6000;
max-lease-time 72000;
option domain-name-servers 168.95.1.1;
subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.2  192.168.10.253;
    option routers 192.168.1.254;
}

 

4. Restart DHCP server

sudo service isc-dhcp-server start

 

成功的話,會看到以下的訊息,顯示狀態為 running, 同時告知PID

isc-dhcp-server start/running, process 2631

 

DHCP server 安裝成功後,往後系統開機時 DHCP server 會自動啟動,以下的命令可以讓系統開機時關閉 DHCP server ,需要時再利用以上的命令開啟。

系統開機時DHCP server 關閉:

sudo sh -c "echo 'manual' > /etc/init/isc-dhcp-server.override"

 

 

Ubuntu 12.04 的大部分 service 都已經轉換成 upstart,關於 upstart 的使用可以參考這一篇論壇文章的最佳回答:

What's the recommended way to enable / disable services?

 

Troubleshooting -- 察看安裝的檔案

透過 apt-get install 所安裝的套件(isc-dhcp-server),它所安裝在系統裡的檔案,可以透過以下命令察看

dpkg -L  isc-dhcp-server

 

 

 

Troubleshooting -- 察看syslog

dhcpd 預設利用 syslog 紀錄,可以另外開一個 terminal 來察看 syslog

sudo tail -f /var/log/syslog | grep dhcpd

 

如果 dhcpd 無法正常啟動的話,通常有可能是你在 dhcpd.conf 裡面有了 typo,以下這個範例,就是我把 domain-name-servers 寫成 domain-name-server 少了一個 's'

Nov 23 18:31:43 jackieyeh-VirtualBox dhcpd: /etc/dhcp/dhcpd.conf line 116: unknown option dhcp.domain-name-server
Nov 23 18:31:43 jackieyeh-VirtualBox dhcpd:   option domain-name-server 168.
Nov 23 18:31:43 jackieyeh-VirtualBox dhcpd:           ^
Nov 23 18:31:43 jackieyeh-VirtualBox dhcpd: Configuration file errors encountered -- exiting

 

 

參考資料

Install DHCP server on Ubuntu 10.04
DPKG/APT 常用指令 (上) 
UbuntuTW Guide ch15 – DHCP server
English wiki – upstart

 

(Image by paul bica, CC license)

arrow
arrow

    dragonspring 發表在 痞客邦 留言(0) 人氣()