Добавление маршрута в Linux

Обновлено: 05.07.2024

В первой части серии статей об IP-маршрутизации мы изучили основы IP-маршрутизации в Linux.

Команда Route используется для отображения/управления таблицей IP-маршрутизации. В основном он используется для настройки статических маршрутов к определенному хосту или сети через интерфейс.

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

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

Я. Как выполняется маршрутизация?

1. Показать существующие маршруты

команда route по умолчанию покажет подробности записей таблицы маршрутизации ядра. В данном примере ip-адрес системы, на которой выполняется команда route, — 192.168.1.157

Приведенная выше команда показывает, что если пункт назначения находится в пределах сетевого диапазона 192.168.1.0–192.168.1.255, то шлюзом является *, что равно 0.0.0.0.

Когда пакеты отправляются в этом диапазоне IP-адресов, MAC-адрес получателя определяется по протоколу ARP, и пакет будет отправлен на этот MAC-адрес.

Если вы не знаете, что такое ARP, вам следует сначала понять, как работает протокол ARP.

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

По умолчанию команда route отображает имя хоста в своих выходных данных. Мы можем запросить отображение числового IP-адреса с помощью параметра -n, как показано ниже.

2. Добавление шлюза по умолчанию

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

Следующая команда добавления маршрута установит в качестве шлюза по умолчанию 192.168.1.10.

Теперь команда route будет отображать следующие записи.

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

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

3. Получение списка информации кэша маршрутизации ядра

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

4. Отклонить маршрутизацию к определенному узлу или сети

Иногда мы можем захотеть отклонить маршрутизацию пакетов на определенный хост/сеть. Для этого добавьте следующую запись.

Как вы видите ниже, мы не можем получить доступ к этому конкретному хосту (например, хосту .51, который мы только что отклонили).

Однако мы по-прежнему можем получить доступ к другим хостам в сети (например, хост .52 по-прежнему доступен).

Если вы хотите отклонить всю сеть ( 192.168.1.1 – 192.168.1.255 ), добавьте следующую запись.

Теперь вы не можете получить доступ ни к одному из хостов в этой сети (например: .51, .52, .53 и т. д.)

II. Пример сетевой архитектуры (для понимания маршрутизации)

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

На приведенной ниже схеме показаны две отдельные сети ( 192.168.1.0 и 192.168.3.0 с маской подсети 255.255.255.0 ).


У нас также есть машина «ШЛЮЗ» с 3 сетевыми картами. 1-я карта подключена к 192.168.1.0, 2-я карта подключена к 192.168.3.0, а 3-я карта подключена к внешнему миру.

5. Сделать 192.168.3.* доступным с 192.168.1.*

Теперь нам нужно добавить запись маршрутизации, чтобы мы могли пинговать 192.168.3. серия ip-адресов от 192.168.1. ряд. У нас есть общая точка — машина GATEWAY.

Итак, на каждой машине в сети 192.168.1.* будет добавлен шлюз по умолчанию, как показано ниже.

Теперь, когда 192.168.1.1 пингует 192.168.3.1, он идет на ШЛЮЗ через 192.168.1.10.

В GATEWAY добавьте следующую запись маршрутизации.

Теперь все пакеты, адресованные в сеть 192.168.3.*, будут пересылаться через интерфейс 192.168.3.10, который затем доставляет пакеты на адресованную машину.

6. Сделать 192.168.1.* доступным с 192.168.3.*

Это очень похоже на то, что мы делали раньше.

Итак, на каждой машине в сети 192.168.3.* будет добавлен шлюз по умолчанию, как показано ниже.

В GATEWAY добавьте следующую запись маршрутизации.

Теперь машины 192.168.3.* могут пинговать машины 192.168.1.*.

7. Разрешить доступ в Интернет (внешний мир)

В двух предыдущих примерах мы соединили две разные сети.

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

Вот как это работает:

Если вам понравилась эта статья, вам также может понравиться...

Комментарии к этой записи закрыты.

Я не знаю, сколько времени потребуется, чтобы отказаться от использования ifconfig+route с iproute2, но людям будет не так сложно изучить методы iproute2 для создания маршрутов, поскольку логика в основном та же, меняются некоторые «слова» в синтаксисе команды. 🙂

спасибо. сегодня кое-что узнал.

Хорошо написано. Одна опечатка — в пункте 4 в конце «в пределах 2.* диапазона» должно быть «в пределах 3.* диапазона»

Я предпочитаю iproute2, он более гибкий и мощный.

отличная серия статей.
другой вариант: ip route [добавить|изменить|заменить]

Ага! TGS снова наносит удар!

Спасибо за этот урок и за комментарии по поводу iproute2, видимо, мне тоже нужно его изучить.

Большое спасибо….

Краткий обзор Iproute2:

Вместо «route add -net IP netmask MASk gw IP» следует ввести
«ip route add IP/MASk via IP».
Еще одна команда, которую можно использовать вместо «route -n», — это «ip route show».
Чтобы установить шлюз по умолчанию, используйте: «ip route add default via IP», и, наконец, чтобы удалить маршрут, используйте: «ip route del IP/MASK».

Хорошо создать несколько шлюзов и направить их по одному и тому же.

Спасибо, приятель, за введение новых команд…

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

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

<р>1. Создайте файл вызова «route-eth0» в nano -w /etc/sysconfig/network-scripts/route-eth0
2. сохраните в файл следующие строки:
ADDRESS0=10.0.0.0
NETMASK0=255.255.0.0
GATEWAY0=192.168.0.1
если маршрутов больше одного измените расширение ADD, NET, GAT, до 1 и т. д.….
пример:
маршрут 1
ADDRESS0=10.100.0.0
NETMASK0=255.255.0.0
GATEWAY0=192.168.0.1

маршрут 2
АДРЕС1=10.200.0.0
МАСКА СЕТИ1=255.255.0.0
ШЛЮЗ1= 192.168.0.1

перезагрузка и маршрут успешно сохранен.

Спасибо, Асси, хороший совет!
В любом случае вы можете отредактировать файл /etc/rc.local и вставить команду «ip route…», она загрузит ваши маршруты при запуске.

Спасибо, Иван 🙂
я пытаюсь добавить эту строчку («ip route…», ) на рабочие сервера с RH/CentOS, у меня почему-то не работает.
Затем я создаю файл «route-eth0», и он работает как по волшебству.

Попробуйте «apt-get install iproute» (DEB/UBUNTU) или «yum install iproute» (CENTOS). Возможно, в вашем дистрибутиве не установлен этот пакет.

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

в приведенном выше примере сети после того, как вы все настроили, вы можете показать дамп «route -n» на каждом из 3 узлов, чтобы мы могли сразу увидеть, как все выглядит.

Где на шаге 7 добавить маршрут по умолчанию? только в шлюзе?
$ route добавить gw по умолчанию 125.250.60.59

Это сделано для того, чтобы мы могли получить доступ к внешнему миру. (Интернет).

Если пункт назначения не входит в серии 1.* и 3.*, он будет обращаться к внешнему миру.

отлично и большое спасибо

Привет
Я не понимаю эту часть:
———
4. Затем он проверяет, находится ли пункт назначения в пределах диапазона 2.*. В этом примере это не
———
почему он должен проверять диапазон 2.*? 2.* должно быть 3.* ?

@alieblice: Это опечатка. 3

Отличная работа Спасибо за информацию

Хорошая работа, четко и лаконично!

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

хорошо объяснил!
спасибо.

В приведенном выше примере:
4. Отклонить маршрутизацию к определенному узлу или сети

Как снять блокировку? я имею в виду позже, если IP, который был отклонен, должен быть принят, то какую команду нам нужно использовать?

Почему на шагах 5 и 6 на шлюзе добавляются маршруты к локальным подсетям (.1 и .3). Это необходимо?

@Shamso: да, чтобы две разные подсети могли общаться друг с другом.

Это может быть правдой только в том случае, если вам назначен статический IP-адрес от вашего интернет-провайдера и вы используете его, в противном случае ваш модемный интерфейс (каким бы он ни был, я предпочитаю использовать eth0) должен быть настроен на DHCP, и вам придется маскироваться. с компьютера GATEWAY, который должен быть брандмауэром/маршрутизатором/DHCP/DNS-сервером в одном, чтобы защитить и укрепить всю вашу локальную сеть. сделать это проще.

Хорошее объяснение. Молодец! 🙂

Я хочу добавить один виртуальный шлюз в Centos, у меня две сетевых карты и назначен один статический IP-адрес со шлюзом на eth1, а второй локальный IP-адрес без шлюза на eth0

я создал один файл route-eth0 (/etc/sysconfig/network-scripts)
добавил три строки для маршрута
ADDRESS0=192.168.3.3
NETMASK0=255.255.255.0 < br />GATEWAY0=192.168.3.51
когда я запускаю службу, я получаю сообщение об ошибке. Вызов интерфейса eth0: RTNETLINK отвечает: недопустимый аргумент, и он не показывает шлюз через эту команду route -n

Пожалуйста, помогите мне с тем же

Вы можете загрузить его в /etc/rc.local
Что вы хотите сделать?

С уважением,
Иван Карраско Кирос.

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

Большое спасибо, хотя я часто пользовался маршрутом, но был полон сомнений.
Требуется подробная информация. Часть 1 была полна основ, а часть 2 была хорошо подкреплена примерами, большое спасибо

привет, Лаксманан
Хорошее объяснение, оно не работает в моей ситуации,
Можете ли вы понять, где ошибка

брандмауэр (ISP 101.202.100.201 и локальный 192.168.0.0 ) шлюз 192.168.0.1
|
Узел шлюза (сети 10.3.61.0 и 192.168.0.0)
|
Внутренняя сеть (10.3.61.0) со шлюзом 10.3.61.1

Я могу получить доступ к Интернету на узле шлюза, используя прокси-сервер 192.168.0.1

Я не могу пропинговать 192.168.0.1 из внутренней сети. Я сделал настройку, как вы указали на диаграмме архитектуры.
Я могу пропинговать узел шлюза на 10.1.1.1 GW из внутренней сети.

Я хочу получить доступ к Интернету из внутренней сети и хочу, чтобы весь трафик из внутренней сети проходил через узел шлюза.

Пожалуйста, дайте мне знать, если то же самое можно сделать другим способом.
Заранее спасибо….

Хорошо, я пытаюсь сделать точно такую ​​же настройку, но использую ipv6, и я просто не могу заставить Lan A общаться с Lan B

Узел локальной сети A: 2001::2

Шлюз NicA: 2001::1
NicB 2000::1

Хост Lan B: 2000::2

У меня есть шлюз хостов к моему шлюзу. И я смог подключиться к шлюзу, но не могу передать трафик в другую сеть.

Привет! Я прочитал много комментариев и документации по нулевой маршрутизации. На самом деле я заинтересован в том, чтобы обнулить один из моих собственных IP-адресов и добавить к нему 1 исключение. Например, у меня есть VPS с 3 IP-адресами, и я хочу, чтобы 1 IP-адрес был нулевым, а 2 других работали нормально, как и раньше. Насколько я читал, я могу только обнулить определенный адрес на свой IP. Я хочу, чтобы мой IP-адрес был полностью нулевым, маршрутизируемым на любой другой внешний IP-адрес и добавлял только 1 IP-исключение. Как говорится, у меня есть 3 IP-адреса, я хочу, чтобы 2 из них работали нормально, как и раньше, но один должен быть нулевым маршрутом в Интернет, за исключением того, что 1 IP-адрес будет разрешен для доступа к нему.
Спасибо,

Снимок экрана, показанный для точки 1, на самом деле является скриншотом для точки 2, и наоборот. Пожалуйста, проверьте.

** В некоторых версиях Linux IP-переадресация будет отключена по умолчанию, поэтому вам потребуется включить ее в дополнение к «добавлению маршрута», чтобы «пинг» работал.

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

Чтобы запустить Postfix и Dovecot для нескольких доменов, каждый со СОБСТВЕННЫМ общедоступным IP-адресом, полным доменным именем и СОБСТВЕННЫМ MX

Имеет ли это какое-то значение для вас? Предполагая, что о маршрутизации уже позаботились на FW, маршрутизаторах и т. д.

Сервер А имеет 2 отдельных сетевых адаптера

NIC1 физически подключен к коммутатору LAN
eth0 по DHCP (частный IP-адрес)
Все работает нормально

NIC2 физически подключен к основному коммутатору
eth1, чтобы иметь 3 ОБЩЕСТВЕННЫХ IP-адреса

*Подсказка: общедоступные IP-адреса принадлежат ДВУМ разным подсетям, каждая из которых имеет свой шлюз

auto eth1
iface eth1 inet static
адрес 119.73.132.98
сетевая маска 255.255.255.248
добавленный IP-маршрут 119.73.132.96/29 через 119.73.132.97
/>добавление IP-маршрута по умолчанию через 119.73.132.97

auto eth1:1
iface eth1:1 inet static
адрес 203.126.43.134
сетевая маска 255.255.255.240
добавленный IP-маршрут 203.126.43.128/28 через 203.126 .43.129
добавить IP-маршрут по умолчанию через 203.126.43.129

auto eth1:2
iface eth1:1 inet static
адрес 203.126.43.131
сетевая маска 255.255.255.240

Если правила FW разрешают доступ, будут ли все три общедоступных IP-адреса доступны из Интернета?

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

Извините за последнее сообщение. Я не понял.

Вот чего я хочу достичь.

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

Целью является запуск Postfix и Dovecot для нескольких доменов, каждый со СОБСТВЕННЫМ общедоступным IP-адресом, полным доменным именем и СОБСТВЕННЫМ MX

Имеет ли это какое-то значение для вас? Предполагая, что о маршрутизации уже позаботились на FW, маршрутизаторах и т. д.

Сервер А имеет 2 отдельных сетевых адаптера

NIC1 физически подключен к коммутатору LAN
eth0 по DHCP (частный IP-адрес)
Все работает нормально

NIC2 физически подключен к основному коммутатору
eth1, чтобы иметь 3 ОБЩЕСТВЕННЫХ IP-адреса

*Подсказка: общедоступные IP-адреса принадлежат ДВУМ разным подсетям, каждая из которых имеет свой шлюз

В конце /etc/iproute2/rt_tables
я добавляю следующее

Затем в /etc/network/interfaces…

авто eth0
iface eth0 инет dhcp

auto eth1
iface eth1 inet static
адрес 119.73.132.98
сетевая маска 255.255.255.248
post-up ip route add 119.73.132.96/29 dev eth1 src 119.73.132.98 table rt2
ip-маршрут после отправки добавить по умолчанию через 119.73.132.97 dev eth1 table rt2
правило post-up ip добавить из 119.73.132.96/29 table rt2
правило post-up ip добавить в 119.73.132.96/29 таблица rt2

auto eth1:1
iface eth1:1 inet static
адрес 203.126.43.134
сетевая маска 255.255.255.240
пост-ап IP маршрут добавить 203.126.43.128/28 dev eth1 :1 src 203.126.43.134 table rt3
post-up ip route add default via 203.126.43.129 dev eth1:1 table rt3
post-up ip rule add from 203.126.43.128/28 table rt3
>Добавить правило post-up ip в таблицу 203.126.43.128/28 rt3

Linux предоставляет команду «добавления маршрута» для добавления новых сетевых маршрутов. Команду route add можно использовать для добавления нового шлюза для доступа к другим сетям и Интернету. Кроме того, можно добавить явные маршруты для доступа к другим сетям, указав первый переход. Во время подключения к сети или Интернету маршруты по умолчанию обычно добавляются автоматически, но добавление маршрута можно использовать для добавления новых маршрутов.

Синтаксис команды route add

Команда добавления маршрута имеет следующий синтаксис.

  • HOP — это IP-адрес в сети с прямым подключением. Этот IP-адрес HOP используется для доступа к указанной СЕТИ.
  • СЕТЬ – это сеть, к которой осуществляется доступ и для которой используется маршрут.
  • DEVICE – имя текущего системного сетевого интерфейса для доступа к указанной NETWORK.

Показать текущие ротации

Перед началом использования команды route add добавьте новые маршруты или шлюз по умолчанию, перечислив текущие маршруты или таблицу маршрутизации. Текущие маршруты или таблица маршрутизации могут быть перечислены с помощью различных команд. «Route -n» отображает текущую таблицу маршрутизации.

  • Назначение – это СЕТЬ, доступ к которой осуществляется с использованием маршрута.
  • Шлюз — это первый IP-адрес HOP, используемый для доступа к СЕТИ.
  • Genmask – это маска сети, используемая для указания маски NETWORK.
  • Iface — это сетевой интерфейс, используемый для доступа к указанной СЕТИ.

Добавить шлюз по умолчанию

Одним из самых популярных вариантов использования команды route add является добавление шлюза по умолчанию. Шлюз по умолчанию используется, когда IP-адрес назначения не соответствует ни одной сети в таблице маршрутизации. Шлюз по умолчанию, обычно устанавливаемый сетевой службой, также можно установить с помощью команды добавления маршрута вручную. В следующем примере мы устанавливаем 192.168.1.1 в качестве сети по умолчанию или шлюза по умолчанию. Сеть 192.168.1.0/24 подключена к устройству или сетевому интерфейсу с именем eth0. Добавление маршрута в систему является административной задачей и требует привилегий root. Привилегии суперпользователя можно предоставить с помощью команды sudo.

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

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

  • -net 10.0.0.0/8 используется для установки пункта назначения в качестве сети с сетевым адресом 10.0.0.0/8.
  • gw 192.168.10.2 используется для установки IP-адреса первого перехода в сети с прямым подключением, где каждый пакет для сети назначения перенаправляется на этот IP-адрес шлюза. IP-адрес шлюза должен быть напрямую подключен к локальной системе Linux, иначе он выдает ошибку.
  • ens33 — это сетевой интерфейс или имя устройства, используемого для отправки пакетов, которое подключено к адресу первого перехода или сети шлюза.

Добавить новый маршрут для определенного хоста

Команду route add также можно использовать для добавления маршрута к определенному удаленному хосту. Параметр -host должен быть указан вместо параметра -net, а параметр должен быть одним IP-адресом, а не сетевым адресом или диапазоном сетевых адресов.

Удалить существующий маршрут

В некоторых случаях нам может потребоваться удалить или удалить существующий маршрут. Удаление маршрута очень похоже на добавление маршрута. Просто измените команду добавления на команду del. Таким образом, «route del» используется для удаления существующего маршрута.

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

Статические маршруты предназначены для трафика, который не должен или не должен проходить через шлюз по умолчанию.Маршрутизация часто выполняется устройствами в сети, предназначенными для маршрутизации (хотя любое устройство может быть настроено для выполнения маршрутизации). Поэтому часто нет необходимости настраивать статические маршруты на серверах или клиентах 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».

Статические маршруты предназначены для трафика, который не должен или не должен проходить через шлюз по умолчанию. Маршрутизация часто выполняется устройствами в сети, предназначенными для маршрутизации (хотя любое устройство может быть настроено для выполнения маршрутизации). Поэтому часто нет необходимости настраивать статические маршруты на серверах или клиентах 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, эта директива будет иметь приоритет. Этот вариант не рекомендуется, так как он может привести к неожиданным последствиям, если интерфейс выйдет из строя, и это может усложнить поиск неисправности.

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

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