【问题标题】:tcpdump returns 0 packets captured, received and droppedtcpdump 返回 0 个捕获、接收和丢弃的数据包
【发布时间】:2013-07-11 15:27:17
【问题描述】:

我目前正在尝试调试一个困扰我近三周的网络问题。我正在使用 openstack,可以很好地创建虚拟机和网络,但根本无法连接到它们。当我从服务器运行此命令时,我必须按 ctrl+c 来停止超时并返回:

[root@xxxxxx ~(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”应该返回除 0 数据包捕获、接收或转储之外的其他内容。我是网络新手,因此没有太多经验,所以请保持温和。任何帮助表示赞赏。谢谢。

【问题讨论】:

    标签: linux networking ssh ping 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 的规则。

    【讨论】:

    • 我添加了所有正确的规则。当我创建一个 vm 时,除了仪表板中的控制台之外,没有其他方法可以访问它。无法通过服务器/实例本身对它进行 ping 通。我需要一个工作网络的模板,包括 eth 和 bridge 设置以及 dhcp 设置。
    • 请您先检查一下桥接网络好吗?例如,使用命令brctl show 列出所有网桥网络并检查您的VM 是否连接到网桥,通常它喜欢vnetX。然后通过命令cat /proc/net/dev检查端口RX/TX数据包计数以查看端口是否工作。
    猜你喜欢
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多