Конфигуриране на мрежови интерфейси и маршрутизиране с помощта на пакета 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) или връзка (устройства). Служи за избор на спецификация на протокола, ако протоколът не е зададен, тогава по подразбиране протоколът се избира от параметрите на командата.
  • -4 - аналог на параметъра -family inet
  • -6 - аналог на -family inet6
  • -0 - аналог на параметъра -family link
  • -o, -oneline - всеки запис ще се показва на нов ред.
  • -r Показване на символни имена на хостове.

Обектът е обект, с който се работи или за който се получава информация. Обектите са както следва:

Командата описва действието върху обекта.

ip връзка- конфигурация на мрежово устройство.

Налични команди: задаване ипоказване (или списък).

IP Link set- промяна на параметрите на мрежовото устройство.

ip link show (list, ls, sh, lst, l)- показва информация за мрежовия интерфейс. Аргументи:

  • dev - Името на интерфейса, с който ще извършваме някои манипулации.
  • нагоре - показва само активирани интерфейси.

Показване на информация за състоянието на интерфейса eth0

# ip връзка 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 връзка 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: байтове пакети грешки изпуснати превозвач collsns 3139067270 54387014 0 0 0 132934

ip addr add 10.0.0.1/24 brd + dev eth0 етикет eth0:Alias

ip адрес на 127.0.0.1/8 dev lo

Пример за екип:

$ ip адрес ls eth0 3: eth0: mtu 1500 qdisc cbq qlen 100 връзка/етер 00:a0:cc:66:18:78 brd ff:ff:ff:ff:ff:ff inet 193.233.7.90/24 brd 193.233.7.255 обхват глобален 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 [имейл защитен]:

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

Съкращения: маршрут, ро, р.

ip route add - добавяне на нов маршрут ip route change - промяна на маршрута ip route replace - заместване на route

Съкращения: доп., а; промяна, chg; замествам, възм.

Добавете маршрут към мрежата 10.0.0/24 през 193.233.7.65

ip route add 10.0.0/24 чрез 193.233.7.65

Нека добавим шлюз по подразбиране в случай на използване на два канала в зависимост от натоварването на канала:

ip маршрут добавяне на обхват по подразбиране 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 правило- управление на правилата за маршрутизиране

Съкращения: правило, ru

ip rule add - добавяне на ново правило. Изтриване на Ip правило - изтриване на правило.

Съкращения: доп., а; изтриване, изтриване, d

Маршрутизирайте пакети от мрежа 192.203.80.0/24 според примерната таблица.

ip ru добавяне от 192.203.80.0/24 таблица пример преди 220

Нека да разгледаме примери за използване на базирано на правила маршрутизиране.

# echo 200 Потребител >> /etc/iproute2/rt_tables # ip правило добавяне от 10.0.0.10 таблица Джон # ip правило ls 0: от всички локални справки 32765: от 10.0.0.10 справки Джон 32766: от всички основни справки 32767: от всички справки по подразбиране

След това присвояваме шлюз по подразбиране за този потребител и изчистваме кеша на таблицата за маршрутизиране, за да влязат в сила нашите промени.

# 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

Нека създадем правила за маркирани пакети.

# ехо 202 www.out >> /etc/iproute2/rt_tables Добавяне на # ip правило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 команда - Алексей Н. Кузнецов 2. Linux Advanced Routing & Контрол на трафика HOWTO