저는 Debian 9 호스트의 가상 머신에서 Tails를 실행하고 있습니다. Tails를 통해 호스트 컴퓨터의 공유 폴더에 액세스하기 위해 Samba 교환을 설정해 보았습니다.
하지만이 방법Debian 8에서는 완벽하게 작동했지만 Debian 9에서는 더 이상 작동하지 않습니다. Samba 공유에 연결하려고 하면 항상 다음 오류가 발생합니다.
"위치에 접근할 수 없습니다. 서버에서 공유 목록을 검색할 수 없습니다. 연결 시간이 초과되었습니다."
QEMU
-settings 에서 네트워크 소스(가상 네트워크 인터페이스)를 virbr0
device 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)
가상 머신 관리자:
그놈 네트워크 관리자:
파일 브라우저를 통해 Samba 공유 IP에 연결할 때 오류가 발생합니다.
Tails는 (성공적으로?) Samba-Server-IP에 ping을 보냅니다.
따라서 두 IP 모두 제대로 작동하는 것 같습니다 (삼바 서버를 다시 시작하기 전의 이전 시도에서도 192.168.122.1
마찬가지 ).192.168.178.31
고쳐 쓰다: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-config
GUI를 사용하면 10초가 걸립니다. 현재 세션뿐만 아니라 방화벽에서 Samba를 영구적으로 활성화한다고 언급했습니다.
이제 모든 것이 잘 작동합니다!