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

跨网段?路由?的 samba 文件共享问题

  •  
  •   asheroin · 2018-03-29 09:27:26 +08:00 · 6962 次点击
    这是一个创建于 2467 天前的主题,其中的信息可能已经有所发展或是发生改变。

    rt,本人处在校园网中,希望能通过 samba 在实验室访问在宿舍机子上的共享文件目录,但是多番尝试之后都不成功,特来请教大家。

    宿舍的网段是 202.XXX.XXX.XXX ,实验室的是 218.XXX.XXX.XXX ,这两个网段能互相 ping,能 ssh,开任意端口的 http 都能连上,这是前提;

    宿舍搞了个 openwrt 来发 wifi,samba 机子是放在了 202.XXX.XXX.XXX 这个 ip 段下的一台 windows 服务器,直接开的文件共享(实际上也就是 samba 协议),假设 ip 为 192.168.0.10 ,现在的状况是,192.168.0.11 的机子( windows、手机、win10 下的 ubuntu 子系统)能够正常发现这个共享目录并挂载( win10 下的 ubuntu 子系统使用 sambaclient -L XXX.XXX.XXX.XXX 命令)。为了能让 lan 之外的网络访问这台服务器,路由器开了 DMZ (也就是说设置了所有端口都转发至 DMZ 主机)。这是我的设置;

    现在的问题是,我从 218 网段的机子,无法通过路由器 ip ( 202.XXX.XXX.XXX )用 sambaclient 挂载共享目录,而在同一 lan 下(同一 wifi 下)的机子,可以通过路由器 ip ( 202.XXX.XXX.XXX )而不是内网的 ip ( 192.168.0.10 )挂载共享目录。这说明端口的确被转发了;我在路由器上用 tcpdump 抓包,监听 445 窗口,发现来自 218 的请求确实被转发到了路由器下的 samba 主机,但是看起来所有的包都没有“握手”成功,都在重复发送第一个包,218 主机提示了 iotime 错误。

    所以在这里请教一下大家,这种情况下要从哪个方面入手解决?

    5 条回复    2020-02-08 10:54:49 +08:00
    hzqim
        1
    hzqim  
       2018-03-29 09:45:02 +08:00 via Android
    之前勒索病毒没能在大陆大规模感染的原因之一就是 ISP 禁用了 samba 协议所用的端口。
    samba server 端很容易改端口,但 client 端改端口却麻烦很多,Linux 可以通过 iptables 转发端口;但 Windows 就比较麻烦,网上的方案是 Windows xp 通过注册表修改端口,但 Windows 7 和 Windows 10 好像无效。
    希望能有一款可以自定义端口的 client 出现。
    czwstc
        2
    czwstc  
       2018-03-29 11:42:23 +08:00 via iPhone
    路由器转发其他端口到 445,客户端挂载的时候地址加上:端口 。我的情况和 lz 一样。
    andywiny
        3
    andywiny  
       2018-03-29 16:49:56 +08:00 via Android
    架个 VPN 服务不就解决了
    myshzzx
        4
    myshzzx  
       2019-01-27 03:19:31 +08:00   ❤️ 1
    这个只是因为 windows 防火墙默认配置的文件共享 445 端口只允许远端 ip 为子网内的 ip, 你只要在高级防火墙设置里加个传入连接本地 tcp445 端口允许所有远端 ip 即可.
    frankzou
        5
    frankzou  
       2020-02-08 10:54:49 +08:00   ❤️ 1
    @hzqim 这种情况可以利用 SSH 隧道功能实现,基本原理是:客户端与服务器通过 SSH 连接(例如 PuTTY)搭建隧道;而客户端主机借助 Windows“环回适配器”(虚拟网卡)重定向 445 端口数据到非 445 端口(例如:44445 ); SSH 链接设置端口映射,将环回适配器非 445 (如上: 44445 )端口映射至服务器的 samba 端口(可以是 445 )。如此:可以绕开路由对 445 端口的封锁,因为在路由看来是 SSH 端口( 22 )间的通信。详细的配置流程可以参考这个连接: https://www.nikhef.nl/~janjust/CifsOverSSH/Win10Loopback.html
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2540 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 10:30 · PVG 18:30 · LAX 02:30 · JFK 05:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.