使用Virtual-Box安裝Mininet看上去簡單,但其中也暗藏許多坑。我自己裝了多次Mininet,但每次都有缺陷:
- mininet訪問不了網絡
- 用宿主機訪問不了mininet虛擬機
最后,終於在這篇博文的幫助下,安裝了一個比較滿意的mininet虛擬機實例。但這篇博文是在mac系統上進行安裝,我自己是在ubuntu上進行安裝,雖說大同小異但也略有不同。
因此,為了方便大家安裝Mininet,筆者將自己安裝的全過程記錄於此,以便以后查閱。
安裝的操作系統:ubuntu 13.10
1.安裝virtual-box
我用的是最新版的virtual-box-4.3.10,已經裝好的童鞋可以繞過這一步。
sudo apt-get install dkms fakeroot libsdl-ttf2.0-0 wget http://dlc.sun.com.edgesuite.net/virtualbox/4.3.10/virtualbox-4.3_4.3.10-93012~Ubuntu~raring_amd64.deb sudo dpkg -i virtualbox-4.3_4.3.10-93012~Ubuntu~raring_amd64.deb
2.在virtual-box設置全局網絡
因為待會兒需要用到一個Host-Only網絡,因此需要在新裝好的Virtual-Box中設置一下。
(吐槽一下,ubuntu13.10的配置alt+printScreen總是出錯。弄了半天才把alt快捷鍵改到別的地方去了。)
3.下載mininet的鏡像包
當前有兩個版本2.1.0和2.0.0,但由於GFW的存在基本上下不動2.1.0。這里直接下載2.0.0:
http://cloud.github.com/downloads/mininet/mininet/mininet-2.0.0-113012-amd64-ovf.zip
我用的是2.1.0的安裝包
4.安裝mininet鏡像
解壓mininet包進入mininet目錄
unzip mininet-2.1.0-130919-ubuntu-13.04-server-amd64-ovf.zip
此時有兩種方法導入鏡像文件,一是雙擊解壓目錄里面的mininet-vm.ovf文件然后下一步下一步,但這種方式在我機器上會出錯。
因此我選擇的是另外一種導入方式,具體過程如下所示:
5.修改mininet實例的網絡配置
由於我們既需要mininet能夠訪問外網,又希望自己的宿主機能ssh登錄到mininet上,因此我們需要設置雙網卡來解決這兩個需求。
添加第二塊網卡Host-Only Adapter,如圖所示:
6.啟動並登錄mininet虛擬機
使用默認賬號登陸:mininet/mininet
7.登陸進去后運行命令檢查網絡配置是否完整
運行ifconfig后得到如下結果
首先驗證一下公網是不是通的。
ping www.baidu.com
其次,執行下面命令啟用eth1網卡
sudo dhclient eth1
這時再次運行ifconfig -a就會看到兩塊網卡
可以看到這邊dhcp分配的ip地址是192.168.56.102,因此我們就可以用這個ip地址從宿主機上進行ssh登錄了。話說vitrual-box自帶的登錄界面真心不好用,唉~
8. 手動更新網絡配置
最后我們還需要將第二塊網卡的配置加入到mininet的網絡配置文件中,這樣我們重啟之后總是會看到兩塊網卡了。
sudo vi /etc/network/interfaces
然后加入
auto eth1 iface eth1 inet dhcp
保存后就OK了。
至此,安裝Mininet的工作就全部完成。
在后續文章中,我將繼續介紹如何使用Mininet來完成SDN的實驗。:)