实验环境:
在R1 上做单臂路由, ,SW1 和R1 之间启用trunk, 路由器R1 GE0/0/0 口启用子接口, 做PC网关
R1/2/3 接口IP规划如下
第一步:配置单臂路由
首先把PC和R1之间的单臂路由做通,
交换机的配置如下
#
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 20
#
interface GigabitEthernet0/0/4
port link-type access
port default vlan 30
路由器配置单臂路由如下:
interface GigabitEthernet0/0/0------------主接口undo shutdown, 不需要配置地址, 默认配置即可
#
interface GigabitEthernet0/0/0.10
dot1q termination vid 10---------该接口与802.1Q tag流量做关联
ip address 192.168.10.254 255.255.255.0
arp broadcast enable---------------允许接口接收广播的arp报文
#
interface GigabitEthernet0/0/0.20
dot1q termination vid 20
ip address 192.168.20.254 255.255.255.0
arp broadcast enable
#
interface GigabitEthernet0/0/0.30
dot1q termination vid 30
ip address 192.168.30.254 255.255.255.0
arp broadcast enable
#
interface GigabitEthernet0/0/1
ip address 12.1.1.1 255.255.255.0
检测过程略, 单臂路由配置没有问题
第二步:配置OSPF
R1/2/3之间运行OSPF, 全部宣告进area 0
统一配置:
ospf 1 router-id X.X.X.X
area 0.0.0.0
network 0.0.0.0 255.255.255.255
检查配置结果:
检查过程略, OSPF配置没有问题,
查看R3 的OSPF路由表, R3 可以学习到整网的路由条目, 注意这些子接口路由条目, 这些是我们做DHCP的基本条件
第三步:配置DHCP地址池
由于我们规划是在R3 做DHCP server, 所以在R3 配置地址池
创建地址池原则:
DHCP服务器通过地址池为客户端提供IP地址等网络参数。用户可以在地址池中配置可以提供给客户端的IP地址范围、网关地址、DNS服务器的IP地址等网络参数。
根据创建方式的不同,地址池可以分为基于接口方式的地址池和基于全局方式的地址池。
基于接口方式的地址池:在服务器与客户端相连的接口上配置IP地址,地址池是跟此接口地址所属同一网段的IP地址,且地址池中地址只能分配给此接口下的客户端。这种配置方式简单,仅适用于DHCP服务器与客户端在同一个网段,即不存在中继的场景。例如,设备做DHCP服务器仅给一个接口下的客户端分配IP地址或者给多个接口下的客户端分别分配不同网段的IP地址。
基于全局方式的地址池:在系统视图下创建指定网段的地址池,且地址池中地址可以分配给设备所有接口下的客户端。这种配置方式适用于:
DHCP服务器与客户端在不同网段,即存在中继的场景。
DHCP服务器与客户端在同一网段,且需要给一个接口下的客户端分配IP地址或者给多个接口下的客户端分别分配IP地址。
由于我们这里是属于中继场景,DHCP 服务器与客户端不在同一个网段,所以使用基于全局方式的地址池
DHCP服务器选择地址池的原则:
无中继场景时,DHCP服务器选择与接收DHCP请求报文的接口IP地址处于同一网段的地址池。
有中继场景时,DHCP服务器选择与DHCP请求报文中giaddr字段(标识客户端所在网段)位于同一网段的地址池。
由于我们这里是使用基于全局方式的地址池,所以配置过程也是基于全局方式的地址池
配置基于全局方式的地址池
执行命令system-view,进入系统视图。
(可选)配置DHCP服务器为BOOTP客户端动态分配地址:
执行命令dhcp server bootp,使能DHCP服务器应答BOOTP请求的功能。缺省情况下,DHCP服务器应答BOOTP请求的功能处于使能状态。
执行命令dhcp server bootp automatic,使能DHCP服务器为BOOTP客户端动态分配地址的功能。缺省情况下,DHCP服务器为BOOTP客户端动态分配地址的功能处于未使能状态。设备作为DHCP服务器,除了可以实现为BOOTP客户端动态分配IP地址之外,还可以通过执行命令static-bind ip-address ip-address mac-address mac-address以静态绑定方式为BOOTP客户端分配IP地址。
执行命令ip pool ip-pool-name,创建全局地址池,同时进入全局地址池视图。缺省情况下,设备上没有创建任何全局地址池。配置的ip-pool-name作为标识不同地址池的名字。例如,为楼层1的员工创建一个名字为“global_f1”的全局地址池:
[Huawei] ip pool global_f1
执行命令network ip-address [ mask { mask | mask-length } ],配置全局地址池可动态分配的IP地址范围。缺省情况下,未配置全局地址池可动态分配的IP地址范围。一个地址池中只能配置一个地址段,通过设定掩码长度可控制地址范围的大小。
配置全局地址池可动态分配的IP地址范围时,请尽量保证该地址范围与DHCP服务器接口或DHCP中继接口地址的网段一致,以免分配错误的IP地址。
2(可选)执行命令vpn-instance vpn-instance-name,配置地址池下的VPN实例。缺省情况下,地址池下没有配置VPN实例。正常情况下,为了避免IP地址冲突,一个地址池只能为一个网段的客户端分配IP地址。在BGP/MPLS IP VPN场景中,经常有不同VPN网络使用相同网段地址的情况。如果不同VPN网络中客户端通过同一个DHCP服务器获取IP地址,可以配置此步骤,使用同一个地址池为不同VPN网络中的客户端分配相同网段的IP地址。
使能DHCP服务器
背景信息
在接口上使能DHCP服务器后,DHCP功能开始生效,从而实现为客户端分配IP地址等网络参数。
操作步骤
基于接口方式:
执行命令system-view,进入系统视图。
执行命令interface interface-type interface-number [.subinterface-number ],进入接口视图或子接口视图。
执行命令dhcp select interface,使能接口采用接口地址池的DHCP服务器功能。缺省情况,未使能接口采用接口地址池的DHCP服务器功能。接口地址池可动态分配的IP地址范围就是接口的IP地址所在的网段,且只在此接口下有效。如果设备作为DHCP服务器为多个接口下的客户端提供DHCP服务,需要分别在多个接口上重复执行此步骤使能DHCP服务功能。
基于全局方式:
执行命令system-view,进入系统视图。
执行命令interface interface-type interface-number [.subinterface-number ],进入接口视图或子接口视图。
执行命令ip address ip-address { mask | mask-length } [ sub ],配置接口的主从IP地址。配置了接口的IP地址后,此接口下的客户端申请IP地址时:
如果设备与客户端处于同一个网段(即无中继场景),设备会首先选择与此接口的主IP地址在同一个网段的地址池来分配IP地址。如果主IP地址对应地址池耗尽或未配置主IP地址对应地址池,使用从IP地址对应的地址池给客户端分配地址。如果接口未配置IP地址,或者没有和接口地址在相同网段的地址池,客户端无法成功申请IP地址。
设备根据接口主从IP地址选择全局地址池,仅适用于DHCP客户端和DHCP服务器处于同一个网段时。
如果设备与客户端处于不同网段(即有中继场景),DHCP服务器解析收到的DHCP请求报文中giaddr字段指定的IP地址,选择与此IP地址在同一个网段的地址池来进行IP地址分配。如果该IP地址匹配不到相应的地址池,客户端无法成功申请IP地址。
执行命令dhcp select global,使能接口采用全局地址池的DHCP服务器功能。缺省情况下,未使能接口采用全局地址池的DHCP服务器功能。使能接口采用全局地址池的DHCP服务器后,从该接口上线的用户可以从全局地址池中获取IP地址等网络参数。如果DHCP客户端和设备之间存在DHCP中继,此步骤为可选;否则,为必选。
配置DHCP中继
当DHCP客户端与DHCP服务器不在同一网段时,可以通过配置DHCP中继,帮助DHCP服务器实现为DHCP客户端分配IP地址等网络参数。
背景信息
在接口上使能DHCP中继后,DHCP中继功能开始生效。
操作步骤
执行命令system-view,进入系统视图。
执行命令interface interface-type interface-number [.subinterface-number ],进入接口视图或子接口视图。
执行命令ip address ip-address { mask | mask-length },配置接口的IP地址。 当中继连接客户端的接口IP地址为客户端的网关时,必须与服务器上配置的地址池在同一网段,否则会导致DHCP客户端无法获取IP地址。
执行命令dhcp select relay,使能接口的DHCP中继功能。缺省情况下,未使能接口的DHCP中继功能。 在子接口上使能DHCP中继功能时,需要在子接口上配置arp broadcast enable命令,使能终结子接口的ARP广播功能。缺省情况下,终结子接口的ARP广播功能处于使能状态。一个Super-Vlan下使能了DHCP中继功能后,则该Super-Vlan下不能使能DHCP Snooping功能。
配置案例:
设备间的中继
背景信息
设备作为DHCP中继时,需要把接收到的客户端的DHCP请求报文转发给DHCP服务器,以实现DHCP服务器通过DHCP中继为客户端分配IP地址等网络参数。通过配置此任务,为DHCP客户端指定DHCP服务器的IP地址,以实现向DHCP服务器上申请IP地址。
设备支持两种配置方法:
直接在接口视图下配置:在接口视图下指定DHCP服务器的IP地址。设备作为DHCP中继,如果仅需要在一个接口下配置DHCP中继,或者需要在多个接口上配置DHCP中继但是每个接口上对应的DHCP服务器IP地址不同,推荐采用这种配置方法。
在DHCP服务器组视图下配置:在系统视图下创建DHCP服务器组,然后在DHCP服务器组中添加DHCP服务器成员(即指定DHCP服务器的IP地址),然后在接口下应用DHCP服务器组。设备作为DHCP中继,如果需要在多个接口下配置DHCP中继且每个接口对应相同的DHCP服务器,推荐采用这种配置方法。
DHCP服务器和DHCP客户端之间的DHCP报文中继次数不能超过16次,否则DHCP报文将被丢弃。
完整配置:
R1:
interface GigabitEthernet0/0/0
#
interface GigabitEthernet0/0/0.10
dot1q termination vid 10
ip address 192.168.10.254 255.255.255.0
arp broadcast enable
dhcp select relay--------使能接口的DHCP中继功能
dhcp relay server-ip 172.16.0.3--------这里中继的是DHCP 服务器的接口IP地址
#
interface GigabitEthernet0/0/0.20
dot1q termination vid 20
ip address 192.168.20.254 255.255.255.0
arp broadcast enable
dhcp select relay
dhcp relay server-ip 172.16.0.3
#
interface GigabitEthernet0/0/0.30
dot1q termination vid 30
ip address 192.168.30.254 255.255.255.0
arp broadcast enable
dhcp select relay
dhcp relay server-ip 172.16.0.3
#
interface GigabitEthernet0/0/1
ip address 12.1.1.1 255.255.255.0
dhcp select relay
dhcp relay server-ip 172.16.0.3
dhcp select global--------使能接口采用全局地址池的DHCP服务器功能
R2:
interface GigabitEthernet0/0/0
ip address 12.1.1.2 255.255.255.0
dhcp select global
#
interface GigabitEthernet0/0/1
ip address 172.16.0.2 255.255.255.0
dhcp select relay
dhcp relay server-ip 172.16.0.3
R3:
dhcp enable
#
ip pool vlan10--------配置基于全局的地址池
gateway-list 192.168.10.254 --------配置网关信息
network 192.168.10.0 mask 255.255.255.0 配置需要分配的网段
dns-list 8.8.8.8 ---------配置DNS
#
ip pool vlan20
gateway-list 192.168.20.254
network 192.168.20.0 mask 255.255.255.0
dns-list 8.8.8.8
#
ip pool vlan30
gateway-list 192.168.30.254
network 192.168.30.0 mask 255.255.255.0
dns-list 8.8.8.8
interface GigabitEthernet0/0/0
ip address 172.16.0.3 255.255.255.0
dhcp select global
#
验证:
PC>ipconfig /renew Renew the IPv4 address 重新获取IP地址
PC>ipconfig /release Release the IPv4 address 释放当前已经获取的IP地址
PC>ipconfig 显示当前获取到的IP地址
在PC这里使用DHCP 获取IP, 点击应用,在终端里使用
PC>ipconfig 查看当前获取到的IP
可以看到已经达到了预期的效果
注意事项:
第1:每个中继指向的都应该是DHCP服务器的IP,而不是上联口IP;
第2:DHCP服务器以及每个中继路由器下联口都要开启dhcp select global;
第3:DHCP服务器要有每个vlan网关地址的路由。