我想问的是,我司用 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 就路由并转发。
这是我的环境,我的角色是非IT的使用者:
CISCO路由器及交换机 <-> 未知设备 <-> 墙 <-> 我的交换机 <-> A
<-> B
其中: CISCO路由器及交换机是我用网关MAC地址查出来生产商是CISCO。(也许802.1Q和思科私有协议会被支持?)
墙是指墙上的网络接口面板。 墙右边的设备,一个交换机,A,B归我管理。 墙左边的设备不归我控制,我无法做任何修改。
内网偶尔有点繁忙,因此我想A->B的连接可以直连。但我不拥有.0.x和.1.x网段额外的IP,新设备接入会被视为访客而分配到192.168.3.x。强行手动指定.0.abc地址给新设备会导致冲突从而我不愿意如此做。 我可以买一个新设备,但我不知道什么样的设备可以满足上述的千兆直连线速转发/路由。
@leonshaw 所言的AB配置路由表我测试过了,A是Windows B是Linux,双向或但单向配好了额外的路由表之后可以工作。不过我还是期待有更棒的自动学习的方案?要不然我如果有ABCD 4个设备的话,我将需要配置4*3=12条路由表,那实在是太痛苦啦。
所以什么的设备会支持动态路由协议呢?这可能还需要和网关侧CISCO的配上?
感谢各位。
1
eason1874 2022-12-14 16:10:01 +08:00
A 和 B 在同一台交换机下,交换机会根据 MAC 地址表直接转发的,这是默认功能吧,不用特殊配置
|
2
pcmid 2022-12-14 16:12:41 +08:00 via iPhone
三层交换机就是干这个的,不然为啥叫三层(
|
3
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 |
4
rrfeng 2022-12-14 16:28:22 +08:00
不可以。
上面几位都在说啥…… |
5
rrfeng 2022-12-14 16:30:43 +08:00
一个子网内的数据包( 0.x/24 )要到子网外面( 1.51 )去,肯定要经过网关啊。
搞一些奇怪的直连路由除外(也不符合题主的要求)。 |
6
NewYear 2022-12-14 16:33:06 +08:00
硬是没看懂,楼主是负责网络这块的吗。
如果是同一个 vlan ,为何弄 2 个网段? 如果不是同一个 vlan ,为何改路由表就能直连通讯? 你的硬件是怎样的一个结构能写清楚一点么,网关是什么设备(三层交换机?企业路由器?家用路由器?),交换机是什么样的设备(傻瓜交换机?二层网管?三层网管?)。 |
7
NewYear 2022-12-14 16:37:47 +08:00
如果说的是自动设置路由表,那么用 rip 或者你的三层交换机家私有的动态路由协议都可以。
自动学习路由表=动态路由协议,三层交换机都有。 不能自动学习=不同品牌用的不同协议,或者根本就不支持,这种除了自己能写代码就别想太多了。 |
8
singerll 2022-12-14 16:45:00 +08:00
你说这个我记得是可以实现的,但网络我本身也不是很了解,时间长也忘记了。
你可以看下楼上说的动态路由协议。 |
9
Unclev21x 2022-12-14 16:49:31 +08:00
你说的很慢是多慢?一个内网,2 个子网通信,慢?
|
10
leonshaw 2022-12-14 16:50:23 +08:00
没注意你不想改路由表,DHCP 可以下发路由的( option 121 或者 249 ),看看主机认不认。
|
11
ppking 2022-12-14 17:14:56 +08:00
三层交换机不就等价于路由器了嘛,不然为啥叫三层交换机啊。肯定可以的,你自己在这个交换机配置里加一下路由呗。
|
12
DeWjjj 2022-12-14 17:54:10 +08:00
买个路由器,然后路由器接墙上不就结了。
而且你希望组成一个内网,应该一个普通的 R1 之类的玩意就能满足了。 |
13
shika 2022-12-14 19:06:20 +08:00 via Android
192.168.0.1 和 192.168.1.1 这两个网关在哪里,把它们配置在中间的交换机上不就行了吗。如果你想的是两个网段二层直通,那恐怕不行。
|
14
SimbaG OP @NewYear 哦,我不负责网络这块。
分配的 IP 就是如此,开发机在 A 网段,测试机在 B 网段。显然这样分配 IP 池也合理,我没办法请 IT 改。 网关设备我确实不太了解,但肯定是个企业级的设备。 我自己的设备是个普通的交换机,如果需要加钱买点什么的话,我也可以考虑。 192.168.0.1 和 192.168.1.1 这两个网关我没法控制,在 IT 那里。 |
15
SimbaG OP @leonshaw 有道理,你的意思是 AB 的路由指向交换机?
但我没有被授权使用额外的 IP ,我并不能给我的交换机分配两个 IP 用来指向。 |
16
mansurx 2022-12-14 22:40:19 +08:00 1
建议直接给 IT 开工单,让他们来解决内网相互访问慢的问题。在 LZ 提供的拓扑里,互访流量就算经过网关正常增加的延迟也是在毫秒级的,不可能有感知。
三层设备(无论是交换机还是路由器)之所以是三层设备,就是因为他需要有用于转发和路由的 ip 。没有 ip 的二层设备只会在同 vlan 下转发,跨 vlan 通讯就必须通过网关路由。 另外基于“新设备接入会被视为访客”这段描述,推测 LZ 的网里应该是有准入策略的,既然这个网用到了准入,大概率网段之间互访也会加入额外的限制,所以还是先咨询 IT 。 |
18
chunyec 2022-12-15 00:04:21 +08:00 via Android
你这问题,两个需要同一个二层交换机直通的主机,不要 dhcp 获取 ip,手动给 ip 应该就行了,地址就给 192.168.0.0/16 就能二层互通了吧,网关地址配置成你原来那样就行了
|
19
yw9381 2022-12-15 02:16:08 +08:00 via Android
没看明白一个物理接口在没有 vlan trunk 的情况下是如何做到通两个子网的
不过题主这个是有办法实现的。很简单 整个结构可以看作是一个双 WAN 单 LAN 的网络。那实际上。最简单的。搞个支持多 wan 的路由器。墙上的线用傻瓜交换分成两根。分别接到 wan1 wan2.并分别配置 0.1/24 1.1/24 的 ip 。你自己的设备挂在这个路由下面应该就可以了。不过还是建议和 it 说一下尽可能处理内网延迟才是正途。我猜测这种网络结构布局可能存在环路情况导致交换 /路由负载过高从而使得内网延迟较高 |
20
zhangsanfeng2012 2022-12-15 09:54:27 +08:00
你的交换机上联口改成 dhcp client ,把 mac 地址改成 A 或者 B 的;然后下联口开 dhcp server ,给 A 和 B 分同网段 IP 。
|
21
SimbaG OP @leonshaw 感谢,我琢磨下用 OpenWRT 之类的东西有没有可能做到类似 OVS 的效果。
@chunyec 我没办法手工给 IP 的呀,我不拥有额外的 IP 。 @yw9381 我的交换机应该没有自动识别吧(大概?) 因此的数据流向是 A->网关->B ,从我的物理拓扑就是:A->我的交换机->墙->我的交换机->B ,平白无故过了一圈。因此不需要 VLAN Trunk 就可以互通,A 的请求都会递给网关,网关是个路由器会转发回 B 。 @zhangsanfeng2012 你的意思是做个 NAT ?这样会创建我自己的私网。 @mansurx 延迟大概增加 0.8ms 吧,人类确实不能感知,但是带宽受限。 @DeWjjj 其实我并不希望组成内网的,我还是想使用原有被分配的 IP 感谢各位 |
22
fub2020 2022-12-15 17:27:53 +08:00
另一个思路是在
AB 之前单独拉一根网线,在二层解决这个问题 |