L3-SW-DHCP and DHCP中继
说三层交换是带路由功能的交换机,那么一些路由能够实现的技术,它一定也是可以的,这一点咱们在上一节笔记中已经得到了验证,
那么这节再进行补充
DHCP的原理想必不用过多的介绍了吧
4个包,
DISCOVER 广播请求IP地址 PC------->SERVER
OFFER 单播回复(IP地址,子网掩码,网关) SERVER------>PC
REQUEST 具体的租期,以及确认使用 PC------->SERVER
ACK 确认消息 SERVER--->PC
实例1 :L3-SW结合SVI,做vlan的dhcp server
配置思路:
1 确认L3-L2之间的链路为trunk //因为承载了多个VLAN
2 配置好SVI的IP地址 //用于下面VLAN的GW
3 配置地址池,指定网段,指定GW
4 接入层设备接口划入相应VLAN
前面的配置就不多说了,
这里着重说一下dhcp 的配置
sw1(config)#service dhcp \\\开启DHCP服务
sw1(config)#ip dhcp pool v10 ////创建一个地址池 名字为v10
sw1(dhcp-config)#network 192.168.1.0 /24 ////网段和掩码,掩码可以用数字形式展现
sw1(dhcp-config)#default-router 192.168.1.1 ///定义网关,为VLAN10的SVI地址
sw1(dhcp-config)#exit
sw1(config)#ip dhcp pool v20 ////创建 V20地址池
sw1(dhcp-config)#network 192.168.2.0 /24
sw1(dhcp-config)#default-router 192.168.2.1
sw1(dhcp-config)#end
VLAN10下主机
VLAN20下主机
实验二:L3-SW,对vlan,做dhcp中继
通常情况下,在一个公司的网络中,只要是在网络设备上启用DHCP ,一般都会在GW上做,当然也有在三层交换机上做的,但这种可能性也是不排除的,
首先要明白DISCOVER包是广播的,路由器天生就是隔离广播的,那如何做才能让这个广播数据出去呢?(广播变单播)也就是DHCP的中继
1 GW上配置dhcp 地址池的GW为L3的SVI ,另外,网段也是和SVI 同网段
2 L3和GW相连的口为三层口
3 L3配置SVI,做VLAN的GW
4做一条默认路由指向GW
5 GW上也要有一条回来的,(此处可以对路由进行汇总,当然,单独写也是可以的)
6 VLAN下的DHCP中继
记住:
如果想让客户机获得到IP 地址,就必须要能够和DHCP主机通信,因为通是一切的根源,连通都不通,何谈获得地址呢~
网段配置如下:
GW:F0/0 10.0.0.1/24
SW1:F0/0 10.0.0.2/24
VLAN10 192.168.1.0/24 GW:192.168.1.1
VLAN20 192.168.2.0/24 GW:192.168.2.1
配置如下:
1 gw上的DHCP配置和上一实例中的配置是相同的,这里不在赘述
2 SW1 上开启路由接口
sw1(config)#inter g0/0
sw1(config-if)#no switchport //关闭交换功能,开启路由功能
sw1(config-if)#ip add 10.0.0.2 255.255.255.0
sw1(config-if)#no shu
并确认和交换机相连的口为trunk
sw1(config)#inter g0/1
sw1(config-if)#sw tr en dot
sw1(config-if)#sw m tr
sw1(config-if)#exit
3 配置SVI
sw1(config)#inter vlan 10
sw1(config-if)#ip add 192.168.1.1 255.255.255.0
sw1(config-if)#no shu
sw1(config-if)#inter vlan 20
sw1(config-if)#ip add 192.168.2.1 255.255.255.0
sw1(config-if)#no shu
sw1(config-if)#exit
4
测试目前GW能否和SW上的SVI通信
如果不通,需要查看有没有到对端的路由
这里要注意一下,
在SW1看来,自己就有直连的网段 192.168.1.0 192.168.2.0
对于外部的所有网段来讲只有一个出口,那就是10.0.0.1
所以只写一条默认路由即可
sw1(config)#ip route 0.0.0.0 0.0.0.0 10.0.0.1 ////任何地址找下一跳10.0.0.1
5
同样在GW看来,想要访问192.168.1.0 192.168.2.0网段,就必须要经过10.0.0.2这个地址
那么可以写两个吗?
比如 ip route 192.168.1.0 255.255.255.0 10.0.0.2
Ip route 192.168.2.0 255.255.255.0 10.0.0.2
当然也是可以的,但是这里要注意的是一定要养成一个比较好的习惯
那就是尽可能的去减少路由条目。
此处可以进行汇总路由
gw(config)#ip route 192.168.0.0 255.255.0.0 10.0.0.2 //将一个C类地址汇总成B类,就全包括了
gw(config)#do ping 192.168.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
!!!!! ///测试可以通信,这是最基本的要求
6
那么此时,PC能通过DHCP SERVER获得到地址吗?
答案是不行的,
因为dhcp的包会卡在svi处,跨越广播域了,被阻隔了
解决办法
此时就要对SVI进行DHCP 中继
sw1(config)#inter vlan 10
sw1(config-if)#ip helper-address 10.0.0.1 //直接指向DHCP server的地址,注意,如果能够和server上的任意一个地址都可以底层通信,那么可以写哪一个都行
sw1(config-if)#inter vlan 20
sw1(config-if)#ip helper-address 10.0.0.1
PC测试
获得到地址后,进行测试和公司的GW能否通信
答案是肯定的
当然,还有DHCP 的几种形式,比如 这样
单独拿一台server做为DHCP服务,也是挺常见的,
至于你把这个server放在L3交换机的什么接口上,就要动脑筋以及动手测试一下了,
1)放进一个VLAN 行不行?
2)不放进VLAN ,放到一个TRUNK口行不行?IP要如何配置呢?
3)三层接口行不行?
无论是GW做DHCP 服务器,还是单独再找一台电脑做DHCP 服务器,都要先确保终端能够正确的和主机IP之间互通,然后再进行VLAN的地址中继,就可以了
-------------------------------------------
CCIE成长之路 ----- 梅利