Linux ppp route add

Linux ppp route add

Прокси SOCKS5 Купить прокси SOCKS5 c IP-адресами разных стран мира и безлимитным пропускным каналом proxy5.ru

Настройка сетевых интерфейсов и маршрутизация с помощью пакета 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).

Читайте также:  Linux mount all disks

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

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 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

Читайте также:  Delete all logs linux

Данная команда добавляет адрес 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 Имя — вывести информацию об адресах с заданным именем.

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

[email protected]:~ $ 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]:~ $

ip route — управление таблицей машрутизации.

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 — удалить маршрут.

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

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

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

ip rule — управление правилами машрутизации

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

  • Таблица Local (ID 255) — специальная таблица маршрутизации с самым большим приоритетом, которая содержит таблицы для локальных и широковещательных адресов.
  • Таблица Main (ID 254) — обычная таблица маршрутизации.
  • Таблица Default (ID 253) — пустая по умолчанию таблица.
Читайте также:  Linux для начинающих курсы

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 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 порт.

# 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

Источник

Оцените статью
Adblock
detector