我正在尝试在两台 Linux 机器之间共享家庭网络上的文件:主机 A 是 Ubuntu 20.04,主机 B 是 Red Hat。Samba 运行良好,直到发行版升级到 20.04。现在主机 B 的 cifs 挂载报告“没有到主机的路由”。典型和明显的补救措施不起作用。sudo ufw status
显示允许一堆端口。我可以 ping 主机 A 或 ping 主机 A 的 ip,但无法使用 gigolo 或其他 smb 协议连接。然后我尝试设置 nfs - 同样的问题。测试来自主机 B 的连接:
nmap host-A
返回22 tcp open ssh
,但是当我这样做
ssh host-A:22
我收到“无法解析主机...名称或服务未知”的消息,与 IP 地址而不是主机名相同。
我知道 smb 或 nfs 不使用端口 22,以上内容仅用于证明防火墙中的某些东西没有按照我理解的方式运行。
我已经搜索过答案,但到目前为止这对我来说仍然是个难题。我一定是做错了什么或遗漏了什么。在我看来,我的 Ubuntu 20,04(主机 A)只能对我的家庭网络(无线,192.168.0.0)中的 ping 做出反应。
更正:我对 ssh 的测试描述有误。正确的命令是ssh host-A
,主机 A 确实识别了连接尝试,注册了主机 B。然后ssh user@host-A
在输入用户密码后进行连接。然后我在主机 B 机器上对主机 A 进行了终端访问。尽管 ufw 中允许了端口,但 samba 和 nfs 文件共享均未成功。与我最初发布时的错误相同。
根据答案 1 的其他信息:针对 Host-B 的本地网络上的 host 命令输出
user@Host-A:~/Desktop$ host Host-B
Host Host-B not found: 2(SERVFAIL)
user@Host-A:~/Desktop$ host 192.168.nnn.mmm
mmm.nnn.168.192.in-addr.arpa domain name pointer Host-B.
user@Host-A:~/Desktop$
如果我在 Host-B 上执行 vpn,它位于 mydomain.com 上
user@Host-A:~/Desktop$ host Host-B.mydomain.com
Host-B.mydomain.com has address xxx.pub.lic.ip
user@Host-A:~/Desktop$
Samba 相关命令输出:
user@Host-A:~/Desktop$ sudo smbstatus
[sudo] password for user:
Samba version 4.11.6-Ubuntu
PID Username Group Machine Protocol Version Encryption Signing
----------------------------------------------------------------------------------------------------------------------------------------
Service pid Machine Connected at Encryption Signing
---------------------------------------------------------------------------------------------
No locked files
user@Host-A:~/Desktop$ findsmb
*=DMB
+=LMB
IP ADDR NETBIOS NAME WORKGROUP/OS/VERSION
---------------------------------------------------------------------
user@Host-A:~/Desktop$ smbtree
user@Host-A:~/Desktop$
在 Host-B 中相同 [userB@Host-B Desktop]$ smbstatus
Samba version 3.6.23-53.el6_10
PID Username Group Machine
-------------------------------------------------------------------
Service pid machine Connected at
-------------------------------------------------------
No locked files
[userB@Host-B Desktop]$ findsmb
*=DMB
+=LMB
IP ADDR NETBIOS NAME WORKGROUP/OS/VERSION
---------------------------------------------------------------------
192.168.nnn.mmm CENTOS [AB] [Unix] [Samba 3.6.23-53.el6_10]
[userB@Host-B Desktop]$ smbtree
Enter userB's password:
[userB@Host-B Desktop]$
更多信息:显然,Host-B 可以在 samba 中找到自己,而 Host-A 却找不到。然而,在 Host-A(Ubuntu 计算机)中,Thunar 中的浏览网络确实显示了其自身的 netbios 名称(在 smb.conf 中定义)。然而 findsmb 命令无法找到自身。
答案1
这是因为 Canonical 出于安全原因禁用了 SMB1。SMB2/SMB3 仍然有效。
smbtree
命令也不再起作用。
任何一个...
使用时请使用 //server/pathname 或 //IP/pathname连接到服务器或在你的 /etc/fstab 中
或者
编辑 /etc/samba/smb.conf,并将其添加到网络部分,然后重新启动 smbd 和 nmbd...
# allow SMB1
client min protocol = NT1
server min protocol = NT1
name resolve order = bcast host lmhosts wins
使用testparm
命令确认你的smb.conf文件是正确的。