一樣 Ubuntu Desktop 不包含 DHCP server ,Ubuntu 搭配的是 ISC DHCP server ,直接透過 apt-get 來安裝
測試環境為 Ubuntu14.04 x86_64 (虛擬機)
root@ben-virtual-machine:~# apt-get install isc-dhcp-server
因為 Ubuntu 採用 upstart 的開機模式 – https://benjr.tw/38611,設定檔有兩部分 /etc/default/isc-dhcp-server 與 /etc/dhcp/dhcpd.conf .啟動服務的腳本檔則存放在 /etc/init/isc-dhcp-server.conf
root@ben-virtual-machine:~#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="eth0"
我打算在 eth0 設定為 DHCP server 的埠,請先將 eth0 設定為固定 IP:192.168.0.20,如果有多個 interface 要開啟的話,請使用空格分開.
最主要的設定檔 /etc/dhcp/dhcpd.conf
root@ben-virtual-machine:~#vi /etc/dhcp/dhcpd.conf default-lease-time 6000; max-lease-time 72000; option domain-name-servers 168.95.1.1; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.100 192.168.0.200; default-lease-time 600; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; }
安裝好服務是關閉的,需要手動啟動
root@ben-virtual-machine:~#service isc-dhcp-server start isc-dhcp-server start/running, process 3924
成功的話,會看到 “isc-dhcp-server start/running, process 3924(PID)” 的訊息,顯示狀態為 start/running 如果是 isc-dhcp-server stop/waiting 就須要看 syslog
dhcpd 預設利用 syslog 紀錄訊息.
root@ben-virtual-machine:~#cat /var/log/syslog | grep dhcp
下面是關於 PXE 的 DHCP 設定.
Legacy PXE:
[root@benjr ~]# vi /etc/dhcpd.conf default-lease-time 6000; max-lease-time 72000; option domain-name-servers 168.95.1.1; ddns-update-style none; ignore client-updates; allow booting; allow bootp; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.100 192.168.0.200; option broadcast-address 192.168.0.255; option routers 192.168.0.1; option subnet-mask 255.255.255.0; next-server 192.168.0.20; filename "pxelinux.0"; }
設定差不多,多了下面這兩行,
next-server 192.168.0.20;
filename “pxelinux.0”;
其中的 next-server 就是你的tftp server所在的位置.我這邊的例子使用192.168.0.20
在整個 DHCP 設定檔中,最重要的就是 filename “linux-install/pxelinux.0″ 整個網路開機顯示畫面,流程控制都由 pxelinux.0 來管理,關於更多有關於 pxelinux.0 ,請參考 PXELinux 的官方網頁 http://syslinux.zytor.com/wiki/index.php/PXELINUX
UEFI PXE:
設定檔跟上面 Legacy 一模一樣,不過 filename 需要改成為 “BOOTX64.efi”, 關於 uEFI 與 PXE 應用請參考 https://benjr.tw/16137
One thought on “Ubuntu 架設 DHCP Server”