通过路由器访问外部子网上的 Samba 文件服务器

通过路由器访问外部子网上的 Samba 文件服务器

我有当前的常规设置:

Internet
|
modem
|
\--Router1 (10.0.0.1/16)
      |
      \--Client(s) (10.0.1-225.3-225)
      \--Router2 (198.168.1.1/24, 10.0.0.2)
            |
            \--Samba File Server1(198.168.1.2)
            \--Client_A (192.168.1.100)
            \--Router3 (192.168.2.1/24, 192.168.1.3)
                  |
                  \--Samba File Server2(198.168.2.2)
                  \--Client_B (192.168.2.100)
                  |
             <additionally I would like to continue this in the future>
                  |
                  \--Router4 (192.168.3.1/24, 192.168.2.3)
                        |
                        \--Samba File Server3(192.168.3.2)
                        \--Client(s)_C
                        \--Router5(192.168.etc.etc)

补充笔记:

  • 我对网络完全是新手XD,我在这个上面卡了两个星期了,毫无运气。
  • Ubuntu Server 上的 Samba 3.6.6 全部配置为使用:
    • 网络掩码/24(255.255.255.0),
    • 网关 192.168.X.1(路由器的 LAN IP),
    • 网络 192.168.X.0,
    • 广播 192.168.X.255,
    • WIN 服务器已启用并且 WORKGROUP1,2 等。
  • 正在 Ping:
    • 我能够从嵌套子网 ping 所有服务器。例如,我可以从 Client_B ping Server1,
    • 我无法 ping 通内部客户端。例如,我无法从 Client_A ping 通 Server2 或 Client_B(如果可能的话,我希望保留这个安全性)。
  • Samba 服务器在同一子网中工作:Server1 出现在 Client_A 的 Windows“网络”列表中;Server2 出现在 Client_B 的“网络”列表中。
  • 每个路由器都有:
    • DHCP 已启用且 NAT 已启用,
    • 所有路由器的默认路由表,
    • 没有端口转发(我尝试过转发 137-139,445)
  • 我确实可以从嵌套子网访问互联网。

问题:Server1(192.168.1.2) 不会显示在 Client_B (192.168.2.100) 的 Windows“网络”列表中。我怎样才能让 Client_B 识别 Server1?

Client_B 确实识别了 Server2。我*一直在更改工作组名称以匹配服务器更改,但 Server1 仍然不会显示在 Client_B 的“网络”列表中。

如果可能的话,我希望保持这种状态,以便嵌套子网可以查看并识别外部子网服务器,但很难查看嵌套子网。我还试图保持递归,这样我只需要在使用相同类型的配置时连接新的路由器和服务器即可。

今晚回家后,我会尝试使用“\192.168.X.2\stuff”方法直接连接,然后告诉您。但我真的很希望人们只需更改其工作组名称即可访问服务器。

2015 年 10 月 17 日更新:在 Client_B 的资源管理器窗口中输入 Server1(\192.168.1.2) 的 IP 即可连接到 Server1。接下来将尝试 Enry 的想法,分别转发端口 137 和 139,看看是否有助于 Client_B 将 Server1 视为“网络”的一部分。

答案1

路由器通常不转发 b 节点广播。TCP/IP 上的 NetBIOS 使用 b 节点广播进行名称解析并在本地 LAN 段上注册。如果希望路由器转发 b 节点广播,则必须在端口 137 和 138 上启用 UDP 转发。

相关内容