通过自定义端口访问 SMB

通过自定义端口访问 SMB

我在 AWS 上托管了文件服务器。我使用 smb 端口 445 访问文件服务器。我发现一些 ISP 阻止了端口 445,因此我在 AWS 网络负载均衡器后面设置了我的文件服务器实例,并在 NLB 上创建了一个自定义侦听器端口,并将此端口上的请求转发到 445 上的文件服务器实例。但 Windows 共享默认使用端口 445,那么有没有办法在自定义端口上向 nlb 发出请求,并间接向我的文件服务器发出请求,因为我在 NLB 上有一条转发规则。这可能吗?

注意:我知道 Windows 共享上没有备用端口的语法。我正在寻找解决方法

答案1

SMB 通常不是互联网上使用的协议。您应该在客户端(笔记本电脑?)和 AWS 之间设置 VPN,并通过 VPN 隧道传输 SMB。这样,您就不必担心 ISP 阻止端口 445,也不需要向全世界开放 AWS 文件服务器,而且还会拥有额外的安全层。VPN 有很多选择,既有开源的,也有商业的。

希望有帮助:)

答案2

在 Windows 上使用虚拟适配器(环回)创建端口代理以重定向端口

逐步查看(以 pt-BR 格式,但带有分步图像)

https://apolonioserafim.blogspot.com/2021/05/acessar-servidor-samba-em-porta.html

转置:

使用 NETSH 通过自定义端口/重定向端口 - IPV4 代理端口访问 SAMBA 服务器

如果需要使用自定义端口访问 SMB 445

运行向导添加硬件(Windows + R)hdwwiz.exe

选择“从列表手动安装硬件(高级)”,然后单击下一步继续

在列表中选择“网络适配器”,然后单击“下一步”继续

在左侧列表中选择 Microsoft

在右侧列表中选择 Microsoft Loopback Adapter,然后单击“下一步”继续

最后点击下一步,界面就会安装

要重命名,请进入设置并选择 Internet 协议版本 4 (TCP/IPv4),然后单击属性

设置任意 IP,但不要与当前网络的 IP 范围相同,以避免任何 IP 冲突(在此示例中,使用 10.10.10.1)

以管理员身份打开 PowerShell 或 CMD 并输入以下命令

netsh interface portproxy add v4tov4 listenaddress=10.10.10.1 listenport=445 connectaddress=smb.example.com connectport=44518

其中:listenaddress - 是前面步骤中定义的地址,在此示例中为 10.10.10.1

listenport - 原始 samba 端口 (445、137、138、139) 通常只需 445 即可解决 connectaddress - 将成为代理的远程地址,可以是 DNS 名称或 IPv4 地址 nnnn

connectport - 自定义服务端口,本例中为 44518

重启计算机

这现在应该允许将到 10.10.10.1 端口 445 的本地连接定向到 smb.example.com 端口 44518

答案3

现在(2024年)这已经成为可能!

https://techcommunity.microsoft.com/t5/storage-at-microsoft/smb-alternative-ports-now-supported-in-windows-insider/ba-p/3974509

使用 NET USE 映射备用端口

要使用 NET USE 映射备用 TCP 端口,请使用以下语法:

NET USE \\server\share /TCPPORT:<some port between 0 and 65536>
NET USE \\server\share /QUICPORT:<some port between 0 and 65536>
NET USE \\server\share /RDMAPORT:<some port between 0 and 65536>

例如,要将 G: 驱动器端口映射到 TCP/847,请使用:

NET USE G: \\waukeganfs1.contoso.com\share /TCPPORT:847

使用 New-SmbMapping 映射备用端口

要使用 New-SmbMapping PowerShell 映射备用 TCP 端口,请使用以下语法:

New-SmbMapping -RemotePath \\server\share -TcpPort <some port between 0 and 65536>
New-SmbMapping -RemotePath \\server\share -QuicPort <some port between 0 and 65536>
New-SmbMapping -RemotePath \\server\share -RdmaPort <some port between 0 and 65536>

例如,要将 G: 驱动器端口映射到 TCP/847,请使用:

New-SmbMapping -LocalPath G -RemotePath \\waukeganfs1.contoso.com\share -TcpPort 847

相关内容