Делаем роутер в GNS3 доступным в реальной сети

Когда я работал в провайдере сетевым инженером, мне часто бывало нужно протестировать какой либо скрипт активации сервиса или настройки оборудования. В реалиях работы российского провайдинга, оборудования уровня доступа всегда много, и можно без особых проблем собрать небольшую лабораторию для тестирования, но более "серьезного" оборудования уровня агрегации или ядра всегда дефицит, и его почти всегда покупают "впритык" без какого либо запаса. Подумав, что было бы неплохо иметь возможность эмулировать образы реальных устройств я принялся искать решение. По роду деятельности, я уже хорошо был знаком с GNS3 и первым делом решил посмотреть можно ли сделать желаемое его средствами. После беглого осмотра функций GNS3 которые ранее мне были не нужны я обнаружил, что все можно сделать средствами GNS3, и довольно легко. В компании в которой я работал, все оборудование уровня ядра и агрегации - Cisco, с образами которых GNS3 работает довольно сносно.

В этом небольшом посте я расскажу как сделать виртуальные машины с Cisco в GNS3 доступными в реальной сети.

GNS3 - это графический эмулятор сети. Умеет запускать образы iOS, прокладывать линки между ними, мониторить трафик и много других полезных вещей. Подробнее про всё то, что умеет GNS3 лучше почитать на их сайте.

Установка и первичная настройка GNS3 вне рамок этой статьи, поэтому дальше предполагаю, что GNS3 у Вас уже установлен.

Запускаем GNS3 с правами супер-пользователя.
В Windows - это запуск приложения от имени администратора; в Linux - из под пользователя root (su), или просто sudo. После запуска GNS3, добавляем два облака (Cloud) и любые два роутера образы которых у Вас есть:

Я для примера добавил два роутера Cisco 3745.
Каждое облако необходимо настроить. Нажимаем по облаку правой кнопкой мышки, и выбираем "Configure":

В случае, если у Вас Linux, в настройках облака в список "Linux Ethernet NIO" (Network Input/Output) выбираем нужный сетевой адаптер, и нажимаем "add":

В моем случае - это eth0.
Пользователям Windows необходимо в верхней табличке "Generic NIO" выбрать адаптер, который подключен к необходимой сети и нажать "add":

Ту же самую операцию проделываем для "Cloud2", соединяем оба устройства линками с соответствующими им облаками и запускаем оба роутера. Дома у меня SOHO роутер, который выдает IP-Адреса в сети. Образ Cisco получит IP-Адрес именно от него.

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

R2#
R2#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#interface fastEthernet 0/0
R2(config-if)#ip address dhcp
R2(config-if)#no shutdown
R2(config-if)#
*Mar  1 01:47:27.607: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 01:47:28.607: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R2(config-if)#
*Mar  1 01:47:32.923: %DHCP-6-ADDRESS_ASSIGN: Interface FastEthernet0/0 assigned DHCP address 192.168.1.16, mask 255.255.255.0, hostname R2

R2(config-if)#end
R2#
*Mar  1 01:48:01.647: %SYS-5-CONFIG_I: Configured from console by console
R2#ping 192.168.1.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/8/12 ms
R2#

Абсолютно аналогично настраивается другой роутер:

R3#configure terminal
Enter configuration commands, one per line.  End with CNTL/Z.
R3(config-if)#ip address dhcp
R3(config-if)#no shutdown
R3(config-if)#
*Mar  1 01:08:34.139: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Mar  1 01:08:35.139: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R3(config-if)#end
R3#
*Mar  1 01:08:45.855: %DHCP-6-ADDRESS_ASSIGN: Interface FastEthernet0/0 assigned DHCP address 192.168.1.20, mask 255.255.255.0, hostname R3
R3#

Как видно выше, DHCP сервер R2 выдал IP-Адрес 192.168.1.16, R3 - 192.168.1.20. Проверим, что они друг друга видят:

R3#ping 192.168.1.16
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.16, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 8/12/20 ms
R3#

Видим, что друг друга они видят. Первый потерянный пакет - это норма. В данном случае он теряется т.к. ARP таблица у роутера пока пустая. После этого настраиваем роутеры как нужно, сохраняем проект и можно отлаживать скрипты.


Понравилась статья? Поделись с друзьями!




Комментарии на этом сайте требуют включенного Javascript в вашем браузере. Вероятно, ваш браузер не поддерживает Javascript, или он был отключен по каким-то причинам. Если вы хотите прокомментировать пост, или просто почитать комментарии, то пожалуйста, включите Javascript или попробуйте открыть эту страницу другим браузером.