Що таке маршрутизація: побудова таблиць маршрутизації в Linux

Що таке маршрутизація: побудова таблиць маршрутизації в Linux

12:57, 06.10.2022

Зміст статті
arrow

  • Команди перегляду таблиці маршрутизації
  • Команди для дій з маршрутами
  • Приклади статичної маршрутизації
  • Де знаходяться конфігураційні файли

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

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

  • Destination (Target). IP - адреса мережі призначення – це кінцевий пункт призначення для пакетів даних.
  • Netmask (Genmask). Маска мережі.
  • Gateway. IP-адрес шлюза.
  • Interface. Адреса мережевого інтерфейсу.
  • Metric. Цей параметр визначає пріоритет маршруту.

Також опціонально в таблиці маршрутизації можуть вказуватися адреса відправника, розмір TCP-вікна і максимальна величина пакета. Все це дозволяє оптимізувати передачу даних в рамках мережі. Далі в статті ми розповімо, як управляти маршрутизацією Linux і поділимося корисними рекомендаціями по налаштуванню.

Команди перегляду таблиці маршрутизації

Управління маршрутизацією для ОС Linux здійснюється трьома командами:

  • route – дозволяє подивитися таблицю маршрутизації, що функціонує на даний момент;
  • netstat – виводить більш докладні відомості, включаючи IP-адресу мети, шлюзу, відправника, а також показує використовуваний протокол передачі даних і мережевий інтерфейс;
  • ip – цей інструмент використовується для глибокого налаштування мережевих інтерфейсів.

Розглянемо кілька базових прикладів використання цих команд в Linux.

route-n 
netstat -rn
ip route show

cat /proc/net/route

Ці команди дозволяють подивитися таблицю маршрутизації або якісь окремі її елементи.

При цьому команду route можна використовувати лише для отримання відомостей в повній числовій формі, але з її допомогою не вийде налаштувати політики маршрутизації. Для цієї мети слід використовувати команду ip. Наприклад так:

ip route add 172.16.10.0/24 via 192.168.1.1 - додати маршрут через шлюз;
ip route add 172.16.10.0/24 dev eth0 - додати маршрут через інтерфейс;
ip route add 172.16.10.0/24 dev eth0 metric 100 - маршрут з метрикою.

Також існує можливість створення "зануленого" маршруту, і пакети, що проходять по ньому, будуть автоматично видалятися через «No route to host». Для цього використовується команда:

ip route add blackhole 10.56.50.0/27

 Використовувати її рекомендується при DoS-атаках з хоста.

Що таке маршрутизація: побудова таблиць маршрутизації в linux

Команди для дій з маршрутами

Як ми зазначили вище, команда add дозволяє додавати маршрути. Але це не єдина можлива операція, є і три інших:

  • del – для видалення маршруту.
  • replace – дозволяє один маршрут замінити іншим.
  • change – для зміни параметрів маршруту.

Приклади статичної маршрутизації

Уявімо, що у вас є два офіси, з'єднаних один з одним по IP-тунелю. Один офіс має IP-адресу 192.168.1.4, а другий – 192.168.1.6. Для підключення локальної мережі між ними необхідно прописати на другий маршрутизаторі команду:

route add -net 172.16.10.0/24 gw 192.168.1.4

В результаті ви підключите шлюз “192.168.1.4” для мережі "172.16.10.0/24". Після цього на першому маршрутизаторі прописуємо наступне:

route add -net 172.20.0.0/24 gw 192.168.1.6

Як бачимо, все досить просто і прозоро.

Для зміни локальної мережі другого маршрутизатора ми просто видаляємо старий запис:

route add -net 172.16.10.0/24 gw 192.168.1.4

І потім додаємо новий маршрут на першому маршрутизаторі:

route add -net 172.20.0.0/24 gw 192.168.1.6

Де знаходяться конфігураційні файли

Конфіги статичної маршрутизації будуть розташовані в різних директоріях, в залежності від використовуваного дистрибутива:

  • Debian GNU/Linux: /etc/network/interfaces
  • RHEL/CentOS/Scientifix: etc/sysconfig/network-scripts/route-<interface name>
  • Gentoo: /etc/conf.d/net

У них ви також можете задати певні налаштування і параметри для маршрутизації. Якщо залишилися питання, зв'яжіться з нашими фахівцями через Livechat.

views 31s
views 2
Поділитися

Чи була ця стаття корисною для вас?

Популярні пропозиції VPS

Інші статті на цю тему

cookie

Чи приймаєте ви файли cookie та політику конфіденційності?

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