使用不同于 445 的端口进行 Samba 通信

Est*_*her 5 port client samba communication

由于多种情况,我需要将 Windows 客户端配置为能够通过 445 或 139 以外的其他端口接收 Samba 通信。这个想法是尽可能避免在 Windows 10 中安装任何附加程序,或者如果需要,可以通过 C++ 代码进行配置。对于我的测试,samba 服务器在 Linux 机器上运行。

\n

首先,我\xe2\x80\x99在不改变端口的情况下尝试了samba通信,它工作得很好,在windows中执行(Start\xe2\x86\x92Run):\\\\[Ip_Server]\\

\n

要更改服务器中的端口,我smb ports = 2000在“/etc/samba/smb.conf”文件中添加了该行(此端口号仅用于示例),并使用以下命令检查更改:\n netstat -an| grep -iE ":2000"。\n之后,在客户端我尝试了以下步骤:

\n
    \n
  • 禁用 Samba 1.0
  • \n
  • 要延迟 lanmanserver 驱动程序的启动:\nsc config lanmanserver start= delayed-auto
  • \n
  • 检查 IpHlpSvc 驱动程序是否正在运行:\nsc config iphlpsvc start= auto
  • \n
  • 添加端口代理规则以将 TCP 端口 445 重新路由到端口 2000(当然,之后需要重新启动)
  • \n
\n

netsh interface portproxy add v4tov4 listenaddress=[Ip_client] listenport=445 connectaddress=[Ip_client] connectport=2000

\n

(我已经对两个 IP、client\xe2\x80\x99s 和 server\xe2\x80\x99s 尝试了此步骤,并更改了端口的顺序)。之后,我再次尝试 samba 连接,但无法连接到服务器。

\n

如果有人知道问题可能是什么并有解决方案,那将会很有帮助。

\n