Меню Рубрики

Static routes in linux

Как добавить маршрут в linux (static routes)

Как добавить маршрут в linux (static routes)

Добавить маршрут можно используя route или через ip ro. Он будет сохранен до следующей перезагрузки

синтаксис route

Все параметры можно посмотреть ip route help

примечание: в команде ip можно использовать сокращенный синтаксис ip ro … в место ip route …
Для удаления статического маршрута используйте del вместо add

Как сохранить статический маршрут

Все эти маршруты будут добавлены в память и сохранятся до перезагрузки. Если необходимо, загружать маршруты при загрузки системы, то необходимо добавить их в файл конфигурации интерфейсов (для ubuntu и debian). /etc/network/interfaces

Добавим в конец файла следующую сточку:

пример файла конфигурации.

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

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

Источник

Маршрутизация в 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, а также зачем это нужно. Надеюсь, эта информация была полезной для вас.

Источник

Как добавить статические маршруты (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)

  1. Необходимо отредактировать (если нет создать) файл
    /etc/sysconfig/network-scripts/route-ethX — ethX заменить на номер интерфейса (eth0, eth1 …)
    добавить следующие строки:

X.X.X.X — заменить на нужные значения
Другой вариант добавить маршруты в файл /etc/sysconfig/static-routes. Если нет этого файла — необходимо создать.

Пример содержания фала:

PS: Если маршрутов много или ими нужно управлять (добавлять или удалять) то лучше для этого использовать демон статической маршрутизации
Вам помогла эта статья, не забудьте сказать «спасибо» для благодарности используется вертикальная и горизонтальная реклама на сайте.

Источник

Статическая маршрутизация в Linux

Серия контента:

Этот контент является частью # из серии # статей:

Этот контент является частью серии:

Следите за выходом новых статей этой серии.

Преимущества и недостатки статической маршрутизации. Проблема эффективности сетей со статической маршрутизацией

Статическая маршрутизация является одним из способов задания маршрута следования пакетов в сетях. При этом протоколы маршрутизации не используются, а необходимая информация заносится системным администратором вручную в соответствующие таблицы маршрутизации. Использование статической маршрутизации разумно в небольших локальных сетях, где поднятие сервера DHCP для раздачи динамических IP-адресов оказывается более трудоемкой и ресурсозатратной задачей. Статические маршруты обладают преимуществом при передаче данных в каналах с узкой полосой пропускания, например, в аналоговых коммутируемых соединениях (через модем) или соединениях типа «точка-точка», поэтому они могут использоваться для создания резервного канала в случае отказа основного. Степень надежности маршрута определяется значением так называемой административной дистанции. Для статического маршрута оно равно 1, что ставит его на второе место по надежности после прямого соединения источника и получателя. Для того чтобы обеспечить резервный канал, достаточно изменить значение административной дистанции для определенного статического маршрута. Тогда при «падении» основного канала весь трафик заданной сети пойдет через резервный до восстановления основного. Этот вид маршрутизации называется плавающей статической маршрутизацией.

К статическим маршрутам также относится маршрут по умолчанию (default route). Он задается для тех пакетов сети, к которым не подходит ни одно из описанных правил в таблице маршрутизации, и позволяет осуществлять координацию трафика. Зачастую функцию шлюза по умолчанию выполняет центральный маршрутизатор, который связан со всеми остальными узлами и одной-двумя сетями.

Достоинства статической маршрутизации проявляются в полной мере в малых сетях. Она позволяет достаточно оперативно развернуть локальную сеть без затраты дополнительного времени на конфигурирование протоколов маршрутизации, а также снизить нагрузку на маршрутизатор за счет использования данных таблиц маршрутизации. Однако при масштабировании или изменении топологии такой сети могут возникнуть проблемы с ее администрированием, так как статические маршрутизаторы не обмениваются информацией друг с другом и с динамическими маршрутизаторами и не сообщают о наличии сбоя в каком-либо из маршрутизаторов или в канале связи. Внесение изменений в конфигурацию таблиц будет занимать больше времени, что в разы снижает эффективность сети со статической маршрутизацией. Тем не менее, в средних и крупных сетях грамотное использование преимуществ статической маршрутизации в сочетании с динамической в качестве основного способа распределения трафика позволяет обеспечить достаточно эффективную передачу данных.

Встроенные средства создания и настройки маршрутных таблиц в Linux

Для просмотра текущей таблицы маршрутизации на узле с установленной ОС Linux 1 используется команда netstat -r или route:

Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.10.0 * 255.255.255.0 U 0 0 0 eth0
default 192.168.10.254 0.0.0.0 UG 0 0 0 eth0

В этом примере в таблице маршрутизации присутствуют только две записи. Первая указывает на наличие доступа в подсеть 192.168.10.0. Так как узел принадлежит данной подсети, в использовании шлюза нет необходимости. Согласно второй записи, весь остальной трафик с этого узла перенаправляется на шлюз 192.168.10.254.

Все настройки сетевого интерфейса eth0 (в данном случае единственного) хранятся в конфигурационном файле /etc/sysconfig/network-scripts/ifcfg-eth0:

При добавлении второго сетевого интерфейса eth1 с IP-адресом 192.168.11.4 потребуется изменение конфигурации таблицы маршрутизации при помощи утилиты route 2 :

Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.10.0 * 255.255.255.0 U 0 0 0 eth0
192.168.11.0 * 255.255.255.0 U 0 0 0 eth1
default 192.168.10.254 0.0.0.0 UG 0 0 0 eth0

Настройки сетевого интерфейса eth1 заносятся в конфигурационный файл /etc/sysconfig/network-scripts/ifcfg-eth1:

Маршрутизатор сети 192.168.11.0 может быть связан с другой подсетью 192.168.12.0. В этом случае при необходимости настраивается так называемый транзитный маршрут, по которому пакеты, приходящие на eth1 с назначением в подсеть 192.168.12.0, будут перенаправлены на шлюз 192.168.11.1:

Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.10.0 * 255.255.255.0 U 0 0 0 eth0
192.168.11.0 * 255.255.255.0 U 0 0 0 eth1
192.168.12.0 192.168.11.1 255.255.255.0 UG 0 0 0 eth1
default 192.168.10.254 0.0.0.0 UG 0 0 0 eth0

Для того чтобы внесенные изменения сохранились после перезагрузки узла, необходимо создать конфигурационный файл /etc/sysconfig/network-scripts/route-eth1, содержащий запись о транзитном маршруте:

Для корректной работы двух и более сетевых интерфейсов на одном узле также необходимо в файле /etc/sysctl.conf установить значение параметра net.ipv4.ip_forward равным 1. Последним шагом будет перезагрузка сервиса network:

1 Здесь и далее под ОС Linux подразумевается дистрибутив CentOS 5.2.

2 Здесь описаны только некоторые команды. Для более подробного изучения см. man route(8).

Настройка таблицы маршрутизации при помощи пакета iproute. Организация множественных таблиц маршрутизации

Пакет iproute, или iproute2, представляет собой набор утилит для конфигурирования сети и управления трафиком в дистрибутивах GNU/Linux. По сравнению с пакетом net-tools, в состав которого входят утилиты route и ifconfig, iproute2 имеет расширенный набор функций. Одной из основных задач, решаемых с его помощью, является конфигурирование таблиц маршрутизации различной степени сложности.

Iproute входит в состав стандартного дистрибутива CentOS, поэтому пакет можно установить в любой момент. Стоит отметить, что для его корректной работы требуется поддержка дополнительных опций маршрутизации (ip_advanced_router) и netfilter_netlink – по умолчанию в ядре 2.6 они включены.

Для создания и редактирования таблиц маршрутизации используется утилита ip route. Она поддерживает все стандартные типы маршрутов – local, unicast, broadcast, anycast и multicast, а также специальные – nat и throw (последний используется вместе с правилами политики роутинга).

Вывод команды ip route show эквивалентен результату вызова команды netstat -r или route, представленному в несколько другой форме:

Первая строка описывает маршрут для пакетов узла 192.168.10.14 в пределах локальной сети 192.168.10.0/24. Вторая указывает на шлюз 192.168.10.254, прописанный для интерфейса eth0, по которому перенаправляется весь остальной трафик.

Для добавления, редактирования и удаления маршрута применяются соответствующие команды ip route add, ip route change/replace, ip route delete.

Утилита iproute поддерживает работу с множественными таблицами маршрутизации (в ядре Linux эта возможность существует, начиная с версии 2.2). Их создание обусловлено, в первую очередь, необходимостью реализации политики роутинга для более эффективного распределения трафика, например, при наличии быстрого и медленного каналов связи и различного приоритета узлов в локальной сети. Использование стандартных утилит для решения подобных задач, как правило, оказывается недостаточным в силу ограниченной функциональности.

Таблицы маршрутизации в iproute идентифицируются по номеру (от 1 до 255) или по названию, заданному в /etc/iproute2/rt_tables. Так, по умолчанию при просчитывании маршрутов ядро обращается к таблице main (ID 254), при этом данные о локальных и широковещательных адресах хранятся в отдельной таблице local (ID 255), которая имеет самый высокий приоритет и обновляется автоматически. Помимо организации стандартной маршрутизации есть возможность создавать собственные правила и таблицы для более сложного роутинга в связке с iptables, включающего, например, маршрутизацию маркированных пакетов, туннелирование, балансировку нагрузки и т.д.

Пример 1. Создание таблицы для маршрутизации пакетов с определенного IP-адреса

Локальная сеть 192.168.10.0/24 имеет выход в Интернет с двух разных провайдеров – по выделенной линии (быстрый канал) и модемному соединению (медленный канал). На маршрутизаторе М1 интерфейс eth0 (локальная сеть) имеет IP-адрес 192.168.10.1, интерфейс eth1 (выделенная линия) – IP-адрес 24.19.12.45 и шлюз 24.19.12.1, интерфейс ppp0 (модемное соединение) – IP-адрес 142.154.64.7 и шлюз 142.154.64.1. По умолчанию все пакеты сети 192.168.10.0/24 должны получать доступ в Интернет через выделенную линию, а узел 192.168.10.7 – через медленное модемное соединение.

Таблица main для М1, отправляющая все пакеты сети 192.168.10.0/24 на выделенную линию, будет выглядеть следующим образом:

Для того чтобы задать перенаправление пакетов с IP-адреса 192.168.10.7 на медленное модемное соединение, необходимо создать новую таблицу modem_connection:

После этого задается новое правило: для всех пакетов, приходящих с IP-адреса 192.168.10.7, перенаправление будет осуществляться согласно таблице modem_connection:

Наконец, последним шагом будет прописывание правила для новой таблицы и очистка кэша маршрутов для вступления в силу сделанных изменений:

Пример 2. Добавление правила балансировки нагрузки для двух сетей

Принимая во внимание начальные параметры из предыдущего примера, изменим условие так, что по умолчанию все пакеты сети 192.168.10.0/24 получают доступ в Интернет через выделенную линию либо через ADSL-соединение (оба канала быстрые). Весь трафик, приходящий из этой сети, должен распределяться по двум каналам в пропорции 2:1.

Для того чтобы реализовать простую балансировку нагрузки, достаточно удалить из таблицы main старый маршрут по умолчанию и добавить новый со следующими параметрами:

Следует учитывать, что реализованная в данном примере балансировка не идеальна, так как маршруты имеют свойство кэшироваться. Для более эффективного распределения трафика следует использовать маркированные пакеты (опция fwmark) в сочетании с соответствующими настройками iptables.

Средства мониторинга и анализа сети со статической маршрутизацией

Вследствие того, что статические маршруты требуют ручной конфигурации, каждый раз при изменении топологии сети или других факторов важным моментом является наличие средств мониторинга сети для своевременного выявления неработающих узлов или шлюзов. Как правило, возможностей стандартных утилит ping (проверка соединения с узлом), ifconfig, traceroute (трассировка маршрутов следования до узла – по умолчанию в пределах 30 «прыжков»), route и netstat, входящих в состав любого дистрибутива GNU/Linux, оказывается достаточно для диагностики проблемы. Одной из полезных утилит, служащих для анализа сетевого трафика и отладки сетевой конфигурации, также является tcpdump.

Для графического отображения трассировки к хостам используется утилита tracemap 3 , написанная на Perl. С ее помощью можно строить графические карты для нескольких удаленных узлов, например, отдельной филиальной сети.

Заключение

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Правда ли mac os не подвержена вирусам
  • Пошаговая установка mac os на ноутбук
  • Почтовый сервер mac os
  • Почтовый клиент mail mac os
  • Почтовый клиент mac os для windows