V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
DeltaC
V2EX  ›  问与答

校园网环境下,同一网段下的设备通信为什么还要经过网关?

  •  
  •   DeltaC · 2023-02-26 00:30:35 +08:00 · 1619 次点击
    这是一个创建于 662 天前的主题,其中的信息可能已经有所发展或是发生改变。

    校园网环境

    手机 inet 172.18.17.20 netmask 255.255.0.0

    电脑 inet 172.18.17.27 netmask 255.255.0.0

    在电脑上 traceroute

    traceroute to 172.18.17.20 (172.18.17.20), 30 hops max, 60 byte packets
     1  _gateway (172.18.255.254)  3.990 ms  4.610 ms  3.825 ms
     2  172.18.17.20 (172.18.17.20)  97.555 ms * *
    
    

    电脑路由表

    ❯ route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         172.18.255.254  0.0.0.0         UG    600    0        0 wlan0
    172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
    172.18.0.0      0.0.0.0         255.255.255.0   U     0      0        0 br-f29964e7f1bb
    172.18.0.0      0.0.0.0         255.255.0.0     U     600    0        0 wlan0
    192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
    
    

    我的疑问是:电脑和手机在同一网段下,按照我的理解,通信应该不经过网关,因此 traceroute 应该一步到位,但实验并非如此,这是为什么呢?

    第 1 条附言  ·  2023-02-26 09:05:02 +08:00

    补充说明: 手机,电脑均用 wifi 连接到学校的ap

    ❯ arp -v
    Address                  HWtype  HWaddress           Flags Mask            Iface
    _gateway                 ether   80:05:88:ca:2d:f5   C                     wlan0
    172.17.0.3               ether   02:42:ac:11:00:03   C                     docker0
    9b3016b151c6             ether   02:42:ac:12:00:02   C                     br-f29964e7f1bb
    172.18.17.20             ether   80:05:88:ca:2d:f5   C                     wlan0
    Entries: 4      Skipped: 0      Found: 4
    

    @swulling @ysc3839 arp 内容如下,确实手机的 mac 指向了网关,我想问下这背后的原理是什么?或者说这项技术叫什么名字?

    @pennai vlan间通讯经过交换机不假,但交换机对终端设备应该是透明的,你应该不会感知到它的存在才对啊?

    @JustSong 家用 wifi 环境就不是如此。

    第 2 条附言  ·  2023-02-26 10:29:55 +08:00

    感谢@smallfount 提醒,我已经检索到了这项技术。

    这是因为 代理 ARP(proxy arp),定义于RFC 1027。

    简单说,交换机"劫持" arp 请求,将对终端设备的 arp 回答修改为自己的 mac 地址,而不是目标设备的 mac 。

    具体见:

    https://support.huawei.com/enterprise/zh/doc/EDOC1000017247/17d94691

    https://www.cisco.com/c/zh_cn/support/docs/ip/dynamic-address-allocation-resolution/13718-5.html?dtid=osscdc000283

    11 条回复    2023-03-04 22:47:48 +08:00
    flynaj
        1
    flynaj  
       2023-02-26 01:47:38 +08:00 via Android
    应该是做了网络隔离,防止网络风暴。每个 IP 都是隔离开的,通讯只能通过网关。
    swulling
        2
    swulling  
       2023-02-26 02:18:37 +08:00 via iPhone
    看下 arp
    pennai
        3
    pennai  
       2023-02-26 02:55:08 +08:00
    一般公共网络为了 arp 泛洪会划分 vlan 减小广播域的,这时候不同 vlan 之间通信要经过交换机,所以 trace route 会显示路由器(三层交换机或路由交换机)
    ysc3839
        4
    ysc3839  
       2023-02-26 05:57:22 +08:00 via Android
    抓包看看目标 MAC 吧,如果目标 MAC 确实是手机的 MAC ,可能是被强制重定向了。大概是为了过滤内网设备之间的流量。
    JustSong
        5
    JustSong  
       2023-02-26 08:48:03 +08:00 via Android
    你用的是无线网吧?我猜是不是无线网和以太网不太一样呢,无线网要经过路由器中转一下
    smallfount
        6
    smallfount  
       2023-02-26 09:10:38 +08:00   ❤️ 4
    intra-vlan 隔离了呗。。。简单的说就是没有纯 2 层 client 之间通信了。。所有 client 都是被隔离的状态所有的流量都需要适配 gateway 的放行规则。。。现在很常见的做法拉
    A01514035
        7
    A01514035  
       2023-02-26 09:47:03 +08:00
    我觉得 6 楼说的很有道理,有可能是这样。
    看了一下我校的,同一网段下的设备通信不需要经过网关。
    两个有线网连接的设备不需要。
    手机无线网,电脑有线网,也不需要。
    testver
        8
    testver  
       2023-02-26 09:54:09 +08:00
    网络隔离吧,我家里的几个 unifi ap ,来宾的无线网就设置成网络隔离的。
    NewYear
        9
    NewYear  
       2023-02-27 10:46:03 +08:00
    @smallfount

    你好,请问具体用的是哪种技术(只搜到 802.1Q ),按照你给的关键字查了也没查明白。对于这种明明应该在同一个广播域,却不在同一个广播域,似乎是通过路由进行中转的方式,还是很感兴趣的。
    smallfount
        10
    smallfount  
       2023-03-01 22:02:05 +08:00
    @NewYear
    我报的是 Aruba 用的 intra-vlan deny 。
    一般各个公司的设备名字不太一样功能大同小异。。。。大部分都是通过 ACL 控制来完成的其实。。。
    NewYear
        11
    NewYear  
       2023-03-04 22:47:48 +08:00
    @smallfount 谢谢分享。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1121 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 18:23 · PVG 02:23 · LAX 10:23 · JFK 13:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.