DHCP服務器配置-Centos

一、安裝DHCP Server

使用命令yum install dhcp安裝最新版本的DHCP Server,目前使用的版本爲DHCP Server 4.2.5。通過以下命令可以查看版本信息:

# dhcpd

顯示內容如下:

二. 環境配置

2.1 創建主配文件dhcpd.conf

/etc/dhcp/下的dhcpd.conf文件是DHCP服務器的主要配置文件,所有功能都是在該文件中修改並實現的。在/usr/share/doc/dhcp*下有dhcpd.conf.example和dhcpd6.conf.example分別是IPv4和IPv6的配置模板,其中有詳細的註釋和所有的配置內容。

下面我們手動創建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文件後,基本上已經可以通過service dhcpd start命令來啓動dhcpd服務了,不過還是可能會遇到其他的問題。以下內容爲解決可能存在的問題:

2.2.1 更改網卡IP

在DHCP服務無法正常啓動,通過journalctl –xe查看日誌發現如下錯誤信息:

這通常是因爲對應的網卡IP不在dhcpd.conf可分配的IP網段範圍內,比如我設置的網卡eth0 IP爲192.168.3.100,而對應的DHCP網段爲192.168.100.50~192.168.100.100,則DHCP服務無法正常啓動,只需要將eth0的IP重新修改就行了:

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

將IPADDR修改爲192.168.100.80後,再重啓網絡服務:

# service network restart

通過ifconfig eth0查看IP已經修改成功就可以重新啓動DHCP服務。

2.2.2 創建DHCP服務器租約文件

# touch /var/db/dhcpd.leases

如果沒有創建此文件,啓動服務時候可能會提示以下錯誤信息:

WARNING: host declarations are global. They are not limited to the scope you declared them in.
Can't open lease database /var/db/dhcpd.leases: No such file or directory --

2.2.3 配置網絡接口

當出現not configured to listen on any interfaces這樣的錯誤的時候通常上因爲沒有指明要在哪一張網卡啓動DHCP服務,所以我們需要指定網絡接口名稱。操作如下:

# cp /usr/lib/systemd/system/dhcpd.service /etc/systemd/system/
# vi /etc/systemd/system/dhcpd.service

內容如下:

找到ExecStart這一行,並按照如下格式修改內容:

ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid <指定網卡接口名稱>

修改完繼續執行:

# systemctl --system daemon-reload
# systemctl restart dhcpd.service

2.2.4 設置開機啓動

使用chkconfig實現DHCP服務開機啓動:

# chkconfig dhcpd on

沒有chkconfig的話可以安裝或者採用其他方式。

三、啓動DHCP服務

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

# service dhcpd start

我們在進程中查看DHCP是否已經啓動:

# netstat –apn | grep dhcpd

得到的查看結果如下:

說明我們的DHCP服務確實已經啓動並且成功運行。

四、測試DHCP服務

測試DHCP服務是否配置成功並且能夠如預期一樣運行有很多種方法,這裏採用比較簡單的一種,看能夠給本機Linux分配IP地址、子網掩碼等。

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

# vim /etc/sysconfig/network-scripts/ifcfg-eth0

可以看到對應的網卡配置文件內容如下:

其中DEVICE是物理設備即網卡的名稱;ONBOOT表示是否在Linux啓動時被激活,有yes和no兩個取值;BOOTPROTO表示IP的配置方式,有 三種取值方式:none、static、dhcp,none和static均表示通過指定IP靜態配置的方法,dhcp表示通過DHCP服務器動態分配IP的方式;IPADDR和 NETMASK指IP地址和掩碼地址。

可以看出上面採用的是靜態配置IP的方法,我們將BOORPOTO改爲dhcp,並且將IPADDR和NETMASK註釋掉:

之後將文件保存並退出,設置成自動獲取IP地址後再重新啓動網絡:

# service network restart

網絡重啓成功後,再來查看IP地址是否已經重新分配了:

# ifconfig eth0

可以看見我們的IP地址從之前靜態配置的IP 192.168.100.80變爲了192.168.100.50,並且是192.168.100.50~192.168.100.100間的IP地址,同時之前設置的掩碼地址從255.255.254.0變爲了255.255.255.0。

然後再查看我們的主機域名和對應DNS服務器地址是否設置成功:

# cat /etc/resolv.conf

可以看到結果如下:

正好是我們在dhcpd.conf中設置的內容,說明我們的DNS設置成功了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章