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

请教 QNAP NAS 的一个奇怪的网络问题

  •  
  •   Citrus · 337 天前 · 467 次点击
    这是一个创建于 337 天前的主题,其中的信息可能已经有所发展或是发生改变。

    先上拓扑

    拓扑

    网络配置

    1. 存在两个 VLAN ,使用同一个路由做 DHCP + 上网,两个 VLAN 间互通
    2. VLAN 10 是默认 VLAN ( Untagged VLAN ),也就是交换机上除了特别配置的口以外,都是 Access 模式 Native VLAN = 10
    3. PC 1 和 Server 2 不支持 VLAN ,对应的交换机端口为 Access 模式,PC 1 和 eth1 是 VLAN 10 ,eth0 是 VLAN 20
    4. PC 2 和 Server 1 支持 VLAN ,对应的交换机端口为 Trunk 模式,设备上手动设置 VLAN 20
    5. Server 2 为 QNAP NAS ,主网口 eth1 ,在 VLAN 10 ,作为主要流量出入口
    6. Server 3 为 Server 2 上的 LXD 容器,使用虚拟交换机桥接设备的 eth0 。由于虚拟交换机不支持 VLAN ,所以设备上没有设置 VLAN 信息,eth0 对应的交换机端口设置为了 Access 模式 VLAN 20
    7. 通过 SSH 可以看到这个桥接操作涉及了三块网卡,分别是 eth0 qvs0 和 veth0 ,三块网卡分别都获取到了 VLAN 20 的 IP

    现状

    1. 所有设备均可正常上网
    2. PC 1 访问图里的任何设备都是通的,比如在 Server 3 起个 python3 -m http.server 是可以访问的
    3. PC 2 访问 Server 1 和 Server 2 本身(无论是通过 1.20 还是 2.20 )都是通的,但是访问 Server 3 是不通的
    4. PC 2 ping Server 3 是通的
    5. Server 3 访问 Server 1 是通的
    6. 当 PC 2 尝试访问 Server 3 时进行抓包,在 eth0 qvs0 veth0 和 Server 3 容器内均能抓到 TCP 握手的 SYN 包,但是抓不到任何 Server 3 的回包
    7. 当 PC 1 尝试访问 Server 3 时进行抓包,同样三块网卡和容器内均能抓到,流量完全正常
    8. 检查发现 Server 3 没有任何防火墙(就是一个纯净的 ubuntu LXD 容器)

    疑问

    1. 为什么会出现过路由器跨 VLAN 后访问 Server 3 通,但是同 VLAN 访问 Server 3 却不通的情况?
    2. 猜测可能是这个 vSwitch 桥接出现了问题,有没有什么办法可以调试排查这个问题?
    3. 在 Server 3 的网卡都抓到了 SYN 包,为何没有抓到任何回包?
    4. 如果发往 Server 3 的 SYN 包是被 iptables 拦截了,在容器内还能抓到包么?如何确认是否被拦截了?
    第 1 条附言  ·  336 天前

    回去再重新从头排查了一下,找到问题了。

    TLDR

    QNAP 内有一个网络白名单,实现机制不明,配置之后在 iptables 不会体现出来,且不拦截 ICMP 只拦截 TCP UDP。添加白名单后解决。

    纠错

    1. 现状 3 中描述错了,实际上 PC 2 访问 Server 2 本身时,通过 2.20 是无法访问的。之前测试的时候反复多 IP 测试给记混了,导致出现了误判

    问题答案

    1. 因为跨路由器后,源 IP 是 1.x 段,在 Server 2 的白名单中,所以可以访问
    2. 不明
    3. 因为被 QNAP 通过不明机制直接丢包了,所以抓包能看到,但是实际包并没有处理
    4. 尚待测试,猜测是可以抓到的。因为 libpcap 在 iptables 之前拿到包
    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1005 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 20:51 · PVG 04:51 · LAX 13:51 · JFK 16:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.