Как добавить маршрут в Centos 7

Обновлено: 20.02.2024

Обычно мы добавляем IP-маршруты в Linux с помощью команды route или команды «ip route». Хотя обе команды работают одинаково, ни одна из них не может использоваться для добавления постоянных маршрутов в систему. Они будут удалены, если вы перезапустите сеть или перезагрузите сервер.

У нас есть два метода добавления постоянных статических маршрутов в CentOS 7. Один из них — использовать команду nmcli, другой — добавлять записи вручную, напрямую добавляя файл конфигурации в каталог /etc/sysconfig/network-scripts/.

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

Управление сетью с помощью команды nmcli является предпочтительным способом в CentOS 7. Используйте следующий формат, чтобы добавить постоянный маршрут с помощью команды nmcli.

подключение nmcli изменить «имя подключения» +ipv4.routes «сетевой адрес/префикс шлюза»

подключение nmcli вверх «имя-соединения»

Вы можете использовать следующую команду, чтобы вывести список настроенных сетевых подключений на вашем сервере CentOS 7.

показать соединение с nmcli

Например, давайте добавим запись, которая будет направлять весь трафик в сеть 10.0.0.0/24 через шлюз 192.168.1.10. И имя соединения — enp0s3.

изменить соединение nmcli «enp0s3» +ipv4.routes «10.0.0.0/24 192.168.1.10»

перезагрузка соединения с nmcli

подключение nmcli к enp0s3

Не забудьте поставить знак + перед ключевым словом ipv4.routes (+ipv4.routes). В противном случае существующие записи будут переопределены.

Второй способ: создание файла конфигурации вручную

Также можно добавить постоянные IP-маршруты непосредственно в файл конфигурации. Во-первых, нам нужно создать файл конфигурации в каталоге /etc/sysconfig/network-scripts/ в следующем формате.

Например, если имя сетевого подключения enp0s3, то имя файла конфигурации должно быть

Далее Вставьте маршрут в файл конфигурации, используя следующий формат.

10.0.0.0/24 через 192.168.1.10

192.168.100.0/24 через 192.168.1.10

192.168.50.10/32 через 192.168.1.1

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

Наконец, вам необходимо перезапустить сетевое подключение с помощью команды nmcli.

перезагрузка соединения с nmcli

подключение nmcli к enp0s3

Вы можете использовать любой из этих двух методов для добавления постоянных маршрутов в CentOS 7 Linux.

Статические маршруты предназначены для трафика, который не должен или не должен проходить через шлюз по умолчанию. Маршрутизация часто выполняется устройствами в сети, предназначенными для маршрутизации (хотя любое устройство может быть настроено для выполнения маршрутизации). Поэтому часто нет необходимости настраивать статические маршруты на серверах или клиентах Red Hat Enterprise Linux. Исключениями являются трафик, который должен проходить через зашифрованный туннель VPN, или трафик, который должен идти по определенному маршруту из соображений стоимости или безопасности. Шлюз по умолчанию предназначен для любого и всего трафика, который не предназначен для локальной сети и для которого в таблице маршрутизации не указан предпочтительный маршрут. Шлюзом по умолчанию традиционно является выделенный сетевой маршрутизатор.

Настройка статических маршрутов с помощью командной строки

Если требуются статические маршруты, их можно добавить в таблицу маршрутизации с помощью команды ip route add и удалить с помощью команды ip route del. Наиболее часто используемые команды ip route имеют следующую форму: Подробнее об опциях и форматах см. справочную страницу ip-route(8).

Чтобы добавить статический маршрут к адресу хоста, другими словами, к одному IP-адресу, введите команду от имени пользователя root : Где 192.0.2.1 — IP-адрес хоста в десятичном формате с точками. , 10.0.0.1 — адрес следующего перехода, а ifname — выходной интерфейс, ведущий к следующему переходу.

Чтобы добавить статический маршрут к сети, другими словами, к IP-адресу, представляющему диапазон IP-адресов, выполните следующую команду от имени пользователя root : где 192.0.2.0 — IP-адрес сеть назначения в десятичном формате с точками, а /24 — префикс сети. Префикс сети — это количество разрешенных битов в маске подсети. Этот формат длины сетевого префикса косой черты сетевого адреса иногда называют нотацией бесклассовой междоменной маршрутизации (CIDR ).

Конфигурация статического маршрута может храниться для каждого интерфейса в файле /etc/sysconfig/network-scripts/route-interface. Например, статические маршруты для интерфейса eth0 будут храниться в файле /etc/sysconfig/network-scripts/route-eth0. Файл route-interface имеет два формата: аргументы команды ip и директивы network/netmask. Они описаны ниже.

Настройка шлюза по умолчанию

Шлюз по умолчанию определяется сетевыми сценариями, которые сначала анализируют файл /etc/sysconfig/network, а затем файлы сетевого интерфейса ifcfg для интерфейсов, которые «работают».Файлы ifcfg анализируются в возрастающем порядке, и последняя прочитанная директива GATEWAY используется для составления маршрута по умолчанию в таблице маршрутизации.

Таким образом, маршрут по умолчанию может быть указан с помощью директивы GATEWAY и может быть указан либо глобально, либо в файлах конфигурации для конкретного интерфейса. Глобальное указание шлюза имеет определенные преимущества в статических сетевых средах, особенно если присутствует более одного сетевого интерфейса. Это может упростить поиск неисправностей, если применять его последовательно. Существует также директива GATEWAYDEV, которая является глобальной опцией. Если несколько устройств указывают GATEWAY, а один интерфейс использует директиву GATEWAYDEV, эта директива будет иметь приоритет. Этот вариант не рекомендуется, так как он может привести к неожиданным последствиям, если интерфейс выйдет из строя, и это может усложнить поиск неисправности.

В динамических сетевых средах, где мобильными хостами управляет NetworkManager , информация о шлюзе, скорее всего, зависит от интерфейса, и ее лучше оставить для назначения DHCP . В особых случаях, когда необходимо повлиять на выбор NetworkManager интерфейса выхода, который будет использоваться для доступа к шлюзу, используйте команду DEFROUTE=no в файлах ifcfg для тех интерфейсов, которые не ведут к шлюзу по умолчанию.< /p>

Глобальная конфигурация шлюза по умолчанию хранится в файле /etc/sysconfig/network. В этом файле указывается информация о шлюзе и хосте для всех сетевых интерфейсов. Дополнительные сведения об этом файле и директивах, которые он принимает, см. в разделе D.1.14, «/etc/sysconfig/network».

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

tl;dr
Чтобы добавить временный маршрут:

Чтобы сохранить перезапуск системных или сетевых настроек, создайте файл route-ifname для интерфейса, через который осуществляется доступ к подсети, в данном случае eth0:

Добавьте строку с сетевыми настройками для другой подсети:
172.16.5.0/24 via 10.0.0.101 dev eth0

Если ваш компьютер находится в сети и не подключен к Интернету напрямую, он будет настроен с так называемым шлюзом по умолчанию, которым обычно является маршрутизатор. Если компьютер не может найти определенный IP-адрес в своей локальной сети (он же широковещательный домен), как определено его подсетью, он будет пересылать любые пакеты, направляемые на этот IP-адрес, на шлюз по умолчанию. Затем шлюз попытается перенаправить пакеты в другое место, например в Интернет или другой широковещательный домен.

Но что, если у вас есть отдельная сеть (например, другой офисный отдел), которая НЕ доступна через шлюз по умолчанию?

Например, ваш интернет-маршрутизатор может быть расположен по адресу 10.0.0.1 и обслуживать вашу локальную сеть 10.0.0.0/8. Однако у вас есть сеть 172.16.5.0/24, доступ к которой возможен только через дополнительный маршрутизатор с IP-адресом 10.0.0.101 в основной сети. Поэтому вам нужно указать вашей ОС на вторичный маршрутизатор для любых IP-адресов, находящихся в адресном пространстве 172.16.5.0-255. Для этого вам нужно добавить статический маршрут.

Добавить временный статический маршрут

Если вы хотите добавить его временно, просто запустите команду ip route add с правильной информацией о сети:

172.16.5.0 — это сеть, к которой вы хотите получить доступ.
/24 — маска подсети
10.0.0.101 — дополнительный маршрутизатор, к которому вы добавляете маршрут по умолчанию.
eth0 — сетевой интерфейс, назначенный вашей основной сети (в данном случае 10.0.0.0/8)

Команда

ip route add будет действовать только до следующей перезагрузки или перезапуска настроек интерфейса/сети.

Добавить постоянный статический маршрут

Чтобы сделать маршрут постоянным, необходимо создать файл конфигурации статического маршрута. Создайте файл с именем route-interface в /etc/sysconfig/network-scripts, например:

Затем добавьте ту же строку, что и для ip route add:

172.16.5.0/24 через 10.0.0.101 dev eth0

Обязательно перезапустите настройки сети, чтобы они вступили в силу:

Если вы потеряли подключение к Интернету

Если вы вдруг не можете подключиться к Интернету после добавления статического маршрута и используете статические IP-адреса (в отличие от DHCP), возможно, ваш шлюз по умолчанию настроен неправильно. Добавьте его в свой файл /etc/sysconfig/network:

В этом руководстве мы увидим, как добавить статический маршрут в CentOS 7 и RHEL 7. Мы также узнаем, что такое статический маршрут? А зачем нам добавлять статический маршрут? Итак, прежде всего мы должны знать, что такое статический маршрут?

Что такое статический маршрут?

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

Статические маршруты фиксированы и не меняются при изменении или перенастройке сети.Статическая и динамическая маршрутизация не исключают друг друга.

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

Для получения дополнительной информации о статическом маршруте нажмите здесь

Почему мы используем статический маршрут?

  1. Статическая маршрутизация может использоваться для определения точки выхода из маршрутизатора, когда другие маршруты недоступны или необходимы. Это называется маршрутом по умолчанию.
  2. Статическая маршрутизация может использоваться для небольших сетей, которым требуется только один или два маршрута.
  3. Статическая маршрутизация часто используется в качестве дополнения к динамической маршрутизации, чтобы обеспечить отказоустойчивую резервную копию в случае, если динамический маршрут недоступен.

Теперь приступим к настройке статического маршрута. Мы можем проверить нашу таблицу IP-адресов с помощью следующих команд, как показано ниже: -

На приведенном выше снимке экрана видно, что любые пакеты, достигающие сети назначения с идентификатором 192.168.43.0/24, должны проходить через интерфейс enp0s3 с адресом 192.168.43.15, а любая другая сеть назначения, не определенная неявно, должна использовать шлюз по умолчанию 192.168.43.1.

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

Например, добавим статический маршрут к сети назначения 10.10.20.0/24 через IP-адрес 192.168.43.15 и интерфейс enp0s3.

Для этого нам нужно создать новый файл route-enp0s3 в каталоге /etc/sysconfig/network-scripts/.

Мы можем определить упомянутый выше постоянный статический маршрут, добавив следующую строку в наш файл route-enp0s3. Как показано ниже:-

После входа в файл нам необходимо перезапустить сетевой сервис. Как показано ниже:-

нам нужно проверить, правильно ли определен наш новый статический маршрут.

Это все, что вы видите, мы успешно добавили один статический маршрут в CentOS 7.

Вы также можете увидеть конфигурацию сети после минимальной установки CentOS 7.

Читайте также: