Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия | |||
— | iproute [2025/07/06 12:39] (текущий) – внешнее изменение 127.0.0.1 | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Использование и примеры маршрутизации Linux ====== | ||
+ | {{htmlmetatags> | ||
+ | metatag-description=(Маршрутизация в Linux. Использование пакет iproute, который состоит из нескольких утилит управления трафиком.) | ||
+ | }} | ||
+ | {{:: | ||
+ | |||
+ | Одной из главнейших задач [[osi?&# | ||
+ | |||
+ | Данные, | ||
+ | |||
+ | Сетевой уровень определяет маршрут пути следования пакета и перемещает его между подсетями. При передаче пакета из одной подсети в другую пакет сетевого уровня, | ||
+ | |||
+ | **Резюмируем**. | ||
+ | - построение неоднородных сетей реализуют с помощью сетевого уровня. | ||
+ | - сетевой уровень использует собственную адресацию, | ||
+ | - поиск наилучшего пути следования пакетов в сети - маршрутизация - это основная задача сетевого уровня. | ||
+ | - сети соединяются между собой с помощью маршрутизаторов. Маршрутизаторы занимаются сбором информации о топологии межсетевых соединений, | ||
+ | |||
+ | **Основная функция маршрутизатора** - чтение заголовков пакетов сетевых протоколов, | ||
+ | |||
+ | ====== Маршрутизация статическая ====== | ||
+ | |||
+ | **Статическая маршрутизация** является одним из способов задания маршрута следования пакетов в сетях. При этом протоколы маршрутизации не используются, | ||
+ | |||
+ | < | ||
+ | ====== iproute ====== | ||
+ | |||
+ | * Домашняя страница [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | **iproute** также известна как iproute2. | ||
+ | |||
+ | Пакет iproute состоит из нескольких утилит управления трафиком: | ||
+ | * **ip** – управление собственно маршрутизацией; | ||
+ | * **tc** – управление очередями маршрутизации; | ||
+ | * **ss** — утилита для просмотра текущих соединений и открытых портов, | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | * Увидеть IP и [[MAC]], аналог [[arp]] -a< | ||
+ | # ip neighbour show | ||
+ | </ | ||
+ | * Поиск маршрута для удаленного ip< | ||
+ | ip route get 192.168.35.55 | ||
+ | 192.168.35.55 via 192.168.35.254 dev tun1 src 10.26.95.254 | ||
+ | cache ipid 0xf0ea | ||
+ | </ | ||
+ | * Для все MAC задает состояние failed, в дальнейшем ядро Ос удалит помеченные так MAC записи из arp таблицы.< | ||
+ | # ip neigh flush all | ||
+ | </ | ||
+ | * Вывести запись о маршруте по умолчанию:< | ||
+ | # ip r | grep default | ||
+ | </ | ||
+ | * Просмотр сетевых карт< | ||
+ | # ip link list | ||
+ | </ | ||
+ | * Сбросить кеш маршрутизатора< | ||
+ | # ip route flush cache | ||
+ | </ | ||
+ | * **blackhole**. Добавить «зануленный» маршрут (аналог «ip route ... null0» в Cisco). Пакеты в сеть с таким маршрутом будут удалены с причиной «No route to host». Может быть полезно для подавление [[DoS]]-атаки с хоста< | ||
+ | # ip route add blackhole 10.56.50.0/ | ||
+ | </ | ||
+ | * C помощью команды **ip addr add** можно установить на сетевом интерфейсе как основной IP адрес, так и несколько дополнительных адресов. Удалить IP адрес< | ||
+ | ip addr del 10.90.91.254 dev eth4 | ||
+ | или удалить все с интерфейса wlan1 | ||
+ | ip addr flush wlan1 | ||
+ | </ | ||
+ | * [[sostojanie_podkljuchenija_setevogo_kabelja]] | ||
+ | ===== Таблицы маршрутизации ===== | ||
+ | Вывести таблицы маршрутизации. | ||
+ | # ip rule list | ||
+ | 0: from all lookup local | ||
+ | 32766: | ||
+ | 32767: | ||
+ | </ | ||
+ | |||
+ | Вывести содержимое таблицы local. | ||
+ | < | ||
+ | # ip route show table local | ||
+ | </ | ||
+ | * **Таблица local**. Пакет при выборе пути к месту назначения проверяется правилом с наименьшим приоритетом. Правило 0 отправит поиск маршрута в таблицу " | ||
+ | Таблица local проверяет не адресован ли пакет локальной машине (широковещательный или сетевой адреса интерфейсов). Таблицу local автоматически заполняют команды конфигурации сетевых интерфейсов. | ||
+ | * **Таблица main** - является основной и именно она используется, | ||
+ | * **Таблица default** изначально пуста. | ||
+ | * **Модификация таблицы маршрутизации**:< | ||
+ | Добавление маршрута через шлюз: ip route add 172.16.10.0/ | ||
+ | Добавление маршрута через интерфейс: | ||
+ | Маршрут с метрикой: | ||
+ | </ | ||
+ | |||
+ | ====== Policy-Routing. Маршрутизация для двух ISP ====== | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | |||
+ | **Пример 1. Создание таблицы для маршрутизации пакетов с определенного IP- адреса.** Локальная сеть 10.26.95.0/ | ||
+ | |||
+ | * В файле / | ||
+ | echo '82 velton' | ||
+ | </ | ||
+ | |||
+ | * Маршрут по умолчанию для таблицы '82 velton'< | ||
+ | ip route add default via 82.117.232.1 table 82 | ||
+ | </ | ||
+ | * Внесем правила маршрутизация для пользователя с IP 10.26.95.5, после чего эта таблица станет доступна в выводе команды ip rule list. Теперь все пользователи шлют пакеты через ISP1, кроме пользователя с IP 10.26.95.251< | ||
+ | ip rule add from 10.26.95.251/ | ||
+ | </ | ||
+ | * Очистить кеш маршрутизатора для вступления в силу сделанных изменений< | ||
+ | ip route flush cache | ||
+ | </ | ||
+ | |||
+ | |||
+ | **Пример 2. Создание таблицы для маршрутизации, | ||
+ | |||
+ | * Создаем как в предыдущем примере маршрут по умолчанию для таблицы '82 velton'< | ||
+ | ip route add default via 82.117.232.1 table 82 | ||
+ | </ | ||
+ | * Прописываем статические маршруты на сети ISP2< | ||
+ | ip route add 82.117.224.0/ | ||
+ | ip route add 85.90.192.0/ | ||
+ | </ | ||
+ | * Добавим rule для всех сетей< | ||
+ | ip rule add to 82.117.224.0/ | ||
+ | ip rule add to 85.90.192.0/ | ||
+ | </ | ||
+ | * Очистить кеш маршрутизатора для вступления в силу сделанных изменений< | ||
+ | ip route flush cache | ||
+ | </ |
📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.
📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Nginx простые примеры конфигурации
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах
7 Самых Популярных Обзоров
- Хостинг для Python-скриптов и приложений
- ТОП 4 лучших антидетект браузеров (Бесплатные & Платные)
- Подборка купонов (промокоды) на хостинг, антидетект браузеры
- Обзор THE.Hosting (PQ Hosting): надежный хостинг с профессиональной поддержкой
- Хостинг в России
- Хостинг в Европе
- Обзор браузера Dolphin {anty} для мультиаккаунтинга