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; |
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 |
參考資料
Install DHCP server on Ubuntu 10.04
DPKG/APT 常用指令 (上)
UbuntuTW Guide ch15 – DHCP server
English wiki – upstart
(Image by paul bica, CC license)
留言列表