使用libnss-libvirt为KVM虚拟机注册IP地址
【注意】最后更新于 August 29, 2020,文中内容可能已过时,请谨慎使用。
如果你希望通过:
ssh user@virtualMachine
这样的方式连接到 libvirt 建立的 KVM虚拟机,那么你需要先获取到 虚拟机的IP 地址。
如果虚拟机网络接口配置的是 NAT 模式的话,可以通过 virsh domifaddr VM-Name 的命令得到它的 IP 地址。
有没有更加简单的方法,让我们能更方便地使用呢?
答案就是:使用libnss-libvirt为KVM主机注册虚拟机的地址
$ sudo yum install libvirt-nss ## RHEL/CentOS/Fedora ##
$ sudo apt install libnss-libvirt ## Debian/Ubuntu ##
使用下面的命令
$ grep -w 'hosts:' /etc/nsswitch.conf
确认,有以下的配置存在:
files libvirt libvirt_guest dns mymachines
现在就可以使用 vm list 的名称,通过 ssh 去连接它了:
$ virsh list
$ ping vm-name-here
$ ssh user@vm-name-here
但是, 它的条目不会出现在 /etc/hosts 文件中。 只要你能够 ping 或 ssh 时能够正确获取到虚拟机对应的IP地址,而不会出现下面类似的提示:
$ ping vm-name-here
ping: vm-name-here: Temporary failure in name resolution
就表示 libnss-libvirt 工作正常。
参考: