Mininet学习笔记

来源:互联网 发布:win7系统数据恢复 编辑:程序博客网 时间:2024/06/18 18:38

以下是在安装使用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()  
原创粉丝点击