ㅍㅍㅋㄷ

Mininet을 통한 SDN실습 - Virtual Box와 Vagrant를 이용한 구성 본문

IT/SDN

Mininet을 통한 SDN실습 - Virtual Box와 Vagrant를 이용한 구성

클쏭 2015. 6. 23. 00:10

Mininet

( http://mininet.org )


[Contents]

  1. Mininet을 통한 SDN실습 - Virtual Box와 Vagrant를 이용한 구성

  2. Mininet을 이용한 SDN실습(1) - topo, switch, controller

  3. Mininet을 이용한 SDN실습(2) - Python을 이용한 Topology 구성


 Mininet 은 개인 PC에서도 손쉽게 가상 네트워크(Virtual Network) 환경을 구성하여, OpenFlow나 SDN 과 같은 Overlay network 환경을 간단히 테스트 해볼 수 있는 Open source emulator 이다.

 공개 온라인 강좌(MOOC)인 Cousera를 통해 SDN을 공부하며 알게 되었는데, 생각보다 설치가 간편하고 SDN의 기본 개념과 실습을 해보기에 알맞다.

또한 Python API를 지원하여 간단히 Programming을 통해 Network topology를 구성해 볼 수도 있다.

 Mininet 설치 방법은 mininet.org 에 가면 잘 나와 있지만,  여기서는 Virtual Box와 Vagrant를 통해 간단히 환경을 구성해 보는 방법을 포스팅하도록 한다.




VirtualBox와 Vagrant를 이용해 Mininet 설치

위에도 언급했듯, Cousera 공개 SDN 강좌에 해당 구성 방법이 잘 나와 있으며, 실습 환경 구성을 손쉽게 vagrant로 구성 가능하도록 오픈하였다. 시간이 된다면 이참에 SDN 강의도 들어보자.


1. VirtualBox 설치

먼저 PC에 VirtualBox를 설치한다. 각자 OS에 맞게 고르고 설치하면 된다. (참고로 필자는 Mac)

( https://www.virtualbox.org/wiki/Downloads )


* 참고로 이번 vagrant를 사용한 설치의 경우, Virtual box의 버전이 4.0 4.1 4.2 4.3 인 경우만 지원 되니 주의하자

  Old version donwload link : https://www.virtualbox.org/wiki/Download_Old_Builds_4_3


2. Vagrant 설치

 Mininet을 위한 환경 설정은 Cousera에서 공개한 Vagrant를 통해 할 예정이다. VirtualBox에 Mininet 환경 구성을 위해 Vagrant를 설치한다.

https://www.vagrantup.com/downloads.html )


3. git 설치

Cousera의 vagrant 소스가 Git에 올라가 있으므로 Git을 설치한다. 

( https://git-scm.com/downloads )



4. git 을 통해 vagrant 구성 정보 받기

   github에 구성 정보 source가 있다. git clone을 통해 받는다.
# git clone https://github.com/PrincetonUniversity/Coursera-SDN.git


5. vagrant 실행

# cd Cousera-SDN

Cousera-SDN# vagrant up 


명령 한줄만 실행하면 설치가 완료 된다. 매우 간단하다. (이것이 Vagrant의 매력-)

* 만약, 설치 중 아래와 같은 에러가 발생한다면 VirtualBox VM에 네트워크 인터페이스가 있는지 확인한다. 만약 없다면, 추가해 준다.


Cousera-SDN# vagrant up 

Bringing machine 'default' up with 'virtualbox' provider...

==> default: Importing base box 'coursera-sdn-2015.box'...

==> default: Matching MAC address for NAT networking...

==> default: Setting the name of the VM: Coursera-SDN_default_1464616905860_53453

==> default: Clearing any previously set network interfaces...

The specified host network collides with a non-hostonly network!

This will cause your specified IP to be inaccessible. Please change

the IP or name of your host only network so that it no longer matches that of

a bridged or non-hostonly network.




호스트 전용 어댑터를 추가해 준다.


6. Mininet 실행

vagrant ssh를 실행하면 아래와 같이 접속된다.

# vagrant ssh

Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.13.0-49-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

 System information as of Mon Jun 22 04:43:50 UTC 2015

 System load:  0.0               Processes:           79

 Usage of /:   4.7% of 39.34GB   Users logged in:     0

 Memory usage: 14%               IP address for eth0: 10.0.2.15

 Swap usage:   0%                IP address for eth1: 192.168.0.100


  Graph this data and manage this system at:

    https://landscape.canonical.com/


  Get cloud support with Ubuntu Advantage Cloud Guest:

    http://www.ubuntu.com/business/services/cloud


Last login: Mon Jun 22 04:43:50 2015 from 10.0.2.2

vagrant@coursera-sdn:~$ 


설치가 완료 되었다면, 이제 실습을 해보면 된다.

이 다음으로 Mininet의 기본인 Topology에 대해 알고 싶다면 다음 포스트로 가보자.


 [참고]

  • https://github.com/PrincetonUniversity/Coursera-SDN


Comments