V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cjd6568358
V2EX  ›  宽带症候群

挂载 samba 遇到一个特别奇怪的问题

  •  
  •   cjd6568358 · 23 天前 · 1531 次点击
    已知 a 网段(172.18.180.1)下有一台服务器(172.18.180.5)开了 samba 服务,b 网段(192.168.1.1)下有一台主机通过两张网卡同时接入了 a,b 网段,分别拿到了 172.18.180.3 和 192.168.1.3 。
    这个时候在 b 网关上设置了静态路由,所有在 b 网段下的设备访问 172.18.180.5 的 samba 流量全部转发给 192.168.1.3 ,由它进行二次转发。
    同时 b 网关还开了 2.4g/5g wifi6,现在的问题是 b 网段下所有的有线连接设备都能正常挂载 smb,同时 b 网段下的一台台式机通过 usb 无线网卡连接 2.4g wifi(不支持 wifi6)也可以正常挂载。
    但是! b 网段下所有的手机平板都无法正常挂载该 smb,提示权限不足。通过 usb 共享网络给台式机(禁用掉其他网卡)也无法正常挂载,但是通过 tcping 172.18.180.5 445 和 tracert,ping 都是通的,一切正常。
    手机平板包含各种不同品牌和是否支持 wifi6 的情况。
    第 1 条附言  ·  23 天前
    这种情况是不是得用 wireshark 抓包分析了
    32 条回复    2024-10-11 11:40:19 +08:00
    billccn
        1
    billccn  
       23 天前 via Android
    > 所有在 b 网段下的设备访问 172.18.180.5 的 samba 流量全部转发给
    你的静态路由还能单选一种协议?

    你 b 网关的 WiFi 是不是误开了 NAT/内网隔离等
    cjd6568358
        2
    cjd6568358  
    OP
       23 天前
    @billccn 就是添加了一条静态路由,所有这个 ip 的流量全部转过去了。但是台式机+无线网卡又可以挂载?
    roidinev
        3
    roidinev  
       23 天前
    所有手机平板是啥系统? 不要 samba 匿名登陆。
    cjd6568358
        4
    cjd6568358  
    OP
       23 天前
    @roidinev 都是安卓,包括了不同品牌,使用了不同的 smb 挂载工具测试。smb 是用账号密码挂载的
    roidinev
        5
    roidinev  
       23 天前
    先把 samba 服务器 smb.conf 的 log 调试打开 看看具体啥错误
    cjd6568358
        6
    cjd6568358  
    OP
       23 天前
    @roidinev samba 的服务器控制权不在我这里,是别人提供的。真实情况是这台 samba 服务器是上海电信推出的智家硬盘,支持局域网 samba 挂载。a,b 网段分别是电信和联通光猫组成的局域网
    cjd6568358
        7
    cjd6568358  
    OP
       23 天前
    @roidinev 双网卡主机分别接入了电信/联通局域网。现在几乎所有的设备都在联通局域网正常使用。在联通光猫上加了一条静态路由转发电信智家硬盘服务器 ip 流量到双网卡主机。
    cjd6568358
        8
    cjd6568358  
    OP
       23 天前
    同时 b 网段下的一台台式机通过 usb 无线网卡连接 2.4g wifi(不支持 wifi6)也可以正常挂载。
    这段话有误,准确的说应该是台式机原本通过网线连接 b 网段可以正常挂载,断开网线,使用 usb 网卡连接 b 网段的无线也可以正常挂载
    kokutou
        9
    kokutou  
       23 天前
    ipv6 关了吗
    cjd6568358
        10
    cjd6568358  
    OP
       23 天前
    @kokutou 这是一个好思路!我没关光猫的 ipv6
    cjd6568358
        11
    cjd6568358  
    OP
       23 天前
    @kokutou 但是 samba 服务器是 ipv4 的啊。我使用 tcping/tracert 都正常
    yinmin
        12
    yinmin  
       23 天前 via iPhone
    你这个是不对称路由造成的。手机访问 smb ,去程是:手机-b 路由-双网卡机器-smb 服务器,回程是:smb 服务器-双网卡机器-手机

    你需要在 b 路由上配置:from 192.168.1.0/to 172.18.180/24 进行地址伪装( snat )
    cjd6568358
        13
    cjd6568358  
    OP
       22 天前
    @yinmin 如果不对称的话,为啥单单手机连 wifi 这样。台式机用无线网卡连接就可以
    yinmin
        14
    yinmin  
       22 天前 via iPhone
    不对称就是这种德行,有些能通,有些不通
    cjd6568358
        15
    cjd6568358  
    OP
       22 天前
    @yinmin 大佬,具体 b 路由该如何设置,请教一下谢谢。去程路由是这样的 ip r add t table.csp_main 172.18.0.0/16 via 192.168.1.3
    yinmin
        16
    yinmin  
       22 天前
    @cjd6568358 #15 试试在 B 路由器上加这条 iptables 命令:

    iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 172.18.0.0/16 -j MASQUERADE
    cjd6568358
        17
    cjd6568358  
    OP
       22 天前
    @yinmin b 是光猫
    cjd6568358
        18
    cjd6568358  
    OP
       22 天前
    @yinmin 老哥能不能给个联系方式请教下?我的 vx,MTc3MTI1MjI3NjM=
    cjd6568358
        19
    cjd6568358  
    OP
       22 天前
    @kokutou 昨晚测试,关闭 ipv6 后依然无法正常挂载
    yinmin
        20
    yinmin  
       22 天前 via iPhone
    @cjd6568358 我查了上海电信的智家硬盘的资料,也有可能指这个产品的 smb 兼容性有问题,不支持大部分的 android smb 客户端。你在电信网段加一个 wifi ap ,手机直连不走双网卡设备,试试
    cjd6568358
        21
    cjd6568358  
    OP
       22 天前
    @yinmin 我尝试过手机使用 vpn 直接接入双网卡主机,可以挂载
    cjd6568358
        22
    cjd6568358  
    OP
       22 天前
    @yinmin 在电信 wifi 下也可以正常挂载
    cjd6568358
        23
    cjd6568358  
    OP
       22 天前
    @yinmin 对了,其实我的网络拓扑是简化后的。真实路由是,联通网段下手机 ip192.168.1.7----联通光猫网关 192.168.1.1---双网卡主机联通 192.168.13/电信 192.168.71.3---电信光猫网关 192.168.71.1---samba 服务器 172.18.180.5 。
    我现在是在联通光猫上加了静态路由把 172.18.180.5 的流量转发给 192.168.1.3 ,双网卡主机添加静态路由把 172.18.180.5 流量转发给 192.168.71.1
    yinmin
        24
    yinmin  
       22 天前 via iPhone
    如果 b 路由器无法做 snat ,可以把双卡设备做旁路由,然后将手机的 wifi 网关设成双卡设备
    cjd6568358
        25
    cjd6568358  
    OP
       22 天前
    @yinmin 可以设置 snat,但是设置完就无法 ping 通 samba 服务器 ip 了。
    yinmin
        26
    yinmin  
       22 天前 via iPhone
    电信网关里有没有将 192.168.1.0/24 转发给 192.168.71.3 ?
    yinmin
        27
    yinmin  
       22 天前 via iPhone
    其实家用环境电信、联通双线接入,最易用的接入方式是 2 个路由器放一个网段,联通网关配置 192.168.1.1 开 dchp ,电信网关配置 192.168.1.2 关 dhcp 。

    pc 通过改网卡 gateway 方式切换电信/联通线路(可以让 gpt 写一个修改 gateway 的 ps 脚本,双击运行脚本快速切换)

    内网有 2 个 wifi ap 的 ssid ,一个 ssid 自动 dhcp 连联通,另外一个 ssid 手工配置 gateway 连电信,一次设置后切换 wifi ssid 接入点。(有些 wifi6 路由器可以开启 wifi5 兼容模式,会产生 2 个 ssid )

    你在联通网关里设置 172.18.0.0/16 转到 192.168.1.2 ,如果 android 手机还有问题就加 snat
    cjd6568358
        28
    cjd6568358  
    OP
       21 天前
    @yinmin 没有。电信网关无法设置任何命令。
    yinmin
        29
    yinmin  
       21 天前
    @cjd6568358 #28 电信网关不设 192.168.1.0/24 的静态路由,回程去不了双网卡的机器。你是不是 192.168.1.x 和 192.168.71.x 同时接在一个交换机上的?这个网络拓扑一言难尽。

    你试试以下 3 种方案(三选一):
    (1) 在 192.168.1.1 和双网卡的机器上同时设 snat:iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 172.18.0.0/16 -j MASQUERADE

    (2) 仅在双网卡的机器上设 snat:iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 172.18.0.0/16 -j MASQUERADE

    (3) wifi 手机设固定 ip 地址,mask 设置 255.255.0.0 ,gateway:192.168.1.1

    方案(1)是对称路由,方案(2)和(3)都是存在不对称路由
    cjd6568358
        30
    cjd6568358  
    OP
       21 天前
    @yinmin 以上方案全部测试无效。同时发现 iptables 和静态路由冲突。192.168.1.x 和 192.168.71.x 并没有同时接在一个交换机上,他们只是被双网卡主机接入了而已。
    受到方案 3 的启发,尝试将网关设置为双网卡主机后。手机挂载正常了,子网掩码还是/24 。目前算是基本满足我的需求
    huajingyu
        31
    huajingyu  
       7 天前
    服务器是 Linux 不太清楚。
    服务器是 Windows 的话默认情况下即使服务器允许了防火墙入站连接,也并没有全部允许。作用域的远程 IP 地址被指定为本地子网。估计就是不同网段的机器尝试访问 SMB 会被防火墙阻止。
    huajingyu
        32
    huajingyu  
       7 天前
    抱歉没认真查看内容。
    多网卡的话,可能得手动跃点设置优先级吧。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3430 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 04:21 · PVG 12:21 · LAX 21:21 · JFK 00:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.