Как узнать IP адрес, используя командную строку Linux
Рассмотрим, как узнать текущий IP-адрес системы Linux, используя командную строку.
ifconfig уже устарел
Раньше для просмотра текущих сетевых интерфейсов и их параметров (включая IP-адреса), использовалась команда ifconfig. Но она уже несколько лет как устарела, и в современных дистрибутивах Linux не поддерживается.
Вместо ifconfig рекомендуется использовать команду ip
Определяем IP-адрес командой ip
Чтобы определить IP-адрес вашего сетевого интерфейса можно использовать команду ip address (или эквивалентный вызов ip addr или просто ip a ).
В результате выполнения команды на экран будет выведен список текущих сетевых интерфейсов и их параметры. Первый интерфейс в списке обычно lo — это loopback интерфейс (нас он сейчас не интересует). Нас интересует Ethernet-интерфейс или WiFi-интерфейс (в зависимости от того, какое у вас подключение).
Ethernet интерфейсы обычно имеют имена вида enp2s0 или eth0, а WiFi-интерфейсы имеют имена вида wlp2s0 или wlan0 (цифры в названии могут отличаться).
Определяем IP-адрес командой hostname
Команда выводит все сетевые адреса хоста (системы), кроме loopback интерфейса. Если у вас всего одно сетевое соединение, то, скорее всего, будет выведен один IP-адрес.
Через графическую утилиту


Настройка сети с помощью утилиты 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:
Удалить маршрут
Команда чтобы удалить маршрут по умолчанию:
В этом примере удалим маршрут созданный в предыдущем блоке:
Настройка сети в Debian
Список разделов:
Основы IP сетей.
Система под Debian может иметь несколько сетевых интерфейсов с различными АйПи адресами. Интерфейсы могут быть нескольких различных типов, включая следующие:
Существует широкий диапазон прочих сетевых устройств, таких как SLIP, PLIP (последовательные и параллельные линии IP), шейперы (shaper) для контроля трафика на определенных интерфейсах, frame relay, AX.25, X.25, ARCnet, и LocalTalk.
Каждый сетевой интерфейс подсоединенный к интернету (или к любой сети основанной на АйПи) имеет уникальный 32-х битный АйПи адрес. АйПи адрес может быть поделен на часть, которая идентифицирует сеть и часть, определяющую адрес хоста. Если вы берете АйПи адрес и устанавливаете биты отвечающие за адрес сети равными 1, а биты, адресующие хост, равными 0, то вы получите так называемую маску (netmask) сети.
Традиционно АйПи сети сгруппированы в классы по размеру части адреса, отвечающей за сеть. Они могут быть 8, 16, или 24 бита. Эта система не гибкая и тратит много айпи адресов в пустую, поэтому современные IPv4 сети используют части адреса, отвечающие за сеть, переменной длины.
АйПи адреса не входящие в эти диапазоны используются для специальных нужд.
В каждом классе сетей существуют диапазоны адресов зарезервированные для использования в локальных сетях (LAN). Эти адреса гарантированно не будут конфликтовать с любыми адресами присущими интернету. (Справедливо и то, что, если один из этих адресов дан хосту то этот хост не должен быть подключен напрямую к интернету и должен получать к нему доступ через шлюз, который работает как прокси или даже осуществляет трансляцию сетевых адресов.) Эти диапазоны адресов указаны в таблице ниже.
Таблица маршрутизации (routing table) содержит информацию ядра о том, как отправлять АйПи пакеты к их пунктам назначения. Ниже представлена простая таблица маршрутизации для хоста под Дебиан в локальной сети с адресом 192.168.50.x/24. Хост 192.168.50.1 (также в локальной сети) это маршрутизатор для корпоративной сети 172.20.x.x/16 и хост 192.168.50.254 (тоже в локальной сети) является маршрутизатором всей сети для доступа в интернет.
Kernel IP routing table
| Destination | Gateway | Genmask | Flags | Metric | Ref | Use | Iface |
| 127.0.0.0 | * | 255.0.0.0 | U | 0 | 0 | 2 | lo |
| 192.168.50.0 | * | 255.255.255.0 | U | 0 | 0 | 137 | eth0 |
| 172.20.0.0 | 192.168.50.1 | 255.255.0.0 | UG | 1 | 0 | 7 | eth0 |
| default | 192.168.50.254 | 0.0.0.0 | UG | 1 | 0 | 36 | eth0 |
Первая строка после заголовка говорит, что трафик предназначенный для сети 127.x.x.x будет перенаправлен через lo на адрес обратной связи (loopback). Вторая строка говорит, что трафик для хостов в локальной сети будет перенаправлен через интерфейс eth0. Третья строка сообщает, что трафик предназначенный для корпоративной сети будет направлен на шлюз 192.168.50.1 также через eth0. Четвертая строка сообщает, что трафик направленный в интернет будет направлен на шлюз 192.168.50.254 также через eth0.
АйПи адреса в таблице могут также появиться как имена, которые получены просмотром адресов в /etc/networks или с использованием резолвера из библиотеки языка C.
В дополнение к маршрутизации, ядро может производить трансляцию сетевых адресов, резать трафик и фильтровать его.
Эти статьи могут быть найдены здесь.
Установка имени хоста.
Задание имени хоста во время установки Дебиан может оказаться преждевременным. Вы можете узнать или установить имя хоста с помощью команды hostname.
Вы можете увидеть ваше текущее имя хоста с помощью:
Например, чтобы установить имя хоста напрямую вам нужно зайти под суперпользователем и выполнить:
Когда ваша система загружается имя хоста будет автоматически прочитано из файла /etc/hostname. Поэтому, если вы хотите установить имя хоста на постоянку, то измените этот файл.
Установка DNS.
Когда дело доходит до установки DNS, Дебиант ничем не отличается от других дистрибутивов. Вы можете добавить имя хоста и его АйПи адрес в файл /etc/hosts для статических запросов.
Чтобы заставить вашу машину отправлять запросы соответствующему серверу, вы просто должны добавить их адреса в файл /etc/resolv.conf.
Например, машина с адресом 192.168.1.1, которая должна отправлять запросы к DNS серверу, должна иметь файл resolv.conf следующего вида:
Установка АйПи адреса
АйПи адреса связанные с любыми сетевыми картами можно прочесть в файле /etc/network/interfaces
Простое содержимое файла для машины со статическим адресом будет выглядеть примерно так:
Здесь мы устанавливаем АйПи адрес (192.168.3.90), шлюз по умолчанию (192.168.3.1) и сетевую маску.
Для машины использующей DHCP настройка сети в Debian выглядит намного проще:
Если вы используете настройку сети с помощью DHCP, то у вас должен быть установлен DHCP клиент, обычно это pump, dhcpcd или dhcp3-client. Если вы делаете изменения в этом файле и хотите чтобы эти изменения вступили в силу, выполните команду:
Установка второго АйПи адреса или виртуальный АйПи адрес в Debian
Если вы администратор серверной системы или обычный пользователь, вам иногда необходимо установить второй АйПи адрес на вашей системе под Дебиан. Для этого вам необходимо исправить файл /etc/network/interfaces добавив строки следующего вида. Ниже приведен пример в котором вам необходимо изменить адреса на ваши собственные:
Вам нужно ввести все детали, такие как адрес, сетевая маска, сеть, широковещательный адрес, шлюз. После этого сохраните файл и перезапустите сетевые службы командой:
учтите, что запускаются только интерфейсы описание которых начинается с auto.
Если вы хотите проверить установились ли новые айпи адреса, выполните следующую команду:
Установка шлюза по умолчанию.
Если вы прочитали предыдущую часть, то вы видели что шлюз по умолчанию для хоста со статическим адресом может быть установлен в файле /etc/network/interfaces. Если вы хотите просмотреть ваш текущий шлюз, то выполните:
Kernel IP routing table
| Destination | Gateway | Genmask | Flags | MSS | Window | irtt | Iface |
| 192.168.3.0 | 0.0.0.0 | 255.255.255.0 | U | 0 | 0 | 0 | eth0 |
| 0.0.0.0 | 192.168.3.1 | 0.0.0.0 | UG | 0 | 0 | 0 | eth0 |
Также вы можете использовать команду:
Kernel IP routing table
| Destination | Gateway | Genmask | Flags | Metric | Ref | Use | Iface |
| 192.168.3.0 | * | 255.255.255.0 | U | 0 | 0 | 0 | eth0 |
| default | router | 0.0.0.0 | UG | 0 | 0 | 0 | eth0 |
Чтобы изменить ваш шлюз по умолчанию, вы должны для начала удалить существующий:
Как только это сделано, шлюз по умолчанию будет удален и вы сможете взаимодействовать только с локальными машинами. Добавьте новый шлюз:
Как в линуксе узнать IP-адрес
IP-адрес устройства служит неким идентификатором в локальной сети Интернет. К каждому ПК привязан собственный адрес, при помощи которого распознается устройство. Во многих ситуациях пользователь может обойтись и без этой информации, однако, в некоторых случаях знать IP Linux всё же полезно. Эти данные могут понадобиться для работы с домашним компьютером, а также с локальной сетью.
В данной статье будут рассмотрены альтернативные способы того, как узнать IP-адрес устройства Linux.
IP-адреса принято делить на 3 типа:
Программное обеспечение любого устройства функционирует между собой при помощи сетевых протоколов. Для нормального взаимодействия нескольких программ требуется внутренний IP ПК. Обычно этот адрес выглядит следующим образом:
Если говорить об адресах локальной сети, то в этом вопросе возникают определенные трудности. По идее, каждый компьютер должен иметь уникальный сетевой идентификатор, но с некоторых пор это стало невозможным. В мире появилось слишком много устройств – свободные адреса начали стремительно заканчиваться. Теперь обычный пользователь не может иметь ПК с собственным IP-адресом в локальной сети (эта возможность доступна только серверам). Через NAT провайдеры начали размещать своих клиентов на одинаковых IP.
Это приводит к тому, что компьютер без проблем получает доступ к Интернет-серверу, но подключиться к такому ПК невозможно, поскольку его адрес совпадает с адресом сотни других устройств. Их владельцы также получили его от провайдера.
На текущий момент времени не существует иного способа осуществить подключение устройства к Интернету. Без NAT пользователю пришлось бы обеспечить отдельное Интернет-подключение для каждого устройства (например, для двух ноутбуков). А это, как минимум, очень дорого и неудобно.
Резюмируем: благодаря NAT подключение устройства к локальной сети происходит за счет получение устройством внешнего IP, принадлежащего поставщику услуг (провайдеру). Этот адрес также используется сотнями других пользователей.
Внутренний IP-адрес в Линукс
Следует еще раз напомнить о том, что внутренний адрес устройства всегда идентичный. Он был упомянут выше. Данная информация актуальна не только для пользователей Linux, но и остальных операционных систем. Если хочется убедиться в правдивости информации, можно воспользоваться терминалом:
Локальный IP-адрес в Линукс
Чтобы получить нужные данные, достаточно воспользоваться специальной командой в терминале дистрибутива Линукс:
Утилита выведет информацию обо всех интерфейсах и их адреса.
Более подробно о параметрах можно посмотреть в другой статье https://www.vseprolinux.ru/komanda-ip
Такая команда работает в разных версиях Линукс, таких как ubuntu, debian, centos.
В появившемся окне также можно увидеть множество дополнительных данных об интерфейсах: маска сети, некоторые статистические данные. Если не получается самостоятельно найти локальный адрес в окошке, обратите внимание на цифры, указанные после слов «inet». Это и есть искомый IP.
Чтобы вывести на экран окно, содержащее исключительно IP-адреса, выполните команду:
Узнать IP address можно с помощью команды «ifconfig», однако она считается устаревшей и в большинство дистрибутивов она не установлена по умолчанию.
Как узнать Внешний IP-адрес
Основная загвоздка заключается в том, что пользователь устройства не имеет доступа к серверу своего поставщика услуг. Это решало бы проблему одним махом, но такой возможности нет. Юзеру нужно искать обходные пути.
Если есть необходимость выяснить IP-адрес маршрутизатора, то придется действовать иным методом. Чтобы получить нужную информацию, внимательно ознакомьтесь с настройками гаджета.
Заключение
IP-адрес Линукс может потребоваться юзеру в различных ситуациях. Новичку нужно внимательно разобраться с типами адресов, чтобы понять специфику данного вопроса. Воспользовавшись нашими рекомендациями, вы быстро выявите способ получения важной информации о своем компьютере, функционирующем на базе популярной операционной системы Linux. Все эти способы указаны в статье. Совсем немного практики – и задача уже не кажется такой сложной, как это было в начале.
Настройка сети Debian 9
Все операционные системы предоставляют команды и интерфейс для настройки сети из командной строки. В дистрибутивах Linux нам даже это не нужно, потому что мы можем сами редактировать конфигурационные файлы и вносить необходимые изменения. В некоторых случаях настройка через конфигурационные файлы будет проще, чем с помощью графических утилит, потому что вы можете полностью все контролировать.
В этой статье будет рассмотрена настройка сети Debian 9. Мы разберем как настроить имя хоста, сетевые интерфейсы и получить IP адреса для них. Эта инструкция подойдет как для обычных компьютеров, так и для серверов.
1. Имя компьютера
Чтобы посмотреть текущее имя хоста вы можете использовать команду hostname:
Установить новое имя хоста очень просто, для этого достаточно передать его команде hostname в качестве параметра:
После перезагрузки имя хоста не сохранится, поэтому вам нужно отредактировать файл /etc/hostname и добавить туда новое имя хоста, уже это имя останется даже после перезагрузки:
Осталось только связать новое имя хоста с локальным IP адресом, чтобы иметь возможность обращаться по нему к компьютеру. Для этого добавьте такую строку в файл /etc/hosts:
127.0.0.1 localhost debian-pc
2. Список сетевых интерфейсов
Перед тем как мы сможем настроить сеть нужно посмотреть какие сетевые интерфейсы подключены к вашей системе и какие имена им присвоены. Для этого наберите:

3. Настройка сетевого интерфейса
Для настройки сетевых интерфейсов в операционных системах, основанных на Debian, используется файл /etc/network/interfaces. Здесь должно находится описание для каждого интерфейса, способ получения IP а другие параметры. В одном файле может быть настроено несколько интерфейсов. Описание каждого интерфейса начинается со слова auto после которого идет имя интерфейса.
Перед тем как рассматривать все более подробно, поговорим про опции, которые можно использовать:
Настройка динамического IP
Мы будем получать IP адрес через DHCP сервер, оттуда же будут получены шлюзы и DNS сервер, поэтому для работы достаточно добавить две строчки. Например, настроем получение IP по DHCP для интерфейса eth0:
auto eth0
iface eth0 inet dhcp
Но если необходимо, то вы можете установить вручную ip адрес DNS сервера:
Для локального интерфейса настройка будет выполняться таким образом:
auto lo
iface lo inet loopback
Здесь мы не получаем адрес по DHCP, но присваиваем локальный адрес 127.0.0.1.
Настройка статического IP адреса
Если вы хотите установить именно статический IP, то здесь все будет немного сложнее. Нам нужно знать не только этот свободный IP адрес, но и шлюз, маску сети и DNS сервер. Для настройки используется такой набор строк:
iface eth0 inet static
address 192.168.1.15
netmask 255.255.255.0
gateway 192.168.1.1
broadcast 192.168.0.255
dns-nameserver 8.8.8.8
Здесь указывается, что мы будем использовать метод получения ip адреса static, а затем расписаны все параметры. Но это еще далеко не все, что можно сделать с помощью файла /etc/network/interfaces. Также вы можете создавать виртуальные интерфейсы.
Настройка виртуальных интерфейсов
В некоторых случаях нам может понадобиться создать виртуальный интерфейс. Это позволяет добавить еще один IP адрес к интерфейсу. Чтобы создать такой интерфейс достаточно дописать его номер после двоеточия:
auto eth0:0
iface eth0:0 inet static
address 192.168.1.101
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
Имя интерфейса, для которого создается виртуальный интерфейс должно совпадать с реальным.
Настройка мостов
Сетевые мосты между виртуальными интерфейсами в системе позволяют настроить полноценный доступ к интернету из виртуальных машин. Они могут применяться для KVM,qemu,XEN и других конфигураций. Для настройки моста используйте:
auto br0
iface br0 inet static
address 192.168.1.20
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
Здесь мы указываем имя интерфейса br0, дальше выполняем стандартную настройку получения статического IP адреса, затем связываем этот мост с интерфейсом eth0.
Перезагрузка сети
После внесения всех изменений необходимо перезапустить сеть, чтобы сетевые настройки debian вступили в силу, для этого наберите:
sudo systemctl restart networking
Выводы
В этой статье мы рассмотрели как выполняется настройка сети Debian 9. Конечно, это еще далеко не все, что возможно настроить, но с помощью этих команд можно в большинстве случаев заставить работать сеть. настройка сети из консоли debian дело сложное, в графическом интерфейсе все делается намного проще, с помощью NetworkManager все настраивается автоматически. Надеюсь, эта информация была полезной для вас.



















