Scope link что это

Маршрутизация на основе политик. Часть первая

Так будет выглядеть роутинг при использовании на интерфейсе enp0s3 ip-адреса 192.168.110.50 с маской подсети 255.255.255.0 и шлюзом по умолчанию 192.168.110.1 :

Вторая запись означает:

Маршрутизация на основе политик

Существуют два механизма маршрутизации: классический destination-routing (на основе адреса назначения) и сравнительно новый policy-routing (на основе политик). Маршрутизация на основе политик применяется в случае наличия нескольких сетевых интерфейсов и необходимости отправлять определенные пакеты через определенный интерфейс. Маршрут пакета определяется не только на основе адреса назначения — есть возможность анализа практически любых полей пакета.

В основе маршрутизации с использованием политик лежат четыре понятия:

Таблицы маршрутизации

Давайте посмотрим на содержимое таблицы local :

Что такое scope link мы уже знаем, но здесь еще встречается scope host :

Таблица unspec — это псевдо-таблица, которая содержит в себе правила всех таблиц маршрутизации системы. Именно поэтому у нее номер ноль, который не входит в диапазон с 1 по 255.

Правила маршрутизации

Как же ядро выбирает, в какую таблицу отправлять пакеты? Мы уже знаем — для этого есть правила:

Число в начале строки — идентификатор правила, from all — условие, означает пакеты с любых адресов, lookup указывает, в какую таблицу направлять пакет. Если пакет подпадает под несколько правил, то он проходит их все по порядку возрастания идентификатора. Конечно, если пакет подпадет под какую-либо запись маршрутизации, то последующие записи маршрутизации и последующие правила он уже проходить не будет.

Источник

Как использовать команду ip в Linux

Вы можете настроить IP-адреса, сетевые интерфейсы и правила маршрутизации на лету с помощью команды Linux ip. Мы покажем вам, как вы можете использовать эту современную замену классическому (и теперь устаревшему) ifconfig.

Как работает команда ip

С помощью команды ip вы можете настроить способ, которым компьютер Linux обрабатывает IP-адреса, контроллеры сетевых интерфейсов (NIC) и правила маршрутизации. В дополнении к этому, изменения вступают в силу немедленно — вам не нужно перезагружаться. Команда ip может сделать намного больше, чем это, но в этой статье мы сосредоточимся на наиболее распространённых случаях использования.

Команда ip имеет много подкоманд, каждая из которых работает с типом объекта, таким как IP-адреса, маршруты и т.д. В свою очередь, имеется много вариантов для каждого из этих объектов. Именно это богатство функциональности даёт команде ip гранулярность, необходимую для выполнения сложных задач.

Объекты, с которыми работает команда ip

Общий синтаксис команды ip следующий:

ОБЪЕКТАМИ в команде ip являются:

Мы рассмотрим следующие объекты:

Использование ip с адресами

Очевидно, что сначала вы должны знать настройки, с которыми вы имеете дело. Чтобы узнать, какие IP-адреса у вашего компьютера, используйте команду ip с объектом address. Действием по умолчанию является show, которое перечислит IP-адреса. Вы также можете опустить show и сокращать написание address до «addr» или даже до «a».

Все следующие команды эквивалентны:

Scope link что это. ip a. Scope link что это фото. Scope link что это-ip a. картинка Scope link что это. картинка ip a

Мы видим два IP-адреса, а также много другой информации. IP-адреса связаны с контроллерами сетевого интерфейса (NIC). Команда ip пытается быть полезной и предоставляет много информации об интерфейсе.

Первый IP-адрес — это (внутренний) петлевой адрес, используемый для связи внутри компьютера. Второй фактический (внешний) IP-адрес, который компьютер имеет в локальной сети (LAN).

Кроме петлевого интерфейса lo, также имеются следующие:

Давайте разберём всю информацию, которую мы получили по первому интерфейсу:

Физические интерфейсы, как мы покажем ниже, более интересны. Рассмотрим два физических интерфейса: один из них не задействован (провод не подключён), а второй используется (беспроводной Wi-Fi адаптер).

Неиспользуемый сетевой интерфейс:

Используемый сетевой интерфейс:

Отображать только адреса IPv4 или IPv6

Если вы хотите ограничить вывод IP-адресами версии 4, вы можете использовать опцию -4 следующим образом:

Scope link что это. ip 4 a. Scope link что это фото. Scope link что это-ip 4 a. картинка Scope link что это. картинка ip 4 a

Если вы хотите ограничить вывод IP-адресами версии 6, вы можете использовать опцию -6 следующим образом:

Источник

Блог о системном администрировании. Статьи о Linux, Windows, СХД NetApp и виртуализации.

Scope link что это. marshrutizaciya iproute1. Scope link что это фото. Scope link что это-marshrutizaciya iproute1. картинка Scope link что это. картинка marshrutizaciya iproute1Доброго времени, уважаемые читатели и гости моего блога. Сегодня хочу углубить наши и ваши знания в понимании статической маршрутизации в Linux. Упор в статье будет сделан на работу с iproute и на маршрутизации на основе политик (Policy Routing). Для понимания того, о чем пойдет речь необходимо в обязательном порядке прочитать статьи «Основные понятия сетей», «Настройка сети в Linux» и «Настройка сети в Linux с помощью iproute».

Пару вступительных слов о маршрутизации

Маршруты в Linux могут появляться различными способами. Во-первых, как я уже говорил, при поднятии сетевого интерфейса появляется соответствующий маршрут в локальную сеть, куда смотрит интерфейс. Во-вторых, маршруты могут добавляться в ручную. Это называется статическая маршрутизация. В-третьих, маршруты могут формироваться динамически, базируясь на информации о топологии и состоянии сети, получаемой с помощью протокола динамической маршрутизации. Это называется динамической маршрутизацией. Динамической маршрутизацией в Linux заведует демон gated или routed, возможно еще какой-то о котором я не знаю Scope link что это. smile. Scope link что это фото. Scope link что это-smile. картинка Scope link что это. картинка smile

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

Маршрутизация на основе политик (Policy Routing)

Routing Policy DataBase (RPDB)

Давайте рассмотрим работу Routing Policy в схеме и разберем порядок работы:Scope link что это. iproute RPDB. Scope link что это фото. Scope link что это-iproute RPDB. картинка Scope link что это. картинка iproute RPDB

1. Правила (rules)

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

Каждое правило имеет свой приоритет от 0 до 32767, в соответствии с которым ядро просматривает данные правила. При старте системы по умолчанию создаются следующие правила:

При добавлении правила в ручную, без указания приоритета (параметр priority), новые правила будут получать номер с 32765 до 1.

Управление правилами осуществляется с помощью команды ip с ключом rule. Вот некоторые примеры:

2. Таблицы маршрутизации

Итак, следующим шагом на пути пакета по сетевой подсистеме ядра будет таблица маршрутизации, в которую пакет будет направлен соответствующим правилом. Ядро использует несколько таблиц маршрутизации с номерами от 1 до 255. Сопоставление номеров таблиц к их именам задается в файле /etc/iproute2/rt_tables. Фактически, задавать имена таблиц их номерным идентификаторам нет необходимости (в правилах можно просто использовать номера таблиц). По умолчанию при создании маршрута в Linux, если не задано имя таблицы, то используется таблица с ID 254 (main). Кроме таблицы main в ядре зарезервированы следующие имена:

Просмотреть содержимое таблицы можно командой ip (на примере таблицы main):

3. Маршруты/правила

Попадая в какую-либо таблицу маршрутизации, пакет «просматривает» последовательно каждое правило. На данном шаге, дальнейшее направление пакета никак не отличается от «классического» определения маршрута по адресу назначения. Если в текущей таблице маршрут для пакета не обнаружен, то он (пакет) возвращается в базу данных маршрутизации на основе политик к следующему правилу. Стоит обязательно отметить, что существуют разные типы маршрутов (которые очень похожи с типами правил, но правила стоят несколько «выше» маршрутов):

Управление правилами в таблице маршрутизации осуществляется с помощью команды ip с ключом route.

Выбор IP-адреса для исходящих соединений

Выбор локального адреса для исходящих соединений в большинстве случаев системой осуществляется автоматически, исходя из имеющихся IP-адресов интерфейсов и таблиц маршрутизации. Во многих случаях сетевые сервисы (веб-сервер, почтовый сервер и др.) позволяют указывать исходный адрес с помощью конфигурационных файлов. Давайте рассмотрим пример. Пусть система имеет два интерфейса eth0(192.168.1.1/24) и eth1(192.168.56.102/24):

Однако, если добавить альтернативный маршрут для сети 192.168.3.0/24 через некоторый шлюз 192.168.1.254:

то, для пакетов, предназначенных узлу 192.168.3.4, будет использоваться интерфейс eth0 и исходящий адрес 192.168.1.1 (показан дамп сетевого пакета):

Синтаксис команды ip route позволяет повлиять на выбор локального IP-адреса при соединении с удаленными системами. Для этого служит параметр src с указанием предпочитаемого IP-адреса (должен быть установлен на сетевом интерфейсе компьютера) для отправки пакетов на направление, определяемое в команде префиксом маршрутизации. Так, для указанной ниже конфигурации будет использоваться исходящий адрес 192.168.56.102 (кроме взаимодействия с узлами сети 192.168.1.0/24):

Для того, чтобы использовать исходный адрес 192.168.1.10 для соединения с узлами сети 192.168.3.0/24 следует использовать команду:

Таблица маршрутизации при этом будет иметь вид:

Добавление альтернативного маршрута для «избранных» хостов

Добавить описание дополнительной таблицы маршрутизации в файл /etc/iproute2/rt_tables (это действие необязательно, можно использовать просто номер таблицы)

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

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

Краткие итоги

Что еще почитать

Источник

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Команда IP в Linux: руководство с примерами

Scope link что это. rocket. Scope link что это фото. Scope link что это-rocket. картинка Scope link что это. картинка rocket

В этом руководстве мы рассмотрим все важные операции, которые команда ip может выполнять в Linux.

Scope link что это. 1. Scope link что это фото. Scope link что это-1. картинка Scope link что это. картинка 1

Как использовать команду ip

Команда ip имеет следующий синтаксис:

К объектам OBJECT (или подкомандам), которые вы будете использовать чаще всего, относятся:

Они могут использоваться как в полной, так и сокращенной форме.

Есть много других доступных объектов и команд. Чтобы увидеть полный список, введите следующую команду:

Scope link что это. 2. Scope link что это фото. Scope link что это-2. картинка Scope link что это. картинка 2

Для выполнения команд вы можете использовать либо полную, либо сокращенную формы. Например, ip link и ip l будут давать одинаковые результаты.

При настройке сетевых интерфейсов вы должны запускать команды как пользователь root или пользователь с привилегиями sudo. В противном случае вы увидите сообщение RTNETLINK answers: Operation not permitted

Предупреждение: по умолчанию система не сохраняет изменения перманентно. После перезапуска Linux-сервера вновь измененное состояние будет потеряно. Есть два способа сделать ваши настройки постоянными: добавить команды в сценарий запуска или отредактировать дистрибутивные файлы конфигурации.

Управление и отображение сетевых интерфейсов

Scope link что это. 3. Scope link что это фото. Scope link что это-3. картинка Scope link что это. картинка 3

Получить информацию о сетевом интерфейсе

Чтобы увидеть информацию канального уровня обо всех доступных устройствах (у которых загружен драйвер), используйте команду:

Если вы хотите, чтобы команда отображала информацию для одного конкретного устройства, введите следующее:

Чтобы просмотреть статистику по всем сетевым интерфейсам (такие детали, как переданные или отброшенные пакеты или даже ошибки), используйте:

Вы также можете увидеть аналогичную информацию для отдельного сетевого интерфейса:

Чтобы увидеть список только работающих интерфейсов, используйте:

Изменить статус сетевого интерфейса

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

Отключите интерфейс, введя:

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

Вы можете установить MTU (Maximum Transmission Unit) для улучшения производительности сети:

Чтобы узнать все опции команды link, наберите:

Scope link что это. 4. Scope link что это фото. Scope link что это-4. картинка Scope link что это. картинка 4

Мониторинг и управление IP-адресами

Scope link что это. 5. Scope link что это фото. Scope link что это-5. картинка Scope link что это. картинка 5

Мониторинг IP-адресов

Выведите все устройства с помощью следующей команды:

Чтобы вывести список всех сетевых интерфейсов и связанных IP-адресов, используйте команду:

Вы также можете увидеть информацию об отдельной сети:

Чтобы получить список всех IPv4 адресов, используйте:

Чтобы получить список всех IPv6 адресов, используйте:

Как добавить IP-адрес в Linux

Добавьте IP-адрес в интерфейс с помощью команды:

Если указанный интерфейс не существует, отобразится сообщение: Cannot find device [interface]

Чтобы добавить два адреса на один интерфейс также используйте эту команду:

Если вам нужно добавить широковещательный (broadcast) адрес для интерфейса, используйте команду:

Чтобы удалить IP-адрес из интерфейса, выполните следующие действия.

Управление и отображение таблицы IP-маршрутизации

Просмотрите полный список команд ip route с помощью следующей команды:

Scope link что это. 6. Scope link что это фото. Scope link что это-6. картинка Scope link что это. картинка 6

Показать таблицу маршрутизации IP

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

С помощью команд, приведенных выше, выходные данные отображают все записи маршрута в ядре. Если вам нужно сузить поиск, добавьте объект SELECTOR :

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

Изменить таблицу IP-маршрутизации

Чтобы добавить новую запись в таблицу маршрутизации, введите команду:

Или вы можете добавить новый маршрут через шлюз, набрав:

Также команда позволяет добавить маршрут для всех адресов через локальный шлюз, добавив параметр default :

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

Отображение и изменение IP-записей соседей

При помощи команды ip neigh можно манипулировать таблицами ARP (Address Resolution Protocol). Это аналог команды arp

Для получения полного списка всех параметров команды neigh используйте:

Scope link что это. 7. Scope link что это фото. Scope link что это-7. картинка Scope link что это. картинка 7

Отображение IP-адресов соседей

Чтобы отобразить таблицы соседей, используйте следующую команду:

Выходные данные показывают MAC-адреса устройств, которые являются частью системы, и их состояние. Состояние устройства может быть:

Изменить IP-записи соседей

Добавьте новую запись в таблицу с помощью команды:

Или удалите существующую запись ARP:

Источник

Scope link что это

Большинство дистрибутивов Linux, впрочем как и UNIX, для настройки сети и маршрутизации используют команды ifconfig, arp и route. Однако в Linux, начиная с ядра 2.2, была полностью переделана сетевая система и были добавлены новые возможности, которые ранее требовали дополнительных утилит, такие как маршрутизация на основе правил, управление трафиком и т.д. К этим возможностям предоставляет доступ пакет программ iproute2, который в настоящее время входит в большинство современных дистрибутивов.

Утилита ip объединяет в себе возможности команд ifconfig, arp и route, рассмотрим синтаксис команды:

ip [Опции] Объект [ Команда [Аргументы команды] ]

В настоящее время доступны следующие опции:

Команда описывает действие над Объектом.

Доступные команды: set и show (или list).

Выведем информацию о состоянии интерфейса eth0

# ip link ls dev eth0

В результате получим:

eth0: mtu 1500 qdisc cbq qlen 100
link/ether 00:04:61:92:21:1d brd ff:ff:ff:ff:ff:ff

Выведем статистику интерфейса eth0

2: eth0: mtu 1500 qdisc cbq qlen 100
link/ether 00:04:61:92:21:1d brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
2891892504 15070935 0 0 0 0
TX: bytes packets errors dropped carrier collsns
3139067270 54387014 0 0 0 132934

ip addr add 10.0.0.1/24 brd + dev eth0 label eth0:Alias

Данная команда добавляет адрес 10.0.0.1/24 с маской подсети 255.255.255.0 со стандартным широковещательным адресом и именем eth0:Alias.

ip addr del 127.0.0.1/8 dev lo

Удаляет адрес 127.0.0.1/8 с устройства lo.

Пример работы команды:

$ ip addr ls eth0
3: eth0: mtu 1500 qdisc cbq qlen 100
link/ether 00:a0:cc:66:18:78 brd ff:ff:ff:ff:ff:ff
inet 193.233.7.90/24 brd 193.233.7.255 scope global eth0
inet6 3ffe:2400:0:1:2a0:ccff:fe66:1878/64 scope global dynamic
valid_lft forever preferred_lft 604746sec
inet6 fe80::2a0:ccff:fe66:1878/10 scope link
[email protected]:

Сокращения: route, ro, r.

Сокращения: add, a; change, chg; replace, repl.

Добавляем маршрут к сети 10.0.0/24 через 193.233.7.65

ip route add 10.0.0/24 via 193.233.7.65

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

ip route add default scope global nexthop dev ppp0
nexthop dev ppp1

Сокращения: delete, del, d.

Аргументы: Аргументы данной команды сходны с ip route add.

Удаляем маршрут, созданный в предыдущем разделе.

ip route del default scope global nexthop dev ppp0
nexthop dev ppp1

Сокращения: rule, ru

Маршрутизация может производиться не только в зависимости от адреса получателя, но и по адресу источника, IP протокола и транспортного протокола. По умолчанию существуют 3 правила:

Сокращения: add, a; delete, del, d

Маршрутизировать пакеты с сети 192.203.80.0/24 согласно таблицы example.

ip ru add from 192.203.80.0/24 table example prio 220

Рассмотрим примеры использования маршрутизации на основе правил.

1. Пусть у нас есть два канала в интернет: быстрый модем с IP адресом 212.64.94.251, связанный PPP c 212.64.94.1, и медленный c 212.64.78.148, связанный PPP c 195.96.98.253. Надо пакеты одного пользователя отправлять через медленный модем. Для этого сформируем новое правило:

# echo 200 User >> /etc/iproute2/rt_tables
# ip rule add from 10.0.0.10 table John
# ip rule ls
0: from all lookup local
32765: from 10.0.0.10 lookup John
32766: from all lookup main
32767: from all lookup default

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

# ip route add default via 195.96.98.253 dev ppp2 table John
# ip route flush cache

2. Необходимо направить весь трафик на 80 порт через сетевую карту eth0. Пометим пакеты, идущие на 80 порт.

Создадим правила для помеченных пакетов.

# echo 202 www.out >> /etc/iproute2/rt_tables
# ip rule add fwmark 2 table www.out
# ip route add default via 10.0.0.2 dev eth0 table www.out
# ip route flush cache

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ:

Источник

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

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