Brd linux что это
Настройка сети с помощью утилиты ip в Debian linux
Команда ip используется для назначения адреса сетевому интерфейсу и/или конфигурирования параметров сетевого интерфейса в дистрибутивах Linux. Эта команда заменяет собой старую добрую и ныне устаревшую команду ifconfig в современных дистрибутивах Linux.
Команда ip может использоваться для следующих целей:
Синтаксис
Понимание синтаксиса OBJECTS в комманде ip
OBJECTS может быть одним из следующих и может записываться в полной или сокращенной форме:
Объект | Сокращенная форма | Задача |
---|---|---|
link | l | Сетевое устройство. |
address | a, addr | IP адрес на устройстве. |
addrlabel | addrl | Управление метками для выбора адреса. |
neighbour | n, neigh | Записи для ARP или NDISC кэшей. |
route | r | Управление записямя таблицы маршрутизации. |
rule | ru | Правила в базе политик маршрутизации. |
maddress | m, maddr | Мультикаст адрес. |
mroute | mr | Записи мультикастового кэша маршрутизации. |
tunnel | t | Туннель через IP. |
xfrm | x | Фреймворк для протокола IPsec. |
Чтобы получить информацию о каждом из объектов используйте команду help следующим образом:
Предупреждение : команды описанные ниже должны выполняться с осторожностью, так как ошибка может привести к потере соединения с сервером. Вы должны быть особо аккуратны при работе в удаленной сессии по ssh.
Примеры использования команды ip
Не пугайтесь синтаксиса команды ip. Давайте сразу начнем с примеров.
Показать информацию обо всех сетевых интерфейсах
Введите следующую команду чтобы получить список всех ip адресов назначенных всем сетевым интерфейсам:
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0:
mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:8b:46:9a brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe8b:469a/64 scope link
valid_lft forever preferred_lft forever
Вы можете выбрать между IPv4 и IPv6 используя следующий синтаксис:
Также существует возможность вывести детали только об определенном сетевом интерфейсе:
Назначить интерфейсу IP адрес
Для того чтобы добавить IP адрес используется синтаксис следующего вида:
Чтобы назначить адрес 192.168.1.200/255.255.255.0 на интерфейс eth0, введите:
Добавить широковещательный адрес на интерфейс
По умолчанию, команда ip не задает какой-либо широковещательный адрес до тех пор, пока это будет недвусмысленно указано. Таким образом следующий синтаксис задает широковещательный адрес ADDRESS:
Вы можете задать лупбек адрес на лупбек интерфейсе lo следующим образом:
Удалить IP адрес с интерфейса
Синтаксис для удаления IPv4/IPv6 адреса следующий:
Чтобы удалить 192.168.1.200/24 с интерфейса eth0, введите:
Сбросить ряд IP адресов с интерфейса
Вы можете удалять IP адреса с интерфейса по одному, как показано выше. Однако команда flush может удалить набор адресов с интерфейса по указанному признаку. Например, вы можете удалить все адреса из частной сети 192.168.2.0/24 с помощью команды:
2: eth0 inet 192.168.2.201/24 scope global secondary eth0
2: eth0 inet 192.168.2.200/24 scope global eth0
*** Round 1, deleting 2 addresses ***
*** Flush is complete after 1 round ***
Вы можете выключить IP адрес на всех ppp (Point-to-Point) интерфейсах:
Еще один пример для всех Ethernet интерфейсов:
Как изменить состояние интерфейса на UP или DOWN
К примеру, чтобы положить интерфейс eth1, используйте:
А чтобы поднять этот же интерфейс:
Как изменить txqueuelen устройства
Вы можете установить длину очереди передачи устройства с помощью ifconfig или команды ip следующим образом:
В этом примере изменим txqueuelen со значения по умолчанию, равного 1000, на 10000 для интерфейса 10000:
Как изменить MTU устройства
Для гигабиных сетей вы можете установить максимальный размер блоков передачи (MTU) для лучшей производительности сети. Синтаксис следующий:
Например, установим MTU устройства eth0 на 9000:
2: eth0: mtu 9000 qdisc pfifo_fast state UP qlen 1000
link/ether 00:08:9b:c4:30:30 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.10/24 brd 192.168.1.255 scope global eth1
inet6 fe80::208:9bff:fec4:3030/64 scope link
valid_lft forever preferred_lft forever
Показать соседей (arp кэш)
Пример вывода (часть информации скрыта):
74.xx.yy.zz dev eth1 lladdr 00:30:48:yy:zz:ww REACHABLE
10.10.29.66 dev eth0 lladdr 00:30:48:c6:0a:d8 REACHABLE
74.ww.yyy.xxx dev eth1 lladdr 00:1a:30:yy:zz:ww REACHABLE
10.10.29.68 dev eth0 lladdr 00:30:48:33:bc:32 REACHABLE
74.fff.uu.cc dev eth1 lladdr 00:30:48:yy:zz:ww STALE
74.rr.ww.fff dev eth1 lladdr 00:30:48:yy:zz:ww DELAY
10.10.29.65 dev eth0 lladdr 00:1a:30:38:a8:00 REACHABLE
10.10.29.74 dev eth0 lladdr 00:30:48:8e:31:ac REACHABLE
Последнее поле показывает состояние системы «определения недоступности соседа»:
Добавить новую ARP запись
Например, добавить постоянную ARP запись для соседа 192.168.1.5 на устройстве eth0:
Состояние соседа | Значение |
---|---|
permanent | Состояние соседа занято навсегда и может быть удалено только администратором. |
noarp | Состояние соседа валидно. Попыток проверить состояние не будет, но может быть удалено, когда закончится время жизни. |
stale | Состояние соседа валидно, но подозрительно. Эта опция для ip neigh не меняет состояние соседа, если оно было валидно и адрес не был изменен этой командой. |
reachable | Состояние соседа валидно до окончания таймаута доступности. |
Удалить ARP запись
Удалить запись для соседа 192.168.1.5 на интерфейсе eth1:
Изменить состояние на reachable для соседа 192.168.1.100 на устройстве eth1:
Очистить ARP запись
Команда flush или f очищает таблицы соседей или arp таблицы. Синтаксис:
ip route: команды управления таблицей маршрутизации
Используйте следующие команды для управления таблицей маршрутизации ядра.
Показать таблицу маршрутизации
Посмотреть таблицу маршрутизации:
Показать роутинг для 192.168.1.0/24:
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.10
Добавить новый маршрут
Добавить статический маршрут в сеть 192.168.1.0/24 через шлюз 192.168.1.254:
Чтобы маршрутизировать весь трафик через шлюз 192.168.1.254 подключенный через сетевой интерфейс eth0:
Удалить маршрут
Команда чтобы удалить маршрут по умолчанию:
В этом примере удалим маршрут созданный в предыдущем блоке:
Как использовать команду 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».
Все следующие команды эквивалентны:
Мы видим два IP-адреса, а также много другой информации. IP-адреса связаны с контроллерами сетевого интерфейса (NIC). Команда ip пытается быть полезной и предоставляет много информации об интерфейсе.
Первый IP-адрес — это (внутренний) петлевой адрес, используемый для связи внутри компьютера. Второй фактический (внешний) IP-адрес, который компьютер имеет в локальной сети (LAN).
Кроме петлевого интерфейса lo, также имеются следующие:
Давайте разберём всю информацию, которую мы получили по первому интерфейсу:
Физические интерфейсы, как мы покажем ниже, более интересны. Рассмотрим два физических интерфейса: один из них не задействован (провод не подключён), а второй используется (беспроводной Wi-Fi адаптер).
Неиспользуемый сетевой интерфейс:
Используемый сетевой интерфейс:
Отображать только адреса IPv4 или IPv6
Если вы хотите ограничить вывод IP-адресами версии 4, вы можете использовать опцию -4 следующим образом:
Если вы хотите ограничить вывод IP-адресами версии 6, вы можете использовать опцию -6 следующим образом:
Команда ip Linux с примерами
Linux ip Command with Examples
В этом руководстве мы покажем вам, как использовать ip команду, на практических примерах и подробных объяснениях наиболее распространенных опций.
Команда ip является мощным инструментом для настройки сетевых интерфейсов, который должен знать любой системный администратор Linux. Его можно использовать для повышения или понижения интерфейсов, назначения и удаления адресов, маршрутов, управления кешем ARP и многого другого.
Как использовать команду ip
Синтаксис ip команды следующий:
Конфигурации, установленные с помощью ip команды, не являются постоянными. После перезагрузки системы все изменения будут потеряны. Для постоянных настроек вам нужно отредактировать дистрибутивные файлы конфигурации или добавить команды в скрипт запуска.
Отображение и изменение IP-адресов
При работе с addr объектом команды принимают следующую форму:
Показать информацию обо всех IP-адресах
Для отображения списка всех сетевых интерфейсов и связанного с ним IP-адреса введите следующую команду:
Вывод будет выглядеть примерно так:
Отображение информации об одном сетевом интерфейсе
Чтобы получить информацию о конкретном сетевом интерфейсе, используйте ip addr show dev имя устройства. Например, для запроса eth0 вы должны набрать:
Назначьте IP-адреса интерфейсу
Чтобы назначить IP-адрес интерфейсу, используйте следующий синтаксис:
Чтобы добавить адрес 192.168.121.45 с сетевой маской 24 на устройство, eth0 вы должны набрать:
Назначьте несколько IP-адресов одному интерфейсу
С помощью ip вы можете назначить несколько адресов одному интерфейсу. Например:
Удалить / Удалить IP-адрес из интерфейса
Синтаксис для удаления IP-адреса из интерфейса, как показано ниже:
Для удаления адреса 192.168.121.45/24 из устройства eth0 введите:
Отображение и изменение сетевых интерфейсов
Для управления и просмотра состояния сетевых интерфейсов используйте link объект.
Отображение информации о сетевых интерфейсах
Чтобы отобразить список всех сетевых интерфейсов, введите следующую команду:
Чтобы получить информацию о конкретном сетевом интерфейсе, используйте ip link show dev имя устройства. Например, для запроса eth0 вы должны набрать:
Изменить статус интерфейса ВВЕРХ / ВНИЗ
Чтобы включить или выключить интерфейсы, используйте ip link set dev имя устройства и желаемое состояние:
И вывести если офлайн
Отображение и изменение таблицы маршрутизации
Показать таблицу маршрутизации
Чтобы получить список записей маршрута ядра, используйте одну из следующих команд:
Например, чтобы отобразить только маршрутизацию для конкретной сети, 172.17.0.0/16 введите:
Добавить новый маршрут
Чтобы добавить новую запись в таблицу маршрутизации, используйте route add команду, а затем имя сети или устройства.
Добавьте маршрут к 192.168.121.0/24 через шлюз в 192.168.121.1
Добавьте маршрут к 192.168.121.0/24, который может быть достигнут на устройстве eth0.
Удалить маршрут
Чтобы удалить запись из таблицы маршрутизации, используйте route add команду: Синтаксис для удаления маршрута такой же, как и при добавлении.
Следующая команда удалит маршрут по умолчанию:
Удалите маршрут для 192.168.121.0/24 через шлюз в 192.168.121.1
Вывод
Команда ip в Linux (с примерами)
Команда ip — это мощный инструмент для настройки сетевых интерфейсов, который должен знать любой системный администратор Linux. Он используется для включения или выключения интерфейсов, назначения и удаления адресов и маршрутов, управления кешем ARP и многого другого.
В этой статье объясняется, как использовать команду ip, на практических примерах и подробных объяснениях наиболее распространенных параметров.
Как использовать команду ip
Утилита ip является частью пакета iproute2, который установлен во всех современных дистрибутивах Linux.
Синтаксис команды ip следующий:
OBJECT — это тип объекта, которым вы хотите управлять. Наиболее часто используемые объекты (или подкоманды):
Отображение и изменение IP-адресов
При работе с объектом addr команды принимают следующий вид:
Отображение информации обо всех IP-адресах
Чтобы отобразить список всех сетевых интерфейсов и связанный с ними IP-адрес, введите следующую команду:
Результат будет выглядеть примерно так:
Отображение информации об одном сетевом интерфейсе
Назначьте IP-адреса интерфейсу
Чтобы назначить IP-адрес интерфейсу, используйте следующий синтаксис:
Где IFNAME — это имя интерфейса, а ADDRESS — это IP-адрес, который вы хотите назначить интерфейсу.
Назначьте несколько IP-адресов одному интерфейсу
С помощью ip вы можете назначить несколько адресов одному интерфейсу. Например:
Удалить / удалить IP-адрес из интерфейса
Синтаксис для удаления IP-адреса из интерфейса следующий:
IFNAME — это имя интерфейса, а ADDRESS — это IP-адрес, который вы хотите удалить из интерфейса.
Чтобы удалить адрес 192.168.121.45/24 с устройства eth0, введите:
Отображение и изменение сетевых интерфейсов
Отображение информации о сетевых интерфейсах
Чтобы отобразить список всех сетевых интерфейсов, введите следующую команду:
Чтобы получить информацию о конкретном сетевом интерфейсе, используйте ip link show dev за которым следует имя устройства. Например, чтобы запросить eth0 вы должны ввести:
Измените статус интерфейса ВВЕРХ / ВНИЗ
Чтобы вывести интерфейсы вверх или вниз, используйте ip link set dev за которым следует имя устройства и желаемое состояние:
Например, чтобы подключить интерфейс eth0 сети, вы должны ввести:
И принести если оффлайн
Отображение и изменение таблицы маршрутизации
Показать таблицу маршрутизации
Чтобы получить список записей маршрута ядра, используйте одну из следующих команд:
При использовании без SELECTOR команда выведет список всех записей маршрута в ядре:
Добавить новый маршрут
Чтобы добавить новую запись в таблицу маршрутизации, используйте команду route add за которой следует имя сети или устройства.
Добавьте маршрут к 192.168.121.0/24 через шлюз 192.168.121.1
Добавьте маршрут к 192.168.121.0/24, который может быть достигнут на устройстве eth0.
Удалить маршрут
Следующая команда удалит маршрут по умолчанию:
Удалите маршрут для 192.168.121.0/24 через шлюз 192.168.121.1
Выводы
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Brd linux что это
Большинство дистрибутивов 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
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ: