You are on page 1of 7

Лабораторна робота № 2 (продовження ЛР №1)

Схема мережі:

Розбиваємо vm1 vm2 на різні vlan. Налаштовуємо intervlan routing за


допомогою R1.

Тепер переходимо до наступного пункту - розіб'ємо ці 2 віртуалки на різні vlan і


налаштуємо роутер.
На VM1:
додати інтерфейс eth0.200 з тегом 200 і присвоїти йому адресу 192.168.0.2;
на VM2:
додати інтерфейс eth0.300 з тегом 300 і присвоїти йому адресу 172.16.0.2.
Включимо та налаштуємо роутер R1. На роутері на відміну від VM1, VM2 необхідно
створити інтерфейс і в vlan 200 і у vlan 300 – цей інтерфейс буде шлюзом в цих мережах.
Надамо їм адреси 192.168.0.1, 172.16.0.1.
Перевіряємо зв'язність. Пінгуємо з роутера 192.168.0.2 та 172.16.0.2. (До речі, ось тут
була невелика проблема, тому що я помилився в налаштуванні eth0.300 на VM2.

замість id=300 я прописав id=200


Отже, ми отримали зв'язок між VM1, R1 та VM2, R1. Спробуємо зв'язати VM1, VM2
через R1.
Для того, щоб наш Router отримав можливість форвардити пакети між інтерфейсами,
потрібно дозволити йому це. Необхідно розкоментувати директиву net.ipv4.ip_forward = 1 у
файлі /etc/sysctl.conf та застосувати зміни командою sysctl -p.

# nano /etc/sysctl.conf
# sysctl -p
net.ipv4.ip_forward = 1

А тепер найголовніше. Потрібно налаштувати маршрутизацію. Є 3 поширені способи


це зробити:
1. Вказати маршрут за замовчуванням. Тобто ми не знаємо, де у нас знаходиться
destination ip, тому всі пакети, що не належать локальній мережі, надсилаємо на роутер.
2. Вказати шлюз для конкретної підмережі. Це потрібно робити, якщо мережі доступні
за різними маршрутизаторами.
3. Вказати інтерфейс, за яким знаходиться той, хто прийме пакет.

Переглянемо список маршрутів на VM1:

ip ro
Наша віртуалка знає всього про 2 підмережі: 10.10.10.0/24 & 192.168.0.0/24. Про хост
172.16.0.2 нічого не сказано. Тому якщо спробувати пропінгувати нічого не вийде:

додамо маршрут до підмережі 172.16.0.0/24:


ip ro add 172.16.0.0/24 via 192.168.0.1

via - означає через когось, тобто відправляємо пакети хосту 192.168.0.1, він розбереться.
Переглядаючи таблицю маршрутизації приймається таке рішення:
1. Кому призначено цей пакет? хосту 172.16.0.2
2. Кому надіслати пакет 172.16.0.2? хосту 192.168.0.1
3. Що ми знаємо про хост 192.168.0.1? він безпосередньо підключений (directly connected). Ця
підмережа наша. Формуємо на канальному рівні mac-адресу джерела, mac-адресу хоста
192.168.0.1, ip джерела - 192.168.0.2, ip-адресу призначення 172.16.0.2, і відправляємо через
інтерфейс eth0.200. Подальша доля пакету нас не хвилює.
Спробуємо пропінгувати шлюз сусіднього vlan:

ping 172.16.0.1

Працює! Але що буде, якщо пінгувати 172.16.0.2? Працювати не буде, бо немає


зворотного маршруту. Пакет дійде до хоста VM2, а ось назад VM2 відправити його не зможе,
тому що не знає куди. Спробуємо додати маршрут назад до VM2.
Додамо маршрут за замовчуванням для VM2. Зробити це можна, вказавши підмережу і
маску (0.0.0.0/0 - тобто під неї потрапляють абсолютно всі адреси), або використовуючи
ключове слово default.
Отримаємо той самий результат. І в результаті тепер VM1 вільно пінгує VM2.

Підіб'ємо підсумки: Ми навчилися виконувати маршрутизацію між 2 vlan за допомогою


linux-роутера.

You might also like