![使用 mac 地址或链接本地 ipv6 地址进行 ping](https://linux22.com/image/1359225/%E4%BD%BF%E7%94%A8%20mac%20%E5%9C%B0%E5%9D%80%E6%88%96%E9%93%BE%E6%8E%A5%E6%9C%AC%E5%9C%B0%20ipv6%20%E5%9C%B0%E5%9D%80%E8%BF%9B%E8%A1%8C%20ping.png)
我在运行 Ubuntu 12.04 的主机上运行了 4 台虚拟机 (Ubuntu 12.04)。虚拟机名称如下:
switch-vm
vm-1
vm-2
vm-3
以下是 switch-vm 上的网络设置:
Adapter 1:
Intel PRO/1000 MT Desktop (Bridged adapter, eth0)
Adapter 2:
Intel PRO/1000 MT Desktop (Internal network, 'intnet-1')
Adapter 3:
Intel PRO/1000 MT Desktop (Internal network, 'intnet-2')
Adapter 4:
Intel PRO/1000 MT Desktop (Internal network, 'intnet-3')
vm-1 上的网络设置:
Adapter 1:
Intel PRO/1000 MT Desktop (Bridged adapter, eth0)
Adapter 2:
Intel PRO/1000 MT Desktop (Internal network, 'intnet-1')
vm-2 上的网络设置:
Adapter 1:
Intel PRO/1000 MT Desktop (Bridged adapter, eth0)
Adapter 2:
Intel PRO/1000 MT Desktop (Internal network, 'intnet-2')
vm-3 上的网络设置:
Adapter 1:
Intel PRO/1000 MT Desktop (Bridged adapter, eth0)
Adapter 2:
Intel PRO/1000 MT Desktop (Internal network, 'intnet-3')
我已经在 switch-vm 上安装了 openvswitch:
sudo ovs-vsctl show
sudo ovs-vsctl add-br lan0
sudo ovs-vsctl add-port lan0 eth1
sudo ovs-vsctl add-port lan0 eth4
sudo ovs-vsctl add-port lan0 eth5
这使得连接如下所示。
eth 1 on switch-vm ----- eth1 on vm-1
eth 4 on switch-vm ----- eth1 on vm-2
eth 5 on switch-vm ----- eth1 on vm-3
请注意,上面提到的六个接口没有 IP 地址。ifconfig
接口上的 IP 地址如下所示。(例如:eth4
在 switch-vm 上)
eth4 Link encap:Ethernet HWaddr 08:00:27:80:e2:be
inet6 addr: fe80::a00:27ff:fe80:e2be/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:8538 (8.5 KB)
我想确保流量在上述所有三个连接之间双向流动。
有没有办法我可以使用ping
或其他类似的工具来实现此目的?如果有,如何使用?
答案1
虽然我没有安装 openvswitch,但有一些标准的切换方法可以查看每个设备是否以预期的方式连接。我不确定确切的命令或语法,尽管我确实查看了他们的网站...
如果你使用的是思科交换机
show cam
将显示交换机看到的所有 MAC 地址以及它们所连接的端口和 VLAN。在此之前,您可能必须发送广播 ping(ping 255.255.255.255)以确保所有主机都已完成 ARP,从而显示在 CAM 表中。
看起来您的设置的等效命令是
ovs−ofctl dump−tables br0
打印出交换机的表统计信息。(一些流量通过后,这会更有趣。)
(可能是 vsctl)
http://openvswitch.org/cgi-bin/ovsman.cgi?page=utilities%2Fovs-ofctl.8
答案2
正如您所提到的,您在此网络中没有 IP 地址。这对于 IPv4 有效,但 IPv6 具有从 NIC MAC 地址继承的每个设备的链接本地地址,请注意:
inet6 addr: fe80::a00:27ff:fe80:e2be/64 Scope:Link
假设每台机器都是 Linux 操作系统 OSX,则可以通过 IPV6 ping 每台机器:
从 vm-1 ping 到 switch-vm 的示例:
root@switch-vm:~# ping6 -I intnet-1 fe80::a00:27ff:fe80:e2be
如果你想知道特定以太网卡的本地链路 IP 地址是什么,你可以使用在线转换器http://ben.akrin.com/?p=1347