跟高手學習LINUX筆記-24 --構建DHCP服務器

第三章 構建DHCP服務器
本節所講內容:
3.1、DHCP服務器工作原理
3.2、使用DHCP爲局域網中的機器分配IP地址
3.3、使用DHCP爲服務器分配固定IP地址
3.4、ntpdate加計劃任務同步服務器時間

實驗環境:
服務端:dhcpserver IP:192.168.26.72
客戶端:dhcpclient IP:自動分配
服務器:server IP:特別保留

正文部分:
3.1、DHCP服務器工作原理
3.1.1、DHCP工作原理
DHCP服務概述:
1)名稱:DHCP--動態主機配置協議
2)功能:DHCP是一個工作在局域網內網絡協議,使用UDP協議工作, 主要有兩個用途:
1、給內部網絡機器自動分配IP地址信息:IP地址、網關、DNS、域名等
2、配合實現其他目的,如:cobbler網絡部署等
3)特點: C/S 模式
4)安裝服務:
[root@dhcpserver ~]# yum -y install dhcp
3.1.2、工作過程
DHCP client discovery:客戶端發送廣播,在本廣播域中找DHCP server,只有DHCP server會響應此廣播
DHCP server offer:服務器對DHCP client回覆可以提供DHCP服務的響應
DHCP client request:客戶端請求DHCP server分配IP地址
DHCP server ack:服務器對DHCP client回覆可用IP地址等信息
DHCP client request--renew:在50%租約時間內可以自動續約仍然使用分配IP,如果50%沒有得到回覆則仍然使用分配IP;到87.5%租約期再次向服務器發送請求,得到回覆可續約仍然使用分配IP,沒有得到回覆會向本廣播域再次發送DHCP client discovery請求;如果到100%租約時間仍然無DHCP server響應,則自動分配個169.254.0.0/16的地址
DHCP server ack--renew:根據租約時間回覆DHCP client 續約請求

3.2、使用DHCP爲局域網中的機器分配IP地址
查看配置文件dhcpd.conf的內容
[root@dhcpserver ~]# cat /etc/dhcp/dhcpd.conf
#

DHCP Server Configuration file.

see /usr/share/doc/dhcp*/dhcpd.conf.example

see dhcpd.conf(5) man page

由此可以看到,配置文件需要從/usr/share/doc/dhcp*/dhcpd.conf.example複製
[root@dhcpserver ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y
[root@dhcpserver ~]# vim /etc/dhcp/dhcpd.conf

dhcpd.conf

#

Sample configuration file for ISC dhcpd

#

option definitions common to all supported networks...

option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;
max-lease-time 7200;
.......
重要概念與協議說明:
作用域:可以分配IP的範圍 subnet
地址池:可以分配給客戶端的IP,range包括的IP
保留地址:指定某個客戶端使用一個特定IP,通過host配置的
租約(時間):客戶端可以使用這個IP地址的時間
1)subnet 網絡號 netmask 子網掩碼 {......} --重要
作用:定義作用域,指定子網
2)range 起始IP 地址結束IP 地址 --重要
作用:指定動態IP 地址範圍
3)option routers IP 地址 --重要
作用:爲客戶端指定默認網關
如:option routers 192.168.26.2;
4)option domain-name
作用:爲客戶端指定默認的域
5)option domain-name-servers IP 地址
作用:爲客戶端指定DNS 服務器地址
刪除其它內容,只保留下如:
[root@dhcpserver ~]# cat /etc/dhcp/dhcpd.conf
subnet 192.168.26.0 netmask 255.255.255.0 {
range 192.168.26.100 192.168.26.200;
option domain-name-servers 192.168.26.72;
option domain-name "wangtao.com";
option routers 192.168.26.2;
option broadcast-address 192.168.26.255;
default-lease-time 600;
max-lease-time 7200;
}
修改dhcpclient網卡從BOOTPROTO=static爲BOOTPROTO=dhcp
[root@dhcpclient ~]# cd /etc/sysconfig/network-scripts/
[root@dhcpclient network-scripts]# cat ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
NAME=eth0
DEVICE=eth0
ONBOOT=yes
重啓網卡後,發現IP地址已經獲得了
[root@dhcpclient ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:e1:4b:b1 brd ff:ff:ff:ff:ff:ff
inet 192.168.26.100/24 brd 192.168.26.255 scope global dynamic eth0
valid_lft 552sec preferred_lft 552sec
inet6 fe80::20c:29ff:fee1:4bb1/64 scope link
valid_lft forever preferred_lft forever
在dhcpserver服務器上查看IP、租約等信息
[root@dhcpserver ~]# 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

server-duid "\000\001\000\001&F\304y\000\014)\030\344p";

lease 192.168.26.100 {
starts 4 2020/05/07 13:10:47;
ends 4 2020/05/07 13:20:47;
cltt 4 2020/05/07 13:10:47;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 00:0c:29:e1:4b:b1;
client-hostname "dhcpclient";
}
3.3、使用DHCP爲服務器分配固定IP地址
在DHCP 中的IP 地址綁定用於給客戶端分配固定IP 地址。比如服務器需要使用固定IP 地址就可以使用IP 地址綁定,通過MAC 地址與IP 地址的對應關係爲指定的物理地址計算機分配固定IP地址--類似於交換機中端口與MAC地址綁定,此處是IP與MAC地址綁定。
整個配置過程需要用到 host 聲明和hardware、fixed-address 參數。
1)host 主機名 {......}
作用:用於定義保留地址
2)hardware 類型硬件地址
作用:定義網絡接口類型和硬件地址。常用類型爲以太網(ethernet),地址爲MAC 地址。
3)fixed-address IP 地址
作用:定義DHCP 客戶端指定的IP 地址。
3.3.2、給服務器分配固定IP地址
1)查看綁定IP服務器的MAC地址
[root@server ~]# ip addr |egrep ether | awk '{print $2}'
00:0c:29:cc:9e:dc
2)修改dhcpd.conf配置文件
[root@dhcpserver ~]# cat /etc/dhcp/dhcpd.conf
subnet 192.168.26.0 netmask 255.255.255.0 {
range 192.168.26.100 192.168.26.200;
option domain-name-servers 192.168.26.72;
option domain-name "wangtao.com";
option routers 192.168.26.2;
option broadcast-address 192.168.26.255;
default-lease-time 600;
max-lease-time 7200;
host server{
hardware ethernet 00:0c:29:cc:9e:dc;
fixed-address 192.168.26.80;
}
}
藍色字體爲添加內容
[root@dhcpserver ~]# systemctl restart dhcpd
3)修改server網卡從BOOTPROTO=static爲BOOTPROTO=dhcp並刪除配置的IP地址,重啓網卡如果IP獲得是192.168.26.80則說明配置是對的
4)對服務器server網卡修改
[root@server ~]# cd /etc/sysconfig/network-scripts/
[root@server network-scripts]# vi ifcfg-eth0
[root@server network-scripts]# cat ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
NAME=eth0
DEVICE=eth0
ONBOOT=yes
[root@server network-scripts]# systemctl restart network
[root@server ~]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.26.80 netmask 255.255.255.0 broadcast 192.168.26.255
.....

3.4、實戰ntpdate加計劃任務同步服務器時間
服務器時間對分析日誌與處理業務是非常重要的,服務器時間一定要確保正確
[root@server ~]# yum -y install ntpdate
[root@server ~]# which ntpdate
/usr/sbin/ntpdate
[root@server ~]# crontab -e
/3 * /sbin/ntpdate -u times.aliyun.com &> /dev/null
這樣就是三分鐘與時間服務器同步一次。

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