Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LabRab20_з передмовою_после редакт_150507.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
221.7 Кб
Скачать

2.4 Програми маршрутизації в Unix

2.4.1 Програма routed

Стандартною програмою маршрутизації в Linux є демон routed. Цей демон, як правило, виявляє конфігурацію динамічно і не потребує конфігурування. Виявлені маршрути він заносить до маршрутної таблиці ядра.

У своїй роботі демон routed використовує протокол RIP. Щоби скористатися протоколами RIP-2 чи OSPF, треба використовувати програму-демон gated.

Щоби вручну внести певний маршрут, використовується команда route. Ця команда використовується для задання статичних маршрутів. Команда route має шість основних ключів:

ADD – додає маршрути;

FLUSH – вилучає всі маршрути;

DELETE – вилучає певний маршрут;

CHANGE – змінює параметри напрямку маршрутизації (шлюз);

GET – зазначає маршрут до пункту призначення;

MONITOR – невпинно повідомляє про всі зміни в таблиці маршрутизації.

Формат запису програми route:

route [-n] command [-net | -host] destination gateway

Наприклад:

route -n monitor

route add –net 192.168.22.0/24 195.5.27.1

route add –host 195.5.27.14 192.168.64.1

route delete –host 195.5.27.14 192.168.64.1

netstat –r | more

Для проглядання таблиці маршрутизації використовується утиліта netstat

2.4.2 Програма gated

Останнім часом демон gated використовується частіше, аніж стандартний routed. Пояснюється дана тенденція тим, що gated є гнучкіший у конфігурації й має потужні можливості. Зокрема, ним підтримуються протоколи RIP-2 та OSPF.

Програму gated було розроблено групою американських університетів для роботи мережі NFSNET. Вона дозволяє організувати багатофункційний шлюз, обслуговуючий як внутрішню, так і зовнішню маршрутизацію. Огляд протоколів, підтримуваних програмами gated та routed наведено у табл. 2.1. На сьогодні gated підтримує такі протоколи маршрутизації:

  • RIP версій 1 та 2;

  • HELLO;

  • OSPF версії 2;

  • EGP версії 2;

  • BGP версій 2, 3 та 4.

Таблиця 2.1 — Протоколи, підтримувані gated та routed

Демон

Протоколи внутрішніх маршрутизаторів

Протоколи зовнішніх маршрутизаторів

RIP

HELLO

OSPF

BGP

EGP

Routed

V1

gated, версія 2

V1

+

V1

+

gated, версія 3

V1.V2

V2

V2.V3

+

2.4.3 Пакет iproute2

Пакет iproute2 є найповнішим комплектом мережних утиліт. Працює лише під ОС Linux.

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

Утиліта ip, яка входить до складу iproute2, поєднує в собі всі можливості команд ifconfig, аrр та route. Формат її виклику є такий:

ip [Опції] Об'єкт [ Команда [Аргументи команди] !!!!!

Можна вказати такі опції:

-s — виведення статистичної інформації;

-f — зазначається перед ідентифікатором протоколу;

— переведення IP-адреси до імен вузлів;

-V — друк версії програми.

За допомогою параметра -f можна обрати протокол:

-f inet — протокол IPv4;

-f inet6 — протокол IPv6;

-f link — мережний пристрій.

Параметр Об'єкт дозволяє вибрати об'єкт, з яким працюватимемо:

адреса — IPv4 чи IPv6 адреса пристрою;

link — пристрій;

neighbour — ARP-адреса;

route — маршрутизація;

rule — база певних правил маршрутизації;

madress — широкомовна адреса;

tunnel — тунель через IP.

Параметр Команда описує дію над Об'єктом:

ip link — конфігурація мережного пристрою;

ip link set — змінювання параметрів мережного пристрою;

ip link show — переглядання параметрів мережного пристрою.

За змінювання параметрів можна задати такі аргументи:

up — включити;

down — виключити;

аrр on або аrр off — зміна прапорця NOARP на пристрої;

dynamic on або dynamic off — змінює прапорець DYNAMIC на пристрої;

multicast on або multicast off — змінює прапорець MULTICAST на пристрої;

name — змінює ім'я пристрою;

mtu Число — змінює значення MTU на пристрої;

address Адреса — змінює адресу на пристрої;

broadcast Адреса — змінює широкомовну адресу на пристрої.

Команду ip link show найкраще розглядати на прикладах. Для отримання інформації про стан пристрою eth0 треба ввести команду

ip link Is dev ethO

ethO: mtu 1500 qdisc cbq qlen 100

link/ether 00 : 44:67:91:31:Id brd ff:ff:ff:ff:ff:ff Одержати статистику пристрою ethO можна за командою:

#ip -s link Is dev ethO

ethO: mtu 1500 qdisc cbq qlen 100

link/ether 00:44:67:91:31 brd ff:ff:ff:ff:ff:ff

RX: bytes packets errors dropped overrun mcast

xxxxxxxx xxxxxx 0 0 0 0

TX: bytes packets errors dropped carrier collsns

xxxxxxxx xxxxxx 0 0 0 132934

Замість xxxxxxxx xxxxxx на моніторі можна побачити кількість прийнятих (КХ)/переданих (ТХ) байтів та пакетів.

Команда ip address керує адресами на пристрої. Для даної команди Об'єкт — це IPv4, або IPv6 адреса. Дана команда показує адреси та їхні властивості, а також додає нові адреси.

ip addr add 192.168.0.1/24 brd + dev eth0 label eth0-.Alias

Дана команда додає адресу 192.168.0.1/24 з маскою підмережі 255.255.255.0 зі стандартною широкомовною адресою та ім'ям

Eth0:Alias.

Використовуються ще такі варіанти:

Команда ip address delete призначена задля вилучання адрес. Для вилучення адреси 192.168.0.1/24 з пристрою eth0 введемо команду ipaddr del 192.168.0.1/24 dev eth0;

Команда ip address show — виводить інформацію про адресу.

Керування таблицею маршрутизації

Команда ip route управляє таблицею маршрутизації:

ip route add — додати новий маршрут;

ip route change — змінити маршрут;

ip route replace — замінити маршрут.

Додамо маршрут до мережі 192.168.0.0/24 через 192.168.1.1

ip route add 192.168.0.0/24 via 192.168.1.1

Команда ip route дозволяє додавати динамічний маршрут: шлюз обиратиметься залежно від навантаження на заданий шлюз. Завжди обиратиметься шлюз з мінімальним навантаженням. В даному разі маємо два пристрої — ррр0 та pppl. Маршрут за умовчанням — через пристрій ррр0, але якщо цей маршрут є недоступний, використовуватиметься pppl:

ip route add default scope global nexthop dev ppp0 nexthop dev pppl

Задля вилучання маршруту треба використовувати команду ip route delete:

ip route del default scope global nexthop dev ppp0 nexthop dev pppl

Задля розв’язку завдання керування правилами маршрутизації призначено команду ip rule. Маршрутизація провадиться залежно від:

адреси одержувача;

адреси джерела;

IP-протоколу;

транспортного протоколу.

За умовчанням використовуються три таблиці правил маршрутизації:

Local — містить таблиці для локальних та широкомовних адрес;

Main — найзвичайніша таблиця маршрутизації;

Default — порожня таблиця за умовчанням.

Аргументи команди ip rule:

адреса-джерело;

адреса-призначення;

ім’я інтерфейсу, з якого одержано пакет;

мітка пакета, яка встановлюється брандмауером;

ідентифікатор таблиці маршрутизації; ним може бути номер чи рядок з файла /etc/iproute2/rt_tables;

пріоритет таблиці (число).

Ось кілька прикладів. Переслати пакети з мережі 192.168.0.0/24 згідно з таблицею main:

ip ru add from 192.203.80.0/24 table main prio 100

Припустімо, що у нас є два канали в Інтернеті — у одного провайдера й у іншого:

pppl з адресою 193.168.99.99, сполучений з 193.168.99.100;

ррр2 з адресою 193.168.100.99, сполучений з 195.1.1.1.

Користувач ivanov хоче, щоби ми його пакети доправляли через ррр2 (другого провайдера):

echo 200 ivanov > /etc/iproute2/rt_tables

ip rule add from 192.168.0.10 table ivanov

ip rule Is

0: from all lookup local

32765: from 192.168.0.10 lookup ivanov

32766: from all lookup main

32767: from all lookup default

Тепер для цього користувача призначимо маршрут за умовчанням і очистимо кеш-таблиці маршрутизації, щоби наші зміни набули чинності:

ip route add default via 195.1.1.1 dev ppp2 table ivanov

ip route flush cache

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]