Episode 43 - Change IP Address From the Command Line in Linux
Оглавление:
- Как использовать команду ip
- Отображение и изменение IP-адресов
- Показать информацию обо всех IP-адресах
- Отображение информации об одном сетевом интерфейсе
- Назначьте IP-адреса интерфейсу
- Назначьте несколько IP-адресов одному интерфейсу
- Удалить / Удалить IP-адрес из интерфейса
- Отображение и изменение сетевых интерфейсов
- Отображение информации о сетевых интерфейсах
- Изменить статус интерфейса ВВЕРХ / ВНИЗ
- Отображение и изменение таблицы маршрутизации
- Показать таблицу маршрутизации
- Добавить новый маршрут
- Удалить маршрут
- Вывод
Команда
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-адреса интерфейсу
Чтобы назначить 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
И вывести если офлайн
Отображение и изменение таблицы маршрутизации
Для назначения, удаления и отображения таблицы маршрутизации ядра используйте объект
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
в своем терминале.
Команда Echo в Linux с примерами
Команда echo является одной из самых основных и часто используемых команд в Linux. Аргументы, передаваемые echo, выводятся на стандартный вывод.
Команда curl в linux с примерами
Curl - это утилита командной строки для передачи данных с или на сервер, предназначенная для работы без взаимодействия с пользователем. В этом руководстве мы покажем вам, как использовать инструмент скручивания, на практических примерах и подробных объяснениях наиболее распространенных вариантов скручивания.
Linux cut команда с примерами
Вырезать - это утилита командной строки, которая позволяет вырезать части строк из указанных файлов или переданных данных и выводить результат в стандартный вывод. В этом руководстве мы покажем вам, как использовать команду Linux Cut, на практических примерах и подробных объяснениях наиболее распространенных параметров резки.







