Android

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

Episode 43 - Change IP Address From the Command Line in Linux

Episode 43 - Change IP Address From the Command Line in Linux

Оглавление:

Anonim

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

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

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

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

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

ip OBJECT COMMAND

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

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

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

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

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

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

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

ip addr ADDRESS dev IFNAME

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

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

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

ip addr show

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

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 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 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 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 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 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 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 2900sec preferred_lft 2900sec inet6 fe80::5054:ff:fe8c:6244/64 scope link valid_lft forever preferred_lft forever

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

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

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

ip addr show dev eth0

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

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

ip addr add ADDRESS dev IFNAME

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

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

sudo ip address add 192.168.121.45/24 dev eth0

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

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

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

sudo ip address add 192.168.121.241/24 dev eth0 sudo ip address add 192.168.121.45/24 dev eth0

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

2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 3515sec preferred_lft 3515sec inet 192.168.121.45/24 scope global secondary eth0 valid_lft forever preferred_lft forever

2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 inet 192.168.121.241/24 brd 192.168.121.255 scope global dynamic eth0 valid_lft 3515sec preferred_lft 3515sec inet 192.168.121.45/24 scope global secondary eth0 valid_lft forever preferred_lft forever

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

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

ip addr dev ADDRESS dev IFNAME

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

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

sudo ip address del 192.168.121.45/24 dev eth0

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

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

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

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

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

ip link show

1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff 1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff

1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff

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

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

ip link show dev eth0

2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff

2: eth0: mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000 link/ether 52:54:00:8c:62:44 brd ff:ff:ff:ff:ff:ff

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

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

ip link set dev {DEVICE} up

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

ip link set eth0 up

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

ip link set eth0 down

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

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

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

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

ip route ip route list ip route list SELECTOR

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

ip route list

default via 192.168.121.1 dev eth0 proto dhcp src 192.168.121.241 metric 100 192.168.121.0/24 dev eth0 proto kernel scope link src 192.168.121.241 192.168.121.1 dev eth0 proto dhcp scope link src 192.168.121.241 metric 100

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

ip r list 172.17.0.0/16

172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown

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

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

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

ip route add 192.168.121.0/24 via 192.168.121.1

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

ip route add 192.168.121.0/24 dev eth0

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

ip route add default via 192.168.121.1 dev eth0

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

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

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

ip route del default

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

ip route add 192.168.121.0/24 via 192.168.121.1

Вывод

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

ip терминал