QEMU:将 Tails-VM 连接到主机上的 Samba 网络共享时出现问题

QEMU:将 Tails-VM 连接到主机上的 Samba 网络共享时出现问题

我在 Debian 9 主机上的虚拟机中运行 Tails。为了通过 Tails 访问主机上的共享文件夹,我尝试设置 Samba 交换。

尽管这种方法在 Debian 8 中工作完全正常,在 Debian 9 中不再工作。在尝试连接到 Samba 共享时,我总是收到以下错误:

无法访问位置。无法从服务器检索共享列表:连接超时。


QEMU-settings 中,我将网络源(虚拟网络接口)指定为名为 的网桥virbr0,设备型号为virtio。运行机器时,桥接器被激活,物理网络接口也被激活,并且访客(= Tails)可以毫无问题地接收互联网访问。只有Samba-share 不起作用。

我的/etc/samba/smb.conf样子是这样的:

[global]
workgroup = WORKGROUP
netbios name = MYCOMPUTER
name resolve order = bcast
dns proxy = no
log file = /var/log/samba/log./%m
max log size = 50
panic action = /usr/share/samba/panic-action %d
server role = standalone server
map to guest = bad user
usershare allow guests = yes
security = user
server string = %h server (Samba, Ubuntu)
bind interfaces only = yes
interfaces = enp0s25 virbr* lo

[Windows-SMB]
comment = Shared Samba Network Drive for Windows
path = /home/user/Public/Windows-Exchange
public = no
guest ok = no
browseable = yes
writeable = yes

[Tails-SMB]
comment = Shared Samba Network Drive for Tails
path = /home/user/Public/Tails-Exchange
public = no
guest ok = no
browseable = yes
writeable = yes

我尝试了所有可能的解决方案:

  • 安装包gvfs-bin

编辑于/etc/samba/smb.conf

  • 添加netbios name = NAME-OF-PC
  • 添加name resolve order = bcast host

然而,它们都不起作用。


我试图缩小错误来源的范围:

testparm未检测到任何错误,smbtree正确显示所有共享。如果我从中获取显示的 IP 地址nmblookup <hostname>并将其插入到 Tails 中,我会再次收到上述错误。

然而,从来宾 ping Samba 共享 IP 工作正常。我只是无法使用 Tails 文件浏览器访问共享。

我还可以看看其他一些想法吗?

命令smbclient -L host给我带来了“连接到主机失败(错误 NT_STATUS_UNSUCCESSFUL)“。但是,如果我输入,smbclient -L 192.168.178.31我会成功获得包含股票的表格。


以下是目前情况的一些截图:

通过 CLI 进行配置检查:

user@hostname: ~$ smbtree
WORKGROUP
   \\HOSTNAME                  HOSTNAME server (Samba, Ubuntu)
        \\HOSTNAME\IPC$             IPC Service (HOSTNAME server (Samba, Ubuntu))
        \\HOSTNAME\Tails-SMB        Shared Samba Network Drive for Tails
        \\HOSTNAME\Windows-SMB      Shared Samba Network Drive for Windows

user@hostname: ~$ nmblookup
192.168.122.1 HOSTNAME<00>

(This seems to be fine)

虚拟机管理器:

QEMU 虚拟管理器中的物理网络接口:enp0s25

QEMU 虚拟管理器中的物理网络接口:lo

Tails 应该使用的虚拟网桥“virbr0”

侏儒网络管理器:

侏儒网络管理器:

通过文件浏览器连接到 Samba 共享 IP 时出现 Tails 错误:

通过文件浏览器连接到 samba 共享时 Tails 出错

Tails(成功?)向 Samba-Server-IP 发送 ping:

因此,两个 IP 似乎都工作正常:192.168.122.1以及192.168.178.31(从重新启动 samba 服务器之前的先前尝试)。

Ping 到 Tails 中的 Samba 服务器


更新:Samba-exchange 仍然无法工作。

也许有趣:对这个 Samba 问题非常沮丧,我多次重新安装了 Debian 9 主机,因为我认为无论如何我都犯了一个错误。在此,我想记住以下事实:当我第一次安装 Debian 并想要启动 Virtual Machine Managersdefault网桥时virbr0,我收到一个错误,表示未检测到防火墙。因此Virtual Machine Manager不想启动这座桥。我以前从未收到过这样的警告,因此我删除了default网桥并重新创建了一个具有相同设置和相同名称的新网桥。然而,手动启动这座新桥很容易,没有任何问题。尽管仍然没有安装防火墙,虚拟机管理器毫无怨言地接受了新桥。我想请记住,这次我让 Samba 交换工作正常了。

然而,我对主机系统进行了整个重新安装,因为其他一些东西不起作用,同时我玩了很多软件包。据此我发现这个错误消息“未检测到防火墙”是由于缺少软件包firewallddnsmasq.我安装了这些软件包,但 Samba Exchange 再也没有工作过。

不幸的是,我对 Linux 不太感兴趣,无法自己找出错误。也许这只是一个简单的事情,通过防火墙的IP设置或类似的东西......

Samba 的另一个愚蠢行为是,在通过命令重新启动 Samba 服务器后, -/etc/init.d/samba restart命令smbtree无法直接运行。有时我必须等待几秒钟,直到不再收到空行并显示树。

此外,该smbtree命令有时仅显示带有主机名的输出行,但不命名创建的 Samba 共享。此行为似乎受到 中的选项的影响smb.conf。上层提供的smb.conf邀请smbtree命令也可以正确显示其输出中的份额。但是,如果我做一个非常简单的[global]部分,只有两个基本条目,有时 的输出smbtree仍然完全为空 - 我不知道为什么。

在我的具有相同设置的 Debian 8 主机上,smbtree-command 输出确实也只有一行。也许某个地方有错误?通常smbtree应该显示主机名桑巴舞也分享。至少Samba交换在这个Debian 8系统上可以工作(这里安装了nofirewalld和no )。dnsmasq

答案1

您正在使用广播( bcast )来解析名称,但您的计算机位于不同的子网上。

广播名称解析仅适用于同一子网。

/etc/hosts您必须在尾部主机上添加一个条目,其中包含:

192.168.178.31    hostnameofthesmbserver

你可以用这个命令来做到这一点:

sudo nano /etc/hosts

总是在重新启动时检查此文件,因为我认为 tail 不会保持此更改持久。

答案2

一位同事发现了这个问题:

默认情况下,Samba 被 阻止firewalld。因此,需要安装软件包firewall-config来在防火墙中激活 Samba。如果没有 GUI,这可能也是可能的,但使用firewall-configGUI 需要 10 秒的时间...提到在防火墙中永久激活 Samba,而不仅仅是当前会话。

现在一切正常!

相关内容