2016-11-03 72 views
0

通過調用Mininet的addHost()方法將主機添加到拓撲時,我遇到了連接問題。主機無法互相ping通,或者任何外部IP地址(通過NAT)。什麼我試圖做一個簡單的例子是以下幾點:使用Mininet的Python API addHost()方法

from mininet.net import Mininet 
from mininet.cli import CLI 

net = Mininet() 
h1 = net.addHost('h1') 
h2 = net.addHost('h2') 
s1 = net.addSwitch('s1') 

net.addLink(s1,h1) 
net.addLink(s1,h2) 
net.addNAT().configDefault() 
net.build() 

CLI(net) 

我也提供一個佈局的Mininet類的構造函數時不會遇到這個問題,但是我在做什麼,我需要的能力在實例化Mininet實例後添加主機(如上例所示)。難道我做錯了什麼?

編輯:我應該注意到我在提供的VM鏡像中使用Mininet 2.2.1。

回答

0

更改順序net.addLink(s1,h1)net.addLink(h1, s1) 第一主機比開關, 中級API:Network object

+0

我切換順序控制器,但這些主機仍然無法連接到彼此。 – user2149890

+0

還有更多缺少的參數,請檢查,請http://stackoverflow.com/questions/23677291/how-to-connect-different-switches-to-different-remote-controllers-in-mininet –

+0

我相信這些參數是可選的。即使添加它們,我也遇到了同樣的問題。我還應該注意,交換機本身沒有連接到NAT的問題,它只是無法連接到主機。因此主機不能相互連接。 – user2149890

0

我想通了這個問題。如果您將Mininet構造函數傳遞給拓撲,它將自動爲您添加控制器實例。不過,如果你建立拓撲Mininet實例實例化後(如上面的例子),你必須添加使用手動

net.addController('c0')