私の Hyper-V ホストは Windows 10 Enterprise x64 です。実行中のゲストは archlinux のみです。
ゲストはすべての NIC に接続されています。
- Wi-Fi
- イーサネット(物理)
時々、ホスト システムまたはローカル ネットワーク上の他の PC からゲストに SSH 接続することがあります。ゲスト システムを含め、ローカル ネットワーク内のどの PC にも静的 IP はありません。
問題は、ホストを起動した後(つまりゲストを起動した後)、ゲストの IP が動的に設定され、不明になることです。ゲストに接続して を実行した後でのみip addr
、SSH 接続に IP アドレスを使用できます([email protected].*
)。
ゲストシステムにアクセスしたいホスト名で毎回 IP を取得する必要がないようにするためです。ここで問題があります:
archlinux ゲストに IP が割り当てられたとします192.168.0.24
。arch ホスト名は として設定されていますHyper-al
。ネットワーク内のすべての (Windows) PC に対して、ホスト名 (例ping DESKTOP-XXXXX
) と IP で ping を実行できます。ゲストの IP を使用して ping を実行すると、問題なく動作します。ただし、ホスト名はHyper-al
解決されません。
たとえば、PuTTYを使用してゲストに接続しようとすると、IPで問題なく接続できます。ただし、ホスト名で接続しようとすると、解決されません。ホスト名は、Arch内で適切に設定されており/etc/hostname
、/etc/hosts
たとえばPuTTYによって認識されます。後IP を使用してログインします。
ホスト名で Arch ゲストにアクセスするにはどうすればよいでしょうか? 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 では、Windows クライアントが使用する netbios プロトコルを使用してホスト名をブロードキャストするために samba が必要です。
ゲストに samba をインストールして設定します。
pacman -Sy samba
nano /etc/samba/smb.conf
置く
workgroup = WORKGROUP
netbios name = Hyper-al
WORKGROUP
ゲストが WG に参加する必要がない場合は、これがデフォルトであり、十分です。
サービスを有効にします:
systemctl enable smbd.service
systemctl enable nmbd.service
リブート。