Сети для самых маленьких. Микровыпуск №1. Переход на GNS3

  • Tutorial


Мы немножко нарушим хронологию цикла Сети для самых маленьких.
Компания ЛифтМиАП разрастается, покупая новые филиалы по всей стране. Поэтому следующая наша статья будет посвящена технологиям VPN и подключению удалённых офисов к центральному. Будут обсуждаться такие темы, как GRE, IPSec и DMVN. Тут Packet Tracer уже едва ли может нам чем-то помочь.
Пришло время для больших игр и перехода на профессиональное ПО для симулирования сети. Да и темы, положа руку на сердце, уже не для самых маленьких.

На выбор в сегодняшнем меню:

  • GNS3 — Graphical Network Simulator
  • IOU — IOS on UNIX


Под катом аргументы за и против и частичный перенос топологию из РТ в GNS, а сначала традиционное видео, на этот раз умеренной длины.





GNS или IOU? IOU или GNS? Начнём с IOU, потому что его мы использовать не будем.

IOS On UNIX



Как видно из названия — ставится поверх UNIX. Раньше это был только Solaris, теперь же поддерживается и Linux.
Самые существенные его плюсы:
1) Практически полноценная поддержка как L3, так и L2. Этот эмулятор используется при сдаче лабораторных экзаменов CCIE.
2) Низкие требования к ресурсам ПК. Точнее к CPU. Памяти тоже надо немало.
3) Нет ограничений по платам и интерфейсам. В настройках вы просто указываете сколько и чего вы хотите.

Минусы:
1) Самое главное — это проприетарный софт, который официально не распространяется вообще никак. В торрентах существуют образы L2IOU, L3IOU, но это незаконно.
Вообще ходит легенда, что на сайте cisco одно время было написано:

Cisco IOS on Unix is a tool intended for internal use only. Distribution of IOU images to customers or external persons, or discussion of IOU with customers or external persons, is prohibited. Don’t do it or we’ll have to come and kill you.

Это основная причина, по которой мы отказались от идеи использования IOU в нашем цикле.

2) Установка и настройка IOU не отличается простотой. Нужно обладать недюжим спокойствием и кое-каким опытом работы в никсах, чтобы разобраться с топологиями, файлами настройки и сохранением конфигурации устройств.
Тоже немаловажная причина — нам бы с меньшими жертвами осуществить переход и не отпугнуть “самых маленьких”.

3) Нет графического интерфейса.

В общем это годная утилита для беспринципных тру ИТшников. Если вам нужна лаба из 20+ устройств или надо поработать с QinQ, Rapid PVST (и прочие L2-технологии) или хочется всерьёз заняться Tshoot, то это для вас.

Graphical Network Simulator



Наш выбор. Имеет два серьёзных недостатка:

— Сильно требователен к CPU и памяти. 10 маршрутизаторов уже всерьёз нагрузят ПК. Использование процессора можно снизить с помощью механизма Idle PC. Без этого и 3-4 с трудом бы, пожалуй, пошли.
— Очень слабо поддерживает функции L2. Есть только подобие коммутаторов, на которых можно максимум настроить Access/Trunk порты и свичовые платы для маршрутизаторов, L2-функционал которых также очень ограничен.

Необходимо ещё где-то раздобыть образы IOS. GNS — это практически виртуальный маршрутизатор и для запуска ему также необходимо ПО, которым и является IOS.
Взять его можно с сайта cisco, если у вас там есть аккаунт с необходимыми правами, скачать с имеющегося у вас оборудования или другой всем известный способ.

Зато при этом GNS имеет графический интерфейс (технически это и есть GUI для Dynamips), что сильно облегчает создание виртуальных лабораторий.

Компьютер можно подключить в реальную сеть в качестве виртуального маршрутизатора.

Установка и подготовка к работе


Скачать можно тут. Для Ubuntu, Debian GNS доступен из репозитария.

apt-get install gns3

После установки выполняем начальную настройку.

Полагаем, что образы у вас уже есть. Добавим их:





Автоматически определяется модель маршрутизатора.

Обратите внимание на поле IDLE PC. Пока не трогаем.
Save.

При создании нового проекта вам предлагается ввести название и параметры.



Самое главное тут не забудьте поставить галку «Save nvram and other disk files», иначе после перезапуска приложения у вас не сохранится конфигурация.

Перетаскиваем маршрутизатор на рабочую площадку. Естественно, берём ту модель, для которой есть образ. Ошибок быть не должно.
Жмакаем сверху на кнопку . Обратите внимание на то, как возросла нагрузка на CPU: . Теперь волнение нужно успокоить. Для этого выбираем в контекстном меню Idle PC.


Именно этот механизм позволяет оптимизировать использование ресурсов процессора.

ПК вычисляет несколько значений и предлагает вам целый их список. Рекомендуется выбирать значения со знаком *. Как только они применяются, загрузка CPU падает



Если вдруг не получилось, итерируем до тех пор, пока не достигнем желаемого.
Теперь самое удачное значение перепишите на листочек, откройте окно управления образами Edit->IOS Image and hyervisors и заполняете то самое поле IDLE PC. Теперь при следующем запуске после загрузки IOS GNS не должен отожрать всё процессорное время.

Всё готово для подключения.
У GNS есть стандартные средства для этого:



По умолчанию он использует приложение xTerm, которое, наверняка, есть почти в любом дистрибутиве.
Признаться, у меня почему-то он не работает — нельзя набирать символы. В настройках терминальных программ можно выбрать другое приложение, например, Konsole — оно у меня заработало.



Для оболочки Gnome (Unity) при настройке терминала можно выбрать родной терминал, несмотря на то, что его нет в списке по-умолчанию. Достаточно вставить следующую строчку в поле Preconfigurated terminal commands:

gnome-terminal -t %d -e 'telnet %h %p' >/dev/null 2>&1 &

Но на самом деле вы можете пользоваться любым другим терминальным приложением, к которому привыкли. Более того, вы можете подключаться даже с другого компьютера в сети, потому что выполняется это командой:
telnet a.b.c.d 2000

Что такое telnet — понятно, a.b.c.d — адрес компьютера (если вы подключаетесь с этого же ПК, то адрес 127.0.0.1), 2000 — номер TCP порта, выделенного для этого устройства (как правило начинается с 2000 для таких программ). У каждого маршрутизатора будет свой.
Номер порта можно посмотреть так:



или так



Всё готово:



Перенос конфигурации из РТ в GNS


Тут кроется дьявол. В GNS у нас максимум 3 интерфейса: FE0/0, Fe0/1 и можно добавить ещё плату с FE1/0, а в лабе на РТ мы иногда используем FE1/1. Поэтому нельзя просто скопировать и вставить — местами придётся переработать конфигурацию.

Схема, которую мы будем воспроизводить:



Мы взяли только Сибирское кольцо, чтобы показать, как это делается, и не загружать схему другими филиалами.

Добавляем маршрутизаторы. Будем работать, например, с 2691-ми.



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



Также добавляем коммутаторы: один для «Балаган Телеком», второй для «Филькин сертификат».



Прежде чем, запускать, добавим в МСК плату.



В списке только одна плата с FE портами. Мы вполне могли бы добавить платы с последовательными портами, но зачем?

Настроим так называемые коммутаторы. Для этого доступен только GUI.

Удаляем все порты.
Добавляем несколько новых, но в качестве номера влана указываете 0, а тип порта dot1q. Это означает транковый порт, который пропускает все вланы.



То же и со вторым.

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

Выбрать нужно Manual, тогда можно указывать конкретные порты.



А можно вообще в настройках указать, чтобы всегда выбиралось только Manual.







Если до этого не подбирали значение Idle PС для этого образа, лучше запустить одно устройство и сделать это.
Запускаем остальные. Можно можно по очереди, можно все разом, если поставили паузу между запусками в настройках.



Если у вас старый компьютер, в этот момент он может серьёзно повиснуть. Нужно будет подождать.

Конфигурацию для маршрутизатора в Москве можно просто скопировать — с интерфейсами всё в порядке.

Два замечания:
  • Будьте аккуратнее при копировании команды
  • После вставки конфигурации интерфейсы остаются в состоянии shutdown.

Включаем все интерфейсы:
msk-arbat-gw1(config)#interface fastEthernet 0/0
msk-arbat-gw1(config-if)#no shutdown

И сохраняем конфигурацию:
msk-arbat-gw1#write memory
Building configuration…
[OK]

При настройке Красноярской циски нам нужно иметь ввиду разницу в интерфейсах и поменять их номера. (c FE1/0 на FE0/0 и c FE1/1 на FE0/1).
После включения интерфейсов, сразу же устанавливаются отношения соседства OSPF:
krs-stolbi-gw1(config)#int fa0/0
krs-stolbi-gw1(config-if)#no sh
%LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up1
%OSPF-5-ADJCHG: Process 1, Nbr 172.16.255.1 on FastEthernet0/0.8 from LOADING to FULL, Loading Done
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up

После того, как настроили все маршрутизаторы проверим работу OSPF:
msk-arbat-gw1#sh ip ospf neighbor

Neighbor ID Pri State Dead Time Address Interface
172.16.255.112 1 FULL/DR 00:00:36 172.16.2.197 FastEthernet1/0.911
172.16.255.80 1 FULL/BDR 00:00:34 172.16.2.130 FastEthernet0/1.8

msk-arbat-gw1#sh ip route
Codes: C — connected, S — static, R — RIP, M — mobile, B — BGP
D — EIGRP, EX — EIGRP external, O — OSPF, IA — OSPF inter area
N1 — OSPF NSSA external type 1, N2 — OSPF NSSA external type 2
E1 — OSPF external type 1, E2 — OSPF external type 2
i — IS-IS, su — IS-IS summary, L1 — IS-IS level-1, L2 — IS-IS level-2
ia — IS-IS inter area, * — candidate default, U — per-user static route
o — ODR, P — periodic downloaded static route

Gateway of last resort is 198.51.100.1 to network 0.0.0.0

172.16.0.0/16 is variably subnetted, 17 subnets, 3 masks
O 172.16.255.80/32
[110/11] via 172.16.2.130, 01:32:53, FastEthernet0/1.8
O 172.16.2.160/30 [110/20] via 172.16.2.130, 01:32:53, FastEthernet0/1.8
O 172.16.255.96/32
[110/12] via 172.16.2.197, 01:32:53, FastEthernet1/0.911
O 172.16.255.112/32
[110/2] via 172.16.2.197, 01:32:53, FastEthernet1/0.911
C 172.16.2.128/30 is directly connected, FastEthernet0/1.8
C 172.16.255.1/32 is directly connected, Loopback0
C 172.16.2.196/30 is directly connected, FastEthernet1/0.911
O 172.16.2.192/30
[110/11] via 172.16.2.197, 01:32:53, FastEthernet1/0.911
C 172.16.2.32/30 is directly connected, FastEthernet0/1.7
C 172.16.2.16/30 is directly connected, FastEthernet0/1.5
C 172.16.4.0/24 is directly connected, FastEthernet0/0.102
C 172.16.5.0/24 is directly connected, FastEthernet0/0.103
C 172.16.6.0/24 is directly connected, FastEthernet0/0.104
C 172.16.0.0/24 is directly connected, FastEthernet0/0.3
C 172.16.1.0/24 is directly connected, FastEthernet0/0.2
C 172.16.2.0/30 is directly connected, FastEthernet0/1.4
C 172.16.3.0/24 is directly connected, FastEthernet0/0.101
198.51.100.0/28 is subnetted, 1 subnets
C 198.51.100.0 is directly connected, FastEthernet0/1.6
S* 0.0.0.0/0 [1/0] via 198.51.100.1

Путь в Хабаровск лежит через Владивосток:
msk-arbat-gw1#tracer 172.16.255.96

Type escape sequence to abort.
Tracing the route to 172.16.255.96

1 172.16.2.197 860 msec 64 msec 4 msec
2 172.16.2.193 412 msec 56 msec *

Порвём этот линк:
msk-arbat-gw1(config)#int fa1/0.911
msk-arbat-gw1(config-subif)#sh

*Mar 1 00:57:43.995: %OSPF-5-ADJCHG: Process 1, Nbr 172.16.255.112 on FastEthernet1/0.911 from FULL to DOWN, Neighbor Down: Interface down or detached
msk-arbat-gw1#

И проверим сервис:
msk-arbat-gw1#tracer 172.16.255.96

Type escape sequence to abort.
Tracing the route to 172.16.255.96

1 172.16.2.130 4 msec 12 msec 12 msec
2 172.16.2.162 28 msec 20 msec *

Всё работает через Красноярск.
msk-arbat-gw1(config)#int fa1/0.911
msk-arbat-gw1(config-subif)#no sh
msk-arbat-gw1(config-subif)#
*Mar 1 00:59:21.179: %OSPF-5-ADJCHG: Process 1, Nbr 172.16.255.112 on FastEthernet1/0.911 from LOADING to FULL, Loadingping 172.16.255.96

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.255.96, timeout is 2 seconds:
!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/28/60 ms
msk-arbat-gw1#tracer 172.16.255.96

Type escape sequence to abort.
Tracing the route to 172.16.255.96

1 172.16.2.197 8 msec 16 msec 12 msec
2 172.16.2.193 12 msec 8 msec *

После возвращения интерфейса в исходное, маршрут тоже переключается обратно на Владивосток.

С помощью GNS можно легко снимать дампы трафика. Для этого достаточно Wireshark. Но под линуксом у меня почему-то не получилось запустить.

Для этого нужно сделать всего лишь следующее:
1) кликнуть правой кнопкой на линк между двумя устройствами
2) Выбрать capture в контекстном меню. Если после этого запустился вайршарк, его можно закрыть — в реальном времени он не собирает данные. Чтобы он не запускался в будущем, можно убрать галочку в настройках:



3) Выполнить запланированные действия.
4) Из контекстного меню линка выберите Start Wireshark.

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

ХД


Существуют и другие сетевые симуляторы, которые не охвачены данной статьёй.

Например, Bosson, который просит вменяемых денег за свой продукт для подготовки к сдаче CCNA/CCNP. К сожалению, не тестировал его, не могу сказать ничего о его качестве.

В русскоязычном сегменте совершенно незаслуженно обделён вниманием OpenSource проект NS3. Очень мощная утилита без привязки к конкретным вендорам.
Совершенная иная парадигма создания топологий и настройки, напоминающая скорее язык программирования.
Продукт хорошо документирован, но, видимо, в силу своей сложности всё же не сыскал большой известности в сети.
NS3 используется преимущественно в зарубежных ВУЗах, но даже у нас на его основе проворачивали интересные проекты.

Кроме того, наверняка, у каждого вендора есть какой-то внутренний симулятор их оборудования.

Точно могу сказать за Huawei, что у них имеется два мощных приложения:
WVRP — внутренний продукт, требует лицензий и работает только в корпоративной сети. Аналог GNS3, но с большими возможностями и меньшим потреблением ресурсов.
eNSP — публичный симулятор оборудования Huawei. Имеет урезанный функционал по сравнению с WVRP. Скорее похож на Packet Tracer по простоте работы, но с гораздо большими возможностями.
Есть видеоинструкция.
Бесплатен, свободен для загрузки (достаточно завести аккаунт на сайте). Скорее всего, на нём мы и будем в будущем отрабатывать Multicast — в eNSP это можно сделать довольно наглядно.

Я находил в сети симулятор Juniper, но не знаю, насколько он функционален и является ли официальным.

Полезные ссылки по теме


Сайт симулятора GNS: www.gns3.net
Как разнести GNS и Dynamyps на разные компьютеры: habrahabr.ru/post/135884
Инструкции по установке IOU: admindoc.ru/990/emulyatsiya-cisco-ios-s-pomoshhyu-cisco-iou
То же на английском: evilrouters.net/2011/01/18/cisco-iou-faq
Сравнение двух симуляторов: rendoaw.blogspot.ru/2011/05/cisco-iou-vs-dynamips.html

Данную статью вы также можете читать на нашем сайте: linkmeup.ru/blog/36.html.
Возможно, вам будет удобнее воспользоваться ЖЖ

==========================

Друзья и коллеги, наша команда ведущих подкаста остро нуждается в женском голосе, который скрасит мужские басы в эфире.
Поделиться публикацией
Комментарии 36
    0
    Особенно удобен эмулятор Juniper (так называемая Olive) — это обычная виртуальная машина с FreeBSD и установленной туда junos.
      0
      где бы ещё найти l2iou/l3iou. не надо говорить «в гугле» или «на торрентах» — нету там )
        +1
        Вроде был на certcollection.org
          +1
          Само собой. А точнее — TRAINING OFFERS & REQUESTS → CISCO SHARES → EXPERT → CCIE R&S Shares → IOU 2012
            0
            Блин зачем вы сказали про сертколлекшн? Полез посмотреть где там IOU и заблудился в куче интересных-интересных разделов :)
              0
              А вы не знали про него? Отличный ресурс для обучения, где есть всё-всё-всё, хотя я сам вначале подумал, что это логово дамперов :)
                0
                Да я знал, только он был где-то на границе сознания, типа ну есть такой сайт, там можно всякого посмотреть… А тут пока искал вот это «TRAINING OFFERS & REQUESTS → CISCO SHARES → EXPERT → CCIE R&S Shares → IOU 2012», глаза позацеплялись за всякие интересные штуки, понаоткрывал полсотни вкладок и завис =))
            0
            Послал в ЛС.
            Кому надо — тоже дам. Но выкладывать в паблик не хотел бы, так как Cisco очень любит блокировать эти образы на файлообменниках.
            (ссылка не моя, ведет она на 4shared, регистрация обязательна, но 10minutemail рулит)
              0
              Можно присоединиться к празднику жизни?
            +1
            3) Нет графического интерфейса.
            Марат, все давно есть. www.routereflector.com/cisco/cisco-iou-web-interface/.
            Есть и готовый бандл под бесплатный VMWare player:
            «iou-web.7z (part 2, mirror): the pre-build Virtual Machine for VMware Player. Just start and upload your own IOS/License. Default root password is “cisco”.» Не придется вообще ничего делать кроме как в браузерном окошке.
            Ну реально — с IOU даже проще, чем с GNS3.
              0
              В конечном итоге, наверно, проще, когда ты найдёшь, где скачать, разберёшься со всеми тонкостями установки и настройки. Но даже тут спорить не буду, потому что сам не ставил.

              Но как я написал выше, основная причина отказа от него — его закрытость.
                0
                Инструкция по тонкостям установки:
                1) Подсунуть .ova файл VMWare.
                2) Когда виртуалка запустится и покажет свой IP адрес — зайти на него браузером.
                3) Нарисовать в графическом виде топологию, зайти на устройства любым telnet клиентом и делать что угодно.

                Опционально — подсунуть образ L2IOU. Где его нет.

                Серьезно, даже INE уже переводят свои топологии на IOU.
                  0
                  Конечно GNS3 проще визуально, но каждый раз натыкаешься на не поддерживаемые фитчи, которые просто не работают без объяснений. С IOU в этом плане все значительно прозрачнее, если фитча не поддерживается, то об этом будет наглядно сказано. Попробуйте сделать на GNS'е лабу с… например, bfd. Да и стабильность работы IOU позволяет спокойно его дергать не опасаясь, что свя топология «разъедется». Как-то ради спортивного интереса и паралельной провекри правил zbf ходил через IOU маршрутизатор в инет — работает.
                    0
                    Я знаю, что много чего не поддерживает GNS, но для наших текущих задач, я надеюсь, нам хватит его функционала.
                0
                А никто не знает как решить проблему когда после запуска например 72xx и попытки прицепится по консоли вижу только:
                Connected to Dynamips VM "R1" (ID 2, type c7200) - Console port
                Press ENTER to get the prompt.

                Дальше этого не уходит :(
                  0
                  Сам с таким столкнулся. Пока не разбирался.
                    0
                    Судя по тому, что написано здесь, из 72-ой серии поддерживается только 7206, а у меня образ сдёрнут с 7204
                      0
                      Это неважно, они идентичны, это только шасси.
                      Можно попробовать, если сейчас стоит образ «c7200», махнуть на «c7200p».
                      И IOS, насколько я помню, нужен 12-х линеек.

                      (говорю почти наугад, но вдруг поможет?)
                        0
                        c7200p-advsecurityk9-mz.124-24.T2 был заюзан
                          0
                          Ну тогда заюзать хоть c7200-advsecurityk9-mz.124-24.T2. А лучше на другую линейку перейти ради теста. Или сначала что-нибудь из 12.4(15)T попробовать.
                          0
                          7200 вроде единственный роутер где 15.х какое-то поддерживается, для остальных только 12.х
                      0
                      Попробуйте поменять терминал. На putty такое случалось часто. На SecureCRT таких проблем не имел ни разу.
                      0
                      а еще у ensp в след году будет базовый MPLS :)
                        0
                        В текущей версии уже есть mpls. Только что проверил — метки раздаются, LSP строится. Правда не пробовал VPN и большие топологии.
                        0
                        Wireshark не работает, т.к. у Вас пользователь не имеет прав на запуск /usr/bin/dumpcap.
                        Следующее поможет
                        # addgroup -quiet -system wireshark
                        # chown root:wireshark /usr/bin/dumpcap
                        # setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
                        # usermod -a -G wireshark «User name»
                        а так же надо прописать обсолютный путь для файла, который отснифается.
                          0
                          Спасибо. Как будет возможность, я проверю.
                            0
                            Не помогло — по-прежнему ошибка в консоли. Видимо, проблема глубже.
                              0
                              Странно, у меня на Ubuntu 12.04 работает. А если wireshark после такого запустить он интерфейсы нормально видет? Просто я эелал это что бы он работал не только из под root.
                                0
                                У меня 10.04. Wireshark без рута интерфейсы не видел, вы правы.
                                Но тут не проблема, в том, что вайршарк не запускается. Ещё при нажатии «Capture» вываливаются ошибки.
                                  0
                                  #ll /usr/bin/dumpcap
                                  -rwxr-xr-x 1 root wireshark 66884 Apr 13 2012 /usr/bin/dumpcap*

                                  $ id
                                  uid=1000(lexx) gid=1000(lexx) groups=1000(«User name»),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmin),124(sambashare),127(wireshark)

                                  У меня как то так показано права и группы, сейчас попробовал на домашнем — все работает.
                                  И кстати, у меня тоже сначало не получилось, а оказалось, что надо перелогинися, что бы пользователь попал в группу wireshark
                            0
                            Пару добавок:
                            — GNS3 есть и под виндой. На моём X220 с умеренным процом и 8 гигами мозгов топология для MPLS из INE (13-14 девайсов) запускалась и работала гладко.
                            — apt-get install gns3 поставит вам версию 0.7.4, тоесть совсем древнюю. Лучше ставить ручками (благо туториалов достаточно).
                              0
                              Сейчас GNS под виндой и пользую, но машинка сильно слабее. на 6-7 уже туго работает.
                              У меня старая версия убунту. Теперь после удаления старой версии, новую вообще не могу установить. Постоянно вылетает с ошибкой :)

                              Спасибо за дельный совет.
                                0
                                Я пару недель назад ставил GNS на Ubuntu 12.04, лабу для CCIE строил. Семь потов сошло, но заработала сволочь. У меня, правда, запросы были немного другие. Я этот сервер подрубал к 4 реальным L3 свитчам. И хотел поднимать GNS удалённо, тоесть запускать GUI на моём лапте, а всю виртуализацию гонять на сервере. Потом мучался над тем как привязать реальные интерфейсы на сервере к своему компу. Короче, в лучших традициях линукса — трахался 3 дня, зато теперь всё работает гладко :)
                                  0
                                  А чего не IOU тогда?
                                    0
                                    Время поджимает, не хотелось разбираться с чем-то незнакомым. GNS я уже прокатал вдоль и поперёк, знаю его плюсы и минусы. А с IOU если б наткнулся на какую-то траблу, не знал бы — это баг софта или я что-то делаю не так.
                              0
                              Вы извините конечно же но я L2IOU/L3IOU я регулярно использую! И я вам скажу что GNS как и PT это хорошая штука, но уж очень мучительно их ставить на Linux!!! L2IOU/L3IOU в разы проще никакой графики и никаких граблей.

                              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                              Самое читаемое