Лабораторная работа №5. Создание программно-конфигурируемой сети

Теоретические сведения

Работа с эмулятором mininet

Виртуальное окружение mininet является симулятором топологии на виртуальных хостах. Это виртуальная машина для системы Oracle VirtualBox, которая заранее готова к работе. Исходный материал с полной документацией можно найти на сайте Openflow.org, а полный учебник по работе с mininet и образ для виртуальной машины - по адресу: http://www.openflow.org/wk/index.php/OpenFlow Tutorial.

Mininet — это образ Ubuntu с уже установленными контроллером, пакетным перехватчиком и эмулятором mininet. Установим образ на Virtualbox (рисунок 31).

Создание виртуальной машины

Рисунок 31 - Создание виртуальной машины

После запуска VirtualBox необходимо нажать кнопку создать (поле 1 на рисунке 31), написать название виртуальной машины и выбрать тип Linux-Ubuntu, как показано в поле 2 рисунка 31. Объем памяти установить не менее 512Мб (поле 3), для жетского диска установить значение «Использовать существующий жесткий диск» (поле 4), нажать кнопку выбора файла (поле 5). Необходимо выбрать скачаный образ Mininet и нажать кнопки «Открыть», потом «Создать».

После создания необходимо настроить на виртуальной машине интерфейсы, через которые можно открывать ssh сессии.

Для этого в VirtualBox выделяем виртуальную машину с mininet, нажимаем кнопку «Настроить» (рисунок 32), далее на вкладке «Сеть» (поле 1 рисунка 32) выбираем вкладку «Адаптер 2» (поле 2) и ставим галку напротив «Включить сетевой адаптер» (поле 3). Затем из выпадающего списка (поле 4) выбираем «Внутренняя сеть».

Настройка адаптера 2 виртуальной машины

Рисунок 32 - Настройка адаптера 2 виртуальной машины

После этого, для возможности доступа к Интернет и внутренней сети необходимо настроить адаптер 1 (рисунок 33). В вкладке сверху (поле 1) выбрать «Адаптер 1», затем тип адаптера - «Сетевой мост» (поле 2), в выпадающем списке физических адаптеров (поле 3) выбрать нужный (Ethernet или WiFi адаптер). После настройки необходимо применить параметры нажатием кнопки «Ок».

Теперь необходимо запустить виртуальную машину двойным щелчком мыши на названии виртуальной машины. После запуска (рисунок 34) будет доступна консоль Linux.

Настройка адаптера 2 виртуальной машины

Рисунок 33 - Настройка адаптера 2 виртуальной машины

Необходимо ввести логин и пароль по умолчанию, для 32-битного образа пользователь openflow пароль openflow, для 64-битного образа это соответственно (mininet, mininet). Обратите внимание, что при вводе пароля символы не отображаются.

Проверка сетевых параметров виртуальной машины

Рисунок 35 - Проверка сетевых параметров виртуальной машины

Внешний вид консоли виртуальной машины Для проверки сетевых интерфейсов необходимо использовать команду «ifconfig -а» (рисунок 35)

Рисунок 34 - Внешний вид консоли виртуальной машины Для проверки сетевых интерфейсов необходимо использовать команду «ifconfig -а» (рисунок 35).

Если адресов нет, как на рисунке 35, необходимо выполнить команду на получение адресов через DHCP «sudo dhclient ethO», «sudo dhclient ethl» в соответствии с именами интерфейсов. После выполнения необходимо проверить факт получения адресов (рисунок 36 поле 1).

Местонахождение адреса в выводе команды ifconfig

Рисунок 36 - Местонахождение адреса в выводе команды ifconfig

После этого можно подключиться любым SSH клиентом, например PUTTY (рисунок 37).

Адрес в поле 1 должен соответствовать адресу в выводе команды «ifconfig», как на рисунке 6 поле 1. Тип протокола - SSH (поле 2). После нажатия кнопки «Open» откроется окно (рисунок 38) с предложением ввести логин и пароль.

Для полноценного использования необходимо установить графическую среду. Это происходит только при подключении к Интернет. Если в сети не используется прокси-сервер, то можно просто приступать к выполнению команд установки, иначе необходимо прописать прокси-сервер, перед этим войти в режим root командой «sudo su», ввести пароль и выполнить команды:

«export ЬПр_ргоху=«Ьир://адрес_сервера:порт_сервера» и «export Йр_ргоху=«Ьир://адрес_сервера:порт_сервера».

Рисунок 37 - Настройка SSH клиента

Рисунок 38 - Подключение no SSH

Если прокси сервер требует авторизацию, то команда будет выглядеть как «export Ьир_ргоху=«ЬЦр://логин:пароль@адрес_сервера:порт_сервера» и «export Йр_ргоху=«Ьир://логин: пароль@адрес_сервера: порт_сервера».

После настройки можно запустить установку графического интерфейса командой «sudo apt-get update» и «sudo apt-get install xinit flwm»

Графический интерфейс можно запустить только из самой виртуальной машины, но не из SSH клиента.

Для работы с mininet можно использовать следующие ключи запуска (см. таблицу 4).

Таблица 4 - Ключи запуска mininet

Команда

Действие

1

2

-h, —help

Вывод справки

—switch=

Выбор типа программно-управляемого коммутатора. Варианты: [kernel user ovsk]

-host=

Задает адрес запуска mininet

-controller

Задает тип контрооллера. Варианты: [nox_dump none ref remote nox_pysw]

-topo=

Задает параметры топологии. Варианты: [tree reversed single linear minimal] через запятую могут указываться аргументы ,argl,arg2,...argN

-c, -clean

Закрывает mininet и очищает все виртуальные машины

-mac

Включает формирование разных MAC адресов для хостов

-x, —xterms

Запустить консоли в графическом режиме для каждого хоста

-arp

Заранее установить агр записи в хосты в статичном режиме

-ip=

Адрес контроллера

1

2

-port=

Порт контроллера

-prefixlen=

Длина маски для автоматического распределения адресов

Например, для создания топологии, показанной на рисунке 39, необходимо выполнить следующую команду:

sudo mn -topo single,3 --mac --switch ovsk —controller remote

Топология с 3 узлами и 1 коммутатором

Рисунок 39 - Топология с 3 узлами и 1 коммутатором

При входе в mininet отображается консоль управления, начинающаяся со

строки «mininet».

Список команд представлен в таблице 5.

Таблица 5 - Список команд управления mininet

Команда

Описание

1

2

dump

Отображает все IP адреса устройств, их интерфейсы

intfs

Отображает список интерфейсов устройств

iperf

Измеряет производительность обмена по TCP между первым и последним хостом

iperfudp

Измеряет производительность обмена по UDP между первым и последним хостом

net

Показывает схему соединений устройств

link

Позволяет создать новую связь. Синтаксис: «link устройство 1 устройство2 [upldown]»

nodes

Показывает список устройств

noecho

Выполняет команду, но не отображает информацию о результате

pingpair

Посылает ICMP пакеты между первыми двумя хостами

pingall

Посылает несколько ICMP пакетов между всеми хостами по очереди и показывает результат

РУ

Выполняет любую команду на языке Python

quit, exit

Закрывает mininet

1

2

source

Читает список команд из указанного после команды файла

xterm, gterm

Открывает в графическом режиме отдельное окно с консолью соответствующего хоста. Синтаксис команды: «xterm узел1 узел2 ...». Команды работают только в графическом режиме виртуальной машине (см. рисунок 17)

sh

Выполняет произвольную команду в операционной системе

dpctl

Выполняет внешнее управление коммутаторами, синтаксис будет рассмотрен ниже.

ifconfig

Настраивает сетевые параметры указанного перед командой хоста. Синтаксис команды: «хост1 ifconfig параметры»

ping

Выполняет команду ping на указанном хосте. Синтаксис команды «хост! ping хост2»

Для получения помощи по командам можно воспользоваться знаком «?» (рисунок 40), для подробной помощи можно набрать «help команда».

Список и синтаксис команд mininet

Рисунок 40 - Список и синтаксис команд mininet

При необходимости использовать графический интерфейс (для команд xterm, gterm) необходимо запустить его командой «startx» (рисунок 41), после запуска нажать правой кнопкой мыши на пустом месте рабочего стола и выбрать «Open Terminal Неге» для запуска консоли. В консоли графического режима можно работать гак же, как и в текстовом режиме.

Графический режим

Рисунок 41 - Графический режим

Для запуска консоли виртуального хоста необходимо использовать команду xterm. Она запускает отдельное окно с консолью, в которой находится полноценный Linux на виртуальной машине (рисунок 42).

Рисунок 42 - Консоль xterm виртуального хоста

Весь набор команд Linux работает в этой консоли, включая ifconfig, ping, iperf, vi, sh и т.д.

По умолчанию, если не используется внешний контроллер (нет параметра «-- controller=remote»), коммутатором можно управлять через команду «dpctl», рассмотренной в следующем разделе.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ   След >