- Как добавить статические маршруты (routes) в Ubuntu
- Добаление маршрута в linux (static routes)
- Как сохранить статический маршрут
- Как посмотреть маршруты в системе
- Сохранить статический маршрут в CentOS (Redhat)
- Как прописать маршруты
- Пример для Windows
- Пример для Ubuntu/Debian
- Сохранение маршрута при перезагрузке сервера
- Пример для CentOS/Fedora/RHEL
- Сохранение маршрута при перезагрузке сервера
- Настройка сетевых маршрутов в Linux (CentOS)
- Просмотр таблицы маршрутизации в Linux
- Как добавить или удалить статический маршрут?
- Изменить маршрут в Linux
- Изменить маршрут по умолчанию
- Настройка сетевых маршрутов в Linux (CentOS)
- Настройка сетевых маршрутов в Linux (CentOS)
- Просмотр таблицы маршрутизации в Linux
- Как добавить или удалить статический маршрут?
- Изменить маршрут в Linux
- Изменить маршрут по умолчанию
Как добавить статические маршруты (routes) в Ubuntu
Written by on 28.09.2015 . Posted in Linux
Добаление маршрута в linux (static routes)
В память можно добавить маршрут используя route или через ip ro
синтаксис route
route add [-net|-host] netmask gw dev X
синтаксис ip ro
ip route add via
Все параметры можно посмотреть ip route help
примечание: в команде ip можно использовать сокращенный синтаксис ip ro … в место ip route …
Для удаления статического маршрута используйте del вместо add
Как сохранить статический маршрут
Все эти маршруты будут добавлены в память и сохранятся до перезагрузки. Если необходимо, загружать маршруты при загрузки системы, то необходимо добавить их в файл конфигурации интерфейсов (для ubuntu и debian). /etc/network/interfaces
Добавим в конец файла следующую сточку:
up ip ro add 192.168.2.0/24 via 192.168.0.1
пример файла конфигурации.
Как посмотреть маршруты в системе
Сохранить статический маршрут в CentOS (Redhat)
- Необходимо отредактировать (если нет создать) файл
/etc/sysconfig/network-scripts/route-ethX — ethX заменить на номер интерфейса (eth0, eth1 …)
добавить следующие строки:
X.X.X.X — заменить на нужные значения
Другой вариант добавить маршруты в файл /etc/sysconfig/static-routes. Если нет этого файла — необходимо создать.
Пример содержания фала:
PS: Если маршрутов много или ими нужно управлять (добавлять или удалять) то лучше для этого использовать демон статической маршрутизации
Вам помогла эта статья, не забудьте сказать «спасибо» для благодарности используется вертикальная и горизонтальная реклама на сайте.
Источник
Как прописать маршруты
После завершения настройки приватной маршрутизируемой сети клиенту необходимо самостоятельно настроить маршрутизацию между сегментами сети, прописав маршруты до каждого сегмента из используемой сети через новые адреса шлюзов.
- Машины сегментов должны быть подключены к выделенным сетям.
- Надо настроить на интерфейсах IP-адреса.
- Из сегмента 1 требуется маршрут в сеть b.b.b.b через GW (a.a.a.254).
- Из сегмента 2 требуется маршрут в сеть a.a.a.a через GW (b.b.b.254).
Пример для Windows
Чтобы прописать маршруты на сервере (выделенном сервере, виртуальной машине, облачном сервере), введите команду в консоли:
- route — программа работы с маршрутами;
- ADD – команда для добавления маршрута;
- -p – этот ключ нужен, чтобы сохранить маршрут;
- MASK – маски сети;
- METRIC 1 – параметр, определяющий приоритет указанного выше шлюза, 1 — наивысший приоритет.
Проверить прописанные маршруты можно командой route print .
Пример для Ubuntu/Debian
Чтобы прописать маршруты в ОС Ubuntu, проверьте существующие маршруты командой route или netstat -nr :
В данном случае система чистая и дополнительных маршрутов, кроме дефолтного шлюза, нет.
Добавьте статический маршрут в подсеть 192.168.2.0 с 24 маской (255.255.255.0), в роли шлюза укажите, например, 192.168.0.100. Команда будет выглядеть следующим образом:
Проверьте существующие маршруты:
Начиная с версии Ubuntu 17.10 Netplan используется по умолчанию как утилита для конфигурирования сетевых настроек.
В предыдущих версиях Ubuntu использовалась утилита ifconfig и конфигурационный файл /etc/network/interfaces .
В нашем случае все образы OS Linux используют систему Cloud-init для инициализации системы при первом запуске. В ОС Ubuntu утилита Netplan установлена, но не используется.
Обратите внимание! Если произойдет перезагрузка сервера, то маршрут пропадет, как и с семейством RHEL.
Сохранение маршрута при перезагрузке сервера
Чтобы при перезагрузке сервера маршрут не пропал, нужно для соответствующего сетевого интерфейса, в нашем случае это eth0 , пропишите нужный маршрут в файле конфигурации /etc/network/interfaces.d/50-cloud-init.cfg :
Отключите возможность настройки сети через Cloud-init и создайте файл:
Добавьте в созданный файл необходимые параметры конфигурации Cloud-init, отключающие конфигурирование сети:
Добавьте в файл конфигурации маршрут up route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.0.100 :
Для Ubuntu 18 используйте команду:
Проверьте существующие маршруты:
Маршрут успешно прописался и не пропадет, если перезагрузить сервис.
Пример для CentOS/Fedora/RHEL
Проверьте существующие маршруты командой route или netstat -nr :
В данном случае система чистая и дополнительных маршрутов, кроме дефолтного шлюза, нет.
Добавьте статический маршрут в подсеть 192.168.2.0 с 24 маской (255.255.255.0), в роли шлюза укажите, например, 192.168.0.100. Команда будет выглядеть следующим образом:
Проверьте добавленные маршруты:
Маршрут успешно добавлен.
Обратите внимание! Если произойдет перезагрузка системы, то добавленный маршрут будет удален.
Сохранение маршрута при перезагрузке сервера
Чтобы при перезагрузке системы маршрут не был удален, в каталоге /etc/sysconfig/network-scripts создайте файл с именем route-eth0 (соответствует нужному интерфейсу eth0):
Отключите возможность настройки сети через Cloud-init и создайте файл:
Добавьте в созданный файл необходимые параметры конфигурации Cloud-init, отключающие конфигурирование сети:
Удалите текущий файл настроек:
Создайте новый файл:
Добавьте новый нужный маршрут:
Перезапустите сетевые службы, чтобы изменения вступили в силу:
Источник
Настройка сетевых маршрутов в Linux (CentOS)
В этой статье мы рассмотрим особенности настройки маршрутизации и управления маршрутами в Linux (просмотр таблицы маршрутизации, добавление/удаление статических маршрутов и т.д.) на примере CentOS с помощью утилиты ip. Статья применима и для любого другого дистрибутива Linux с утилитой ip (Red Hat, Fedora и т.д.).
Просмотр таблицы маршрутизации в Linux
Чтобы вывести текущую таблицу маршрутизации в Linux выполните команду:
- 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 адресу используется команда:
# ip route get 192.168.2.45
Как добавить или удалить статический маршрут?
Чтобы добавить новый маршрут к определенной IP подсети в таблицу маршрутизации Linux, нужно выполнить следующую команду:
# ip route add 192.168.0.0/24 via 192.168.1.1
Таким образом, мы добавим маршрут для IP сети 192.168.0.0/24 через шлюз 192.168.1.1.
Также можно добавить отдельный маршрут для одного 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
Маршруты, добавленные таким образом являются временным и будут работать до перезагрузки сетевой службы или сервера.
Чтобы удалить созданный вручную маршрут, выполните:
# ip route del 192.168.0.0/24
Как видите, маршрут удален из таблицы маршрутизации.
Чтобы добавить постоянный маршрут, нужно создать файл для этого маршрута, либо добавить правило в файл rc.local (выполняется при загрузке сервера).
Чтобы добавить постоянный (статический) маршрут, нужно знать имя сетевого интерфейса, который будет использоваться для маршрутизации. Узнать имя сетевого интерфейса можно командой:
В моем случае, интерфейс enp0s3.
Далее открываем следующий файл:
И добавляем туда строку с маршрутом:
После добавления маршрута в файл нужно перезапустить сервис network:
# service network restart
После перещаауска сетевого сервиса, в таблице маршрутизации появился статический маршрут.
Также можно добавить команду добавления нового маршрута в файл rc.local, чтобы он автоматически добавлялся при загрузке сервера. Откройте файл:
И укажите команду добавления маршрута:
# ip route add 192.168.0.0/24 via 192.168.1.1
Теперь, если ваш сервер будет перезагружен, маршрут пропишется автоматически при загрузке системы.
Изменить маршрут в Linux
Чтобы изменить уже существующий маршрут, можно использовать команду ip route replace:
# ip route replace 192.168.0.0/24 via 192.168.1.1
Чтобы сбросить все временные маршруты в таблице маршрутизации, просто перезапустите сетевой сервис:
]# service network restart
Изменить маршрут по умолчанию
Вы можете удалить маршрут по-умолчаню с помощью команды 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 (маршрут через имя устройства)
Чтобы изменить параметры маршрута по умолчанию, используется команда:
Источник
Настройка сетевых маршрутов в Linux (CentOS)
Настройка сетевых маршрутов в Linux (CentOS)
В этой статье мы рассмотрим особенности настройки маршрутизации и управления маршрутами в Linux (просмотр таблицы маршрутизации, добавление/удаление статических маршрутов и т.д.) на примере CentOS с помощью утилиты ip. Статья применима и для любого другого дистрибутива Linux с утилитой ip (Red Hat, Fedora и т.д.).
Просмотр таблицы маршрутизации в Linux
Чтобы вывести текущую таблицу маршрутизации в Linux выполните команду:
- 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 адресу используется команда:
# ip route get 192.168.2.45
Как добавить или удалить статический маршрут?
Чтобы добавить новый маршрут к определенной IP подсети в таблицу маршрутизации Linux, нужно выполнить следующую команду:
# ip route add 192.168.0.0/24 via 192.168.1.1
Таким образом, мы добавим маршрут для IP сети 192.168.0.0/24 через шлюз 192.168.1.1.
Также можно добавить отдельный маршрут для одного 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
Маршруты, добавленные таким образом являются временным и будут работать до перезагрузки сетевой службы или сервера.
Чтобы удалить созданный вручную маршрут, выполните:
# ip route del 192.168.0.0/24
Как видите, маршрут удален из таблицы маршрутизации.
Чтобы добавить постоянный маршрут, нужно создать файл для этого маршрута, либо добавить правило в файл rc.local (выполняется при загрузке сервера).
Чтобы добавить постоянный (статический) маршрут, нужно знать имя сетевого интерфейса, который будет использоваться для маршрутизации. Узнать имя сетевого интерфейса можно командой:
В моем случае, интерфейс enp0s3.
Далее открываем следующий файл:
И добавляем туда строку с маршрутом:
После добавления маршрута в файл нужно перезапустить сервис network:
# service network restart
После перещаауска сетевого сервиса, в таблице маршрутизации появился статический маршрут.
Также можно добавить команду добавления нового маршрута в файл rc.local, чтобы он автоматически добавлялся при загрузке сервера. Откройте файл:
И укажите команду добавления маршрута:
# ip route add 192.168.0.0/24 via 192.168.1.1
Теперь, если ваш сервер будет перезагружен, маршрут пропишется автоматически при загрузке системы.
Изменить маршрут в Linux
Чтобы изменить уже существующий маршрут, можно использовать команду ip route replace:
# ip route replace 192.168.0.0/24 via 192.168.1.1
Чтобы сбросить все временные маршруты в таблице маршрутизации, просто перезапустите сетевой сервис:
]# service network restart
Изменить маршрут по умолчанию
Вы можете удалить маршрут по-умолчаню с помощью команды 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 (маршрут через имя устройства)
Чтобы изменить параметры маршрута по умолчанию, используется команда:
Источник