免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 16655 | 回复: 4

同一网段双网关问题 [复制链接]

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-25 06:20:002017金鸡报晓
日期:2017-01-10 15:13:292017金鸡报晓
日期:2017-02-08 10:33:2115-16赛季CBA联赛之新疆
日期:2018-04-23 13:55:2315-16赛季CBA联赛之辽宁
日期:2018-07-23 08:59:12
发表于 2021-04-09 09:06 |显示全部楼层
5可用积分
本帖最后由 Fl_wolf 于 2021-04-09 09:07 编辑

背景:
我司在测试SDWAN,
在10.30.1.X 网段中,网络做了SDN。
原始网关为 10.30.1.1  本机IP为 10.30.1.37/24


SDWAN设备接入内网IP为 10.30.1.200/24    默认吓一跳指向网关  10.30.1.1
需要访问分公司机构IP  172.16.1.100/24


现设置:
本机地址:  10.30.1.37/24    GW:10.30.1.200
本机路由: 172.16.1.X /24 10.30.1.200
SDN路由: 172.16.1.X /24 10.30.1.200


但是 本机内 tracert 的结果   第一跳依然是  10.30.1.1(SDN网关) 导致在内网寻找 172.16.1.X 的地址。
不仅是ICMP包。包括H.323协议也是这样。




最后解决办法是 修改SDWAN设备到其他网段  并修改路由即可。




提问:
初步觉得是说是ICMP重定向问题。。
路由有没有类似这类型的重定向机制呢?
有没有大神普及下这个到底是什么问题呢?undefined

论坛徽章:
0
发表于 2021-05-25 13:29 |显示全部楼层
应该是ARP查询1、10.30.1.37  /24与10.30.1.200 /24是同段地址,这两者之间查MAC地址表与arp表就可以正常通讯。
    假如10.30.1.37与10.30.1.200没有通讯记录,1.37与1.200发起数据交换,会发广播报文查询,之后会在本地形成MAC表与ARP表,属于二层通讯问题。
2、10.30.1.37想通过1.200去访问172.16.1.x,这是跨网段通讯,数据包肯定会交给网关去处理,这是属于三层通讯问题了。到这就需要再去查询第三张表,路由表。


10.30.1.37的网关虽然设置成了10.30.1.200,1.200的网关设置成了10.30.1.1.。本质上还是同网段通讯,跨网段访问还是需要经过10.30.1.1网关的。

我认为应该重点理解一下ARP协议。

可能说的不太清楚,仅供参考

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-25 06:20:002017金鸡报晓
日期:2017-01-10 15:13:292017金鸡报晓
日期:2017-02-08 10:33:2115-16赛季CBA联赛之新疆
日期:2018-04-23 13:55:2315-16赛季CBA联赛之辽宁
日期:2018-07-23 08:59:12
发表于 2021-05-26 14:47 |显示全部楼层
回复 2# 猎食者
这个能理解。但是我不明白的是。

10.30.1.37/24 GW:10.30.1.200
的路由 为什么不是先经过 1.200 而是 直接到网关的1.1


论坛徽章:
0
发表于 2021-05-27 10:44 |显示全部楼层
回复 3# Fl_wolf

同vlan内的设备通讯是不会通过网关的,它的通讯发生在数据链路层,也就是二层,第一次建立联系的时候用广播,后续用单播。
表面上看是两个IP地址之间的通讯,本质还是二层通讯。

计算机的MAC地址表建立是通过ARP协议来实现的。

通过ARP协议完成IP地址与MAC地址对应关系。
交换机里的MAC地址表是完成计算机与交换机端口的对应关系。


10.30.1.37想去172.16.1.x这个网段,肯定要先去网关,那就会先查本机的IP与MAC对应表。
因为10.30.1.37网关你写的是10.30.1.200,所以会先找1.200,发广播,问1.200的设备怎么去。
1.37发的广播包进入交换机,问询1.200MAC地址。这时交换机会查MAC地址表,记住是交换机的MAC地址表。图二所示。从交换机里查到从1/0/XX端口学到的1.200的地址
别的设备收到广播,查看不是找自己的就会丢弃。只有10.30.1.200会回应,以单播包回应,因为广播包是带着源地址的,所以,1.200回应的时候就会把这个10.30.1.37的源地址当做它要发送的目的地址,
1.37收到1.200的单播报文,知道了怎么去1.200。
这是第一阶段
光知道怎么去1.200是不行的,最终目的是要去172.16.1.X
所以这时候,发单播报文,向1.200查询172.17.1.x网段。1.200一看自己的arp表,没有,所以数据包会丢弃。



所以,是不能与172.16.1.x通讯的。

那为什么能到网关通呢?
那是因为,它们是同段地址或者说同一VLAN。10.30.1.37与10.30.1.1通讯是不会通过1.200的。会直接查MAC地址表,
假如想让1.37通过1.200去访问172.16.1.x网段。需要在1.200上路由。
剩下的没有深究。
你可以验证一下。
QQ截图20210527104131.png
微信图片编辑_20210527102836.jpg

论坛徽章:
0
发表于 2021-05-27 17:13 |显示全部楼层
回复 3# Fl_wolf

跨网段,数据包会直接丢给1.200,但是1.200没有到172.16.1.x的路由,所以会不通
到10.30.1.1可以PING通,因为10.30.1.37跟10.30.1.1是同网段地址,掩码都是24位,数据根本不会去找1.200去,也就是说同网内通讯数据不会经过网关的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP