Kiev1.org Карта сайта Файлы Фотографии Киева
  
Реклама:






Разделы
 
 Sysadmin
 Антиглобалисты
 Ереси и секты
 Катастрофы
 Компьютерные новости
 Непроверенное
 О проекте
 О фотогалерее
 Политика и власть
 Православие
 Предприятия Украины
 Протесты Людей против нового мирового концлагеря
 Разное
 Россия
 Старец Паисий 1924-1994
 Стояние за Истину
 Суды в Украине
 Тайна беззакония
 экуменизм


Внимание! Читая пророчества на этом сайте помните что достоверность трудно проверить и все может во времени изменяться - самое главное думать своей головой и не верить легкомысленно всему что говорят, особенно советское телевидение
"О дне же том, или часе, никто не знает, ни Ангелы небесные, ни Сын, но только Отец (Мк. 13, 32)"

НАСТРОЙКА СЕТЕВЫХ ИНТЕРФЕЙСОВ И МАШРУТИЗАЦИЯ С ПОМОЩЬЮ ПАКЕТА IPROUTE 2



Большинство дистрибутивов Linux, впрочем как и UNIX для настройки сети и маршрутизации используют команды ifconfig, arp и route. Однако в Linux, начиная с ядра 2.2 была полностью переделана сетевая система и были добавлены новые возможности, которые ранее требовали дополнительных утилит, такие как маршрутизация на основе правил, управление трафиком и т.д. К этим возможностям предоставляет доступ пакет программ iproute2, который в настоящее время входит в большинство современных дистрибутивов.
Утилита ip объединяет в себе возможности команд ifconfig, arp и route,
рассмотрим синтаксис команды:
ip [Опции] Объект [ Команда [Аргументы команды] ]
где Опции - опциональные параметры, который влияют на общую работу утилиты
или вывод результатов.
В настоящее время доступны следующие опции:
-V, -Version - выводит в стандартный вывод (stdout) версию программы ip
-s, -stats, -statistic - выводит статистическую информацию.
-f, - family - указывается перед идентификатором протокола, таким как inet
(IPv4), inet6(IPv6) или link (Устройстов). Служит для выбора указания
протокола, если протокол не указан, то по умолчанию протокол выбирается из
параметров команд.
-4 - аналог параметра -family inet
-6 - аналог параметра -family inet6
-0 - аналог параметра -family link
-o, -oneline - каждая запись будет выводиться на новой строке.
-r - выводить на экран символические имена хостов.
Объект - это объект которым с будут работать или получать о котором информацию.
Объекты бывают следующими:
link - сетевое устройство
address - IPv4 или IPv6 адрес на устройстве.
neighbour - ARP адреса
route - машрутизация
rule - база данных правил машрутизации
madress - Multicast-адреса представляют собой особый подвид широковещательных
адресов позволяющих обращаться к группе машин, которые не обязательно должны
быть в той же самой подсети. Они весьма полезны при сетевых голосовых
переговорах и видеоконференциях. Поддерживаются многими, но не всеми картами
Ethernet.
mroute - Multicast-пакетов.
tunnel - туннель через IP.
Команда - описывает действие над Объектом.
ip link - конфигурация сетевого устройства
Доступные команды: set и show (или list)
ip link set - изменение параметров сетевого устройства.
Аргументы:
dev - Имя интерфейса с которым будем проводить какие-то манипуляции.
up (включить) или down (выключить) - включить или выключить сетевой интерфейс.
arp on или arp off - изменяет значение флага NOARP на устройстве.
multicast on или multicast off - изменяет флаг MULTICAST на устройстве.
dynamic on или dynamic off - изменяет флаг DYNAMIC на устройстве.
name - Изменяет имя устройства
txqueuelen Число или txqlen Число - изменяет длину передаваемой очереди.
mtu Число - изменяет значение MTU на устройстве.
address Адрес - изменяет адрес на устройстве.
broadcast Адрес или brd Адрес - изменяет широковещательный адрес на устройстве.
ip link show (list, ls, sh, lst, l)- показывает информацию об сетевом интерфейсе.
Аргументы:
dev - Имя интерфейса с которым будем проводить какие-то манипуляции.
up - показать только включенные интерфейсы.
Примеры:
Выведем информацию о состоянии интерфейса 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
#ip -s link ls dev 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 address - управление адресами на интерфейсе
Команда address имеет ряд псевдонимов: addr, a.
Объект address - это адрес IPv4 или IPv6 протокола, связанный с каким-то
устройством, чтобы оно могло работать с данными протоколами. Так же каждое
устройство может иметь несколько IP адресов.
Команда ip address показывает адреса, их свойства, а так же добавляет новые
или удаляет старые.
ip address add - добавляет новый адрес.
Аргументы:
dev Имя - имя устройства.
local Адрес - адрес интерфейса.
peer Адрес - адрес удаленной машины при использовании протокола PPP.
broadcast Адрес - широковещательный адрес на интерфейсе.
В этом случае вы можете использовать специальные символы "+" и "-", в этом
случае широковещательный адрес получается путем установки/сброса бит в адрес
хоста.
label Метка - каждый адрес может быть подписан строкой, однако следует помнить,
что имя должно начинаться с имени устройства, затем после двоеточия идет сама

метка.
Пример:
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 address delete - удаляет адреса.
Сокращения:
delete, del, d.
Пример:
ip addr del 127.0.0.1/8 dev lo
Удаляет адрес 127.0.0.1/8 с устройства lo.
ip address show - выводит информацию об адресе.
Сокращения:
show, list, lst, sh, ls, l.
Аргументы:
dev Имя - имя устройства.
to Префикс - вывести информация о адресах с заданным префиксом.
label Имя - вывести информацию об адресах с заданным именем.
Пример работы команды:
kuznet@alisa:~ $ 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
kuznet@alisa:~ $

ip route -управление таблицей машрутизации.
Сокращения:
route, ro, r.
ip route add - добавить новый маршрут
ip route change - изменить маршрут
ip route replace - заменить маршрут
Сокращения:
add, a; change, chg; replace, repl.
Аргументы:
to - назначение маршрута.
metric Число - задание метрики маршрута.
table Идентификатор таблицы - таблица связанная с маршрутом. Идентификатором
таблицы может быть номер или строка из файла /etc/iproute2/rt_tables
dev Имя - имя устройства.
via Адрес - адрес перехода к следующему маршрутизатору
src Адрес - адрес источника
nexthop NEXTHOP - следующий переход в случае если используется многоканальная
маршрутизация.
via Адрес
dev Имя - имя устройства.
weight Число - вес маршрута, определяющийся шириной канала или качеством .
Примеры:
Добавляем маршрут к сети 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
ip route delete - удалить маршрут.
Сокращение:
delete, del, d.
Аргументы:
Аргументы данной команды с сходны с ip route add.
Пример:
Удаляем маршрут созданный в предыдущем разделе.
ip route del default scope global nexthop dev ppp0
nexthop dev ppp1
ip rule - управление правилами машрутизации
Сокращение:
rule, ru
Маршрутизация может производиться не только в зависимости от адреса получателя,
но и по адресу источника, IP протокола и транспортного протокола.
По умолчанию в существуют 3 правила:
Таблица Local (ID 255) - специальная таблица маршрутизации с самым большим
приоритетом, которая содержит таблицы для локальных и широковещательных
адресов.
Таблица Main (ID 254) - обычная таблица маршрутизации.
Таблица Default (ID 253) - пустая по умолчанию таблица.
ip rule add - добавить новое правило.
Ip rule delete - удалить правило.
Сокращения:
add, a; delete, del, d
Аргументы:
from - адрес источник
to - адрес получателя
iif Имя - имя интерфейса с которого будет получен пакет
fwmark Метка - метка пакета, устанавливаемая firewall.
table Идентификатор таблицы - таблица связанная с маршрутом. Идентификатором
таблицы может быть номер или строка из файла /etc/iproute2/rt_tables
priority Число- приоритет таблицы.
Примеры:
Маршрутизировать пакеты с сети 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 John >> /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 порт.
# iptables -A PREROUTING -i eth0 -t mangle -p tcp --dport 80
-j MARK --set-mark 2
Создадим правила для помеченных пакетов.
# 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
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ:
1. IP Command Reference Alexey N. Kuznetsov
2. Linux Advanced Routing & Traffic Control HOWTO



© Vadim Fedorov vadim.org.ua





 HOWTO по ограничению пропускной способности сети


Внимание! Читая пророчества на этом сайте помните что достоверность трудно проверить и все может во времени изменяться
"О дне же том, или часе, никто не знает, ни Ангелы небесные, ни Сын, но только Отец (Мк. 13, 32)"