思路一: 可以通过libvirt获取host主机上已经开机的客户操作系统的mac地址,然后通过arp协议从mac地址解析出ip地址。
但是感觉这样频繁发arp包会不会堵塞网络?
有没有办法在客户端操作系统上做些操作,自动报告自己的mac地址和ip地址?像vmware tools一样
kvm下如何获取 客户机操作系统的 IP地址?
-
- 帖子: 10
- 注册时间: 2008-04-08 20:30
-
- 帖子: 10
- 注册时间: 2008-04-08 20:30
Re: kvm下如何获取 客户机操作系统的 IP地址?
libvirt 社区的回复是可以利用nwfilter来实现,原文如下:
即时是nwfilter探测到了客户机的IP地址,但如何将该地址记录在某个位置或者暴露哪个接口
以便那些采用远程接入方式(ssh或者tcp或者其他...)连接到kvm服务器上的程序访问呢?
期盼高手出现!
大概看了一下nwfilter的文档,感觉它更像是一个监测和管理客户操作系统网络的工具(或者驱动)Also, it is possible to sniff network traffic to determine the IP
address of a guest, and the nwfilter implementation uses just that. The
documentation covers some of the details and limitations of nwfilter
guessing an IP address based on traffic sniffing:
http://libvirt.org/formatnwfilter.html#nwflimitsIP
--
Eric Blake eblake@redhat.com +1-801-349-2682
Libvirt virtualization library http://libvirt.org
即时是nwfilter探测到了客户机的IP地址,但如何将该地址记录在某个位置或者暴露哪个接口
以便那些采用远程接入方式(ssh或者tcp或者其他...)连接到kvm服务器上的程序访问呢?
期盼高手出现!
-
- 帖子: 10
- 注册时间: 2008-04-08 20:30
Re: kvm下如何获取 客户机操作系统的 IP地址?
有了一个解决方案。
分为三部分: 查询主机 ,KVM host 和 Domain X
Domain X:运行一个udp的服务器端,响应局域网上的广播消息,收到含有“从MAC地址请求IP地址”的udp报文后,
和自己的MAC地址进行对比,如果相符,将自己的IP地址发送给该主机
KVM host: 运行一个tcp服务器端,响应从查询主机发送过来的mac地址请求信息,收到后,在局域网发送一个广播消息,
广播内容为“从MAC地址请求IP地址”
查询主机: 当需要从mac地址获取ip地址时,运行一个tcp客户端,连接到kvm host ,并且发送mac地址请求信息
使用python已经将该方案实现。
看上去有些麻烦,请各位提出好建议。
分为三部分: 查询主机 ,KVM host 和 Domain X
Domain X:运行一个udp的服务器端,响应局域网上的广播消息,收到含有“从MAC地址请求IP地址”的udp报文后,
和自己的MAC地址进行对比,如果相符,将自己的IP地址发送给该主机
KVM host: 运行一个tcp服务器端,响应从查询主机发送过来的mac地址请求信息,收到后,在局域网发送一个广播消息,
广播内容为“从MAC地址请求IP地址”
查询主机: 当需要从mac地址获取ip地址时,运行一个tcp客户端,连接到kvm host ,并且发送mac地址请求信息
使用python已经将该方案实现。
看上去有些麻烦,请各位提出好建议。
- 自由建客
- 帖子: 13468
- 注册时间: 2008-07-30 23:21
- 系统: Debian stable AMD64
Re: kvm下如何获取 客户机操作系统的 IP地址?
既然你说到 VMware Tools 自动报告,你可以自己写个。
-
- 帖子: 10
- 注册时间: 2008-04-08 20:30
Re: kvm下如何获取 客户机操作系统的 IP地址?
怎么写呢?自由建客 写了:既然你说到 VMware Tools 自动报告,你可以自己写个。