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

watch 31s
views 2

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.

Поділитися

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

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

-4.7%

CPU
CPU
3 Xeon Cores
RAM
RAM
1 GB
Space
Space
40 GB HDD
Bandwidth
Bandwidth
300 Gb
wKVM-HDD HK 1024 Windows

10.33

При оплаті за рік

-7.4%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
Unlimited
wKVM-SSD 4096 Windows

23.1

При оплаті за рік

-4.5%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB HDD
Bandwidth
Bandwidth
300 Gb
wKVM-HDD HK 4096 Windows

17

При оплаті за рік

-24.7%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
50 GB SSD
Bandwidth
Bandwidth
4 TB
KVM-SSD 4096 Metered Linux

31

При оплаті за рік

-18.6%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
4 TB
wKVM-SSD 4096 Metered Windows

38

При оплаті за рік

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
60 GB HDD
Bandwidth
Bandwidth
300 Gb
KVM-HDD HK 2048 Linux

6.27

При оплаті за рік

-20.5%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
8 TB
KVM-SSD 8192 Metered Linux

57

При оплаті за рік

CPU
CPU
6 Epyc Cores
RAM
RAM
16 GB
Space
Space
150 GB NVMe
Bandwidth
Bandwidth
Unlimited
Keitaro KVM 16384
OS
CentOS
Software
Software
Keitaro

При оплаті за місяць

CPU
CPU
6 Epyc Cores
RAM
RAM
8 GB
Space
Space
100 GB NVMe
Bandwidth
Bandwidth
Unlimited
Keitaro KVM 8192
OS
CentOS
Software
Software
Keitaro

При оплаті за місяць

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
30 GB SSD
Bandwidth
Bandwidth
Unlimited
KVM-SSD 2048 Linux

8.3

При оплаті за рік

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

cookie

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

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