Настройка сетевых маршрутов в CentOS¶
Для управления маршрутизацией в Linux предпочтительно исопльзовать утилиту ip, а не route. Команда route не позволяет настраивать расширенные возможности маршрутизации (например, политики маршрутизации), и не покажет специальные настройки маршрутизации, если они уже сделаны через ip.
Просмотр таблицы маршрутизации в Linux¶
Чтобы вывести текущую таблицу маршрутизации в Linux выполните команду:

default via 192.168.40.1 dev ens192– шлюз по умолчанию, в данном примере работающий через интерфейс enp0s3. Если для target адреса в таблице маршрутизации отсутствует маршрут, то такой пакет отправляется через данный шлюз (маршрут по умолчанию)192.168.40.0/24 dev ens192 proto kernel scope link src 192.168.40.197- статический маршрут для сети 192.168.40.0/24 через адрес 192.168.40.197, который прописан на интерфейсеproto kernel– маршрут создан ядром (proto static– маршрут добавлен администратором)metric– приоритет маршрута (чем меньше значение metric, тем выше приоритет). При наличии двух маршрутов с одинаковой метрикой (не стоит так делать!), ядро начинает выбирать маршруты случайным образом.
Чтобы узнать через какой интерфейс (шлюз) должен маршрутизироваться трафик к определенному IP адресу используется команда:

Как добавить или удалить статический маршрут?¶
Чтобы добавить новый маршрут к определенной IP подсети в таблицу маршрутизации Linux, нужно выполнить следующую команду:
Таким образом, мы добавим маршрут для IP сети 192.168.0.0/24 через шлюз 192.168.40.1
Также можно добавить отдельный маршрут для одного IP адреса (хоста):
Маршруты, добавленные таким образом являются временным и будут работать до перезагрузки сетевой службы или сервера.
Чтобы удалить созданный вручную маршрут, выполните:
Чтобы добавить постоянный маршрут, нужно создать файл для этого маршрута, либо добавить правило в файл rc.local (выполняется при загрузке сервера).
Чтобы добавить постоянный (статический) маршрут, нужно знать имя сетевого интерфейса, который будет использоваться для маршрутизации. Узнать имя сетевого интерфейса можно командой:

В моем случае, интерфейс ens192
Далее открываем следующий файл:
И добавляем туда строку с маршрутом:
После добавления маршрута в файл нужно перезапустить сервис network:
После перещаауска сетевого сервиса, в таблице маршрутизации появился статический маршрут.
Также можно добавить команду добавления нового маршрута в файл rc.local, чтобы он автоматически добавлялся при загрузке сервера. Откройте файл:
И укажите команду добавления маршрута:
Теперь, если ваш сервер будет перезагружен, маршрут пропишется автоматически при загрузке системы.
Изменить маршрут в Linux¶
Чтобы изменить уже существующий маршрут, можно использовать команду ip route replace:
Чтобы сбросить все временные маршруты в таблице маршрутизации, просто перезапустите сетевой сервис:
Изменить маршрут по умолчанию¶
Вы можете удалить маршрут по-умолчаню с помощью команды ip route del:
Чтобы указать новый маршрут по-умолчанию в CentOS используется команда:
Чтобы изменить параметры маршрута по умолчанию, используется команда: