Найти в Дзене

Как прописать маршрут в linux

В Linux существует несколько способов прописать маршрут, в зависимости от того, хотите ли вы добавить временный маршрут (который будет потерян после перезагрузки) или постоянный (который будет сохраняться после перезагрузки). I. Временные маршруты (теряются после перезагрузки): Используются командой route или ip route. Команда ip route более современная и рекомендуется для использования. Использование Route (устаревший, но часто предустановлен): Синтаксис: Sudo route add — net целевая_сеть netmask маска_подсети gw шлюз Или Sudo route add default gw шлюз # Маршрут по умолчанию Целевая_сеть: Адрес целевой сети (например, 192.168.10.0). Маска_подсети: Маска подсети целевой сети (например, 255.255.255.0). Gw: Ключевое слово, указывающее, что следующий аргумент — шлюз. Шлюз: IP-адрес шлюза, через который нужно отправлять трафик в целевую сеть (например, 192.168.1.1). Default: Указывает, что добавляется маршрут по умолчанию (используется, когда ни один другой маршрут не подходит). Примеры: Д

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

I. Временные маршруты (теряются после перезагрузки):

Используются командой route или ip route. Команда ip route более современная и рекомендуется для использования.

Использование Route (устаревший, но часто предустановлен):

Синтаксис:

Sudo route add — net целевая_сеть netmask маска_подсети gw шлюз

Или

Sudo route add default gw шлюз # Маршрут по умолчанию

Целевая_сеть: Адрес целевой сети (например, 192.168.10.0).

Маска_подсети: Маска подсети целевой сети (например, 255.255.255.0).

Gw: Ключевое слово, указывающее, что следующий аргумент — шлюз.

Шлюз: IP-адрес шлюза, через который нужно отправлять трафик в целевую сеть (например, 192.168.1.1).

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

Примеры:

Добавить маршрут для сети 192.168.10.0/24 через шлюз 192.168.1.1:

Sudo route add — net 192.168.10.0 netmask 255.255.255.0 gw 192.168.1.1

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

Sudo route add default gw 192.168.1.1

Использование Ip route (рекомендуемый способ):

Синтаксис:

Sudo ip route add целевая_сеть/маска_подсети via шлюз

Или

Sudo ip route add default via шлюз # Маршрут по умолчанию

Целевая_сеть/маска_подсети: Адрес целевой сети и маска подсети в CIDR-нотации (например, 192.168.10.0/24).

Via: Ключевое слово, указывающее, что следующий аргумент — шлюз.

Шлюз: IP-адрес шлюза, через который нужно отправлять трафик в целевую сеть (например, 192.168.1.1).

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

Примеры:

Добавить маршрут для сети 192.168.10.0/24 через шлюз 192.168.1.1:

Sudo ip route add 192.168.10.0/24 via 192.168.1.1

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

Sudo ip route add default via 192.168.1.1

Удаление маршрута:

С помощью Route:

Sudo route del — net целевая_сеть netmask маска_подсети gw шлюз

Или

Sudo route del default gw шлюз # Удалить маршрут по умолчанию

С помощью Ip route:

Sudo ip route del целевая_сеть/маска_подсети via шлюз

Или

Sudo ip route del default via шлюз # Удалить маршрут по умолчанию

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

Route — n

Или

Ip route show

II. Постоянные маршруты (сохраняются после перезагрузки):

Способ добавления постоянных маршрутов зависит от используемого дистрибутива Linux и его системы управления сетью (NetworkManager, systemd-networkd, /etc/network/interfaces и т. д.).

NetworkManager (используется в большинстве графических дистрибутивов):

Графический интерфейс (GUI):

Откройте настройки сети (NetworkManager).

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

Перейдите в настройки IPv4 (или IPv6).

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

Адрес: Целевая сеть.

Маска подсети/Префикс: Маска подсети (или префикс в CIDR-нотации).

Шлюз: IP-адрес шлюза.

Сохраните изменения.

Командная строка (CLI) с использованием Nmcli:

Определите имя подключения (Connection Name):

Nmcli con show

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

Sudo nmcli con mod "Имя Подключения" +ipv4.routes "целевая_сеть/маска_подсети шлюз"

Пример:

Sudo nmcli con mod "Wired connection 1" +ipv4.routes "192.168.10.0/24 192.168.1.1"

Перезагрузите подключение:

Sudo nmcli con down "Имя Подключения" && sudo nmcli con up "Имя Подключения"

Systemd-networkd (используется в некоторых дистрибутивах, например, Arch Linux):

Создайте файл конфигурации для статического маршрута в каталоге /etc/systemd/network/. Имя файла должно заканчиваться на .network. Например, static-route. network.

Добавьте следующее содержимое в файл:

[Match]

# Укажите имя интерфейса, к которому относится маршрут (eth0, enp0s3 и т. д.)

Name=eth0

[Network]

# Укажите шлюз

Gateway=192.168.1.1

[Route]

# Укажите целевую сеть и маску подсети

Destination=192.168.10.0/24

Перезапустите службу systemd-networkd:

Sudo systemctl restart systemd-networkd

/etc/network/interfaces (Используется В Debian И Ubuntu Server, А Также В Некоторых Других Дистрибутивах):

Откройте файл /etc/network/interfaces с правами root:

Sudo nano /etc/network/interfaces

Найдите блок конфигурации для вашего сетевого интерфейса (например, eth0).

Добавьте строки для статического маршрута:

Iface eth0 inet static

address 192.168.1.100

netmask 255.255.255.0

gateway 192.168.1.1

post-up ip route add целевая_сеть/маска_подсети via шлюз

pre-down ip route del целевая_сеть/маска_подсети via шлюз

Или для маршрута по умолчанию:

Iface eth0 inet static

address 192.168.1.100

netmask 255.255.255.0

gateway 192.168.1.1

post-up ip route add default via шлюз

pre-down ip route del default via шлюз

Перезапустите сетевой интерфейс:

Sudo ifdown eth0 && sudo ifup eth0

Или перезагрузите систему.

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

Какой способ выбрать?

Ip route для временных маршрутов: Это современный и рекомендуемый способ.

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

Systemd-networkd или /etc/network/interfaces для постоянных маршрутов (если NetworkManager не используется): Выберите способ, который соответствует вашей системе управления сетью.

Примеры:

Добавить постоянный маршрут для сети 10.0.0.0/24 через шлюз 192.168.1.1 (с использованием NetworkManager через Nmcli):

Определите имя подключения: nmcli con show (например, “Wired connection 1”).

Выполните команду:

Sudo nmcli con mod "Wired connection 1" +ipv4.routes "10.0.0.0/24 192.168.1.1"

Перезагрузите подключение:

Sudo nmcli con down "Wired connection 1" && sudo nmcli con up "Wired connection 1"

Важно:

Всегда используйте Sudo для команд, требующих прав администратора.

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

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

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

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

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

  📷
📷