- unixforum.org
- [Решено] Маршруты после перезагрузки в ALT-Linux
- [Решено] Маршруты после перезагрузки в ALT-Linux
- Re: [Решено] Маршруты после перезагрузки в ALT-Linux
- Re: [Решено] Маршруты после перезагрузки в ALT-Linux
- Re: [Решено] Маршруты после перезагрузки в ALT-Linux
- Маршрутизация в Linux
- Сетевые маршруты в Linux
- Как посмотреть таблицу маршрутизации
- Настройка маршрутов в Linux
- Выводы
unixforum.org
[Решено] Маршруты после перезагрузки в ALT-Linux
[Решено] Маршруты после перезагрузки в ALT-Linux
Сообщение Equilibrium » 30.10.2008 12:56
Просьба не пинать, но при кажущейся простоте темы решения в сети не нашёл
А задача самая тривиальная: как сделать, чтобы маршрут, добавленный по route add не терялся при перезагрузке. Система ALT Linux Desktop 4.0
Прописывание в файле /etc/sysconfig/static-routes строчки any net x.x.x.x/24 gw y.y.y.y не помогло
Re: [Решено] Маршруты после перезагрузки в ALT-Linux
Сообщение Osorkon » 30.10.2008 13:37
в сусе есть набор скриптов которые запускаются при поднятии/падении интерфейса, (/etc/sysconfig/network/if-up.d и /etc/sysconfig/network/if-down.d). как в альте — хз. может так же
Re: [Решено] Маршруты после перезагрузки в ALT-Linux
Сообщение Ariasp » 30.10.2008 23:07
А задача самая тривиальная: как сделать, чтобы маршрут, добавленный по route add не терялся при перезагрузке.
самый простой вариант — прописать нужные route add в rc.local (подозреваю, что в альте существует /etc/rc.d/rc.local или что-то подобное)
Re: [Решено] Маршруты после перезагрузки в ALT-Linux
Сообщение Equilibrium » 31.10.2008 05:33
А задача самая тривиальная: как сделать, чтобы маршрут, добавленный по route add не терялся при перезагрузке.
самый простой вариант — прописать нужные route add в rc.local (подозреваю, что в альте существует /etc/rc.d/rc.local или что-то подобное)
Всё оказалось гораздо проще:
В файле /etc/net/ifaces/eth0/ipv4route (если этого файла нет — создать) прописывается на каждый маршрут строчка вида
x.x.x.x/24 via y.y.y.y
где x.x.x.x — сеть, куда нужен маршрут, y.y.y.y — адрес шлюза.
И всё.
Маршрутизация в Linux
Эта статья одна из статей про работу сетей в Linux. Вы уже знаете, что все данные в сети передаются в виде пакетов, а чтобы компьютер знал куда нужно отправить тот или иной пакет используются IP адреса. Но пакету, перед тем, как он достигнет точки назначения нужно пройти множество компьютеров и маршрутизаторов.
Каждому из маршрутизаторов нужно знать на какой компьютер передавать пакет дальше. Именно это мы и обсудим в этой статье. Сегодня нас будет интересовать маршрутизация в Linux, как это работает, как настроить правила и заставить все работать как нужно.
Сетевые маршруты в Linux
Как я уже сказал, сетевые маршруты необходимы чтобы компьютеры могли определить по какой цепочке должен пойти пакет, чтобы достигнуть цели. Маршруты можно настроить на уровне интерфейса или маршрутизатора.
Когда компьютеру нужно отправить пакет в сеть он смотрит таблицу маршрутизации, в ней указанны ip адреса пунктов назначения и адреса интерфейсов и роутеров в домашней сети, которые могут отправить пакет по нужному адресу. Если для цели маршрут не указан то используется так называемый шлюз по умолчанию или маршрут по умолчанию. Точно такая же картина наблюдается на роутере. Устройство смотрит на IP адрес назначения и сверяет его со своей таблицей маршрутизации, а потом отправляет дальше.
Ниже мы рассмотрим как проверить текущие маршруты в системе, а также как настроить новые.
Как посмотреть таблицу маршрутизации
Перед тем как что-либо менять, нужно понять какие правила уже используются. В Linux для этого существует несколько команд. Чтобы посмотреть таблицу маршрутизации можно использовать команду 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.
Настройка маршрутов в 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=10.10.0.1
NETMASK=255.0.0.0
IPADDR=10.10.0.22
Здесь 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, а также зачем это нужно. Надеюсь, эта информация была полезной для вас.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.