DHCP原理与配置
1.1 DHCP 工作原理
DHCP (Dynamic Host Configuration Protocol,动态主机配置协议),用于计算机自动分配TCP/IP 参数协议。
DHCP优点:
- 减少管理员工作量
- 避免输入错误的可能
- 避免IP地址冲突
- 网络更改IP地址段时,不需要重新为每个用户配置IP
- 提高IP地址利用率
- 方便客户端配置
1.2 DHCP分配方式
DHCP提供三种IP地址的分配方式:自动分配(Automatic Allocation),手动分配和动态分配(Dynamic Allocation )
自动分配:客户机第一次从服务器获取的IP地址后,就永久的使用这个IP地址。
手动分配:管理员专门指定的IP地址。
动态分配:客户端第一次从服务器获取IP后,非永久使用,使用结束后,DHCP客户端释放IP地址,供其他客户机使用。
1.3 DHCP租约过程
- 客户端在网络中搜索服务器(discover)
- 服务器向客户端响应服务 (offer)
- 客户端像服务器发送服务请求 (request)
- 服务器向客户端提供服务
具体过程如下:
(1)客户机请求IP地址
客户机以广播的方式发送DHCP Discover 发现信息寻找DHCP服务器。
(2)服务器响应
服务器收到客户机请求IP地址信息后,查询地址池是否有合法IP可以提供,如果有,就将IP加入到Offfer消息中,DHCP广播一则Offer消息。
(3)客户机选择IP地址
客户机从收到第一个Offer中提取IP地址,服务器将该地址保留,不再进行分配其他客户机。客户机向服务器发送Request请求。
(4)服务器确定租约
服务器收到Request后,以DHCP ACK形式向客户机广播成功确认。客户机收到DHCP ACK消息时,配置IP地址,完成了TCP/IP初始化。
(5)重新登陆
每次登陆网站时,不在发送Discover ,直接发送上一次IP地址Request信息。
(6) 更新租约
当租期达到50%时,更新租约。
2.实验
2.1使用DHCP动态配置主机地址
[root@localhost ~]# cd /media/cdrom/ (在该目录下查看是否有packages)
[root@localhost cdrom]# yum -y install dhcp (安装dhcp软件包)
[root@localhost dhcp]# cd /etc/dhcp/ (查看是否有 dhcp.conf的文件)
[root@localhost dhcp]# ls
dhclient.d dhcpd6.conf scripts
dhclient-exit-hooks.d dhcpd.conf
[root@localhost dhcp]# cat dhcpd.conf
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example (exanple例子)
# see dhcpd.conf(5) man page
[root@localhost dhcp]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf (将/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example 该模板文件复制到/etc/dhcp/dhcpd.conf)
备注:
dhcp-4.2.5 安装的dhcp版本
[root@localhost dhcp]# vim dhcpd.conf (进入vim编辑器进行编辑,以下是举例说明)
[root@localhost dhcp]# systemctl start dhcpd (启动dhcpd)
验证:
方式一:
windows 可以使用ipconfig
方法二:
Linux
[root@localhost dhcp]# cat /var/lib/dhcpd/dhcpd.leases (查看租约文件)
2.2 DHCP中继
LSW2
<Huawei>u t m <Huawei>sys
[Huawei]vlan batch 10 20 (同时创建多个vlan)
[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type access
[Huawei-GigabitEthernet0/0/1]port default vlan 10
[Huawei]int g0/0/2
[Huawei-GigabitEthernet0/0/2]port link-type
[Huawei-GigabitEthernet0/0/2]port link-type access
[Huawei-GigabitEthernet0/0/2]port default vlan 20
[Huawei-GigabitEthernet0/0/2]quit
[Huawei]int g0/0/3
[Huawei-GigabitEthernet0/0/3]port link-type trunk (由于g0/0/3是连接交换机 ,使用trunk) [Huawei-GigabitEthernet0/0/3]port trunk allow-pass vlan 10 20 (vlan 10和vlan20都经过g0/0/3)
[Huawei-GigabitEthernet0/0/3]quit
LSW1
<Huawei>u t m
<Huawei>sys
[Huawei]vlan batch 10 20 100
[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]port link-type trunk
[Huawei-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20
[Huawei-GigabitEthernet0/0/1]quit
[Huawei]int g0/0/2
[Huawei-GigabitEthernet0/0/2]port link-type access
[Huawei-GigabitEthernet0/0/2]port default vlan 100
[Huawei-GigabitEthernet0/0/2]quit
[Huawei]int vlan 100
[Huawei-Vlanif100]ip add 192.168.100.1 24 (vlan 100创建IP,目的是与AR1相连接)
[Huawei]dhcp enable
Info: The operation may take a few seconds. Please wait for a moment.done.
[Huawei]dhcp server group myfroup (创建dhcp服务器组,命名为myfroup)
[Huawei-dhcp-server-group-myfroup]dhcp-server 192.168.100.2 (为dhcp服务器组设置IP)
[Huawei-dhcp-server-group-myfroup]quit
[Huawei]int vlan10
[Huawei-Vlanif10]ip add 192.168.10.1 24
[Huawei-Vlanif10]dhcp select relay (为DHCP设置中继模式)
[Huawei-Vlanif10]dhcp relay server-ip 192.168.100.2 (设置中继IP地址)
[Huawei-Vlanif10]quit
[Huawei]int vlan20
[Huawei-Vlanif20]ip add 192.168.20.1 24
[Huawei-Vlanif20]dhcp select relay
[Huawei-Vlanif20]dhcp relay server-ip 192.168.100.2
[Huawei-Vlanif20]quit
AR1
[Huawei]ip pool vlan10 (为dhcp添加地址池,vlan10是地址池的名字
[Huawei-ip-pool-vlan10]network 192.168.10.0 mask 24 (将10.0的整个网段写入)
[Huawei-ip-pool-vlan10]gateway-list 192.168.10.1
[Huawei-ip-pool-vlan10]dns-list 8.8.8.8
[Huawei-ip-pool-vlan10]excluded-ip-address 192.168.10.100 192.168.10.254 (排除地址方式)
[Huawei-ip-pool-vlan10]quit
[Huawei]ip pool vlan20
[Huawei-ip-pool-vlan20]network 192.168.20.0 mask 24
[Huawei-ip-pool-vlan20]gateway-list 192.168.20.1
[Huawei-ip-pool-vlan20]dns-list 8.8.8.8
[Huawei-ip-pool-vlan20]quit
[Huawei]dhcp enable (启动dhcp)
[Huawei]int g0/0/00
[Huawei-GigabitEthernet0/0/0]ip add 192.168.100.2 24
[Huawei-GigabitEthernet0/0/0]dhcp select global (在g/0/0/0的视图上启动dhcp)
[Huawei-GigabitEthernet0/0/0]quit
[Huawei]ip route-static 192.168.10.0 24 192.168.100.1 (设置静态路由192.168.10.0是目标网络;192.168.100.1是下一跳)
[Huawei]ip route-static 192.168.20.0 24 192.168.100.1 ((设置静态路由192.168.20.0是目标网络;192.168.100.1是下一跳)