Что такое маршрутизация: построение таблиц маршрутизации в Linux

watch 30s
views 2

12:52, 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 del -net 172.20.0.0/24 gw 192.168.1.6

И затем добавляем новый маршрут на первом маршрутизаторе:

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.

Поделиться

Была ли эта статья полезной для вас?

2 пользователи считают эту статью полезной

Популярные предложения VPS

CPU
CPU
8 Epyc Cores
RAM
RAM
32 GB
Space
Space
200 GB NVMe
Bandwidth
Bandwidth
Unlimited
Keitaro KVM 32768
OS
CentOS
Software
Software
Keitaro
$

При оплате за год

-10%

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

$ 18.58

$

При оплате за год

-21.5%

CPU
CPU
2 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
300 GB
wKVM-SSD 4096 HK Windows

$ 46.59

$

При оплате за год

-10%

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

$ 9.67

$

При оплате за год

-9.4%

CPU
CPU
8 Epyc Cores
RAM
RAM
32 GB
Space
Space
200 GB NVMe
Bandwidth
Bandwidth
Unlimited
wKVM-NVMe 32768 Windows

$ 119.74

$

При оплате за год

-15.7%

CPU
CPU
2 Xeon Cores
RAM
RAM
512 MB
Space
Space
10 GB SSD
Bandwidth
Bandwidth
1 TB
KVM-SSD 512 Metered Linux

$ 6.21

$

При оплате за год

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
2 GB
Space
Space
60 GB HDD
Bandwidth
Bandwidth
Unlimited
KVM-HDD 2048 Linux

$ 8.97

$

При оплате за год

-9.6%

CPU
CPU
8 Xeon Cores
RAM
RAM
32 GB
Space
Space
200 GB SSD
Bandwidth
Bandwidth
12 TB
wKVM-SSD 32768 Metered Windows

$ 181.71

$

При оплате за год

-10%

CPU
CPU
4 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
Unlimited
10Ge-KVM-SSD 8192 Linux

$ 134.53

$

При оплате за год

-9.7%

CPU
CPU
10 Xeon Cores
RAM
RAM
64 GB
Space
Space
300 GB SSD
Bandwidth
Bandwidth
Unlimited
wKVM-SSD 65536 Windows

$ 218.4

$

При оплате за год

Другие статьи на эту тему

cookie

Принять файлы cookie и политику конфиденциальности?

Мы используем файлы cookie, чтобы обеспечить вам наилучший опыт работы на нашем сайте. Если вы продолжите работу без изменения настроек, мы будем считать, что вы согласны получать все файлы cookie на сайте HostZealot.