我在 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年)这已经成为可能!
使用 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