Как да конфигурираме маршрутизацията в Linux

14.03.2021
18:59

Маршрутите, които са необходими за доставката на пакетите до крайната им дестинация, се конфигурират в интерфейса или маршрутизатора. Ако компютърът има за задача да изпрати пакет към мрежата, той преглежда таблицата за маршрутизация, в която са изброени IP адресите на дестинацията и адресите на интерфейсите и маршрутизаторите в домашната мрежа, които могат да изпратят пакета до правилния адрес. Ако не е посочен маршрут за местоназначението, първо се използва така нареченият шлюз по подразбиране или маршрут по подразбиране. Абсолютно същата схема се наблюдава и при маршрутизатора. Устройството разглежда IP адреса на местоназначението и го проверява в своята таблица за маршрутизация, след което го изпраща нататък. След това нека разгледаме как да конфигурираме конкретни маршрути и да създаваме нови маршрути, като използваме пример.

Преглед на таблицата за маршрутизация

Преди да започнете да променяте каквото и да било, трябва да разберете какви правила вече се използват. За тази цел операционната система Linux предоставя няколко команди. За тази цел използваме специалната команда route (маршрут):

$ route

Маршрутизация в Linux

Ето как изглежда таблицата за маршрутизация на Linux. Тя предоставя проста информация, която не винаги е достатъчна, за да се разбере смисълът. За по-подробна информация трябва да използвате командата routel:

$ routel

Маршрутизация в Linux

Тук можете да видите IP адреса (цел), IP адреса на шлюза, IP адреса на източника, протокола и дори мрежовия интерфейс. Но има и по-удобен начин да видите таблицата за маршрутизация на Linux, като използвате командата IP:

$ ip route

Маршрутизация в Linux

Виждаме резултат, който е подобен на резултата от предишната команда. Тъй като изходът не е в най-удобната форма, можете да използвате ip route add или ip route del като аргумент на ip route add или ip route del. Повярвайте ми, това е много удобно. По този начин навсякъде ще виждате като шлюз по подразбиране 192.168.1.1. След това нека да поговорим какво означава изходът на тази команда:

  • default - опция по подразбиране. Това трябва да е целевият ip адрес или маската на подмрежата;
  • via 192.168.1.1.1 - посочва през кой шлюз можем да достигнем до тази цел, за нас това е 192.168.1.1;
  • dev enp2s0 - мрежовият интерфейс, през който ще бъде достъпен този шлюз;
  • proto static означава, че маршрутът е зададен от администратора, kernel - че е зададен от ядрото;
  • metric - това е приоритетът на маршрута, колкото по-ниска е стойността, толкова по-висок е приоритетът.

След това нека видим как се конфигурират маршрутите в Linux.

Конфигуриране на маршрути

Потребителят все още има възможност да конфигурира таблицата за маршрутизация с помощта на командата ip. Например, за да промените маршрута по подразбиране, е достатъчно да изпълните:

$ ip route add default via 192.168.1.1

По този начин можете да добавите маршрут за всеки IP адрес, например 243.143.5.25:

$ sudo ip route add 243.143.5.25 via 192.168.1.1

И така, посочваме целевия IP адрес и след това шлюз в локалната мрежа, чрез който да достигнем до този адрес. Единственият проблем е, че такива маршрути са активни до първото рестартиране на компютъра. След рестартирането те се изтриват автоматично. За да се отстрани този недостатък, маршрутите трябва да се добавят в конфигурационния файл.

Например, системите от фамилията Red Hat имат конфигурационни файлове /etc/sysconfig/network-scripts/route-ethX. Всеки файл може да описва няколко маршрута, например:

GATEWAY=10.10.0.0.1
NETMASK=255.0.0.0.0.0
IPADDR=10.10.0.0.22

Този конфигурационен файл използва gateway, това е шлюзът за интерфейса, netmask е мрежовата маска, а ipaddr е ip адресът на интерфейса. В Debian и базираните на него дистрибуции можете да конфигурирате маршрути във файла /etc/network/interfaces. Тук командата route е добавена към раздела iface. Например:

up route add -net 10.10.0.0 netmask 255.0.0.0 gw 10.10.0.1

Маршрутизация в Linux

С iface -net се задава целевата мрежа, netmask е мрежовата маска, а gw е шлюзът. В това няма нищо сложно. Сега добавените маршрути ще останат дори след рестартиране на компютъра.

И така, видяхме как работи маршрутизацията в Linux, как се конфигурира маршрутизацията в Linux и защо е необходима.

15% отстъпка за нов VPS
Побързайте да поръчате сървър на всяко място
Избор на VPS

Други статии

14.03.2021
17 964
База знания / Формализация
Инсталиране на Conky в Ubuntu
14.03.2021
20 658
База знания / Система
Как да проверите диска за битови сектори в Linux
14.03.2021
15 981
База знания / Програми
Програма Neofetch: информация за системата Linux