2013-07-11 167 views
0

我目前正试图调试一直困扰我近三周的网络问题。我正在使用openstack,可以创建虚拟机和网络,但无法连接到它们。当我从服务器上运行此命令,我必须按Ctrl + C停止超时并返回:tcpdump返回0个数据包捕获,接收和丢弃

[[email protected] ~(keystone_admin)]# tcpdump -i any -n -v 'icmp[icmptype] = icmp-echoreply or icmp[icmptype] = icmp-echo' 
tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes 
^C 
0 packets captured 
0 packets received by filter 
0 packets dropped by kernel 

我不知道这是否是专门和OpenStack的问题或只是一个网络问题一般,但我知道'tcpdump'应该返回除捕获,接收或转储的数据包之外的东西。我是网络新手,因此没有太多经验,所以请温和。任何帮助表示赞赏。谢谢。

回答

1

tcpdump是转储ip数据包的正确工具。但是,如果您的OpenStack安全组规则阻止ICMP,则预计会发送0个ICMP数据包。

我只是想明白你的意思是“根本无法连接到虚拟机”。 ping命令不起作用?或其他协议,如ssh或HTTP。

通常,连接到OpenStack VM时的第一个常见问题是安全组规则。默认的禁止ICMP协议。您可以运行以下命令来查看规则:

  • nova secgroup-list:它通常会返回一个默认
  • nova secgroup-rules-list default:它会显示定义的规则。必须至少有一条规则允许ICMP协议。

这里是official doc告诉如何添加规则,允许ICMP和SSH。

+0

我已经添加了所有正确的规则。当我创建虚拟机时,除了控制台中的控制台之外,无法访问它。无法通过服务器/实例本身ping /从它进行ping。我需要一个工作网络模板,包括eth和bridge设置以及dhcp设置。 –

+0

你可否先请检查桥梁网络?例如,使用'brctl show'命令列出所有桥接网络,并检查您的虚拟机是否连接到网桥,通常它喜欢** vnetX **。然后检查端口RX/TX数据包的数量,以查看端口是否通过命令“cat/proc/net/dev”工作。 – shawnzhu