我正在使用mininet在python中制作一个简单的脚本。 我想让由两个开关(例如s1和s2)隔开的两个主机(例如h1和h2)进行通信。 当h1尝试ping h2时,针对h2 IP地址的ARP解析请求穿过了两台交换机之间的链接,但没有到达另一台主机。
这是拓扑:
H1 ------------- S1 ------------- S2 ------------ H2
IP H1 10.10.0.1/24
Mac H1 00:00:00:10:00:01
IP H2 10.10.0.2/24
Mac H2 00:00:00:10:00:02
def networkTest():
net = Mininet( topo=None,
build=False )
s1 = net.addHost('s1', cls=Node)
s2 = net.addHost('s2', cls=Node)
h1 = net.addHost('h1', cls=Host, mac='00:00:10:10:00:01')
h2 = net.addHost('h2', cls=Host, mac='00:00:10:10:00:02')
Link(s1, h1, intfName1='s1-eth0')
Link(s2, h2, intfName1='s2-eth0')
Link(s1, s2, intfName1='s1-eth1')
net.build()
for controller in net.controllers:
controller.start()
h1.cmd('ip addr add 10.10.0.1/24 dev h1-eth0')
h1.cmd('ip link set h1-eth0 up')
h2.cmd('ip addr add 10.10.0.2/24 dev h2-eth0')
h2.cmd('ip link set h2-eth0 up')
s1.cmd('brctl addbr br0')
s1.cmd('brctl addif br0 s1-eth0')
s1.cmd('brctl addif br0 s1-eth1')
s1.cmd('ip link set br0 up')
s2.cmd('brctl addbr br1')
s2.cmd('brctl addif br1 s2-eth0')
s2.cmd('ip link set br1 up')
CLI(net)
net.stop()
在mininet CLI内部,我在h1上打开了xterm并尝试ping h2
ping 10.10.0.2
但答案是
From 10.10.0.1 icmp_seq = 1 Destination Host Unreachable
答案 0 :(得分:0)
我认为您的主机未通过任何控制器连接。确保您的主机与您可以确定的任何控制器(Opendaylight,Floodlight等)连接。只需在mininet上全部键入pingall。它应该显示以下内容:
h1 ---> h2 h3
h2 ---> h1 h3
h3 ---> h1 h2-