我正在通过程序 Bvckup 将文件复制到 Windows 共享。
从 Wireshark 捕获中,我看到该操作使用 TCP 端口 445 和 SMB2 端口 64663。
我想制定一个防火墙规则,但我不确定端口 64663 是否是随机端口。
有人知道我应该打开哪些端口/范围吗?
序言:这不是一个重复的问题。关于这个主题有很多问题和答案,但我还没有找到一个处理入站流量并提供合理答案的问题和答案。说了这么多:
我有一个 Windows 2019 服务器,它主要用作文件服务器,通过普通 Windows 共享 (SMB) 向客户端提供数据。我也在那里安装了 SSH 服务器。定期(例如 5 分钟),运行在其他机器上的脚本通过 SSH 登录到该服务器以执行检查和管理任务。
当我将非常大的文件(例如 50 GB)复制到该服务器上的共享(即通过 SMB)时,来自其他计算机的脚本通常会失败,因为通过 SSH 连接超时。原因原来是 SMB 流量占用了服务器的整个网络带宽,没有为其他网络连接留下任何东西。
所以我想限制该服务器上的入站SMB 流量速率。如上所述,我找到了一些关于如何限制出站流量速率的好文章(例如http://woshub.com/limit-network-file-transfer-speed-windows/是对更简单方法的一个很好的总结),但这在这里没有帮助。
我能找到的关于入站流量速率的唯一提示是“基于策略的 QoS”的“高级 QoS 设置”,然后是“指定入站 TCP 吞吐量级别”。这不是我的问题的解决方案,因为 a)它适用于所有 TCP 流量(而我只希望限制入站 SMB 流量),并且 b)它只调整网络堆栈的一个参数(如果我没记错,接收窗口大小) ,我不知道那个参数和最大流量速率之间的关系。
我遇到的所有 Powershell 命令也只与出站流量有关。
谁能告诉我一个起点?
我在我们的 smb 服务器的子卷上设置了配额/home/<name>
。
这些子卷通过 smb 公开为\\server\<name>
现在,每当有人试图删除他/她的 /home 文件夹中的文件并且超出配额时,他们都无法删除任何内容。
在 Windows 上,文件似乎已被删除,直到它们进行刷新(例如,退出并重新进入目录或按 F5)。在 Linux 上,错误更加明显:rm: cannot remove 'file': Disk quota exceeded
这是设计错误还是有解决方法?
用户当然没有对服务器的 ssh 访问权限,所以我需要一个适用于 Windows 的解决方案。(没有echo -n > file
或cat /dev/null > file
可能)
设想
今天我在我的 Linux 台式机上设置了一个 smb 共享,通过电缆 1GBit/s 连接到我的路由器。我使用 iperf 测试了我的笔记本(Manjaro,5GHz)和台式机之间的 LAN 速度。结果在每个方向上约为 500Mbit/s。
传输速度
将大文件从桌面传输到所述笔记本电脑的速度约为 3MB/s = 24Mbit/s。使用 windows 机器将大文件从 linux 桌面传输到 windows 机器,速度约为 160MBit/s。现在回到使用 sftp 的 Linux Notebook,我得到了 160MBit/s 的速度。文件管理器是 smb 和 sftp 的 dolphin。
问题
我的 Linux smbclient 上的配置错误是什么,它只能达到 24 Mbit/s 的速度?
有没有办法通过 CMD 控制台将SMB协议降级到SMBv1 ?
我尝试使用“ impacket-smbserver ”共享我的“ program.exemple ”,但显示此错误:
“您无法连接到文件共享,因为它不安全。此共享需要过时的 SMB1 协议...”
任何帮助都非常感激。
谢谢。