多台三层设备之间跨网段如何互通

发布时间:2022-12-01 13:52:29 作者:网络之路博客阅读:0

[导读]:新的环境开始客户由于业务合作关系,与楼层的另外一家公司之间需要互通访问,但是带来的问题是两家公司各有一台核心,怎么对接成为一个问题?两家都用了vlan10这个会有冲突吗?B公司核心配置sysname...

新的环境开始

多台三层设备之间跨网段如何互通

客户由于业务合作关系,与楼层的另外一家公司之间需要互通访问,但是带来的问题是

两家公司各有一台核心,怎么对接成为一个问题?

两家都用了vlan10这个会有冲突吗?

B公司核心配置

sysname Core_B

#

vlan batch 10 to 11

#

interface Vlanif10

 ip address 192.168.10.254 255.255.255.0

#

interface Vlanif11

 ip address 192.168.11.254 255.255.255.0

#

interface MEth0/0/1

#

interface  GigabitEthernet0/0/1

 port link-type access

 port default vlan 10

 stp edged-port enable

#

interface  GigabitEthernet0/0/2

 port link-type access

 port default vlan 11

 stp edged-port enable

vlan会冲突吗?

是不会冲突的,vlanid属于本地有效,跟IP的私网地址一样,每个公司局域网都可以重复使用,但是如果两边需要互访,IP网段是不能冲突的,否则访问不成功,但是VLAN就没关系,可以在规划上面避免。

核心之间如何对接

现在最大的问题在于核心之间如何进行对接,最终要实现的需求是A核心下面的终端能够访问B核心的服务器,同样B核心下面的终端能够访问A核心下面的服务器。

回想下之前同一个三层设备下面是如何互通的?

(1)三层交换机配置了各自的vlanif作为网关

多台三层设备之间跨网段如何互通

(2)由于是三层设备,它会产生一个直连路由

多台三层设备之间跨网段如何互通

所以vlan间互通是依靠三层交换机配置的各个vlanif地址产生的直连路由(在路由表中),在通过三层转发进行互通,这是我们之前学过vlan间互通,但是在同一个设备上面。

两个台核心之间该如何对接呢?

(1)物理线路选择

多台三层设备之间跨网段如何互通

物理选路的选择,在企业的以太网里面常见的两种,一个是网线,一个是光纤

物理距离在100米以内,可以选择网线

物理距离超过100米,只能选择光纤

(2)定位问题

三层设备上面vlanif配置地址后是会在路由表中产生直连路由,所以A核心下面的终端,填写对应的vlanif作为网关,核心查询路由表,发现直连网段,就能访问其他的vlanif下的终端了。这里一个重要的问题是核心A并不知道 192.168.10.0/24以及192.168.11.0/24在哪?同样的B公司核心也不知道192.168.253.0/24 192.168.254.0/24 192.168.255.0/24在哪?  换个角度看问题就是,核心A与核心B目前不知道去往对方如何走,交给谁处理,解决的办法就是先把+核心A与核心B之间打通,并且告诉核心A去往核心B的内网的网段如何走,同样,告诉核心B去往核心A的内网网段如何走,这样通信就没问题了。

(3)如何打通呢?

多台三层设备之间跨网段如何互通

第一步:需要打通核心A跟B

想象下PC2的192.168.255.1为什么能跟核心A的vlanif10:192.168.255.254通信呢?

在相同VLAN里面,PC2流量经过办公区一会打上vlan10的tag,核心A的vlanifID也是10。

在相同的网段,PC的网段与核心A的vlanif10在同一个网段,所以能够互通。同样的核心A与B要通信,那要满足两个条件(1)在相同vlan里面  (2)同一个网段

多台三层设备之间跨网段如何互通

比如单独规划一个vlan250用于对接,两边创建vlanif250,在同一个网段,注意的是,规划对接的时候vlan与网段不要跟整个网络中使用过的冲突与重复,否则会导致以后的部署会非常的麻烦,来配置对接下。 

 核心A

[Core]sysname  Core_A 

[Core_A]vlan 250

[Core_A]

interface  vlan 250

[Core_A-Vlanif250]

ip  add 192.168.250.1 24

[Core_A-Vlanif250]int  g0/0/23

[Core_A-GigabitEthernet0/0/23]port  link-type a

[Core_A-GigabitEthernet0/0/23]port  default vlan 250

 核心B

-------------------

[Core_B]vlan 250

[Core_B]

int vlan 250

[Core_B-Vlanif250]

ip  add 192.168.250.2 24

[Core_B-Vlanif250]inte  g0/0/23

[Core_B-GigabitEthernet0/0/23]port  link-type a

[Core_B-GigabitEthernet0/0/23]port  default vlan 250

Sep  5 2021 14:46:25-08:00 Core_A %IFNET/4/IF_STATE(l)[2]:Interface Vlanif250 has turned intoUP state.

Sep  5 2021 14:46:25-08:00Core_A %IFNET/4/LINK_STATE(l)[3]:The line protocol IP on the interface Vlanif250 has entered the UP state.

Sep  5 2021 14:47:51-08:00Core_B %IFNET/4/IF_STATE(l)[1]:Interface Vlanif250 has turned into UP state.

Sep  5 2021 14:47:51-08:00Core_B %IFNET/4/LINK_STATE(l)[2]:The line protocol IP on the interface Vlanif250 has entered the UP state.

当接口加入vlan 250后,对应的vlanif就up了,这个是因为G0/0/23口存活的,属于vlan 250中,我们来ping测试下。

多台三层设备之间跨网段如何互通

这里核心A与核心B,直连通信算是OK了,通信过程也很简单

核心A的vlanif250发出ARP询问192.168.250.2是多少(携带vlan tag 250),经过G0/0/23口的时候,该接口属于access vlan 250,去掉标签发出

核心B的G0/0/23收到以后打上vlan 250的tag,并且学习MAC地址,缓存进ARP表项(同时记录三层表项), 发现请求的是自己vlanif250的IP,于是回应

核心B通过vlanif250回应也会打上vlan250的tag,经过G0/0/23口发出的时候,该接口属于access vlan 250,去掉标签发出

核心A从G0/0/23收到,打上vlan 250的tag,并且学习MAC地址,缓存进ARP表项(同时记录三层表项)。

接着ICMP的请求发出,流程是一样的。

第二步:核心A如何去往核心B身后的网络?(配置保留,下一篇需要用)

Client2访问WEB A的时候,请求数据到达核心A后,关键的步骤就是路由表,因为核心A里面有WEB A的直连网段路由,所以可以进行通信。

多台三层设备之间跨网段如何互通

多台三层设备之间跨网段如何互通

那假设Client 2想要去访问核心B下面的192.168.11.1的服务

多台三层设备之间跨网段如何互通

这个时候就

不成功了,原因在于数据包抵达核心后,核心查看路由表,发现压根就没有192.168.11.1相关的路由匹配,直接就丢弃,并且返回ICMP不可达信息,告知客户端,这个时候知道问题了,我们必须让核心A知道如何去往192.168.11.0的网段,这样它知道如何去了,自然就可以转发了,能够实现这个功能的技术叫做静态路由。

静态路由:由IT管理人员手动配置进路由表,作用就是让设备知道去往该目的地怎么转发,交给谁去处理。

命令格式:ip route-static {目的地址}{掩码}{出接口}{下一跳}{优先级}组成

多台三层设备之间跨网段如何互通

那在该拓扑中,核心A要去往192.168.11.1,那自然是要交给核心B处理,核心B的地址就是对接的192.168.250.0,我们来配置下。

[Core_A]ip  route-static  192.168.11.1 32 Vlanif250  192.168.250.2 preference 60   

多台三层设备之间跨网段如何互通

从命令行格式带入进去的话,就变成了

目的地址:192.168.11.1,就是WEB B的地址

掩码:32,表示255.255.255.255,在路由表里面这个表示主机路由,相当于只匹配192.168.11.1的地址

出接口:vlanif250,去往核心B对接的接口是vlanif250(大部分情况下可以省略)

下一跳地址:去往192.168.11.1,从核心A的角度看,下一跳是核心B,对接的地址对方是192.168.250.2,所以下一跳地址为192.168.250.2,交给核心B处理

优先级:默认情况下华为华三设备的静态路由优先级为60,这个步骤可以省略

多台三层设备之间跨网段如何互通

再次通过displayip routing-table 查看路由表的时候,会看到路由表里面多了一个static(静态)的条目,这就是该命令的作用,在全局配置以后,它会下发到路由表中,这样核心A就知道怎么去往核心B了。

多台三层设备之间跨网段如何互通

目前核心A可以访问到192.168.11.1了,那是不是就表示可以访问成功了呢?

第三步:测试

多台三层设备之间跨网段如何互通

访问失败了!!!,明明在核心上面是访问成功了的,我们来分析下,这个也是很多初学者朋友容易犯的毛病。

多台三层设备之间跨网段如何互通

这里ARP的过程就不在讲述了,我们直接从TCP SYN开始

(1)Client2发起SYN访问,发现去往192.168.11.1与自己不在一个网段,于是将数据包交给网关,从网卡发出

(2)数据包经过办公区二的交换机时打上VLAN 20的tag,二层转发,学习MAC,将包从E0/0/1发出(trunk保持tag不变)

多台三层设备之间跨网段如何互通

(3)核心收到以后,发现找到是自己,目的地址是192.168.11.1,知道是需要三层转发,于是查看路由表,是否有去往192.168.11.1匹配的路由

多台三层设备之间跨网段如何互通

发现有一条去往192.168.11.1路由条目,交给192.168.250.2处理,从属于vlanif250的物理口发出

多台三层设备之间跨网段如何互通

从哪个口发出,直接查询ARP表项,原来192.168.250.2在G0/0/23口,于是从该接口发出(实际中,会从三层转发表直接找到对应表项找到就发送了,但是人为看不到这个表项,所以这里显得繁琐一些),顺便会将二层信息重新封装,源为vlanif250的mac,目的为192.168.255.2的mac,发出去的时候接口属于access vlan 250,直接剥离标签

(4)核心B从G0/0/23收到,该接口属于vlan 250,于是给数据打上250的标签,并且学习MAC地址表项

多台三层设备之间跨网段如何互通

然后目的MAC发现找到是自己,查看三层,目的IP地址不是自己,知道是需要三层转发,于是查找路由表是否有去往192.168.11.1的路由

多台三层设备之间跨网段如何互通

核心B发现192.168.11.1是自己直连网段,查询ARP表项

多台三层设备之间跨网段如何互通

发现192.168.11.1在G0/0/2,于是重新封装二层信息(源是vlan11if的MAC,目的是192.168.11.1的MAC)发出去(剥离标签)

多台三层设备之间跨网段如何互通

5)服务器B收到以后,开始响应SYN+ACK,发现目的地址192.168.254.10不在一个网段,于是交给网关处理

多台三层设备之间跨网段如何互通

问题出现了,核心B没有去往192.168.254.10的路由,这样导致访问失败了,这个也是初学者容易犯的困惑,明明在核心已经ping通了,但是实际访问起来就失败了。

第四步:解决问题

目前有两个问题存在

为什么核心能ping通,实际访问却是不行

让核心B能够正常回包

(1)为什么核心能ping通,实际访问却不行。

在来回顾下路由表

多台三层设备之间跨网段如何互通

核心A直接ping 192.168.1

1.1,它会查找路由表,从vlanif250所在的物理接口(查询ARP表从G0/0/23)发出去,这个时候的源地址是用的vlanif250的地址(192.168.250.1),目的地址是192.168.11.1。

核心B收到,查询路由表发现直连路由

多台三层设备之间跨网段如何互通

关键的来了,WEB B回应ICMP repaly,会交给网关处理 ,同样核心B会查询路由表

它是有去往192.168.250.1的路由的,因为是直连,所以最终可以抵达核心A,完成整个ICMP的过程。

实际访问不行,是因为它的源地址变成了192.168.254.10,这个时候核心B的路由表里面是没有,自然就不通了,那这里交一个小技巧,默认情况下网络设备ping,是以路由表出接口地址作为源发出去的,其实可以自己定义其他地址来测试。

多台三层设备之间跨网段如何互通

ping -a参数,是指定源地址,该源地址必须是设备里面真实存在的,这里使用的就是vlan20的网地址,ping -a 192.168.254.254 192.168.11.1的整体意思就是让交换机Ping 192.168.11.1的时候,用源地址192.168.254.254,这个时候你发现就不通了,原因就是对方没有路由回来,导致通信失败。

(2)让核心B能够正常回包

这里要记住一句话,在TCP/IP的网络里面,大部分的数据访问是有去有回的,上面不通的情况都是数据包过去了,对方某个设备不知道如何回包,导致通信失败,所以在这里,需要在核心B上面加一个静态路由,让它知道如何去往192.168.254.0的网段

[Core_B]ip  route-static 192.168.254.0 24 192.168.250.1

这里的静态配置跟之前不一样,写的是目的地址是192.168.254.0 ,掩码是24(255.255.255.0),表示的是整个192.168.254.0/24的网段都匹配上,为什么要这样写呢?

多台三层设备之间跨网段如何互通

如果这里只写

目的地址192.168.254.10,掩码32,表示主机路由 192.168.254.10这一个,那对应的PC4(192.168.254.100访问就失败了),在实际中肯定一个网段内不只一台需要访问,所以我们需要把整个网段都包含进来,这样192.168.254.0/24整个网段可以访问到。

(3)测试

多台三层设备之间跨网段如何互通

这个时候就可以访问到了,因为核心B有了去192.168.254.0/24的路由

多台三层设备之间跨网段如何互通

最终完成了整个交互,所以数据包要考虑去的同时,还要考虑对方是否能够正常回来。

(4)再次深入了解下静态路由的各个参数

核心A

ip  route-static 192.168.11.1 255.255.255.255 Vlanif250 192.168.250.2

核心B

ip route-static  192.168.254.0 255.255.255.0 192.168.250.1

从路由表查看,是不是没有任何的区别呢?

优先级(Pre):默认情况下华为华三的设备静态路由的优先级都是60,所以这个优先级的配置是可以省略掉的。

出接口:虽然命令行的格式是建议带出接口的,但是在实际的写法中,可能都习惯只写 目的地址、掩码、下一跳,因为系统会根据你下一跳的地址检查当前设备哪个接口属于该网段,然后自动的关联上,这就是核心B没有写出接口,但是在路由表中能够自动关联的原因,因为192.168.250.1,核心B的vlanif250是在这个网段的,所以实际中大部分情况下不需要跟出接口。

第五步:完成剩下的操作

多台三层设备之间跨网段如何互通

这里并没有结束,只是打通了核心A这边192.168.254.0/24能够去访问192.168.11.0/24的网段,而192.168.255.0/24以及192.168.253.0/24是访问不到的,同样核心B的192.168.10.0/24也访问不到核心A的192.168.255.0/24网段,所以还需要继续写路由打通。

[Core_A]ip  route-static 192.168.10.0 24 192.168.250.2

[Core_B]ip  route-static 192.168.255.0 24 192.168.250.1

[Core_B]ip  route-static 192.168.253.0 24 192.168.250.1

第一条:让核心A知道如何去往192.168.10.0/24的路由

第二条:让核心B知道如何去往192.168.255.0/24的路由

第三条:让核心B知道如何去往192.168.253.0/24的路由

多台三层设备之间跨网段如何互通

PC5 现在ping WEB B通的,在来试下Client 3访问WEB A

多台三层设备之间跨网段如何互通

Client 3访问WEB A也没什么问题,这样两边就全部打通了。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:shawn.lee@vecloud.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

标题:多台三层设备之间跨网段如何互通

TAG标签:企业组网

地址:https://www.kd010.com/hyzs/1452.html

上一篇:杭钢阿里联手“造云” 浙江云计算数据中心正式开服
下一篇:模块化——未来数据中心建设最优解

Vecloud云网络解决方案

点击获取方案

返回顶部