2014-03-04 49 views
0

当我启动guest os时,netstat anp命令显示有很多UDP端口被打开。启动命令是:为什么qemu打开很多UDP端口

./qemu-system-i386 -cpu host -smp 1 -m 1024 -hda win2008.qcow2 -usb -usbdevice tablet \ 
    -vnc :1 -net nic,macaddr=00:16:3e:1d:f2:6f -net user \ 
    -net nic,macaddr=00:16:3e:51:a7:be -net tap,ifname=tap_M,script=qemu-ifup,downscript=no \ 
    -enable-kvm 

来宾操作系统是win2008。

netstat anp输出的样子:

Active Internet connections (servers and established) 
Proto Recv-Q Send-Q Local Address   Foreign Address   State  PID/Program name 
udp  0  0 0.0.0.0:33076   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:53045   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:53046   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:50487   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:36151   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:58167   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:44856   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:34104   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:38200   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:46393   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:45369   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:60218   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:40762   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:38203   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:36155   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:38716   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:35645   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:45885   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:49470   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:45374   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:50494   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:53567   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:56639   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:50495   0.0.0.0:*       20472/qemu-system-i 
udp  0  0 0.0.0.0:36160   0.0.0.0:*       20472/qemu-system-i 

我想知道为什么QEMU开这么多的UDP端口以及什么用?


的QEMU-ifup的内容:

#!/bin/bash 

switch=br0 

if [ -n "$1" ]; then 
    ip link set $1 up 
    sleep 1 
    brctl addif ${switch} $1 
    exit 0 
else 
    echo "Error: no interface specified" 
    exit 1 
fi 
+1

什么是你想用问吗? –

+0

我不明白问题 – Chaos

+0

对不起,我已经更新了这个问题。 – leeyiw

回答

0

我相信,你正在使用-net用户QEMU会从本地主机端口的顾客端口做用户模式端口转换为您服务。例如如果你在你的客户中运行bgp,那么这将需要在端口179上监听。但是当然你不希望你的主机这样做。所以端口转换将发生在离开虚拟机到主机的数据包上,反之亦然。有点像NAT。 Qemu必须为您设置此翻译,以便TCP/UDP流量看起来无缝。它不适用于IMCP;所以ping会失败。

看看http://wiki.qemu.org/Documentation/Networking更多信息

因此,在总结你的口,我相信正在创建

心连心导致这些翻译客户通信的结果

+0

我没有在qemu-ifup中添加任何端口转发代码。我已发布内容。 – leeyiw