• Windows连接Samba服务时报“找不到网络名”


    问题

           用Windows试图挂载CentOS上的Samba文件夹时会报“找不到网络名”,而用同为CentOS的WSL2虚拟机挂载则没有任何问题。

    排查过程

            一开始一直只在139端口上抓包,发现双方在发完两对SMB协议的“Request-Resonse”包后,Windows端就断开了TCP连接,由此猜测不是在139端口上出的问题。

            于是在Wireshark里取消了对139端口的过滤,由此发现Windows在用139端口完成SMB协议的“Request-Resonse”后,接下来对445端口的TCP握手请求失败了,CentOS端禁止访问该端口。

            查到关于445端口的资料如下:

    445端口使用的是SMB(Server Message Block)协议,在Windows NT中SMB基于NBT实现,而在 Windows 2000/XP/2003 中,SMB除了基于NBT实现还直接通过445端口实现。 139端口与445端口的区别 139端口是在NBT协议基础上,而445端口是在TCP/IP协议基础上。

            看来Windows上的smbclient主要是使用445端口跟服务端通信的。

    解决方案

            综上所述,只需要在CentOS下让防火墙放行445端口即可:

    1. # 开放端口
    2. firewall-cmd --add-port=445/tcp --zone=public --permanent
    3. # 重载生效
    4. firewall-cmd --reload

            至于安全性问题就待进一步再优化吧。

    待研究

    • 为什么Centos开放445端口之前,Windows会使用139端口与其通信,但完成了Request-Response后就不继续走下去了?
    • 为什么开放445端口之后再抓包时就不见Windows使用139端口了?
  • 相关阅读:
    Android之AMessage机制存/取原理(四十四)
    centos7安装adb工具(拒绝抄袭)
    关于mac上如何U盘
    数据类型的定义
    Linux安全之SSL基础
    JS进阶——深入对象
    python_argparse模块的使用
    linux awk
    MySQL基础篇
    Python终端输出彩色样式的内容
  • 原文地址:https://blog.csdn.net/ye_shizhe/article/details/126325453