實戰(zhàn):使用DHCP為局域網(wǎng)中的機器分配IP地址
首先為了避免和當前網(wǎng)絡環(huán)境中DHCP沖突,我們使用虛擬機自定義的網(wǎng)絡模式:
使用VMnet2即可
安裝DHCP
1.使用yum進行安裝。
[root@xuegod63 ~]# yum -y install dhcp #使用yum安裝DHCP。
2.配置文件位置:
主配置文件:
[root@xuegod63 ~]# vim /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
3.DHCP主程序包安裝好后會自動生成主配置文件的范本文件。
將范本配置文件復制到/etc 目錄下替換掉空白dhcpd.conf 主配置文件。
[root@xuegod63~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example \
/etc/dhcp/dhcpd.conf
4.啟動DHCP服務
[root@xuegod63~]# systemctl restart dhcpd
Job for dhcpd.service failed because the control process exited with error code. See "systemctl status dhcpd.service" and
"journalctl -xe" for details.
5.此時啟動會失敗
原因:啟動失敗的原因是 dhcp服務器配置的IP地址和默認配置文件里定義的地址段不相同,在啟動DHCP服務之前,需要給DHCPServer配置一個靜態(tài)的IP地址。而且需要DHCP中定義分配的IP地址網(wǎng)段和當前靜態(tài)IP地址網(wǎng)段相同。27行修改為自己的靜態(tài)IP網(wǎng)段。
保證開機啟動:
[root@xuegod63~]# systemctl enable dhcpd #配置的服務要保證開機啟動。
DHCP配置文件參數(shù)說明
主配置文件介紹:
DHCP 范本配置文件內(nèi)容包含了部分參數(shù)、聲明以及選項的用法,其中注釋部分可以放在任何位置,并以“#”號開頭,當一行內(nèi)容結(jié)束時,以“;”號結(jié)束,大括號所在行除外。
可以看出整個配置文件分成全局和局部兩個部分。但是并不容易看出哪些屬于參數(shù),哪些屬于聲明和選項。
概念與協(xié)議:
作用域:可以分配IP的范圍 subnet 。
地址池:可以分配給客戶端的IP,range包括的IP。
保留地址:指定某個客戶端使用一個特定IP,通過host配置的。
租約(時間):客戶端可以使用這個IP地址的時間。
配置文件:/etc/dhcp/dhcpd.conf #部分配置解析
。
先示范個簡單的例子,然后逐個講解各個參數(shù),一般來說,配置文件分為兩部分,一部分為全局配置,第二部分為子網(wǎng)配置,下面例子是簡單的dhcpd配置文件:
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
option domain-name "test.com";
option domain-name-servers 192.168.1.1;
option default-lease-time 600;
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers 192.168.1.1;
range 192.168.1.20 192.168.1.50;
# 下列host www設定一個固定的主機地址。
host www {
hardware ethernet 00:0C:29:37:5B:11;
fixed-address 192.168.1.35;
}
}
注釋:
dhcpd.conf大致可以分為四個區(qū)域:
1)定義dhcpd自身的工作屬性:
例: log-facilify #定義日志facilify
2)全局地址分配屬性:以options開頭。
例:option router 指定網(wǎng)關
3)子網(wǎng)配置:如果子網(wǎng)中沒有定義分配給客戶端的DNS,但全局中有定義,那么子網(wǎng)則繼承全局的DNS,如果子網(wǎng)中定義有DNS,全局中也有定義DNS,那么則根據(jù)那地個作用范圍小則最終生效。通常每個作用域(地址池)通過一個subnet(子網(wǎng))定義。
例:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.0 netmask 255.255.255.0 #定義分配的地址(地址池)
option routes routers rtr-239-0-1.example.org, rtr-239-0-2.example.org; #在子網(wǎng)定義中也可以使用option定義網(wǎng)關,但僅在子網(wǎng)中范圍生效。
}
4)主機配置:
通常為某特定MAC地址固定的分配一個地址。
host fantasia {
hardware ethernet 08:00:07:26:c0:a5; #定義MAC地址。
fixed-address fantasia.fugue.com; #定義固定ip地址。
}
5)文件詳解:
option domain-name "example.org"; #搜索域。
option domain-name-servers ns1.example.org, ns2.example.org; #全局默認DNS。
default-lease-time 600; #默認最小租約期限(單位為秒)。
max-lease-time 7200; #最長租約期限(單位為秒)。
在DHCP引入了租約的概念,所以DHCP服務端在向各個客戶端發(fā)送IP地址時會告知對方,分配的地址使用多長時間,或默認能使用多長時間,在分配的使用時間內(nèi),當達到百分之50時,客戶端則自動向服務端發(fā)起續(xù)租請求(此時以單播方式進行通信)。
50%:DHCP REQUEST,當達到50%時,向服務端發(fā)起續(xù)租,只能在續(xù)租時刻起,續(xù)租過去的50%的兩倍,如果此時續(xù)租失敗,那么則到剩下的時間的50%再次發(fā)起續(xù)租請求(就是整體的時間75%)。
75%:DHCP REQUEST,當達到整體的時間75%時,再次發(fā)起續(xù)租請求,如果此時再次續(xù)租失敗時,那么則到剩下的時間的50%再次發(fā)起續(xù)租請求(就是整體的時間87.5%)。
87.5%:DHCP REQUEST,當達到整體的時間87.5%時,再次發(fā)起續(xù)租請求,如果此時再次續(xù)租失敗時,則會放棄續(xù)租此地址。
當會放棄續(xù)租上個使用的地址時,則再次發(fā)起 DHCP DISCOVER 廣播,重新獲取地址
#ddns-update-style none; #動態(tài)dns。
log-facility local7; #日志地址,在/etc/rsyslog.conf日志服務配置文件中定義所有發(fā)往local7的日志定義存放到/var/log/boot.log文件中。
subnet 10.254.239.0 netmask 255.255.255.224 { #定義分配的IP地址、掩碼。
range 10.254.239.10 10.254.239.20; # 定義地址池,起始地址,結(jié)束地址,以空格分隔。
option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org; #提供的網(wǎng)關
}
subnet 10.254.239.32 netmask 255.255.255.224 {
range dynamic-bootp 10.254.239.40 10.254.239.60; #定義向bootp提供服務,兼容協(xié)議。
option broadcast-address 10.254.239.31; #定義廣播地址。
option routers rtr-239-32-1.example.org;
}
subnet 10.5.5.0 netmask 255.255.255.224 {
range 10.5.5.26 10.5.5.30;
option domain-name-servers ns1.internal.example.org; #定義DNS。
option domain-name "internal.example.org";
option routers 10.5.5.1; #定義默認網(wǎng)關。
option broadcast-address 10.5.5.31; #定義廣播地址。
default-lease-time 600; #默認最小租約期限(單位為秒)。
max-lease-time 7200; #最長租約期限(單位為秒)。
}
host fantasia {
hardware ethernet 08:00:07:26:c0:a5; #定義對方的MAC地址。
fixed-address fantasia.fugue.com; #定義固定ip地址。
}
class "foo" {
match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
} #定義函數(shù),用來定義特定系統(tǒng)分配特定的地址。
常見聲明的使用
1.subnet 網(wǎng)絡號 netmask 子網(wǎng)掩碼 {…}
作用:定義作用域,指定子網(wǎng)。
如圖 所示:
注意:網(wǎng)絡號必須與DHCP 服務器的網(wǎng)絡號相同
2.range 起始IP 地址結(jié)束IP 地址
作用:指定動態(tài)IP 地址范圍
注意:可以在subnet(子網(wǎng))聲明中指定多個range,但多個range 所定義IP 范圍不能重復。
3.常用選項介紹
選項通常用來配置DHCP 客戶端的可選參數(shù),比如定義客戶端的DNS 地址、默認網(wǎng)關等等。選項
內(nèi)容都是以option 關鍵字開始。
實戰(zhàn)-使用DHCP為局域網(wǎng)內(nèi)主機分配IP地址
公司有60 臺計算機,IP 地址段為192.168.1.1-192.168.1.254,子網(wǎng)掩碼是255.255.255.0,網(wǎng)關為192.168.1.1,192.168.1.2-192.168.1.30 網(wǎng)段地址給服務器配置,客戶端可以使用的地址段為192.168.1.100-200,其余剩下的IP 地址為保留地址。
實驗環(huán)境:
不建議虛擬機使用橋接模式操作此實驗,因為你的局域網(wǎng)中有可能就有DHCP服務器,因此很難讓客戶端是從虛擬機搭建的DHCP服務器獲得IP地址。
另外,也可能造成公司局域網(wǎng)中其它機器因為獲得了你DHCP服務器上的IP地址,而上不了網(wǎng)。
1.修改DCHP配置文件:
[root@xuegod63 ~]# vim /etc/dhcp/dhcpd.conf
#編輯DHCP配置文件,刪除其他內(nèi)容,只保留如下內(nèi)容:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option domain-name-servers 192.168.1.1;
option domain-name "xuegod.cn";
option routers 192.168.1.1;
option broadcast-address 192.168.1.255;
default-lease-time 600;
max-lease-time 7200;
}
[root@xuegod63 ~]# systemctl start dhcpd #啟動DCHP服務。
[root@xuegod63 ~]# ps aux|grep dhcp #查看DHCP進程。
dhcpd 4676 0.2 1.9 119060 19040 ? Ss 20:17 0:00 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid
[root@xuegod63 ~]# netstat -tlunp|grep dhcpd #查看DHCP端口是否監(jiān)聽。
udp 0 0 0.0.0.0:67 0.0.0.0:* 1971/dhcpd
udp 0 0 0.0.0.0:30086 0.0.0.0:* 1971/dhcpd
udp6 0 0 :::31454 :::* 1971/dhcpd
2.在xuegod64主機上獲取IP地址。
[root@xuegod64 ~]# service network restart
#重啟網(wǎng)絡服務,由于網(wǎng)絡配置是DHCP方式獲取IP,所以直接重啟網(wǎng)絡服務即可,如果網(wǎng)卡配置為非DHCP方式,需要修改為DHCP方式獲取IP地址。
[root@xuegod64 ~]# ifconfig ens38 #查看是否獲取IP成功。
ens38: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::ad06:ed0b:c309:5e35 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:ba:dc:06 txqueuelen 1000 (Ethernet)
RX packets 105 bytes 33938 (33.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 376 bytes 65115 (63.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
(1)查看默認網(wǎng)關
[root@xuegod64 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 100 0 0 ens33
0.0.0.0 192.168.1.1 0.0.0.0 UG 101 0 0 ens37
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
192.168.1.0 0.0.0.0 255.255.255.0 U 100 0 0 ens37
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
(2)查看DNS
[root@xuegod64 network-scripts]# cat /etc/resolv.conf
[root@xuegod64 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search xuegod.cn cn
nameserver 192.168.1.1
(3)查看租約數(shù)據(jù)庫文件文章來源:http://www.zghlxwxcb.cn/news/detail-405492.html
[root@xuegod63 ~]# cat /var/lib/dhcpd/dhcpd.leases
# The format of this file is documented in the dhcpd.leases(5) manual page.
# This lease file was written by isc-dhcp-4.2.5
lease 192.168.1.100 {
starts 4 2018/10/11 13:18:01;
ends 4 2018/10/11 13:28:01;
cltt 4 2018/10/11 13:18:01;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 00:0c:29:ba:dc:06;
client-hostname "xuegod64";
}
點我建立聯(lián)系文章來源地址http://www.zghlxwxcb.cn/news/detail-405492.html
到了這里,關于Linux云計算之使用DHCP為局域網(wǎng)中的機器分配IP地址的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!