DHCP 服務器配置屬性包括主機名、域名、時間服務器和打印服務器。 服務器可以使用客戶端MAC地址、地址池和自動方式分配IP。
在本文中,我們將展示如何在 Ubuntu 18.04 上安裝和配置 dhcp。 我們將安裝 isc-dhcp-server,設置 IP 範圍,它將使用 DHCP 服務器為客戶端提供 IP,並為具有特定 MAC 地址的客戶端分配一個固定的 IP 地址。
如何安裝DHCP服務器
首先,您需要安裝 DHCP 服務器,您可以通過運行以下命令來完成:
sudo apt install isc-dhcp-server
如何配置DHCP服務器
安裝完成後,您需要分配 DHCP 服務器將在其上提供服務的網絡接口。 為此,請通過任何文本編輯器編輯 DHCP 服務器的默認配置文件(為此我使用了 vim):
sudo vim /etc/default/isc-dhcp-server
在默認配置文件中編輯值 INTERFACESv4
並編寫您希望 DHCP 服務器為請求提供服務的那個。
INTERFACESv4="eth0"
如果您有多個接口 DHCP 提供服務,請將它們添加到用空格分隔的引號內。
INTERFACESv4="eth0 eth1"
一旦分配了接口,您就可以繼續進行 DHCP 服務器配置。 要配置 DHCP 服務器,請通過任何文本編輯器編輯 /etc/dhcp/dhcpd.conf 文件。 為此,請鍵入以下命令:
sudo vim /etc/dhcp/dhcpd.conf
根據您在下面提到的部分中更改域名和域名服務器 (DNS):
# option definitions common to all supported networks...
option domain-name "your_domain.com";
option domain-name-servers ns1.your_domain.com, ns2.your_domain.com;
如果此 DHCP 服務器是本地網絡的官方 DHCP 服務器,則 authoritative
指令應取消註釋。
authoritative;
對於內部子網配置,請找到“內部子網略有不同的配置”部分。 註釋,取消註釋該部分中的所有行並根據需要更改值。 為了 example:
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.150 192.168.0.170;
option domain-name-servers ns1.your_domain.com;
option domain-name "local.your_domain.com";
option subnet-mask 255.255.255.0;
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
default-lease-time 600;
max-lease-time 7200;
}
在此配置中,我們提到了本地域名、DNS、IP 將分配給客戶端的 IP 範圍、默認和最大租用時間。
重新啟動 DHCP 服務器,它將根據您的配置啟動服務。 要重新啟動,請鍵入:
systemctl restart isc-dhcp-server
為具有特定 MAC 地址的客戶端分配固定 IP 地址
如果您想為特定客戶端分配特定 IP 地址,您可以使用客戶端的 MAC 地址來實現該目標。 這意味著固定 IP 地址將分配給在配置文件中配置了 MAC 地址的客戶端,而不會分配給任何其他客戶端。
要檢查客戶端機器上的 MAC 地址,請運行:
ip a
輸出將如下所示:
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:39:c7:81 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.125/24 brd 192.168.0.255 scope global dynamic eth0
valid_lft 73924sec preferred_lft 73924sec
inet6 2600:3c01::f03c:91ff:fe62:5d78/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 598sec preferred_lft 298sec
inet6 fe80::f03c:91ff:fe62:5d78/64 scope link
valid_lft forever preferred_lft forever
下劃線部分是上述網絡適配器的 MAC 地址。 要將固定 IP 地址分配給特定 MAC 地址,請編輯 vim /etc/dhcp/dhcpd.conf
文件並添加以下部分(您必須為不同的客戶端添加不同的部分):
host fixed-ip-client {
hardware ethernet 00:0c:29:39:c7:81;
fixed-address 192.168.0.220;
}
正如您所注意到的,我們為客戶端提供了一個 IP 地址,該地址超出了我們配置為使用 DHCP 服務器的範圍。 如果您使用 IP 範圍內的 IP 地址,DHCP 服務器將跳過該 IP 地址動態租用給客戶端,您的 IP 範圍實際上將減少一個 IP 地址。
在配置文件中進行更改後,保存並重新啟動 DHCP 服務器以應用更改。 要重新啟動,請鍵入以下命令:
systemctl restart isc-dhcp-server
客戶端配置
在客戶端機器上,您需要確保在 IPv4 設置中設置了自動(DHCP)方法,如果您已經連接,則重新啟動連接。 為此,請執行以下步驟。 按屏幕右上角的網絡連接圖標,確保選中“啟用網絡”,如果已連接,請斷開與當前網絡的連接,然後按編輯連接,如下面的屏幕截圖所示:
打開“編輯連接”窗口後,選擇您的連接並按編輯:
在打開的窗口中選擇 IPv4 設置選項卡,選擇自動(DHCP)作為默認方法,然後按“Save“ 按鈕:
關閉所有打開的窗口,再次按網絡連接圖標,然後按您的連接名稱以連接到網絡。
完成所有這些步驟後,客戶端計算機將從 DHCP 服務器獲取 IP 地址。 但是,在某些情況下,只是斷開/連接不會發生更改。 對於這種情況,您可以重新啟動網絡服務以應用更改並從新的 DHCP 服務器接收 IP 地址,因為我們已將 isc-dhcp-server 設置為權威。 因此,它將成為您子網的默認 dhcp 服務器。 要在 Ubuntu 18 機器命令行上重新啟動網絡服務,您可以運行以下命令之一:
sudo systemctl restart NetworkManager.service
或者
sudo service network-manager restart
網絡服務重啟後,如果你檢查網絡配置 ifconfig
或 ip 命令,您將看到如下輸出:
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:39:c7:81 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.220/24 brd 192.168.0.255 scope global dynamic eth0
valid_lft 73924sec preferred_lft 73924sec
inet6 2600:3c01::f03c:91ff:fe62:5d78/64 scope global dynamic mngtmpaddr noprefixroute
valid_lft 598sec preferred_lft 298sec
inet6 fe80::f03c:91ff:fe62:5d78/64 scope link
valid_lft forever preferred_lft forever
這個確切的輸出來自我們配置為接收固定 IP 地址的客戶端機器。 從輸出中可以看出,它收到了我們設置的 192.168.0.220 IP 地址 /etc/dhcp/dhcpd.conf
dhcp 服務器上的文件。
另請閱讀
- 如何在 Ubuntu 18.04 上配置靜態 IP 地址
- netctl – 在 Arch Linux 上設置 Wifi 和靜態 IP
- 如何在 Linux 中使用 IP 命令並舉例
如果您參考本教程,DHCP 服務器的安裝和配置不會超過幾分鐘。 設置 DHCP 服務器網絡管理員可以節省大量時間,他們將花在一個接一個地配置客戶端的機器上。