虚拟化容器,大数据,DBA,中间件,监控。

DHCP企业实战

06 02月
作者:admin|分类:应用管理

 

 

DHCP服务简介

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、网关地址、DNS服务器地址等信息,并能够提升地址的使用率。

DHCP协议采用客户端/服务器模型,主机地址的动态分配任务由网络主机驱动。当DHCP服务器接收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。

DHCP协议采用UDP作为传输协议,主机发送请求消息到DHCP服务器的68号端口,DHCP服务器回应应答消息给主机的67号端口。

 

DHCP服务的工作原理:

1、DHCP Client以广播的方式发出DHCP Discover报文。

2、有的DHCP Server都会给出响应,向DHCP Client发送一个DHCP Offer报文。

3、DHCP Client会发出一个广播的DHCP Request报文,在选项字段中会加入选中的DHCP Server的IP地址和需要的IP地址。

4、DHCP Server收到DHCP Request报文后,判断选项字段中的IP地址是否与自己的地址相同。如果相同,DHCP Server就会向DHCP Client响应一个DHCP ACK报文。

5、DHCP Client接收到DHCP ACK报文后,检查DHCP Server分配的IP地址是否能够使用。

6、DHCP Client在成功获取IP地址后,随时可以通过发送DHCP Release报文释放自己的IP地址。

 

 

DHCP服务器配置

 

DHCP服务器:10.0.0.240

DHCP 客户端:10.0.0.8

 

1、安装DHCP软件包

yum install -y dhcp dhcp-devel

2、dhcp配置文件

subnet 10.0.0.0 netmask 255.255.255.0 {        #网段和子网掩码

range 10.0.0.3 10.0.0.254;            #可自动获取的IP地址范围

option domain-name-servers 61.139.2.69;        #dns服务器名称

option routers 10.0.0.2;                    #网关地址

option broadcast-address 10.0.0.255;        #广播地址

option ntp-servers 10.0.0.240;      #设定时间服务器地址

default-lease-time 600;                        #默认租约期限,单位秒

max-lease-time 7200;                        #最长租约期限,单位秒

}

3、启动DHCP

systemctl start dhcpd

[root@yum etc]# netstat -lntup|grep 67

udp        0      0 0.0.0.0:67              0.0.0.0:*                           25197/dhcpd   

4、把客户端10.0.0.8的eth0网卡模式更改为dhcp,配置文佳如下:

TYPE=Ethernet

PROXY_METHOD=none

BROWSER_ONLY=no

BOOTPROTO=dhcp

DEFROUTE=yes

IPV4_FAILURE_FATAL=yes

NAME=eth0

DEVICE=eth0

ONBOOT=yes

5、在dhcp服务器端监控dhcp

tcpdump -nn -i eth0 port 67

6、重启客户端

systemctl restart network

7、查看客户端是否获取IP

[root@mysql ~]# ifconfig

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 10.0.0.5  netmask 255.255.255.0  broadcast 10.0.0.255

        inet6 fe80::20c:29ff:fe4f:670f  prefixlen 64  scopeid 0x20<link>

        ether 00:0c:29:4f:67:0f  txqueuelen 1000  (Ethernet)

        RX packets 575652  bytes 370650678 (353.4 MiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 376213  bytes 142439337 (135.8 MiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

8、在dhcp服务端查看抓取的信息

[root@yum etc]# tcpdump -nn -i eth0 port 67

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

12:05:11.165917 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:0c:29:4f:67:0f, length 300

12:05:11.168283 IP 10.0.0.240.67 > 10.0.0.5.68: BOOTP/DHCP, Reply, length 300

9、配置客户端获取固定IP 10.0.0.8,DHCP服务器的配置文件如下

subnet 10.0.0.0 netmask 255.255.255.0 {        #网段和子网掩码

range 10.0.0.3 10.0.0.254;            #可自动获取的IP地址范围

option domain-name-servers 61.139.2.69;        #dns服务器名称

option routers 10.0.0.2;                    #网关地址

option broadcast-address 10.0.0.255;        #广播地址

option ntp-servers 10.0.0.240;      #设定时间服务器地址

default-lease-time 600;                        #默认租约期限,单位秒

max-lease-time 7200;                        #最长租约期限,单位秒

}

#配置固定IP

host mysql {       #客户端的主机名

hardware ethernet 00:0c:29:4f:67:0f;  #客户端的网卡MAC

fixed-address 10.0.0.8;   #配置的固定IP

}

10、重启dhcp

systemctl restart dhcpd

11、重启客户端网卡服务

systemctl restart network

12、查看客户端IP信息

[root@mysql ~]# ifconfig

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 10.0.0.8  netmask 255.255.255.0  broadcast 10.0.0.255

        inet6 fe80::20c:29ff:fe4f:670f  prefixlen 64  scopeid 0x20<link>

        ether 00:0c:29:4f:67:0f  txqueuelen 1000  (Ethernet)

        RX packets 12496  bytes 17114035 (16.3 MiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 5465  bytes 371841 (363.1 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

13、dhcp服务端的抓包信息

[root@yum etc]# tcpdump -nn -i eth0 port 67

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

12:52:32.169685 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:0c:29:4f:67:0f, length 300

12:52:32.169893 IP 10.0.0.240.67 > 10.0.0.8.68: BOOTP/DHCP, Reply, length 300

 

浏览319 评论0
返回
目录
返回
首页
Samba实战 Redis 分片集群