1. Поняття маршрутизації
Сьогодні ми занурюємося ще глибше: будемо налаштовувати маршрути, аналізувати мережеві з'єднання та розбиратися з портами. Тут починається справжня магія мережевого адміністрування – розберемося, куди і як бігають пакети, і чому в цьому питанні важливо бути "головним по маршрутах".
Маршрутизація – це не просто складна на вигляд штука, це основа основ сучасної мережі. Уявіть собі: ваш комп'ютер – це турист, який хоче потрапити в інший комп'ютер (готель), а маршрути – це дороги та покажчики. Якщо маршрутів немає, турист буде блукати, питати дорогу у перехожих (а перехожі можуть бути DNS-серверами, але не про це зараз) або взагалі залишиться вдома.
Навіщо потрібні маршрути
Кожному пристрою в мережі потрібно знати, як досягти інших пристроїв. Наприклад, якщо ваш комп'ютер хоче відправити запит на сайт example.com, він має знати:
- Куди відправляти пакети.
- Через який шлюз чи інтерфейс це зробити.
Маршрути бувають двох типів:
- Локальні маршрути: вказівки для пристроїв у вашій підмережі (наприклад, ваш комп'ютер і принтер).
- Зовнішні маршрути: вказівки для пристроїв за межами вашої підмережі (наприклад, для ресурсу в інтернеті).
2. Таблиця маршрутизації
Таблиця маршрутизації – це таблиця з правилами, які визначають, куди відправляти пакети на основі IP-адрес. Це ніби Google Maps для твого комп'ютера: "Якщо хочеш потрапити туди, йди через цей шлюз".
Спробуй вивести свою таблицю маршрутів:
ip route show
Приклад виводу:
default via 192.168.1.1 dev eth0 proto dhcp metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 metric 100
Що це означає:
default via 192.168.1.1: якщо пакету не зазначено, куди конкретно йти, відправляй його через шлюз з адресою192.168.1.1.dev eth0: використовуємо інтерфейсeth0.192.168.1.0/24: це маршрут для всієї підмережі192.168.1.0/24. Пакети залишаються "вдома" в локальній мережі.protoтаmetric– додаткові параметри, про них трохи пізніше.
3. Команда ip route
Перегляд маршрутів
Для перегляду таблиці маршрутизації ми вже використовували ip route show. Можна додати фільтри, наприклад, для визначення маршруту тільки для локальної мережі:
ip route show match 192.168.1.0/24
Додавання маршрутів
Ти можеш додати статичний маршрут – це як якщо сам поставиш дорожній знак. Наприклад, щоб перенаправити всі запити до підмережі 10.0.0.0/24 через певний шлюз:
sudo ip route add 10.0.0.0/24 via 192.168.1.1 dev eth0
Розберемо:
10.0.0.0/24– підмережа призначення.via 192.168.1.1– шлюз, через який відправляються пакети.dev eth0– інтерфейс, через який пакети йдуть.
Видалення маршрутів
Якщо ти більше не хочеш, щоб маршрут існував, видаляємо його командою:
sudo ip route del 10.0.0.0/24
4. Практика: Налаштування статичного маршруту
- Переконайтесь, що у вас є доступ до іншої підмережі.
- Додайте маршрут:
sudo ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
- Перевірте таблицю маршрутизації:
ip route show
- Видаліть маршрут, якщо він більше не потрібен.
5. Команда netstat
Коли справа доходить до аналізу поточних з'єднань, netstat – це старий добрий друг системного адміністратора (хоча вже є сучасніша альтернатива – ss, про яку поговоримо пізніше).
Перевірка активних з'єднань
netstat -tun
Що це означає:
-t– показуємо TCP-з'єднання.-u– показуємо UDP-з'єднання.-n– використовувати числові адреси (замість імен хостів).
Приклад виводу:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.168.1.100:22 192.168.1.50:50240 ESTABLISHED
Що це означає:
- Локальна адреса
192.168.1.100:22– це ваш комп'ютер слухає порт 22 (SSH). - Віддалена адреса
192.168.1.50:50240– це віддалений хост, який підключений до вашого порту. ESTABLISHED– це активне з'єднання, дані передаються.
Слухання портів
Щоб побачити, які порти "слухають" на вашому комп'ютері:
netstat -ltn
Флаг -l показує лише порти, які слухають, а -t і -n ми вже обговорили.
6. Команда ss
Якщо netstat – динозавр, то ss – це машина ДеЛоріан з майбутнього: працює швидше і дає більше інформації.
Перевірка активних з’єднань
ss -tun
Приклад виводу аналогічний netstat, але з більшою швидкістю і деталізацією.
Прослуховування портів
ss -tln
Все те ж, що і з netstat, але працювати з ss зручніше і сучасніше.
7. Моніторинг з'єднань
- Використовуйте
netstatабоss, щоб подивитися, які порти слухає ваш комп'ютер. - Відкрийте SSH-з'єднання на іншому пристрої і перевірте, чи з'являється воно у списку з'єднань.
- Спробуйте інтерпретувати вивід команд.
Ми занурилися у світ маршрутизації та моніторингу з'єднань: тепер ви можете використовувати ip route, щоб управляти таблицею маршрутів, і netstat/ss для аналізу мережевих з'єднань. Ці інструменти – ваш швейцарський ніж для вирішення найзаплутаніших мережевих проблем. Хочете допомогти другу, який скаржиться, що "інтернет не працює"? Витягуйте свої нові навички та показуйте клас!
На наступній лекції буде ще цікавіше: будемо розбиратися з DNS і його магією. А поки – потренуйтеся з ip route і зацінить, як пакети знаходять свій шлях додому.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ