Ip a linux команда

Обновлено: 07.07.2024

Команда ip используется для назначения адреса сетевому интерфейсу и/или конфигурирования параметров сетевого интерфейса в дистрибутивах Linux. Эта команда заменяет собой старую добрую и ныне устаревшую команду ifconfig в современных дистрибутивах Linux.

Команда ip может использоваться для следующих целей:

  • Узнать какие интерфейсы сконфигурированы в системе.
  • Запросить статус IP интерфейса.
  • Сконфигурировать локальный, Ethernet и другие интерфейсы.
  • Пометить интефейс как up или down.
  • Сконфигурировать или изменить статическую маршрутизацию или маршрутизацию по умолчанию.
  • Сконфигурировать туннель через IP.
  • Сконфигурировать содержимое ARP или NDISC кэша.
  • Назначить IP адресы, маршруты, подсети и другую 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: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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:

Существует возможность использовать специальные символы + и - вместо широковещательного адреса указывая хостовую часть адреса. В этом примере добавим адрес 192.168.1.50 с маской 255.255.255.0 (/24) со стандартным широковещательным адресом и зададим название eth0Work на интерфейс eth0:

Вы можете задать лупбек адрес на лупбек интерфейсе 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

Последнее поле показывает состояние системы "определения недоступности соседа":

  • STALE - сосед существует, но, скорее всего недоступен, поэтому ядро попробует проверить это при первой ближайшей передаче.
  • DELAY - пакет был отправлен соседу в состоянии STALE и ядро ждет подтверждения.
  • 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, на практических примерах и подробных объяснениях наиболее распространенных параметров.

Как использовать команду ip

Утилита ip является частью пакета iproute2, который установлен во всех современных дистрибутивах Linux.

Синтаксис команды ip следующий:

Объект может быть написан в полной или сокращенной (краткой) форме. Чтобы отобразить список команд и аргументов для каждого объекта, введите ip OBJECT help .

При настройке сетевых интерфейсов вы должны выполнять команды как root или пользователь с привилегиями sudo . В противном случае команда RTNETLINK answers: Operation not permitted .

Конфигурации, установленные с помощью команды ip , не являются постоянными. После перезапуска системы все изменения теряются. Чтобы сделать изменения постоянными, вам необходимо отредактировать файлы конфигурации конкретного дистрибутива или добавить команды в сценарий запуска.

Отображение и изменение IP-адресов

При работе с объектом addr команды принимают следующий вид:

Наиболее часто используемые КОМАНДЫ объекта addr : show , add и del .

Отображение информации обо всех IP-адресах

Чтобы отобразить список всех сетевых интерфейсов и связанный с ними IP-адрес, введите следующую команду:

Результат будет выглядеть примерно так:

Вы получите тот же результат, если наберете опустить команду show и наберете: ip addr .

Если вы хотите отображать только IP-адреса IPv4 или IPv6 , используйте ip -4 addr или ip -6 addr .

Отображение информации об одном сетевом интерфейсе

Чтобы получить информацию о конкретном сетевом интерфейсе, используйте ip addr show dev за которым следует имя устройства. Например, чтобы запросить eth0 , вы должны ввести:

Назначьте IP-адреса интерфейсу

Чтобы назначить IP-адрес интерфейсу, используйте следующий синтаксис:

Чтобы добавить адрес 192.168.121.45 с сетевой маской 24 к устройству eth0 , вы должны ввести:

Назначьте несколько IP-адресов одному интерфейсу

С помощью ip вы можете назначить несколько адресов одному интерфейсу. Например:

Чтобы подтвердить, что IP-адреса назначены, введите ip -4 addr show dev eth0 или ip -4 a show dev eth0 :

Удалить / удалить IP-адрес из интерфейса

Синтаксис для удаления IP-адреса из интерфейса следующий:

Чтобы удалить адрес 192.168.121.45/24 с устройства eth0, введите:

Отображение и изменение сетевых интерфейсов

Для управления и просмотра состояния сетевых интерфейсов используйте объект link .

При работе с объектами link наиболее часто используются следующие команды: show , set , add и del .

Отображение информации о сетевых интерфейсах

Чтобы отобразить список всех сетевых интерфейсов, введите следующую команду:

В отличие от ip addr show , ip link show не выводит информацию об IP-адресах, связанных с устройством.

Чтобы получить информацию о конкретном сетевом интерфейсе, используйте ip link show dev за которым следует имя устройства. Например, чтобы запросить eth0 вы должны ввести:

Измените статус интерфейса ВВЕРХ / ВНИЗ

Чтобы вывести интерфейсы вверх или вниз, используйте ip link set dev за которым следует имя устройства и желаемое состояние:

Например, чтобы подключить интерфейс eth0 сети, вы должны ввести:

И принести если оффлайн

Отображение и изменение таблицы маршрутизации

Для назначения, удаления и отображения таблицы маршрутизации ядра используйте объект route . Наиболее часто используемые команды при работе с объектами маршрутов: list , add и del .

Показать таблицу маршрутизации

Чтобы получить список записей маршрута ядра, используйте одну из следующих команд:

При использовании без SELECTOR команда выведет список всех записей маршрута в ядре:

Чтобы отобразить только маршрутизацию для определенной сети, например 172.17.0.0/16 , введите:

Добавить новый маршрут

Чтобы добавить новую запись в таблицу маршрутизации, используйте команду route add за которой следует имя сети или устройства.

Добавьте маршрут к 192.168.121.0/24 через шлюз 192.168.121.1

Добавьте маршрут к 192.168.121.0/24, который может быть достигнут на устройстве eth0.

Чтобы добавить маршрут по умолчанию, используйте ключевое слово default . Следующая команда добавит маршрут по умолчанию через локальный шлюз 192.168.121.1 который может быть достигнут на устройстве eth0 .

Удалить маршрут

Чтобы удалить запись из таблицы маршрутизации, используйте команду route add . Синтаксис удаления маршрута такой же, как и при добавлении.

Следующая команда удалит маршрут по умолчанию:

Удалите маршрут для 192.168.121.0/24 через шлюз 192.168.121.1

Выводы

К настоящему времени вы должны хорошо понимать, как использовать команду Linux ip . Для получения дополнительной информации о других параметрах ip посетите страницу руководства по команде ip или введите man ip в терминале.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Команда ip Linux с примерами

Команда ip является мощным инструментом для настройки сетевых интерфейсов, который должен знать любой системный администратор Linux. Его можно использовать для повышения или понижения интерфейсов, назначения и удаления адресов, маршрутов, управления кешем ARP и многого другого.

Как использовать команду ip

ip Утилита является частью пакета iproute2 , который устанавливается на всех современных дистрибутивов Linux.

Синтаксис ip команды следующий:



OBJECT - это тип объекта, которым вы хотите управлять. Наиболее часто используемые объекты (или подкоманды):

  • link ( l ) - Отображение и изменение сетевых интерфейсов.
  • address ( a ) - Отображение и изменение IP-адресов.
  • route ( r ) - Показать и изменить таблицу маршрутизации.
  • neigh ( n ) - Отображать и манипулировать соседними объектами (таблица ARP).

Объект может быть написан в полной или сокращенной (краткой) форме. Для отображения списка команд и аргументов для каждого типа объекта ip OBJECT help . каждая подкоманда

При настройке сетевых интерфейсов вы должны выполнять команды как пользователь root или пользователь с привилегиями sudo . В противном случае команда напечатает RTNETLINK answers: Operation not permitted

Конфигурации, установленные с помощью ip команды, не являются постоянными. После перезагрузки системы все изменения будут потеряны. Для постоянных настроек вам нужно отредактировать дистрибутивные файлы конфигурации или добавить команды в скрипт запуска.

Отображение и изменение IP-адресов

При работе с addr объектом команды принимают следующую форму:

Наиболее часто используемые командования addr объекта являются: show , add , и del .

Показать информацию обо всех IP-адресах

Для отображения списка всех сетевых интерфейсов и связанного с ним IP-адреса введите следующую команду:

Вывод будет выглядеть примерно так:

Вы получите тот же результат , если вы наберете опускаете show команду и введите: ip addr .

Если вы хотите отображать только IPv4 или IPv6 IP-адреса, используйте ip -4 addr или ip -6 addr .

Отображение информации об одном сетевом интерфейсе

Чтобы получить информацию о конкретном сетевом интерфейсе, используйте ip addr show dev имя устройства. Например, для запроса eth0 вы должны набрать:

Назначьте IP-адреса интерфейсу

Чтобы назначить IP-адрес интерфейсу, используйте следующий синтаксис:

Где IFNAME имя интерфейса и ADDRESS IP-адрес, который вы хотите назначить интерфейсу.

Чтобы добавить адрес 192.168.121.45 с сетевой маской 24 на устройство, eth0 вы должны набрать:

В случае успеха команда не будет отображать никаких выходных данных. Если интерфейс не существует, вы получите Cannot find device "eth0" .

Назначьте несколько IP-адресов одному интерфейсу

С помощью ip вы можете назначить несколько адресов одному интерфейсу. Например:

Для подтверждения назначенного IP-адреса введите ip -4 addr show dev eth0 или ip -4 a show dev eth0 :

Удалить / Удалить IP-адрес из интерфейса

Синтаксис для удаления IP-адреса из интерфейса, как показано ниже:

IFNAME - это имя интерфейса, а ADDRESS - это IP-адрес, который вы хотите удалить из интерфейса.

Для удаления адреса 192.168.121.45/24 из устройства eth0 введите:

Отображение и изменение сетевых интерфейсов

Для управления и просмотра состояния сетевых интерфейсов используйте link объект.

Наиболее часто используемые команды при работе с link объектами являются: show , set , add , и del .

Отображение информации о сетевых интерфейсах

Чтобы отобразить список всех сетевых интерфейсов, введите следующую команду:

В отличие от ip addr show , ip link show не будет печатать информацию об IP-адресах, связанных с устройством.

Чтобы получить информацию о конкретном сетевом интерфейсе, используйте ip link show dev имя устройства. Например, для запроса eth0 вы должны набрать:

Изменить статус интерфейса ВВЕРХ / ВНИЗ

Чтобы включить или выключить интерфейсы, используйте ip link set dev имя устройства и желаемое состояние:

Например, чтобы вывести интерфейс в eth0 онлайн, вы должны набрать:

И вывести если офлайн

Отображение и изменение таблицы маршрутизации

Для назначения, удаления и отображения таблицы маршрутизации ядра используйте route объект. Наиболее часто используемые команды при работе с объектами маршруты: list , add и del .

Показать таблицу маршрутизации

Чтобы получить список записей маршрута ядра, используйте одну из следующих команд:

При использовании без SELECTOR команды команда перечислит все записи маршрута в ядре:

Например, чтобы отобразить только маршрутизацию для конкретной сети, 172.17.0.0/16 введите:

Добавить новый маршрут

Чтобы добавить новую запись в таблицу маршрутизации, используйте route add команду, а затем имя сети или устройства.

Добавьте маршрут к 192.168.121.0/24 через шлюз в 192.168.121.1

Добавьте маршрут к 192.168.121.0/24, который может быть достигнут на устройстве eth0.

Чтобы добавить маршрут по умолчанию, используйте ключевое слово default . Следующая команда добавит маршрут по умолчанию через локальный шлюз, 192.168.121.1 который может быть достигнут на устройстве eth0 .

Удалить маршрут

Чтобы удалить запись из таблицы маршрутизации, используйте route add команду: Синтаксис для удаления маршрута такой же, как и при добавлении.

Следующая команда удалит маршрут по умолчанию:

Удалите маршрут для 192.168.121.0/24 через шлюз в 192.168.121.1

Вывод

К настоящему времени вы должны хорошо понимать, как использовать команду Linux ip . Для получения дополнительной информации о других ip параметрах посетите страницу руководства по команде ip или введите man ip свой терминал.

Favorite

Добавить в избранное (1 оценок, среднее: 5,00 из 5)

Команда ip в Linux с примерами

В этой статье мы покажем вам, как использовать команду ip, на практических примерах и подробных объяснениях наиболее распространенных параметров ip.

Как использовать команду ip

Утилита ip является частью пакета iproute2, который устанавливается во всех современных дистрибутивах Linux.

Синтаксис команды ip следующий:

Объект может быть написан в полной или сокращенной (краткой) форме. Для отображения списка команд и аргументов для каждого типа объекта ip OBJECT help.

При настройке сетевых интерфейсов вы должны запускать команды как root или пользователь с привилегиями sudo, в противном случае команда выведет RTNETLINK answers: Operation not permitted.

Конфигурации, установленные с помощью команды ip, не являются постоянными. После перезагрузки системы все изменения будут потеряны. Для постоянных настроек вам нужно отредактировать дистрибутивные файлы конфигурации или добавить команды в скрипт запуска.

Отображение и изменение IP-адресов

При работе с объектом команды addr принимают следующую форму:

Показать информацию обо всех IP-адресах

Для отображения списка всех сетевых интерфейсов и связанного с ним IP-адреса введите следующую команду:

Вывод будет выглядеть примерно так:

Когда команда show опущена, все устройства перечислены. Вы получите тот же вывод, если вы наберете ip addr.

Если вы хотите отображать только IP-адреса IPv4 или IPv6, используйте ip -4 addr или ip -6 addr.

Отображение информации об одном сетевом интерфейсе

Для получения информации о конкретном сетевом интерфейсе используйте имя устройства ip addr show dev. Например, чтобы запросить вас eth0, введите:

Назначьте IP-адреса интерфейсу

Чтобы назначить IP-адрес интерфейсу, используйте следующий синтаксис:

Чтобы добавить адрес 192.168.101.12 с сетевой маской 24 на устройство eth0, введите:

Назначьте несколько IP-адресов одному интерфейсу

С помощью утилиты ip вы можете назначить несколько адресов одному интерфейсу. Например:

Для подтверждения назначенного IP-адреса введите ip -4 addr show dev eth0 или ip -4 a show dev eth0:

Удалить IP-адрес из интерфейса

Синтаксис для удаления IP-адреса из интерфейса, как показано ниже:

Для удаления адреса 192.168.101.12/24 из устройства eth0 введите:

Отображение и изменение сетевых интерфейсов

Для управления и отображения состояния сетевых интерфейсов используется объект link.

Наиболее часто используемые команды при работе с link объектами являются show, set, add и del.

Отображение информации о сетевых интерфейсах

Чтобы отобразить список всех сетевых интерфейсов, введите следующую команду:

В отличие от ip addr show, ip link showне будет печатать информацию об IP-адресах, связанных с устройством.

Для получения информации о конкретном сетевом интерфейсе используйте имя устройства ip link show dev. Например, чтобы запросить вас eth0, введите:

Изменить статус интерфейса up/down

Чтобы включить или выключить интерфейсы, используйте ip link set dev DEVICE и желаемое состояние:

Например, чтобы вывести интерфейс eth0 в онлайн, вы должны набрать:

И вывести если офлайн

Отображение и изменение таблицы маршрутизации

Для назначения, удаления и отображения таблицы маршрутизации ядра используйте объект route. Наиболее часто используемые команды при работе с объектами маршрутов list, addи del.

Показать таблицу маршрутизации

Используйте список записей маршрута ядра, используя одну из следующих команд:

При использовании без SELECTOR команда выведет список всех записей маршрута в ядре:

Например, чтобы отобразить только маршрутизацию для конкретной сети, введите 172.17.0.0/16:

Добавить новый маршрут

Чтобы добавить новую запись в таблицу маршрутизации, используйте команду route add, а затем имя сети или устройства.

Добавьте маршрут к 192.168.113.0/24 через шлюз в 192.168.113.1

Добавьте маршрут к 192.168.113.0/24, который может быть достигнут на устройстве eth0.

Чтобы добавить маршрут по умолчанию, используйте ключевое слово default. Следующая команда добавит маршрут по умолчанию через локальный шлюз 192.168.113.1, который может быть достигнут на устройстве eth0.

Удалить маршрут

Чтобы удалить запись из таблицы маршрутизации, используйте команду route add: Синтаксис для удаления маршрута такой же, как и при добавлении.

Следующая команда удалит маршрут по умолчанию:

Удалите маршрут для 192.168.113.0/24 через шлюз в 192.168.113.1

Заключение

К настоящему времени вы должны хорошо понимать, как использовать команду ip в Linux. Для получения дополнительной информации о других параметрах ip посетите страницу руководства команды ip

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читайте также: