Mininet學習筆記

以下是在安裝使用Mininet過程中遇到的問題以及解決方法

一、Mininet
mininet安裝完全參考官方wiki。

  1. 在Windows環境下。
    在VMware workstation 裏面安裝Mininet VM虛擬機,wireshark啓動時候遇到問題。
    通過在windows上下載Xming服務器,用putty進行X11連接得到了解決,後來發現好像可以忽略這個小問題。

  2. Linux環境。
    在EXSI中安裝mininet的時候遇到了ping不通的情況。原因是ubuntu版本過高,又重新裝成14.04版本。

二、mininet與外網互通

mininet創建的拓撲屬於一個小型局域網,如果想與外網互通,需要利用它自帶的函數。
參考mininet源碼nat.py與hwinf.py,實現與外網互通。下面是實現代碼:

1.  """Custom topology example 
2.   
3.  Two directly connected switches plus  hosts for each switch: 
4.   
5.     host --- switch --- switch --- host 
6.   
7.  """  
8.  import os  
9.  from mininet.net import Mininet  
10. from mininet.node import Controller, RemoteController  
11. from mininet.cli import CLI  
12. from mininet.link import Intf  
13. from mininet.log import setLogLevel, info  
14.   
15. def myNetwork():  
16.   
17.     net = Mininet( topo=None, build=False)  
18.   
19.     info( '*** Adding controller\n' )  
20.     net.addController(name='c0')  
21.       
22.     info( '*** Add switches\n')  
23.     s1 = net.addSwitch('s1')  
24.     s2 = net.addSwitch('s2')  
25.   
26.     info( '*** Add hosts\n')  
27.     h1 = net.addHost('h1')  
28.     h2 = net.addHost('h2')  
29.     h3 = net.addHost('h3')  
30.     h4 = net.addHost('h4')  
31.       
32.     info( '*** Add links\n')  
33.     net.addLink(h1, s1)  
34.     net.addLink(h2, s1)  
35.     net.addLink(h3, s2)  
36.     net.addLink(h4, s2)  
37.       
38.     Intf( 'eth0', node=s1 )  
39.     info( '*** Starting network\n')  
40.     net.start()  
41.      
42.     
43.     CLI(net)  
44.     net.stop()  
45.   
46. if __name__ == '__main__':  
47.     setLogLevel( 'info' )  
48.     myNetwork()  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章