此博客用于学习目的。
拓扑如下:
第一步:LSW2,LSW3为二层交换机,设置端口角色,E0/0/2,E0/0/3划分为access,E0/0/1划分为trunk,当然这里因为因为SW2和SW3交换机所连接的设备都是属于同一个vlan,access也是可以的,我这里统一二层交换机全部划分为access接口。
SW2
vlan batch 10
interface Ethernet0/0/1
port link-type access
port default vlan 10
interface Ethernet0/0/2
port link-type access
port default vlan 10
interface Ethernet0/0/3
port link-type access
port default vlan 10
SW3
vlan batch 10
interface Ethernet0/0/1
port link-type access
port default vlan 10
interface Ethernet0/0/2
port link-type access
port default vlan 10
interface Ethernet0/0/3
port link-type access
port default vlan 10
第二步:
网关G0/0/2,G0/0/3也可以配置为access,因为当数据包从SW2和SW3发出的时候,已经被去掉了标签,到了网关设备的G0/0/2或者G0/0/3,完全可以打上自己接口的PVID然后放行进入交换机,根据其数据包的标签,分别让vlanIf虚拟接口处理。
vlan batch 10 20 30
interface Vlanif10
ip address 192.168.10.254 255.255.255.0
#
interface Vlanif20
ip address 192.168.20.254 255.255.255.0
#
interface Vlanif30
ip address 11.1.1.1 255.255.255.0
interface GigabitEthernet0/0/1
port link-type trunk
port trunk pvid vlan 30
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
#保证全网互通,配置OSPF
ospf 1 router-id 1.1.1.1
area 0.0.0.0
network 192.168.10.254 0.0.0.0
network 192.168.20.254 0.0.0.0
network 11.1.1.1 0.0.0.0
第三步:配置R1,记得开启DHCP,在系统视图下输入命令dhcp enable添加地址池,配置OSPF,
dhcp enable
#
ip pool v10
gateway-list 192.168.10.254
network 192.168.10.0 mask 255.255.255.0
dns-list 8.8.8.8
#
ip pool v20
gateway-list 192.168.20.254
network 192.168.20.0 mask 255.255.255.0
dns-list 114.114.114.114
#
interface GigabitEthernet0/0/0
ip address 11.1.1.2 255.255.255.0
dhcp select global
#
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 11.1.1.2 0.0.0.0
第四步:交换机配置中继,同样记得开启DHCP enable,dhcp的模式选择relay,并且指定中继服务器的IP地址,至此DHCP中继就完成了,看一下效果。
#SW1
interface Vlanif10
ip address 192.168.10.254 255.255.255.0
dhcp select relay
dhcp relay server-ip 11.1.1.2
#
interface Vlanif20
ip address 192.168.20.254 255.255.255.0
dhcp select relay
dhcp relay server-ip 11.1.1.2
#
效果:
但是今天DHCP的收获不止于此,解决了一个问题,一个困惑许久的问题,和大家分享一下,
大家是否发现,有时候使用三层交换机想要配置IP地址,需要配置vlanif口,但是大家有没有想过为什么Access接口在配置的时候需要划分到固定的vlan,而trunk不需要呢,起始并不是他们需不需要的问题,问题的关键是标签,因为这两种接口对于标签的处理方式不同,举个例子,拿这个拓扑举例子,如果配置G0/0/2为trunk,假设数据包从SW2来的时候是带有标签的,也就是携带者vlan 10标签(其实针对于本题是不携带的),那么数据在经过G0/0/2的时候,被放行,因为和交换机中的Vlanif10相匹配,所以可以被正常转发,而在我们这个拓扑中,SW2的E0/0/1口是access,所以出去的时候会去掉vlan10标签,那么trunk接收到不携带标签的数据包做法就是打上自己的PVID然后看是否允许放行,允许放行的话进入交换机内部进一步转发,而我们这题,因为没有配置响应的Vlanif1接口,所以如果SW1的G0/0/2配置成了Trunk就无法通信了。而这时,针对于SW1和R1之间的链路来说呢,我本题中,特地的把SW1的G0/0/1设置成了trunk并且配置了他的PVID为30,此时数据包的转发过程应该是什么呢?,AR1发送一个数据包,当然不携带vlan tag,这时候进入G0/0/1口,然后trunk对于不携带vlan标签的数据帧就是打上自己的PVID,于是打上Vlan tag30进入交换机,然后将vlan tag30的数据包交给vlanif30处理,同样,如果G0/0/1口是access的话,同样需要划分到vlan30,所以并不是说设置trunk的接口不需要划分到vlan里面,access就需要,这是一个误解。这种情况是由于什么引起的呢?,假设SW2的E0/0/1口是Trunk,SW1的G0/0/2也是trunk,并且默认PVID为1,对于发出的数据包进行放行,并且如果和自己的PVID不同则不进行去标签的工作,那么数据包从SW2发出的时候是携带着vlan10标签的,那么这时候G0/0/2,对于此数据包进行了放行,注意这时候这个数据包还是携带着vlan10标签的,所以可以正常的进入到交换机中由vlanif10进行处理,而如果是G0/0/2口是access的话,对于接收到和他PVID相同的数据包才放行,所以才需要把他划分到对应的vlan下面,才可以正常通信。
总而言之:三层交换机接口绑定vlan是根据标签来的