Таблиця маршрутизації

Матеріал з Wiki TNEU
Перейти до: навігація, пошук

Правила маршрутизації визначають, куди відправляти IP-пакети. Дані маршрутизації зберігаються в одній з таблиць ядра. Вести таблиці маршрутизації можна статично або динамічно. Статичний маршрут - це маршрут, який задається явно за допомогою команди route. Динамічна маршрутизація виконується процесом-демоном (routed або gated), який веде і модифікує таблицю маршрутизації на основі повідомлень від інших комп'ютерів мережі. Для виконання динамічної маршрутизації розроблені спеціальні протоколи: RIP, OSPF, IGRP, EGP, BGP і т. д.

Динамічна маршрутизація необхідна в тому випадку, якщо у вас складна, постійно змінюється структура мережі і одна і та ж машина може бути доступна з різних інтерфейсів (наприклад, через різні Ethernet або SLIP інтерфейси). Маршрути, задані статично, зазвичай не міняються, навіть якщо використовується динамічна маршрутизація.

Для персонального комп'ютера, що підключається до локальної мережі, в більшості ситуацій буває досить статичної маршрутизації командою route. Перш ніж намагатися настроювати маршрути, перегляньте таблицю маршрутизації ядра за допомогою команди netstat-n-r. Ви повинні побачити щось на кшталт такого:

[root]# netstat -nr

Kernel IP routing table

Destination Gateway Genmask Flags MSS Window irtt Iface

10.72.128.101 0.0.0.0 255.255.255.255 UH 0 0 0 eth0

10.72.128.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo

0.0.0.0 10.72.128.254 0.0.0.0 UG 0 0 0 eth0

Якщо таблиця порожня, то ви побачите лише заголовки стовпців. Тоді треба використовувати route. За допомогою команди route можна додати або видалити один (за один раз) статичний маршрут. Ось її формат:

[root] # / sbin / route [-f] операція [-тип] адресат шлюз [dev] інтерфейс

Тут аргумент операція може приймати одне з двох значень: add (маршрут додається) або delete (маршрут віддаляється). Аргумент адресат може бути IP-адресою машини, IP-адресою мережі або ключовим словом default. Аргумент шлюз - це IP-адреса комп'ютера, на який слід пересилати пакет (цей комп'ютер повинен мати прямий зв'язок з вашим комп'ютером). команда [root]# /sbin/route -f

видаляє з таблиці дані про всі шлюзах. Необов'язковий аргумент тип приймає значення net або host. У першому випадку в полі адресата вказується адреса мережі, а в другому - адреса конкретного комп'ютера (хоста).

Як правило, буває необхідно налаштувати маршрутизацію по згадуваним вище трьом інтерфейсам: локальний інтерфейс (lo), інтерфейс для плати Ethetnet (eth0), інтерфейс для послідовного порту (PPP або SLIP).

Локальний інтерфейс підтримує мережу з IP-номером 127.0.0.1. Тому для маршрутизації пакетів з адресою 127 .... використовується команда:

[root] # / sbin / route add-net 127.0.0.1 lo

Якщо у вас для зв'язку з локальною мережею використовується одна плата Ethernet, і всі машини знаходяться в цій мережі (мережева маска 255.255.255.0), то для налаштування маршрутизації досить викликати:

[root]# /sbin/route add -net 192.168.36.0 netmask 255.255.255.0 eth0

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

Оскільки дуже часто IP-пакети з вашого комп'ютера можуть відправлятися не в одну єдину мережу, а в різні мережі (наприклад, при перегляді різних сайтів в Інтернеті), то в принципі треба було б поставити дуже багато маршрутів. Очевидно, що зробити це було б дуже складно, точніше просто неможливо. Тому вирішення проблеми маршрутизації пакетів перекладають на плечі спеціальних комп'ютерів - маршрутизаторів, а на звичайних комп'ютерах задають маршрут за замовчуванням, який використовується для відправлення всіх пакетів, не зазначено інше в таблиці маршрутизації. За допомогою маршруту за замовчуванням ви говорите ядру "а все інше відправляй туди". Маршрут за замовчуванням налаштовується наступною командою:

[root]# /sbin/route add default gw 192.168.1.1 eth0

Опція gw вказує програмі route, що наступний аргумент - це IP-адреса або ім'я маршрутизатора, на який треба відправляти всі пакети, відповідні цьому рядку таблиці маршрутизації.

Після налаштування маршрутизації можна перевірити, що у вас вийшло. Для цього знову дайте команду

[root]# netstat -nr

Якщо висновок команди виглядає так, як це було показано вище, але не містить рядка, який в графі Destination містить 0.0.0.0, а в графі Gateway вказує на маршрут, який використовується для з'єднань за умовчанням, то ви, мабуть, не поставили це маршрут. Луцишин В.І.

Особисті інструменти
Простори назв

Варіанти
Дії
Навігація
Інструменти