Как посмотреть таблицу маршрутизации в linux

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

Материал из Xgu.ru

Linux предоставляет большой набор функций для маршрутизации и инструменты для ее настройки. Ядро 2.6.x поддерживает:

Содержание

[править] Команды

Для управления маршрутизацией применяются следующие команды: route, netstat, ip (последняя из пакета iproute2, возможно его придется установить).

Просмотреть таблицу можно следующими способами:

При этом следует учитывать, что доступ ко всем возможностям дает только ip. Используя route вы не только не сможете настроить «продвинутые» функции вроде политик маршрутизации, но и не увидите их существование в выводе команды просмотра, если они уже настроены в системе. Поэтому следует по возможности использовать ip.

Модификация таблицы маршрутизации:

[править] Использование route

[править] Использование ip

Синтаксис ip по структуре напоминает синтаксис Cisco IOS. Любые опции могут быть сокращены до потери двусмысленности, например «ip ro ad» вместо «ip route add».

[править] Действия с маршрутами

Кроме add также поддерживаются и другие действия:

[править] Equal Cost Multi Path

Если добавить два маршрута до одной и той же сети с одинаковой метрикой, ядро начнет распределять нагрузку между ними путем выбора того или другого с равной вероятностью. Работает и для более чем двух маршрутов. Предупреждение: это может вызвать проблемы со входящими соединениями, потому что иногда ответ может пойти по другому маршруту, чем пришел запрос. Будьте осторожны.

[править] IPv6

Настройка маршрутизации IPv6 почти идентична настройке для IPv4.

В некоторых дистрибутивах еще есть нерешенная проблема с маршрутом по умолчанию (например, старые версии RHEL), используйте

[править] Просмотр маршрутов до определенной сети

На маршрутизаторах с длинной таблицей может быть неудобно просматривать вывод «ip route show» в поисках нужного маршрута. В этом случае можно использовать команду вида:

которая выведет маршруты только до указанной сети.

[править] Пересылка пакетов между интерфейсами

Linux позволяет разрешить или запретить пересылку пакетов между интерфейсами (forwarding). На рабочих станциях и серверах приложений ее можно запретить, на маршрутизаторах или межсетевых экранах она, очевидно, должна быть разрешена.

За этот параметр для IPv4 отвечает переменная net.ipv4.ip_forward (1 = «разрешить», 0 = «запретить»).

Для IPv6 используйте net.ipv6.conf.all.forwarding

Чтобы настройки сохранились после перезагрузки, пропишите значения net.ipv4.ip_forward и net.ipv6.conf.all.forwarding в /etc/sysctl.conf.

[править] Конфигурационные файлы

Настройки статической маршрутизации находятся в различных файлах, в зависимости от дистрибутива.

(добавьте свои дистрибутивы, пожалуйста)

[править] Policy routing

Для хоста 192.168.1.1 используется особенная таблица маршрутизации (table 3), не такая как для всех остальных хостов. В ней указан единственный маршрут — маршрут по умолчанию.

Все будут ходить через шлюз 10.0.1.2, а 192.168.1.1 — через 10.0.3.4.

Источник

Просмотр и построение таблиц маршрутизации в Linux

Сейчас читают:

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

Содержание:

Что такое маршрутизация

Вся цифровая информация передаётся по сети в виде пакетов данных. По пути от отправителя к адресату они проходят через цепочку промежуточных устройств – маршрутизаторов (роутеров) и/или соответственно настроенных компьютеров.

Маршрутизация – это процесс определения пути (сетевого маршрута) для установки соединения между хост-устройствами. Этот путь настраивается как внутри локального устройства, так и на маршрутизаторе.

Построение сетевого маршрута происходит на основе информации из таблиц маршрутизации. Для их формирования применяются протоколы маршрутизации или инструкции сетевого администратора.

Каждая таблица содержит ряд параметров, позволяющих правильно идентифицировать и читать сетевой маршрут. Таблица содержит минимум 5 разделов:

Опционально в таблице также может содержаться следующая информация:

Как посмотреть таблицу маршрутизации

Таблицу маршрутизации в Linux (например, в популярных серверных ОС типа Ubuntu или CentOS) можно посмотреть с помощью нескольких команд.

Команда route

Программа используется для настройки параметров статической маршрутизации. Просмотр таблицы можно осуществить с помощью команды:

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

Команда netstat

Утилита используется для сбора информации о состоянии сетевых соединений. Вывести таблицу можно с помощью команды:

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

Построение таблицы маршрутизации

Существует несколько основных утилит для настройки таблицы маршрутизации (добавления, обновления, удаления старых и новых маршрутов):

Оба инструмента могут использоваться для выполнения аналогичных задач. Далее будет рассмотрен синтаксис каждого в пределе основных возможностей.

Route

Команда имеет следующий вид:

Ключи

Основные опции (command)

Обозначения

Опции для указания вводных данных

IP Route

Команда имеет следующий вид:

Основные опции (command)

Обозначения

Опции для указания вводных данных

Примеры статической маршрутизации

Составление нового маршрута

Можно представить два офиса: A и B. В каждом стоят маршрутизаторы на Linux, которые соединены между собой IP-IP туннелем.

Маршрутизатор A имеет IP-адрес — 192.168.1.1, а маршрутизатор B — 192.168.1.2.

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

Чтобы подключение к локальной сеть маршрутизатора A стало возможным из локальной сети маршрутизатора B и наоборот, нужно прописать на маршрутизаторе B:

Будет произведена установка шлюза «192.168.1.1» для сети «172.16.10.0/24».

Также необходимо прописать на маршрутизаторе A обратный маршрут в локальную сеть маршрутизатора B:

Изменение локальной сети

В случае изменения локальной сети маршрутизатора B, необходимо удалить старую запись:

А после добавить новый маршрут на маршрутизаторе А:

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

Изменение адреса тоннеля

Если на маршрутизаторе B изменится IP-адрес туннеля, то следует также актуализировать адрес шлюза на маршрутизаторе А:

После выполнения команды адрес шлюза для подсети «172.16.10.0/24» будет изменён.

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

Изменение провайдера

Чтобы перенаправить трафик через другого провайдера («ISP2»), следует изменить маршрут «по умолчанию» («default»):

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

Начни экономить на хостинге сейчас — 14 дней бесплатно!

Источник

Таблица маршрутизации в Linux

Администратор создает так называемую таблицу маршрутизации, в ней описаны различные маршруты пакетов.

Любому из маршрутизаторов необходимо понимать на какой хост отправлять следующий пакет. Вот про это и будет идти речь в данной статье. Сегодня мы раскроем вопрос про маршрутизацию в Линукс, функциональность, настройку правил и правильное функционирование.

Когда хосту необходимо послать пакет другому хосту он просматривает таблицу маршрутизации. В данной таблице указаны IP-address конечного пункта назначения, метрика, название интерфейсов, адреса маршрутизаторов по которые могут отправить пакет конечному получателю.

В случае отсутствия маршрута для узла, применяется так называемый default шлюз, default маршрут. Подобное можно наблюдать на маршрутизаторе. Он сравнивает необходимый IP-address с таблицей маршрутизации, затем посылает дальше.

Ниже будем рассматривать проверку проходящих маршрутов в системе, процесс настройки новых.

Способы просмотра таблицы маршрутизации в Линукс

Для просмотра таблицы в ОС Линукс можно использовать команду:

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

Как видно из скриншота выше, команда показала всего две записи. В первой записи указан шлюз (gateway) 192.168.168.254, вторая запись говорит о наличии доступа в подсеть 192.168.168.0 на интерфейсе eth0.

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

Бывает, выводимых данных route и netstat недостаточно, так как в них выводится легкая информация, ее не хватает для понимания всей картины. Чтобы получить более подробную таблицу, можно воспользоваться утилитой «routel».

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

В этой информации содержится:

Наиболее подходящий метод для просмотра таблицы маршрутизации в ОС Линукс – использовать утилиту «ip».

$ ip route
Подробней про «ip» можно посмотреть в другой статье: https://www.vseprolinux.ru/komanda-ip

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

Настройка

Для настройки таблицы маршрутизации будем использовать команду ip route. Добавим временный статический маршрут 192.168.22.0/24 через шлюз 192.168.168.254.

ip route add 192.168.22.0/24 via 192.168.168.254

ВАЖНО! При выполнении такой команды добавиться временный статический маршрут, после перезагрузки системы он сотрется.

Для проверки необходимо проверить, проходит ли пакет из сети 192.168.22.0. Для этого будем использовать ip route get.
ip route get 192.168.22.30

Как говорилось выше, после перезагрузки Linux все эти добавленные адреса сотрутся. Для того, чтобы данные не стирались, необходимо записать их в файле.

Не так сложно, как могло показаться. После всей выполненной работы присоединенные маршруты будут работать даже после перезагрузки операционной системы Линукс.

Рассмотрим еще несколько примеров.

Изменяем статический маршрут:

ip route change 192.168.22.0/24 via 192.168.168.254

ip route del 192.168.22.0/24

ЗАКЛЮЧЕНИЕ

Подобная работа написана для краткого рассмотрения функционирования маршрутизации в Линукс, как происходит настройка маршрутизации, а также для чего она необходима.

Источник

Настройка сетевых маршрутов в Linux (CentOS)

В этой статье мы рассмотрим особенности настройки маршрутизации и управления маршрутами в Linux (просмотр таблицы маршрутизации, добавление/удаление статических маршрутов и т.д.) на примере CentOS с помощью утилиты ip. Статья применима и для любого другого дистрибутива Linux с утилитой ip (Red Hat, Fedora и т.д.).

Просмотр таблицы маршрутизации в Linux

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

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

Чтобы узнать через какой интерфейс (шлюз) должен маршрутизироваться трафик к определенному IP адресу используется команда:

# ip route get 192.168.2.45

Как добавить или удалить статический маршрут?

Чтобы добавить новый маршрут к определенной IP подсети в таблицу маршрутизации Linux, нужно выполнить следующую команду:

# ip route add 192.168.0.0/24 via 192.168.1.1

Таким образом, мы добавим маршрут для IP сети 192.168.0.0/24 через шлюз 192.168.1.1.

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

Также можно добавить отдельный маршрут для одного IP адреса (хоста):

# ip route add 192.168.1.0 via 192.168.1.1

Можно сделать аналог null route маршрута в Cisco (ip route null0), пакеты в такую сеть удаляются по причине No route to host:

# ip route add blackhole 10.1.20.0/24

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

Чтобы удалить созданный вручную маршрут, выполните:

# ip route del 192.168.0.0/24

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

Как видите, маршрут удален из таблицы маршрутизации.

Чтобы добавить постоянный маршрут, нужно создать файл для этого маршрута, либо добавить правило в файл rc.local (выполняется при загрузке сервера).

Чтобы добавить постоянный (статический) маршрут, нужно знать имя сетевого интерфейса, который будет использоваться для маршрутизации. Узнать имя сетевого интерфейса можно командой:

В моем случае, интерфейс enp0s3.

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

Далее открываем следующий файл:

И добавляем туда строку с маршрутом:

После добавления маршрута в файл нужно перезапустить сервис network:

# service network restart

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

После перещаауска сетевого сервиса, в таблице маршрутизации появился статический маршрут.

Также можно добавить команду добавления нового маршрута в файл rc.local, чтобы он автоматически добавлялся при загрузке сервера. Откройте файл:

И укажите команду добавления маршрута:

# ip route add 192.168.0.0/24 via 192.168.1.1

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

Теперь, если ваш сервер будет перезагружен, маршрут пропишется автоматически при загрузке системы.

Изменить маршрут в Linux

Чтобы изменить уже существующий маршрут, можно использовать команду ip route replace:

# ip route replace 192.168.0.0/24 via 192.168.1.1

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

Чтобы сбросить все временные маршруты в таблице маршрутизации, просто перезапустите сетевой сервис:

]# service network restart

Изменить маршрут по умолчанию

Вы можете удалить маршрут по-умолчаню с помощью команды ip route del:

# ip route del default via 192.168.1.1 dev enp0s3

Чтобы указать новый маршрут по-умолчанию в CentOS используется команда:

# ip route add default via 192.168.1.2 (маршрут через IP адрес шлюза)

# ip route add default via enp0s3 (маршрут через имя устройства)

Чтобы изменить параметры маршрута по умолчанию, используется команда:

Источник

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

Эта статья одна из статей про работу сетей в Linux. Вы уже знаете, что все данные в сети передаются в виде пакетов, а чтобы компьютер знал куда нужно отправить тот или иной пакет используются IP адреса. Но пакету, перед тем, как он достигнет точки назначения нужно пройти множество компьютеров и маршрутизаторов.

Каждому из маршрутизаторов нужно знать на какой компьютер передавать пакет дальше. Именно это мы и обсудим в этой статье. Сегодня нас будет интересовать маршрутизация в Linux, как это работает, как настроить правила и заставить все работать как нужно.

Сетевые маршруты в Linux

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

Когда компьютеру нужно отправить пакет в сеть он смотрит таблицу маршрутизации, в ней указанны ip адреса пунктов назначения и адреса интерфейсов и роутеров в домашней сети, которые могут отправить пакет по нужному адресу. Если для цели маршрут не указан то используется так называемый шлюз по умолчанию или маршрут по умолчанию. Точно такая же картина наблюдается на роутере. Устройство смотрит на IP адрес назначения и сверяет его со своей таблицей маршрутизации, а потом отправляет дальше.

Ниже мы рассмотрим как проверить текущие маршруты в системе, а также как настроить новые.

Как посмотреть таблицу маршрутизации

Перед тем как что-либо менять, нужно понять какие правила уже используются. В Linux для этого существует несколько команд. Чтобы посмотреть таблицу маршрутизации можно использовать команду route:

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

Вот так выглядит таблица маршрутизации linux. Тут выводится достаточно простая информация, которой не всегда достаточно чтобы понять суть дела. Более подробно можно посмотреть с помощью команды routel:

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

Вывод похож на результат предыдущей команды, но выглядит не совсем привычно, это потому, что вывод команды можно использовать в качестве аргумента для ip route add или ip route del. Это очень удобно. Как вы видите, в качестве шлюза по умолчанию везде используется 192.168.1.1. Рассмотрим подробнее что означает вывод этой команды:

А теперь рассмотрим выполняется настройка маршрутов Linux.

Настройка маршрутов в 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.1
NETMASK=255.0.0.0
IPADDR=10.10.0.22

Как посмотреть таблицу маршрутизации в linux. Смотреть фото Как посмотреть таблицу маршрутизации в linux. Смотреть картинку Как посмотреть таблицу маршрутизации в linux. Картинка про Как посмотреть таблицу маршрутизации в linux. Фото Как посмотреть таблицу маршрутизации в linux

Выводы

В этой небольшой статье мы кратко рассмотрели как работает маршрутизация в Linux, как выполняется настройка маршрутизации в linux, а также зачем это нужно. Надеюсь, эта информация была полезной для вас.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *