我已经使用 Samba 作为文件服务器运行了几个月。我有三台 Windows 7 PC 连接到具有读/写功能的 Ubuntu 23.10 Samba 服务器。
上周,我的猫把我的华硕 RT66U 路由器从墙上撞下来,把它弄坏了。我从同一家供应商那里买了另一台路由器,型号更新,华硕 RT68U。现在,三台 Win7 PC 无法连接到 Ubuntu 服务器,说 Samba 服务器拒绝了连接。除了通过 Discover 进行的常规更新外,这两台 Win7 PC 和 Ubuntu Samba 服务器上的软件都没有发生任何变化。
我检查了 smb.conf 文件,发现工作组仍然与路由器更改之前相同。Win7 PC 上的发现处于“开启”状态。我可以 ping Win7 PC 和 Samba 服务器。
有人能告诉我一种让 Win 7 PC 连接到 samba 服务器的方法吗?
附加信息。 Samba 服务器如何连接到路由器?无线连接,使用静态 IP。我可以从 Samba 服务器 ping Win7 PC,反之亦然,我可以从 Win7 PC ping Samba 服务器。我在 Win7 PC 上打开了“发现”,可以看到 Ubuntu Samba 服务器上的共享。
ip 地址显示数据:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether b0:41:6f:0c:4a:90 brd ff:ff:ff:ff:ff:ff
3: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether c8:5e:a9:c6:6f:bf brd ff:ff:ff:ff:ff:ff
altname wlp2s0
inet 192.168.1.40/24 brd 192.168.1.255 scope global dynamic noprefixroute wlo1
valid_lft 77182sec preferred_lft 77182sec
inet6 fe80::db76:3200:216f:cadc/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Samba 服务器的静态 IP 为 192.168.1.40。防火墙对 Samba 开放。
附加信息,2 号
现在可以连接到 Ubuntu samba 服务器了。我更换了路由器,让原来的路由器重新投入使用。我截取了路由器配置的屏幕截图,两个都一样,我逐页检查。我不知道为什么“新”路由器会阻止与 samba 的连接(其他所有路由器,posix、dovcot、Apache。两个路由器都可以使用。
所以。新路由器退回亚马逊。幸运的是,旧路由器的损坏似乎只是表面问题。
答案1
看来您不想查看工作站或 Samba 设置,这很有道理,但您也没有提供有关路由器的详细信息。这是一个 Ubuntu 论坛,因此请提供完整的详细信息以获得最佳帮助。
问题
您正在尝试执行的操作:从 Windows 7 计算机连接到文件共享
如果它不起作用会发生什么:
Win7 电脑无法连接到 Ubuntu 服务器,提示 samba 服务器拒绝连接
解释
NT_STATUS_CONNECTION_REFUSED
含义:Samba 服务器拒绝来自客户端的连接请求。
可能的原因:此错误可能由于以下原因而发生Samba 设置配置错误、防火墙限制或身份验证问题。
理解问题
日志说了什么?-參考
查看 Samba 日志:Samba 日志通常存储在
/var/log/samba/
Ubuntu 上的目录中。主要日志文件是log.smbd
,其中包含有关 Samba 文件和打印服务的信息。此外,同一目录下可能还有针对各个客户端的单独日志。
您可以使用 cat、less 或 tail 等命令查看 Samba 日志文件的内容。例如:
sudo tail /var/log/samba/log.smbd
sudo cat /var/log/samba/log.smbd | grep -i "rejected"
sudo cat /var/log/samba/log.smbd | grep -E -i "connection refused|CONNECTION_REFUSED"
第一个猜测:不允许端口
默认情况下,Samba 使用 UDP 端口 137 和 138 以及 TCP 端口 139 和 445。在 Ubuntu 上打开这些端口的最简单方法是允许 Samba 配置文件 (參考)。
sudo ufw allow samba
如果您真的想深入了解,您可以在启用 telnet 后使用 nmap、PuTTYtel 或从命令行测试端口是否打开。不过这应该有点过头了,您可以登录路由器检查是否被禁止,因为默认配置可能允许它。
第二步:重建 Samba 共享-參考
有时,故障排除需要付出的努力比重新做某件事要多得多。这似乎就是其中一种情况。重建共享不会影响您的文件。因此,只需重新执行所有步骤即可。通常,您最终会学到更多关于该过程的知识。专业提示:记录您的所作所为。
如果你能 ping 通,那可能不是路由
从 Windows:route print
从 Ubuntu:ip route list
traceroute IP
确保所有计算机的默认网关都更新为新路由器的 IP 地址。使用(ubuntu) 和tracert IP
(windows)测试路由。
如何连接
从 Windows 文件资源管理器中:
\\hostip\
从命令行:
net use * \\Ubuntu_Server_IP\ShareName /user:username password
从 Ubuntu 桌面:-參考
如果您没有多余的电脑,您可以创建一个 Live Boot USB 闪存驱动器,将其插入其中一台 Windows 电脑,启动到 Ubuntu,然后尝试从那里连接。这将消除 Windows 导致的问题的根本原因。