QEMU: 호스트의 Samba 네트워크 공유에 Tails-VM 연결 문제

QEMU: 호스트의 Samba 네트워크 공유에 Tails-VM 연결 문제

저는 Debian 9 호스트의 가상 머신에서 Tails를 실행하고 있습니다. Tails를 통해 호스트 컴퓨터의 공유 폴더에 액세스하기 위해 Samba 교환을 설정해 보았습니다.

하지만이 방법Debian 8에서는 완벽하게 작동했지만 Debian 9에서는 더 이상 작동하지 않습니다. Samba 공유에 연결하려고 하면 항상 다음 오류가 발생합니다.

"위치에 접근할 수 없습니다. 서버에서 공유 목록을 검색할 수 없습니다. 연결 시간이 초과되었습니다."


QEMU-settings 에서 네트워크 소스(가상 네트워크 인터페이스)를 virbr0device model 이라는 이름의 브리지로 지정했습니다 virtio. 머신을 실행하면 브리지가 활성화되고 물리적 네트워크 인터페이스도 활성화되며 게스트(=Tails)는 문제 없이 인터넷에 액세스할 수 있습니다. -share 만 Samba작동하지 않습니다.

/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에 삽입하면 위의 오류가 다시 발생합니다.

그러나 게스트에서 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에 연결할 때 오류가 발생합니다.

파일 브라우저를 통해 Samba 공유에 연결할 때 오류가 발생합니다.

Tails는 (성공적으로?) Samba-Server-IP에 ping을 보냅니다.

따라서 두 IP 모두 제대로 작동하는 것 같습니다 (삼바 서버를 다시 시작하기 전의 이전 시도에서도 192.168.122.1마찬가지 ).192.168.178.31

Tails에서 Samba 서버로 핑


고쳐 쓰다:Samba 교환이 여전히 작동하지 않습니다.

흥미로울 수도 있습니다. 저는 이 Samba 문제로 인해 너무 좌절해서 데비안 9 호스트를 여러 번 다시 설치했습니다. 어쨌든 실수를 하고 있다고 생각했기 때문입니다. 여기에서 처음으로 Debian을 설치하고 Virtual Machine Managers default브리지를 시작하려고 했을 때 virbr0방화벽이 감지되지 않았다는 오류가 발생했다는 사실을 기억하고 싶습니다 . 따라서 Virtual Machine Manager브리지를 활성화하고 싶지 않습니다. 이전에 이런 경고를 받은 적이 없어서 default브릿지를 삭제하고 동일한 설정, 동일한 이름으로 새로 다시 만들었습니다. 그러나 새 브리지를 수동으로 시작하는 것은 쉽고 아무런 문제도 없었습니다. 아직 방화벽이 설치되어 있지 않았지만 Virtual Machine Manager는 불만 없이 새 브리지를 수락했습니다. 이번에는 Samba 스왑이 제대로 작동했다는 점을 명심하고 싶습니다.

그러나 몇 가지 다른 작업이 작동하지 않았고 동시에 많은 패키지를 가지고 놀았기 때문에 호스트 시스템을 완전히 다시 설치했습니다. 여기에서 "방화벽이 감지되지 않았습니다"라는 오류 메시지는 패키지 누락으로 인한 firewalld것이며 dnsmasq패키지를 설치했지만 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 시스템에서 작동합니다( firewalld여기에는 설치되어 있지 않거나 설치되어 있지 않습니다).dnsmasq

답변1

이름을 확인하기 위해 브로드캐스트( bcast )를 사용하고 있지만 컴퓨터가 다른 서브넷에 있습니다.

브로드캐스트 이름 확인은 동일한 서브넷에서만 작동합니다.

/etc/hosts다음을 사용하여 tail 호스트에 항목을 추가해야 합니다.

192.168.178.31    hostnameofthesmbserver

다음 명령을 사용하여 이 작업을 수행할 수 있습니다.

sudo nano /etc/hosts

tail이 이 변경 사항을 지속적으로 유지할 것이라고 생각하지 않으므로 재부팅 시 항상 이 파일을 확인하십시오.

답변2

동료가 이 문제를 발견했습니다.

기본적으로 Samba는 차단되어 있습니다 firewalld. 따라서 firewall-config방화벽에서 Samba를 활성화하려면 패키지를 설치해야 합니다 . 이는 GUI 없이도 가능할 수 있지만 firewall-configGUI를 사용하면 10초가 걸립니다. 현재 세션뿐만 아니라 방화벽에서 Samba를 영구적으로 활성화한다고 언급했습니다.

이제 모든 것이 잘 작동합니다!

관련 정보