4,117 瀏覽數

Ubuntu + DHCP Server

一樣 Ubuntu Desktop 不包含 DHCP server ,Ubuntu 搭配的是 ISC DHCP server ,直接透過 apt-get 來安裝

root@ben-virtual-machine:~# apt-get install isc-dhcp-server

因為 Ubuntu 採用 upstart 的開機模式,所以設定檔有兩部分 /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

進階設定

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"

如果不能用請先確定使用正確的 BOOTX64.efi, uEFI 與 PXE 請參考 http://benjr.tw/16137

網友的想法

  1. 自動參照通知: ubuntu uefi pxe | Benjr.tw

發表迴響