在​​linux​​​上玩过​​kvm​​的朋友基本都晓得,在宿主机上运行了虚拟主机以后,我们无法直接看到某一个虚拟主机IP地址。比如:

  1. [root@21yunwei /]$virsh list --all
  2. Id 名称 状态
  3. ----------------------------------------------------
  4. 3 geoip running
  5. 4 tomcat running
  6. 5 jenkins running
  7. 18 gitlab running
  8. 19 win7 running

如果我们想知道​​gitlab​​​这个虚拟机的IP地址,那么是无法直接看到的。这里就需要一个小方法做排查,很简单的,就两步骤:
1,编辑虚拟主机配置文件。

  1. [root@21yunwei /]$virsh edit gitlab

进去以后直接查找mac 可以定位到如下地址信息,记录下mac后退出:

  1. <mac address='52:54:00:FA:61:75'/>

2,通过arp -a判定虚拟机器IP地址。

  1. [root@21yunwei /]$arp -a | grep -i 52:54:00:FA:61:75
  2. ? (192.168.1.101) at 52:54:00:fa:61:75 [ether] on br1

注意这里一定要加上-i 忽略大小写。不然因为大小写问题有可能查不到。

说明:这里只根据通信缓存记录的mac 、IP地址手段做排查。也有可能找不到。最好的办法是自己写一个脚本跟网段内的所有服务器都ping一次,记录下mac、ip地址以后再查找就没问题。