如何在 Ubuntu 以及 Debian 中安裝 DHCP 伺服器
動態主機配置協議(DHCP) 是一種用於使主機能夠從伺服器自動分配 IP 地址和相關的網路配置的網路協議。
DHCP 伺服器分配給 DHCP 客戶端的 IP 地址處於“租用”狀態,租用時間通常取決於客戶端計算機要求連線的時間或 DHCP 伺服器配置的時間。
DHCP 如何工作?
以下是 DHCP 實際工作原理的簡要說明:
- 一旦客戶端(配置為使用 DHCP 的機器)連線到網路後,它會向 DHCP 伺服器傳送 DHCPDISCOVER 資料包。
- 當 DHCP 伺服器收到 DHCPDISCOVER 請求報文後會使用 DHCPOFFER 包進行回覆。
- 然後客戶端獲取到 DHCPOFFER 資料包,並向伺服器傳送一個 DHCPREQUEST 包,表示它已準備好接收 DHCPOFFER 包中提供的網路配置資訊。
- 最後,DHCP 伺服器從客戶端收到 DHCPREQUEST 報文後,傳送 DHCPACK 報文,表示現在允許客戶端使用分配給它的 IP 地址。
在本文中,我們將介紹如何在 Ubuntu/Debian Linux 中設定 DHCP 伺服器,我們將使用 sudo 命令來執行所有命令,以獲得 root 使用者許可權。
測試環境設定
在這步中我們會使用如下的測試環境。
- DHCP Server - Ubuntu 16.04
- DHCP Clients - CentOS 7 and Fedora 25
步驟 1:在 Ubuntu 中安裝 DHCP 伺服器
1、 執行下面的命令來安裝 DHCP 伺服器包,也就是 dhcp3-server。
$ sudo apt install isc-dhcp-server
2、 安裝完成後,編輯 /etc/default/isc-dhcp-server
使用 INTERFACES
選項定義 DHCPD 響應 DHCP 請求所使用的介面。
比如,如果你想讓 DHCPD 守護程式監聽 eth0
,按如下設定:
INTERFACES="eth0"
同樣記得為上面的介面配置靜態地址。
步驟 2:在 Ubuntu 中配置 DHCP 伺服器
3、 DHCP 配置的主檔案是 /etc/dhcp/dhcpd.conf
, 你必須填寫會傳送到客戶端的所有網路資訊。
並且 DHCP 配置中定義了兩種不同的宣告,它們是:
parameters
- 指定如何執行任務、是否執行任務,還有指定要傳送給 DHCP 客戶端的網路配置選項。declarations
- 定義網路拓撲、指定客戶端、為客戶端提供地址,或將一組引數應用於一組宣告。
4、 現在開啟並修改主檔案,定義 DHCP 伺服器選項:
$ sudo vi /etc/dhcp/dhcpd.conf
在檔案頂部設定以下全域性引數,它們將應用於下面的所有宣告(請指定適用於你情況的值):
option domain-name "tecmint.lan";
option domain-name-servers ns1.tecmint.lan, ns2.tecmint.lan;
default-lease-time 3600;
max-lease-time 7200;
authoritative;
5、 現在定義一個子網,這裡我們為 192.168.10.0/24
區域網設定 DHCP (請使用適用你情況的引數):
subnet 192.168.10.0 netmask 255.255.255.0 {
option routers 192.168.10.1;
option subnet-mask 255.255.255.0;
option domain-search "tecmint.lan";
option domain-name-servers 192.168.10.1;
range 192.168.10.10 192.168.10.100;
range 192.168.10.110 192.168.10.200;
}
步驟 3:在 DHCP 客戶端上配置靜態地址
6、 要給特定的客戶機分配一個固定的(靜態)的 IP,你需要顯式將這臺機器的 MAC 地址以及靜態分配的地址新增到下面這部分。
host centos-node {
hardware ethernet 00:f0:m4:6y:89:0g;
fixed-address 192.168.10.105;
}
host fedora-node {
hardware ethernet 00:4g:8h:13:8h:3a;
fixed-address 192.168.10.106;
}
儲存並關閉檔案。
7、 接下來,啟動 DHCP 服務,並讓它下次開機自啟動,如下所示:
------------ SystemD ------------
$ sudo systemctl start isc-dhcp-server.service
$ sudo systemctl enable isc-dhcp-server.service
------------ SysVinit ------------
$ sudo service isc-dhcp-server.service start
$ sudo service isc-dhcp-server.service enable
8、 接下來不要忘記允許 DHCP 服務(DHCP 守護程式監聽 67 UDP 埠)的防火牆許可權:
$ sudo ufw allow 67/udp
$ sudo ufw reload
$ sudo ufw show
步驟 4:配置 DHCP 客戶端
9、 此時,你可以將客戶端計算機配置為自動從 DHCP 伺服器接收 IP 地址。
登入到客戶端並編輯乙太網介面的配置檔案(注意介面名稱/號碼):
$ sudo vi /etc/network/interfaces
定義如下選項:
auto eth0
iface eth0 inet dhcp
儲存檔案並退出。重啟網路服務(或重啟系統):
------------ SystemD ------------
$ sudo systemctl restart networking
------------ SysVinit ------------
$ sudo service networking restart
另外你也可以使用 GUI 來在進行設定,如截圖所示(在 Fedora 25 桌面中)設定將方式設為自動(DHCP)。
在 Fedora 中設定 DHCP 網路
此時,如果所有設定完成了,你的客戶端應該可以自動從 DHCP 伺服器接收 IP 地址了。
就是這樣了!在本篇教程中,我們向你展示瞭如何在 Ubuntu/Debian 設定 DHCP 伺服器。在反饋欄中分享你的想法。如果你正在使用基於 Fedora 的發行版,請閱讀如何在 CentOS/RHEL 中設定 DHCP 伺服器。
作者簡介:
Aaron Kili 是 Linux 和 F.O.S.S 愛好者,將來的 Linux SysAdmin 和 web 開發人員,目前是 TecMint 的內容建立者,他喜歡用電腦工作,並堅信分享知識。
via: http://www.tecmint.com/install-dhcp-server-in-ubuntu-debian/
作者:Aaron Kili 譯者:geekpi 校對:jasminepeng
相關文章
- 如何在 Debian/Ubuntu 上手動安裝安全更新?Ubuntu
- 如何在CentOS 7、Ubuntu 16.04和Debian 9中安裝Golang 1.8.3CentOSUbuntuGolang
- 如何在 Debian/Ubuntu 系統中檢查程式包是否安裝?Ubuntu
- ubuntu18.04安裝pppoe伺服器和dhcp_dhcpv6伺服器Ubuntu伺服器
- 如何在 Ubuntu 上安裝 EMQX MQTT 伺服器UbuntuMQQT伺服器
- 教你如何在 Ubuntu 18.04 中安裝 gThumb 3.9.1Ubuntu
- 教你如何在 Ubuntu 中安裝 Oracle Java 13UbuntuOracleJava
- Debian環境中安裝git伺服器Gogs(上)Git伺服器Go
- 如何在Ubuntu 18.04伺服器上安裝TensorFlow(Nvidia GPU)Ubuntu伺服器GPU
- 如何在 Ubuntu 伺服器上安裝桌面環境 (GUI)Ubuntu伺服器GUI
- 如何在Ubuntu裡安裝HelmUbuntu
- 如何在 Ubuntu 上安裝 VirtualBoxUbuntu
- 如何在 Ubuntu 上安裝 MongoDBUbuntuMongoDB
- 如何在 Ubuntu 安裝 VMware Workstation ?Ubuntu
- 如何在 Ubuntu 19.04 中安裝 Shutter 截圖工具Ubuntu
- 在 Debian 和 Ubuntu 上安裝 Cutefish 可愛魚Ubuntu
- 如何在Ubuntu/Debian Linux編寫C程式UbuntuLinuxC程式
- 如何在 CentOS、RHEL 和 Fedora 上安裝 DHCP 服務CentOS
- 如何在 Ubuntu 上安裝 Python 3.8UbuntuPython
- Ubuntu2404安裝以及部署dockerUbuntuDocker
- Debian安裝MySQLMySql
- Debian Docker 安裝Docker
- Ubuntu搭建ipv6 dhcp 伺服器Ubuntu伺服器
- 手把手教你如何在Ubuntu系統中安裝PycharmUbuntuPyCharm
- 如何在 Ubuntu 22.04 上安裝 Python Pip?UbuntuPython
- 如何在Ubuntu 16.10上安裝ResourceSpace程式Ubuntu
- 如何在Ubuntu24.04上安裝ELKUbuntu
- 如何在 Ubuntu Linux 上安裝 IntelliJ IDEAUbuntuLinuxIntelliJIdea
- 如何列出 Ubuntu 和 Debian 上已安裝的軟體包Ubuntu
- ubuntu安裝debian包的命令dpkg和apt的詳解UbuntuAPT
- 如何安裝vmware以及如何在vmware上安裝centOS 7.0CentOS
- debian安裝和解除安裝vmware
- 如何在Debian和Ubuntu下重新打包Deb檔案Ubuntu
- Ubuntu中安裝OpenSSLUbuntu
- Ubuntu中安裝DockerUbuntuDocker
- Debian中完全解除安裝MySQL的方法MySql
- 如何在CentOS 8中安裝OpenLiteSpeed Web伺服器CentOSWeb伺服器
- 雲伺服器安裝ubuntu桌面伺服器Ubuntu
- Linux Debian安裝教程Linux