我的 Hyper-V 主機是 Windows 10 Enterprise x64。我只有一個來賓運行:archlinux。
來賓連接到所有 NIC:
- 無線上網
- 乙太網路(實體)
有時,我會從主機系統或本機網路上的任何其他 PC 透過 SSH 存取來賓系統。我的本地網路中沒有一台 PC 具有靜態 IP,包括訪客系統。
問題是,在啟動主機(從而啟動來賓)後,來賓的 IP 是動態設定的且是未知的。只有連線到來賓並執行後ip addr
,我才能使用該 IP 位址進行 SSH 連線 ( [email protected].*
)。
我要訪問訪客系統透過主機名稱這樣我就不用每次都檢索IP了。問題是這樣的:
假設 archlinux guest 被指派了 IP 192.168.0.24
。 arch 主機名稱配置為Hyper-al
。我可以透過主機名稱(例如ping DESKTOP-XXXXX
)和 IP對網路中的每台 (Windows) PC 執行 ping 操作。使用 IP 來 ping 訪客效果很好。但是,主機名稱Hyper-al
無法解析。
因此,當我嘗試使用 PuTTY 連線到來賓時,我可以使用 IP 來完成此操作。然而,當我嘗試使用主機名稱時,它無法解析。主機名稱在 arch 中正確配置/etc/hostname
,並被/etc/hosts
PuTTY 等識別後使用IP登入。
如何透過主機名稱存取 arch guest ?我已經在 ubuntu 伺服器來賓上成功做到了這一點,所以我想它一定會起作用。
答案1
對於那些使用 Ubuntu 的人,這裡是對我有用的說明
先安裝Samba,
sudo apt-get install samba
其次,配置所需的主機名稱(這能與實際的 Ubuntu 主機名稱不同)
編輯Samda的設定文件,sudo vi /etc/samba/smb.conf
在包含的行下方workgroup = WORKGROUP
新增一行netbios name = NameOfHost
最後,重新啟動samba
systemctl restart smbd
答案2
archlinux 需要 samba 使用 Windows 用戶端使用的 netbios 協定來廣播主機名稱。
在來賓中安裝並設定 samba:
pacman -Sy samba
nano /etc/samba/smb.conf
放
workgroup = WORKGROUP
netbios name = Hyper-al
WORKGROUP
是預設值,如果來賓不需要加入工作群組,就足夠了。
啟用服務:
systemctl enable smbd.service
systemctl enable nmbd.service
重啟。