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

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

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.

views 30s
views 2
Поделиться

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

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

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

cookie

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

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