Linux прінціри маршрутизації

Linux - прінціри маршрутизації

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

Для невеликих мереж доцільніше обмежитися налаштуванням маршрутизації (статичної). Для складних мереж доцільно використовувати демони маршрутизації (динамічна настройка маршрутизації) .На початку розглянемо ручну маршрутизацію.

Припустимо є мережа концігураціі представленої на малюнку.

Малюнок. 1. Схема досліджуваної мережі

З точки зору предмета статті нас цікавить те, як відбувається маршрутизація на вузлі "Маршрутизатор". Перевірити таблицю маршрутизації можна за допомогою команди netstat - rn. Ось що видасть ця команда на вузлі "Маршрутизатор".

Малюнок. 2. Таблиця маршрутизації на початковому етапі

Отримати інформацію по кожному з мережевих інтерфейсів на вузлі можна по команді ifconfig. На малюнку 3 наведено приклад такої команди.

Малюнок 3. Концігурація вузла eth0

Ручна або статична настройка маршрутизації здійснюється командою route. Повні відомості про цю команду можна отримати викликавши керівництво по цій команді: man route.

Посотрев на малюнок 1. Легко бачити, що нам треба додати ще 2 маршрути: перший для мережі 192.168.3.0, другий для мережі 192.168.4.0. Зробити це можна командами наведеними нижче.

Малюнок 4.1 Додавання маршруту для мережі 192.168.3.0

Малюнок 4.2 Додавання маршруту для мережі 192.168.4.0

Опція -net говорить про те, що це мережа. Для хостів використовується опція -host. Маску мережі задавати обов'язково, це необхідно, для того, щоб маршрутизатор зміг відокремити номер мережі від номера вузла.

Тепер командою netstat -rn Ровер таблицю маршрутизації.

Малюнок 5. Нова таблиця маршрутизації

Іноді виникає необхідність додати шлях за замовчуванням, тобто такий шлях, по якому перенаправляються пакети при відсутності запису в таблиці маршрутизації. Зробити це можна за допомогою такої команди (див. Рисунок 6), а потім перевіримо таблицю маршрутизації (див. Рісісунок 6).

Малюнок 6. Додавання шлюзу

Все звичайно добре, але при перезавантаженні компютера дані про маршрутизації будуть втрачені. Тому необхідно створити скрипт, який би додавав би наші маршрути в таблицю маршрутизації. Розмістити його можна в файлі /etc/rc.d/init.d/adduser содержіне скрипта наведено на малюнку 7.

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

Малюнок 7.2 Створення автоматичного запуску

Тепеперь після перезавантаження таблиця маршрутизації буде нормальною. Наведені вище метод є незовсім стандартним. Для додавання маршрутів в Red Hat є спціальний файл / etc / sysconfig / static-routes з цього файлу є аргумантамі для команди route. Якщо просто вставити туди аргументи, то інтерфейс не добавяться. Необхідно буде трохи підправити скрипт запуску мережі /etc/rc.d/init.d/network торкнутися секції відповідає за старт сервісу. Необхідно замінити прокоментували рядки рядками нижче. (Див. Рис. 7.3)

Малюнок 7.3 змінити файл /etc/rc.d/init.d/network

В результаті зроблених змін тепер у файл / etc / sysconfig / static-routes можна писати аргументи Комани route в прямому вигляді. Тоді формат файлу може бути наприклад таким:

Малюнок 7.4 Формат файлу / etc / sysconfig / static-routes

Вибір варіанту яким ви скористаєтеся за вами.

Як ми вже говорили раніше для складних Стетем простіше використовувати динамічну маршрутизацію, тобто маршрутизацію за допомогою демонів. Демоном маршрутизації за замовчуванням є routed. Його установку ми і розглянемо.

В ASPLinux 7.3 Server Edition вихідний пакет цього демона, розташований на другому диску перейшовши в каталог де розташовані rpm пакети даємо наступну команду.

Малюнок 8. Установка демона routed

Після установки демона необхідно налаштувати його замуск. Для цього необхідно створити символічне посилання на скрипт запуску і встановити права доступу на нього:

Малюнок 9. Налаштування запуску демона routed

Якщо необхідно демон можна запускати і в ручну, для цього необхідно ввести наступну команду:

Малюнок 10. Запуск демона в ручну

Перевірити, чи запущений демон можна подивившись список процесів за допомогою команди ps ax

Малюнок 11. Перевірка роботи демона (фрагмент).

Як видно з останнього рядка в малюнку 11 демон запущений.

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