Мережеві шлюзи і маршрути

10.2.1. приклад

Для ілюстрації різних аспектів маршрутизації ми будемо використовувати наступний приклад, який є результатом роботи команди netstat -r:

Destination Gateway Flags Refs Use Netif Expire default outside-gw UGSc 37 418 ppp0 localhost localhost UH 0 181 lo0 test0 0: e0: b5: 36: cf: 4f UHLW 5 63288 ed0 77 10.20.30.255 link # 1 UHLW 1 2421 foobar.com link # 1 UC 0 0 host1 0: e0: a8: 37: 8: 1e UHLW 3 4601 lo0 host2 0: e0: a8: 37: 8: 1e UHLW 0 5 lo0 => host2.foobar.com link # 1 UC 0 0 224 link # 1 UC 0 0

У перших двох рядках фігурують маршрут за замовчуванням (який буде описаний в наступному розділі) і маршрут на localhost.

В обох цих групах (хости і підмережі локальної мережі) маршрути конфігуруються автоматично даемоном, який називається routed. Якщо він не запущений, то будуть існувати тільки статично задані (тобто введені явно) маршрути.

Іншим стовпцем, про який варто сказати, є Flags. Кожен маршрут має різні атрибути, які перелічено в цій колонці. Нижче наведена коротка таблиця значень деяких цих прапорів і їх значень:

10.2.2. Маршрути за замовчуванням

Коли локальній системі потрібно встановити з'єднання з віддаленим хостом, вона звертається до таблиці маршрутів для того, щоб визначити, чи існує такий маршрут. Якщо віддалений хост потрапляє в підмережа, для якої відомий спосіб її досягнення (маршрути типу Cloned), то система визначає можливість підключитися до неї по цьому інтерфейсу.

Якщо всі відомі маршрути не підходять, у системи є остання можливість: маршрут "default". Це маршрут з особливим типом мережевого шлюзу (зазвичай єдиним, присутнім в системі), і в поле прапорів він завжди позначений як c. Для хостів в локальній мережі цей мережевий шлюз вказує на машину, що має пряме підключення до зовнішнього світу (неважливо, чи використовується зв'язок по протоколу PPP або пристрій, підключений до виділеної лінії).

Якщо ви налаштовуєте маршрут за замовчуванням на машині, яка сама є мережевим шлюзом до зовнішнього світу, то маршрутом за замовчуванням буде мережевий шлюз у Вашого провайдера Інтернет (ISP).

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

[Local2] <--ether--> [Local1] <--PPP--> [ISP-Serv] <--ether--> [T1-GW]

Хости Local1 і Local2 знаходяться в нашій мережі, перший хост служить для підключення по протоколу PPP до сервера доступу вашого ISP. У Вашого провайдера є локальна мережа, в якій, крім усього іншого, знаходиться сервер, до якого ви підключені, і апаратура (T1-GW) забезпечує власне підключення провайдера до Інтернет.

Маршрути за замовчуванням для кожної з ваших машин будуть наступними:

Часто задається питання "Чому (або яким чином) в якості шлюзу для машини Local1 ми вказуємо T1-GW, а не сервер провайдера, до якого підключаємося?" .

Local2 (10.20.30.2) -> Local1 (10.20.30.1)
Local1 (10.20.30.1, 10.9.9.30) -> T1-GW (10.9.9.1)

10.2.3. Хости з подвійним підключенням

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

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

10.2.4. поширення маршрутів

Ми вже говорили про те, як ми задаємо наші маршрути до зовнішнього світу, але не згадували про те, як зовнішній світ знаходить нас.

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

10.2.5. Усунення несправностей

Іноді з поширенням маршруту виникають проблеми, і деякі сайти не можуть до вас підключитися. Напевно, найкориснішою командою для визначення точки невірної роботи маршрутизації є traceroute (8). Вона також корисна і коли ви самі не можете підключитися до віддаленої машині (тобто команда ping (8) не спрацьовує).

За додатковою інформацією зверніться до сторінки Довідника по traceroute (8).

Схожі статті