天天看點

DHCP伺服器配置-Ubuntu一、安裝DHCP Server二、環境配置三、啟動DHCP服務四、測試DHCP服務

一、安裝DHCP Server

使用指令sudo apt-get install dhcp3-server安裝最新版本的DHCP Server,目前使用的版本為DHCP Server 4.2.4,通過以下指令可以檢視版本資訊:

# dhcpd
           

顯示内容如下:

DHCP伺服器配置-Ubuntu一、安裝DHCP Server二、環境配置三、啟動DHCP服務四、測試DHCP服務

二、環境配置

2.1 建立主配檔案dhcpd.conf

/etc/dhcp/下的dhcp.conf檔案是DHCP伺服器器的主要配置檔案,所有功能都是在該檔案中修改并實作的。在/usr/share/doc/isc-dhcp-server/examples下的dhcpd.conf是DHCP Server的配置模闆,其中有詳細的注釋和所有的配置内容。

下面我們手動建立dhcpd.conf:

# vim /etc/dhcp/dhcpd.conf
           

檔案内容如下:

ddns-update-style none;
ignore client-updates;
default-lease-time 21600;
max-lease-time 43200;
option domain-name "linuxde.net";
option domain-name-servers 202.96.199.133, 116.228.111.118;
option routers 192.168.100.254;
subnet 192.168.100.0 netmask 255.255.255.0 {
    range 192.168.100.50 192.168.100.100;
    option subnet-mask 255.255.255.0;
    host server1 {
            hardware ethernet b0:c0:c3:22:46:81;
            fixed-address 192.168.3.100;
    }
}
           

2.2 其他設定

建立了dhcpd.conf檔案後,基本上已經可以通過sudo service isc-dhcp-server start指令來啟動DHCP服務了,不過還是可能會遇到其他的問題。以下内容為解決可能存在的問題:

2.2.1 更改網卡IP

需要特别注意的是對應的網卡IP必須要在dhcpd.conf可配置設定的IP網段範圍内,比如我設定的網卡eth1 IP為192.168.3.100,而對應的DHCP網段為192.168.100.50~192.168.100.100,那麼DHCP服務就無法正常啟動,我們需要将網卡eth1的IP進行修改:

# sudo vim /etc/network/interfaces
           

修改後的内容如下:

DHCP伺服器配置-Ubuntu一、安裝DHCP Server二、環境配置三、啟動DHCP服務四、測試DHCP服務

如果沒有網卡eth1的配置,可以參照以上内容添加配置。之後再重新開機網絡服務:

# sudo ifdown eth1 && sudo ifup eth1
           

通過ifconfig eth1檢視到網卡eth1的IP已經修改成功後就可以重新啟動DHCP服務了。

2.2.2 建立DHCP伺服器租約檔案

在沒有伺服器租約檔案dhcpd.leases時,一些較低版本的DHCP Server将無法正常啟動,這個時候需要我們手動建立伺服器租約檔案:

# sudo touch /var/lib/dhcp/dhcpd.leases
           

2.2.3 配置網絡接口

沒有指明DHCP伺服器需要在哪一張網卡上啟動時也會出現DHCP服務啟動不成功的情況,可以通過以下操作指明網卡:

# sudo vim /etc/default/isc-dhcp-server
           

打開配置檔案後,我們增加或修改成如下内容:

DHCP伺服器配置-Ubuntu一、安裝DHCP Server二、環境配置三、啟動DHCP服務四、測試DHCP服務

在這裡我們指明了DHCP伺服器啟動的網卡,也就是eth1,修改完後便可以重新啟動DHCP服務。

2.2.4 設定開機啟動

通常我們需要DHCP Server能夠實作開機啟動,這個時候我們就需要用到工具sysv-rc-conf,首先是安裝這個工具:

# sudo apt-get install sysv-rc-conf
           

安裝後可以通過以下指令将DHCP服務加入到開機啟動項中:

# sudo sysv-rc-conf isc-dhcp-server on
           

三、啟動DHCP服務

在所有内容都已經配置好後,通過如下指令便可以啟動DHCP服務:

# sudo service isc-dhcp-server start
           

我們在程序中檢視DHCP是否已經啟動:

# sudo netstat –apn | grep dhcpd    
           

得到的檢視結果如下:

DHCP伺服器配置-Ubuntu一、安裝DHCP Server二、環境配置三、啟動DHCP服務四、測試DHCP服務

說明我們的DHCP服務已經成功啟動并運作了。

如果無法成功啟動,請使用指令dhcpd檢視其中的錯誤資訊,再針對錯誤進行修改,一般是配置檔案設定出錯。

四、測試DHCP服務

測試DHCP服務是否配置成功并且能夠如預期一樣運作有很多種方法,這裡采用比較簡單的一種,看能夠給本機Linux配置設定IP位址、子網路遮罩等。

首先,在啟動好了需要測試網卡的網絡服務和DHCP服務後,我們需要将Linux本機的IP設定成自動擷取,操作如下:

# sudo vim /etc/network/interface
           

可以看到之前我們修改過的網卡配置檔案内容如下:

DHCP伺服器配置-Ubuntu一、安裝DHCP Server二、環境配置三、啟動DHCP服務四、測試DHCP服務

其中eth1為配置網卡的名稱,這裡我們選擇的是eth1;inet後跟的參數為網卡配置的擷取方式,有static和dhcp兩種:static表示網卡eth1配置通過靜态方式擷取,即在該interfaces檔案中配置,dhcp表示通過DHCP服務擷取配置;address、netmask、gateway表示靜态配置後的網卡參數,分别為IP位址、掩碼位址、網關。

這裡我們将擷取方式設定為DHCP服務擷取,修改後内容如下:

DHCP伺服器配置-Ubuntu一、安裝DHCP Server二、環境配置三、啟動DHCP服務四、測試DHCP服務

之後将檔案儲存并退出并重新啟動網卡eth1:

# sudo ifdown eth1 && sudo ifup eth1
           

會出現如下所示過程:

DHCP伺服器配置-Ubuntu一、安裝DHCP Server二、環境配置三、啟動DHCP服務四、測試DHCP服務

之後我們再用指令ifconfig eth1檢視IP位址是否已經重新配置設定:

DHCP伺服器配置-Ubuntu一、安裝DHCP Server二、環境配置三、啟動DHCP服務四、測試DHCP服務

可以看見我們的IP位址從之前靜态配置的IP 192.168.100.80變為了192.168.100.57,并且是192.168.100.50~192.168.100.100間的IP位址,同時之前設定的掩碼位址從255.255.254.0變為了255.255.255.0,廣播位址也正好是我們設定的192.168.1.255。