Автор Гілка: Звязок між хостом та віртуалкою у GNS3 (Dude на віртуалці)  (Прочитано 3438 раз)

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3739
  • Карма: +9/-0
  • Програміст
Проблема: потрібно запустити MikroTik у GNS3 для навчання, до мікротика потрібно підʼєднатися використовуючи Winbox та Dude.

Отже, запускаємо GNS3 (Графічний Симулятор Мереж), додаємо мікротік та Хмарку, з'єднуємо порт порт езернет хоста з портом ether1.

Якщо кабель підключено, то мікротік побачить мережу і отримає адресу по DHCP. Але звʼязатися з хостом він не зможе, так як пакети вкинуті на вхід ip-стеку порта езернет повернутися назад на вхід вже не можуть. (На Windows це працює, тому що там віртуалка з GNS3 запускається під VMWare, яка і робить всі потрібні налаштування мережі).

Якщо є фізичний мікротик, то на обох мікротиках можна ввімкнути romon (альтернативна мережа для мікротіків, яка працює по власному протоколу IP), і тоді можна підключитися через фізичний мікротік до віртуального використовуючи Winbox.

Якщо є ще один компʼютер поруч, підключений до тієї ж мережі, то з нього можна без проблем доступитися до віртуального мікротика через Winbox та Dude.

Але щоб запустити GNS3, мікротік, Winbox, та Dude на одному компʼютері, потрібно створити віртуальну мережу:

- Створюємо пару віртуальних езернетів:
ip link add veth01 type veth peer name veth02
ip addr add 192.168.6.1/24 brd + dev veth01
ip link set dev veth01 up
ip link set dev veth02 up
- Вимикаємо фаєрвол, або конфігуруємо через firewall-config у ньому що veth01 та veth02 — це довірена мережа (trusted).
- Створюємо у GNS3 ще одну хмарку, та додаємо у неї порт veth02 (потрібно поставити галочку: показувати спеціальні пристрої).
- Зʼєднуємо порт veth02 хмарки з портом ether8 мікротика.
- (На даному етапі, Winbox вже повинен бачити віртуальний мікротик.) Додаємо статичну адресу 192.168.6.2 для ether8 через консоль /ip address add address=192.168.6.2/24 interface=ether8  чи через Winbox (IP > Address > +).
- Перевіряємо чи пінгується мікротік з хоста та навпаки. (Пінг повинен працювати).
- Пробуємо зʼєднатися з мікротиком по http, наприклад використовуючи httping, і зʼєднання не вдається. Запускаємо Wireshark на зʼєднані між хмаркою та мікротиком і бачимо що пакет TCP syn від хоста приходить, але ігнорується мікротиком.
- Запускаємо команду ethtool -K veth01 tx off (вимкнути створення контрольних сум для вихідних пакетів на порту veth01), і звʼязок по tcp/http починає працювати.
- Запускаємо на міркотику сервер dude, підключаємося до нього клієнтом dude — все працює.

Для полегшення життя, можна створити невеличкий скрипт-обгортку для gns3:

Код: Bash
  1. #!/bin/bash
  2. sudo ip link add veth01 type veth peer name veth02
  3. sudo ethtool -K veth01 tx off
  4. sudo ip addr add 192.168.6.1/24 brd + dev veth01
  5. sudo ip link set dev veth01 up
  6. sudo ip link set dev veth02 up
  7.  
  8. gns3
  9.  
  10. sudo ip link set dev veth01 down
  11. sudo ip link set dev veth02 down
  12. sudo ip link del dev veth01
  13.  

Також, для полегшення життя, можна в налаштуваннях GNS3 створити новий тип хмарки, в якій додати порт veth02. Хмарку можна назвати «Local» чи «MyPC» і змінити іконку на відповідну.
« Змінено: 2023-08-10 11:46:56 від Володимир Лісівка »
[Fedora Linux]