Просмотр таблиц маршрутизации linux

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

Статическая маршрутизация — это процесс, в котором администратор сети вручную настраивает сетевые интерфейсы, таким образом, чтобы пакеты пересылались из одной сети в другую. Администратор создает так называемую таблицу маршрутизации, в ней описаны различные маршруты пакетов. Любому из маршрутизаторов необходимо понимать на какой хост отправлять следующий пакет. Вот про это и будет идти речь в данной статье. Сегодня мы раскроем вопрос про маршрутизацию в Линукс, функциональность, настройку правил и правильное функционирование. Когда хосту необходимо послать пакет другому хосту он просматривает таблицу маршрутизации. В данной таблице указаны IP-address конечного пункта назначения, метрика, название интерфейсов, адреса маршрутизаторов по которые могут отправить пакет конечному получателю. В случае отсутствия маршрута для узла, применяется так называемый default шлюз, default маршрут. Подобное можно наблюдать на маршрутизаторе. Он сравнивает необходимый IP-address с таблицей маршрутизации, затем посылает дальше. Ниже будем рассматривать проверку проходящих маршрутов в системе, процесс настройки новых.

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

Для просмотра таблицы в ОС Линукс можно использовать команду: $ netstat -r netstat Как видно из скриншота выше, команда показала всего две записи. В первой записи указан шлюз (gateway) 192.168.168.254, вторая запись говорит о наличии доступа в подсеть 192.168.168.0 на интерфейсе eth0. Другой способ вывести информацию о статических маршрутов — использовать команду «route», однако, как правило утилита просит права супер пользователя, поэтому предварительно введем «su-«. $ su — # route route Бывает, выводимых данных route и netstat недостаточно, так как в них выводится легкая информация, ее не хватает для понимания всей картины. Чтобы получить более подробную таблицу, можно воспользоваться утилитой «routel». $ routel routel В этой информации содержится:

  • target (цель) — IP-адрес.
  • gateway — адрес шлюза.
  • source — адрес отправителя.
  • dev — интерфейс.

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

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

ip route

  • default – IP-адрес по умолчанию.
  • via 192.168.168.254 — адрес шлюза, куда будут отправлять пакеты по умолчанию.
  • dev eth0 — интерфейс сети, за счёт него открывается доступ к шлюзу.
  • proto kernel — обозначает, что маршрут устанавливался ядром, если static, то установка выполняется администратором.

Настройка

Для настройки таблицы маршрутизации будем использовать команду 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

Читайте также:  Iso образ линукс минт

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

post-up route add -net 192.168.22.0 netmask 255.255.255.0 gw 192.168.168.254
pre-down route del -net 192.168.22.0 netmask 255.255.255.0 gw 192.168.168.254

  1. post-up — запустить команду после включения интерфейса.
  2. pre-down — запустить команду перед отключением интерфейса.
  3. net — задает целевую сеть
  4. netmask — сетевая маска.
  5. gw — шлюз.

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

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

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

ip route change 192.168.22.0/24 via 192.168.168.254

ЗАКЛЮЧЕНИЕ

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

Источник

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

date

13.04.2020

user

VyacheslavK

directory

CentOS, Linux

comments

Один комментарий

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

Для управления маршрутизацией в Linux предпочтительно исопльзовать утилиту ip , а не route . Команда route не позволяет настраивать расширенные возможности маршрутизации (например, политики маршрутизации), и не покажет специальные настройки маршрутизации, если они уже сделаны через ip.

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

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

вывести таблицу маршрутизации в linux centos ip router

  • default via 192.168.1.1 dev enp0s3 – шлюз по умолчанию, в данном примере работающий через интерфейс enp0s3. Если для target адреса в таблице маршрутизации отсутствует маршрут, то такой пакет отправляется через данный шлюз (маршрут по умолчанию)
  • 192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.201 — статический маршрут для сети 192.168.1.0/24 через адрес 192.168.1.201, который прописан на интерфейсе
  • proto kernel – маршрут создан ядром ( proto static – маршрут добавлен администратором)
  • metric – приоритет маршрута (чем меньше значение metric, тем выше приоритет). При наличии двух маршрутов с одинаковой метрикой (не стоит так делать!), ядро начинает выбирать маршруты случайным образом.

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

192.168.2.45 via 192.168.1.1 dev enp0s3 src 192.168.1.201

Вы можете использовать ваш Linux сервер с двумя и более интерфейсами как маршрутизатор или интернет-шлюз. Чтобы разрешить маршрутизацию пакетов между несколькими интерфейсами, нужно включить параметр ядра net.ipv4.ip_forward = 1.

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

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

Читайте также:  Linux list all applications

# ip route add 192.168.0.0/24 via 192.168.1.1

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

Формат команды ip route очень похоже на синтаксис в Cisco IOS. Здесь также можно исопльзовать сокращений, например вместо ip route add можно написать ip pro ad .

добавление маршрута в centos

Также можно добавить отдельный маршрут для одного 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

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

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

удалить маршрут из таблицы маршрутизации в linux centos

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

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

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

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

сетевые интерфейсы в centos

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

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

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

добавить постоянный (persistent) маршрут в centos linux

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

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

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

# ip route add 192.168.0.0/24 via 192.168.1.1

добавление persistent маршрута через rc.local

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

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

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

# ip route replace 192.168.0.0/24 via 192.168.1.1

изменитть маршрут ip route replace

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

Restarting network (via systemctl): [ OK ]
default via 192.168.1.1 dev enp0s3 proto static metric 100 192.168.0.0/24 via 192.168.1.1 dev enp0s3 proto static metric 100 192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.201 metric 100

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

Вы можете удалить маршрут по-умолчаню с помощью команды 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 (маршрут через имя устройства)

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

# ip route replace default via 192.168.1.2

ip route replace default

Предыдущая статьяПредыдущая статья Следующая статья Следующая статья

Источник

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

Маршрутизация — это передача IP-пакета из одной точки в другую по сети. Когда вы отправляете кому-то электронное письмо, вы фактически передаете серию IP-пакетов или дейтаграмм со своего компьютера на компьютер другого человека. Пакеты, отправленные с вашего компьютера, проходят через несколько шлюзов или маршрутизаторов, чтобы попасть в компьютерную систему получателя. То же самое верно для всех интернет-протоколов, таких как HTTP, IRC, FTP и т.д.

Читайте также:  Windows 10 linux gnome

Во всех системах Linux и UNIX информация о том, как должны быть направлены IP-пакеты, хранится в структуре ядра. Эти структуры называются таблицами маршрутизации. Если вы хотите, чтобы ваша система общалась с другими компьютерами, вы можете настроить эти таблицы маршрутизации. Прежде всего, важно знать, как просмотреть эти таблицы маршрутизации в вашей системе Linux.

Просмотр маршрутизации с помощью netstat

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

Вот как вы можете использовать эту команду:

-r Этот флаг используется для отображения таблиц маршрутизации ядра.

-n Этот флаг используется для отображения числовых адресов.

netstat -rn

  • Gateway В этом столбце указывается определенный шлюз для сети. Если вы видите * в этом столбце, это означает, что для указанной сети не требуется шлюз пересылки.
  • Genmask В этом столбце указана сетевая маска сети.
  • Flags Вывод U в этом столбце означает, что маршрут поднят. Вывод G означает, что для данного маршрута должен использоваться указанный шлюз. D означает динамически установленный, M означает измененный, а R означает восстановленный.
  • MSS В этом столбце указан максимальный размер сегмента (MSS) по умолчанию для TCP-соединений для данного маршрута.
  • Window В этом столбце указан размер окна по умолчанию для TCP-соединений на этом маршруте.
  • Irtt В этом столбце указано начальное время обхода для этого маршрута.
  • Iface В столбце Iface указан сетевой интерфейс. Если у вас более одного интерфейса, вы увидите lo (для loopback), eth0 (первое устройство Ethernet), eth1 (для второго устройства Ethernet) и так далее по количеству установленных интерфейсов.

Просмотр маршрутизации с помощью route

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

С помощью этой команды вы можете просмотреть точно такую же информацию, как и с помощью команды netstat. Вот как ее можно использовать:

route -n

-n Этот флаг используется для отображения только числовых адресов

Просмотр маршрутизации с помощью ip route

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

ip route

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

Похожие записи:

Источник

Оцените статью
Adblock
detector