- ИТ База знаний
- Полезно
- Навигация
- Серверные решения
- Телефония
- Корпоративные сети
- Настройка маршрута по умолчанию в Linux
- Показать маршруты по умолчанию
- Настройка дефолтного маршрута
- Настройка сетевых маршрутов в Linux (CentOS)
- Просмотр таблицы маршрутизации в Linux
- Как добавить или удалить статический маршрут?
- Изменить маршрут в Linux
- Изменить маршрут по умолчанию
- Маршрут по умолчанию
- Материал из Xgu.ru
- Содержание
- [править] Маршрут по умолчанию в Linux
- [править] Просмотр маршрута
- [править] Смена маршрута
- [править] Маршрут по умолчанию в FreeBSD
- [править] Маршрут по умолчанию в старых версиях FreeBSD
- [править] Просмотр маршрута
- [править] Смена маршрута
- [править] Установка маршрута по умолчанию при запуске системы
- [править] Автоматическая смена маршрута по умолчанию
- [править] Задача
- [править] Решение
- [править] Одновременное использование нескольких внешних каналов
- [править] Задача
- [править] Решение
- Как настроить маршрутизацию в Linux
- Маршруты, которые необходимы для поставки пакетов до конечного назначения, настраиваются в интерфейсе или маршрутизаторе. Если перед компьютером стоит задача отправить пакет в сеть, он смотрит таблицу маршрутизации, в которой перечислены IP-адреса пунктов назначения и адреса интерфейсов и роутеров в домашней сети, которые могут отправить пакет по нужному адресу. Если для цели маршрут не указан, то в первую очередь задействуется так называемый шлюз по умолчанию или маршрут по умолчанию. Точно такая же картина наблюдается на роутере. Устройство смотрит на IP-адрес назначения и сверяет его со своей таблицей маршрутизации, а потом отправляет дальше. Дальше на примере рассмотрим, как настроить определенные маршруты и создать новые.
- Смотрим таблицу маршрутизации
- Настраиваем маршруты
ИТ База знаний
Курс по Asterisk
Полезно
— Узнать IP — адрес компьютера в интернете
— Онлайн генератор устойчивых паролей
— Онлайн калькулятор подсетей
— Калькулятор инсталляции IP — АТС Asterisk
— Руководство администратора FreePBX на русском языке
— Руководство администратора Cisco UCM/CME на русском языке
— Руководство администратора по Linux/Unix
Навигация
Серверные решения
Телефония
FreePBX и Asterisk
Настройка программных телефонов
Корпоративные сети
Протоколы и стандарты
Настройка маршрута по умолчанию в Linux
В любой непонятной ситуации
3 минуты чтения
В статье мы покажем, как использовать команды маршрутизации в Linux (в UNIX подобных системах) чтобы отображать или конфигурить информацию о дефолтных маршрутах. Погнали разбираться!
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Показать маршруты по умолчанию
Ловите 2 команды, которые помогут отобразить текущую таблицу маршрутизации в Linux:
Вывод такой команды будет примерно следующим:
Или можно использовать второй вариант:
”Выхлоп” такой команды в той же самой таблице маршрутизации:
Настройка дефолтного маршрута
Синтаксис настройки категорически прост. Смотрите:
- IP-АДРЕС — IP — адрес шлюза;
- ИНТЕРФЕЙС — имя интерфейса, за которым сидит указанный выше шлюз;
Например, если IP — адрес вашего роутера 192.168.1.254 и он сидит на интерфейсом eth0, то из под root выполните команду:
Или можно использовать хостнейм (только проверьте, чтобы он резолвился на уровне DNS):
Или можно использовать команду ip , чтобы маршрутизировать весь трафик через шлюз 192.168.1.254, который подключен к интерфейсу eth0:
Либо вместо eth0 интерфейса можно прописать в явном виде адрес шлюза. Тут ап ту ю, как говорится 🙂
Онлайн курс по Linux
Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps
Источник
Настройка сетевых маршрутов в 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 (маршрут через имя устройства)
Чтобы изменить параметры маршрута по умолчанию, используется команда:
Источник
Маршрут по умолчанию
Материал из Xgu.ru
|
Данная страница находится в разработке. Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной. |
Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.
Автор: Игорь Чубин
Короткий URL: default_gateway
Содержание
[править] Маршрут по умолчанию в Linux
[править] Просмотр маршрута
Просмотреть таблицу маршрутизации в Linux можно множеством способов. Наиболее распространённые это: использовать программы netstat, route или ip.
Во втором случае (/sbin/route) использовался полный путь, поскольку программа вызывалась от имени пользователя, у которого по умолчанию каталог /sbin/ не просматривается в поисках исполняемых программ (переменная PATH).
Ключ -n в программах netstat и route говорит о том, что не нужно выполнять обратное преобразование IP-адресов и показывать вместо них DNS-имена.
Если нужна только запись о маршруте по умолчанию, вывод можно отфильтровать:
и если нужен только IP-адрес:
[править] Смена маршрута
[править] Маршрут по умолчанию в FreeBSD
[править] Маршрут по умолчанию в старых версиях FreeBSD
[править] Просмотр маршрута
[править] Смена маршрута
Процесс установки маршрута по умолчанию может выполнятся двумя способами:
1. Удалением записи о существующем маршруте(фиктивном), а далее добавлением записи о новом:
2. Изменением маршрута:
[править] Установка маршрута по умолчанию при запуске системы
В файле /etc/network/interfaces
В файле /etc/network/interfaces
В файле /etc/conf.d/net
В файле /etc/sysconfig/network
В файле /etc/sysconfig/network/routes
В переменной GATEWAY файла /etc/rc.d/rc.inet1.conf вручную или с помощью программы netconfig [1]
В файле /etc/sysconfig/network
В файле /etc/net/ifaces/NAME/iproute
[править] Автоматическая смена маршрута по умолчанию
[править] Задача
Есть два канала связи с Интернетом, через двух независимых провайдеров. Нужно сделать так, что бы как только Интернет становится недоступным через одно из соединений (не имеет значения из-за того что пропала связь с провайдером, или потому что проблемы у провайдера), автоматически менять маршрут по умолчанию и использовать другой канал.
[править] Решение
СКРИПТ
Имя скрипта: change_default_route
Путь: /usr/local/sbin/change_default_route
Назначение скрипта: Скрипт контролирует доступность удалённой точки $
Скрипт может быть размещён /usr/local/bin/change_default_route
Скрипт должен вызываться автоматически при старте системы. Например, в /etc/rc.local:
или в /etc/network/interfaces
Файл /etc/network/gateways должен содержать адреса шлюзов, а также указание какой из них должен использоваться по умолчанию:
Если используется OpenVPN, при изменении маршрута скрипт находит и перестартовывает процесс (процессы) openvpn, который держит на один из адресов, указанных в конфигурационном файле OpenVPN OPENVPN_UPLINK_CONFIG в директиве remote.
Если нужна однократная проверка, например, при установке маршрута, для выбора того из них, который работает, используйте такой скрипт:
(ещё один вариант:)
Автоматическая правка файла /etc/default/gateways выполняется при поднятии интерфейса с помощью скрипта:
[править] Одновременное использование нескольких внешних каналов
[править] Задача
Есть два канала связи с Интернетом, через двух независимых провайдеров. Нужно сделать так, чтобы если происходит обращение через интерфейс 1, ответы должны уходить тоже через интерфейс 1 и с обратным адресом интерфейса 1.
[править] Решение
Настроить и использовать policy routing.
Например для шлюзов GW1 и GW2, которые описываются в /etc/network/gateways:
При использовании дополнительных таблиц маршрутизации необходимо либо отключить reverse path filter
либо перевести его в менее строгий режим
Такая схема маршрутизации не будет правильно работать с iptables DNAT. Другими словами, если с помощью iptables/netfilter пробрасывать обращения на какие-то порты внутрь сети, принцип «ответы уходят по тому каналу, по которому приходят запросы» работать не будет.
Как ни странно, проблема с iproute2 и DNAT в некоторых случаях может быть решена (SOLVED) простой парой команд:
Таким образом мы можем вручную (через ip rule fwmark 1) указать необходимую таблицу. (N, 21:34, 27 августа 2009 (UTC))
Для решения проблем с трансляцией соединений внутрь сети, необходимо использовать схему с промежуточным шлюзом:
- на шлюзе gw выполняется проброска на один из внутренних адресов, в зависимости от того, куда пришёл запрос;
- на шлюзе pgw выполняется дальнейшая проброска внутрь сети.
Источник
Как настроить маршрутизацию в Linux
Маршруты, которые необходимы для поставки пакетов до конечного назначения, настраиваются в интерфейсе или маршрутизаторе. Если перед компьютером стоит задача отправить пакет в сеть, он смотрит таблицу маршрутизации, в которой перечислены IP-адреса пунктов назначения и адреса интерфейсов и роутеров в домашней сети, которые могут отправить пакет по нужному адресу. Если для цели маршрут не указан, то в первую очередь задействуется так называемый шлюз по умолчанию или маршрут по умолчанию. Точно такая же картина наблюдается на роутере. Устройство смотрит на IP-адрес назначения и сверяет его со своей таблицей маршрутизации, а потом отправляет дальше. Дальше на примере рассмотрим, как настроить определенные маршруты и создать новые.
Смотрим таблицу маршрутизации
Прежде чем начать что-либо менять, необходимо понять, какие правила уже используются. Для этого в операционной системе Линукс предусмотрено несколько команд. Для этого используем специальную команду route:
Именно так выглядит таблица маршрутизации linux. В ней предусмотрена простая информация, которой не всегда достаточно чтобы понять суть дела. Для получения более детальной информации необходимо пользоваться командой routel:
Здесь вы сможете увидеть IP адрес (target), IP адрес шлюза (gateway), IP отправителя (source), протокол, и даже сетевой интерфейс. Но есть более удобый способ посмотреть таблицу маршрутизации linux при помощи команды IP:
Мы видим результат, который похож с выводом предыдущей команды. Поскольку результата предоставлен в не самым удобном виде, можно использовать в качестве аргумента для ip route add или ip route del. Поверьте, это очень удобно. Так вы увидите в качестве шлюза по умолчанию везде используется 192.168.1.1. Дальше поговорим, что означает вывод этой команды:
- default — вариант по умолчанию. Здесь должен быть ip адрес цели или маска подсети;
- via 192.168.1.1 — указывает через какой шлюз мы можем добраться до этой цели, у нас это 192.168.1.1;
- dev enp2s0 — сетевой интерфейс, с помощью которого будет доступен этот шлюз;
- proto static — означает, что маршрут был установлен администратором, значение kernel значит что он был установлен ядром;
- metric — это приоритет маршрута, чем меньше значение — тем выше приоритет.
Дальше рассмотрим, как происходит настройка маршрутов Linux.
Настраиваем маршруты
У пользователя остается возможность настраивать таблицу маршрутизации с помощью команды ip. Например, чтобы изменить маршрут по умолчанию достаточно выполнить:
$ ip route add default via 192.168.1.1
Так вы можете добавить маршрут для любого IP адреса, например, для 243.143.5.25:
$ sudo ip route add 243.143.5.25 via 192.168.1.1
Итак, мы указываем IP адрес цели, а затем шлюз в локальной сети, через который можно достичь этого адреса. Проблема лишь в том, что такие марщруты активны до первой перезагрузки компьютера. После перезагрузки они автоматически удаляются. Чтобы исправить этот недостаток, маршруты нужно добавить в файл конфигурации.
Например, в системах семейства Red Hat есть конфигурационные файлы /etc/sysconfig/network-scripts/route-ethX. Каждый файл может описывать несколько маршрутов, например:
В этом файле конфигурации используется gateway, это щлюз для интерфейса, netmask — маска сети, а ipaddr — ip адрес интерфейса. В Debian и основанных на нем дистрибутивах можно настроить маршруты в файле /etc/network/interfaces. Здесь команда route добавляется в секцию iface. Например:
up route add -net 10.10.0.0 netmask 255.0.0.0 gw 10.10.0.1
При помощи опии -net мы указываем целевую сеть, netmask — это маска сети, а gw — шлюз. Ничего сложного в этом нет. Теперь добавленные маршруты останутся даже после перезагрузки.
Так мы рассмотрели как работает маршрутизация в Linux, как выполняется настройка маршрутизации в linux, а также зачем это нужно.
Источник