存在自动学习的三层交换机吗

2022-12-14 15:49:59 +08:00
 SimbaG

我想问的是,我司用 DHCP ,我有两个设备, A:192.168.0.50/24, 网关.0.1 B:A:192.168.1.51/24 网关.1.1

但实际上这两个设备是接在同一个墙面网口的:

墙 <-> 我的交换机 <-> A
                 <-> B

现在 A 和 B 之间的通信都得过网关,就很慢,除非我去改 AB 的路由表。有没有什么先进的三层设备可以直接把 A 的包丢给 B ? 比如说 OpenWRT 配一下三层交换(甚至自动学习)?发现直连的 IP 就路由并转发。

2298 次点击
所在节点    问与答
22 条回复
eason1874
2022-12-14 16:10:01 +08:00
A 和 B 在同一台交换机下,交换机会根据 MAC 地址表直接转发的,这是默认功能吧,不用特殊配置
pcmid
2022-12-14 16:12:41 +08:00
三层交换机就是干这个的,不然为啥叫三层(
leonshaw
2022-12-14 16:24:02 +08:00
同一个 VLAN ? A B 上配对方的直连路由,例如
ip route add 192.168.1.51/24 dev eth0

或者交换机上配 IP 例如 0.2, 1.2 ,A B 路由互指到交换机 IP
ip route add 192.168.1.51/24 via 192.168.0.2
rrfeng
2022-12-14 16:28:22 +08:00
不可以。

上面几位都在说啥……
rrfeng
2022-12-14 16:30:43 +08:00
一个子网内的数据包( 0.x/24 )要到子网外面( 1.51 )去,肯定要经过网关啊。

搞一些奇怪的直连路由除外(也不符合题主的要求)。
NewYear
2022-12-14 16:33:06 +08:00
硬是没看懂,楼主是负责网络这块的吗。

如果是同一个 vlan ,为何弄 2 个网段?
如果不是同一个 vlan ,为何改路由表就能直连通讯?

你的硬件是怎样的一个结构能写清楚一点么,网关是什么设备(三层交换机?企业路由器?家用路由器?),交换机是什么样的设备(傻瓜交换机?二层网管?三层网管?)。
NewYear
2022-12-14 16:37:47 +08:00
如果说的是自动设置路由表,那么用 rip 或者你的三层交换机家私有的动态路由协议都可以。

自动学习路由表=动态路由协议,三层交换机都有。
不能自动学习=不同品牌用的不同协议,或者根本就不支持,这种除了自己能写代码就别想太多了。
singerll
2022-12-14 16:45:00 +08:00
你说这个我记得是可以实现的,但网络我本身也不是很了解,时间长也忘记了。

你可以看下楼上说的动态路由协议。
Unclev21x
2022-12-14 16:49:31 +08:00
你说的很慢是多慢?一个内网,2 个子网通信,慢?
leonshaw
2022-12-14 16:50:23 +08:00
没注意你不想改路由表,DHCP 可以下发路由的( option 121 或者 249 ),看看主机认不认。
ppking
2022-12-14 17:14:56 +08:00
三层交换机不就等价于路由器了嘛,不然为啥叫三层交换机啊。肯定可以的,你自己在这个交换机配置里加一下路由呗。
DeWjjj
2022-12-14 17:54:10 +08:00
买个路由器,然后路由器接墙上不就结了。
而且你希望组成一个内网,应该一个普通的 R1 之类的玩意就能满足了。
shika
2022-12-14 19:06:20 +08:00
192.168.0.1 和 192.168.1.1 这两个网关在哪里,把它们配置在中间的交换机上不就行了吗。如果你想的是两个网段二层直通,那恐怕不行。
SimbaG
2022-12-14 21:49:19 +08:00
@NewYear 哦,我不负责网络这块。
分配的 IP 就是如此,开发机在 A 网段,测试机在 B 网段。显然这样分配 IP 池也合理,我没办法请 IT 改。
网关设备我确实不太了解,但肯定是个企业级的设备。
我自己的设备是个普通的交换机,如果需要加钱买点什么的话,我也可以考虑。

192.168.0.1 和 192.168.1.1 这两个网关我没法控制,在 IT 那里。
SimbaG
2022-12-14 21:50:52 +08:00
@leonshaw 有道理,你的意思是 AB 的路由指向交换机?
但我没有被授权使用额外的 IP ,我并不能给我的交换机分配两个 IP 用来指向。
mansurx
2022-12-14 22:40:19 +08:00
建议直接给 IT 开工单,让他们来解决内网相互访问慢的问题。在 LZ 提供的拓扑里,互访流量就算经过网关正常增加的延迟也是在毫秒级的,不可能有感知。

三层设备(无论是交换机还是路由器)之所以是三层设备,就是因为他需要有用于转发和路由的 ip 。没有 ip 的二层设备只会在同 vlan 下转发,跨 vlan 通讯就必须通过网关路由。

另外基于“新设备接入会被视为访客”这段描述,推测 LZ 的网里应该是有准入策略的,既然这个网用到了准入,大概率网段之间互访也会加入额外的限制,所以还是先咨询 IT 。
leonshaw
2022-12-14 22:44:53 +08:00
@SimbaG 交换机换成个 OVS ,配流表应该可以实现。
chunyec
2022-12-15 00:04:21 +08:00
你这问题,两个需要同一个二层交换机直通的主机,不要 dhcp 获取 ip,手动给 ip 应该就行了,地址就给 192.168.0.0/16 就能二层互通了吧,网关地址配置成你原来那样就行了
yw9381
2022-12-15 02:16:08 +08:00
没看明白一个物理接口在没有 vlan trunk 的情况下是如何做到通两个子网的
不过题主这个是有办法实现的。很简单
整个结构可以看作是一个双 WAN 单 LAN 的网络。那实际上。最简单的。搞个支持多 wan 的路由器。墙上的线用傻瓜交换分成两根。分别接到 wan1 wan2.并分别配置 0.1/24 1.1/24 的 ip 。你自己的设备挂在这个路由下面应该就可以了。不过还是建议和 it 说一下尽可能处理内网延迟才是正途。我猜测这种网络结构布局可能存在环路情况导致交换 /路由负载过高从而使得内网延迟较高
zhangsanfeng2012
2022-12-15 09:54:27 +08:00
你的交换机上联口改成 dhcp client ,把 mac 地址改成 A 或者 B 的;然后下联口开 dhcp server ,给 A 和 B 分同网段 IP 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/902492

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX