Команда получения ip адреса

3 августа 2022

8 мин. на чтение

Каждый компьютер в сети интернет нужно определённым образом идентифицировать. Раньше, каждый компьютер, подключённый к интернету, имел уникальный IP адрес, с помощью которого можно было к нему подключиться, сейчас же большинство домашних компьютеров спрятаны за NAT, а белые IP адреса есть только у серверов.

Все взаимодействие между компьютерами в сети выполняется по IP адресам. Это более актуально для серверов, но может быть полезно и для домашних компьютеров, и локальных сетей. В этой небольшой статье мы рассмотрим, как узнать IP Linux разными способами. Поговорим о том, как узнать внешний IP, выданный провайдером, и внутренний IP в вашей локальной сети.

В Ubuntu подключение к сети настраивается с помощью сервиса Network Manager. Чтобы подключиться к сети, достаточно пару раз кликнуть мышкой, выбрать соединение – и готово. То же самое, и даже ещё проще, при использовании проводного соединения – тут интернет подключается автоматически, как только загрузился апплет.

  • Как работает сеть?
  • Настройка сети через терминал в Ubuntu
  • Ручная настройка сети в Ubuntu
  • Настройка DNS
  • Выводы

Что такое IP-адрес

Первый появился совсем в древности (в 1981 году), записан в 32-битном формате и состоит из четырех групп чисел, разделенных точкой. Их значения варьируются от 0 до 255. Пример IPv4-адреса выглядит следующим образом: 95.151.8.175.

IPv6 относительно молод. Он стартовал в 1996 году и записывается уже в 128-битном формате: группами по четыре символа, разделенными друг от друга двоеточиями. Выглядит это так: 2044:0da3:11a4:01d3:7f72:6a3e:15a2:524d.

Оба формата являются исчерпаемым ресурсом, то есть рано или поздно незарезервированные адреса закончатся. И если запасов IPv6 хватит еще надолго, то с IPv4 у провайдеров, предоставляющих адреса клиентам, в скором времени уже могут возникнуть проблемы.

Команда получения ip адреса

Ifconfig уже устарел

Вместо ifconfig рекомендуется использовать команду

Определяем IP-адрес командой ip

ip address

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
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp2s0: mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:24:1d:83:da:25 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.2/24 brd 192.168.2.255 scope global dynamic noprefixroute enp2s0
valid_lft 76434sec preferred_lft 76434sec
inet6 fe80::1f6e:e0e4:27d1:e643/64 scope link noprefixroute
valid_lft forever preferred_lft forever

Команда получения ip адреса

В результате выполнения команды на экран будет выведен список текущих сетевых интерфейсов и их параметры. Первый интерфейс в списке обычно lo — это loopback интерфейс (нас он сейчас не интересует). Нас интересует Ethernet-интерфейс или WiFi-интерфейс (в зависимости от того, какое у вас подключение).

Ethernet интерфейсы обычно имеют имена вида enp2s0 или eth0, а WiFi-интерфейсы имеют имена вида wlp2s0 или wlan0 (цифры в названии могут отличаться).

Определяем IP-адрес командой hostname

Команда получения ip адреса

Через графическую утилиту

Команда получения ip адреса

Команда получения ip адреса

Настройки сетевого интерфейса.

Войдите, чтобы ставить лайки

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

Раньше вместо неё использовалось несколько других утилит, одна из них – ipconfig. Однако потом им на замену пришла ip. Сейчас она уже поставляется во всех дистрибутивах, а со временем старые утилиты будут удалены, поэтому разобраться с ней стоит.

Сначала рассмотрим синтаксис команды. Утилита довольно многофункциональная, поэтому и синтаксис её вызова непростой:

Опции – это глобальные настройки, которые сказываются на работе всей утилиты независимо от других аргументов, их указывать необязательно.

  • объект – это тип данных, с которым надо будет работать, например: адреса, устройства, таблица arp, таблица маршрутизации и так далее;
  • команды – какое-либо действие с объектом;
  • параметры – само собой, командам иногда нужно передавать параметры, они передаются в этом пункте.

Дальше рассмотрим все еще более подробно:

  • -v, -Version – только вывод информации об утилите и ее версии.
  • -h, -human – выводить данные в удобном для человека виде.
  • -s, -stats – включает вывод статистической информации.
  • -d, -details – показывать ещё больше подробностей.
  • -f, -family – позволяет указать протокол, с которым нужно работать, если протокол не указан, то берется на основе параметров команды. Опция должна принимать одно из значений: bridge, dnet, inet, inet6, ipx или link. По умолчанию используется inet, link – означает отсутствие протокола.
  • -o, -oneline – выводить каждую запись с новой строки.
  • -r,-resolve – определять имена хостов с помощью DNS.
  • -a, -all – применить команду ко всем объектам.
  • -c, -color – позволяет настроить цветной, доступные значения: auto, always и never.
  • -br, -brief – выводить только базовую информацию для удобства чтения.
  • -4 – короткая запись для -f inet.
  • -6 – короткая запись для -f inet-f inet6.
  • -B – короткая запись для -f inet-f bridge.
  • -0 – короткая запись для -f inet -f link.

Теперь давайте рассмотрим самые важные объекты.

  • address или a – сетевые адреса.
  • link или l – физическое сетевое устройство.
  • neighbour или neigh – просмотр и управление ARP.
  • route или r – управление маршрутизацией.
  • rule или ru – правила маршрутизации.
  • tunnel или t – настройка туннелирования.

Конечно, это не все объекты которые поддерживает команда ip Linux, но на первое время вам хватит. Во время ввода имя объекта может быть сокращено до одной буквы. При неоднозначности используется алфавитный порядок. Например, ip a show, расшифровывается как ip address show. Тогда как в ip r show, r – означает route.

Теперь рассмотрим доступные команды, с помощью которых может быть выполнена настройка сети linux. Они зависят от объекта, к которому будут применяться. Вот основные команды: add, change, del или delete, flush, get, list или show, monitor, replace, restore, save, set, и update. Если команда не задана, по умолчанию используется show (показать).

Здесь тоже поддерживается сокращение и в большинстве случаев для выполнения нужного действия достаточно нескольких символов. Но алфавитный порядок соблюдается не всегда. Например, ip a s, означает ip address show, а не ip address set, к сожалению.

Привет, мир! Рассказываем про 10 самых часто используемых команд nslookup.

Команда получения ip адреса

Что такое nslookup?

Команда получения ip адреса

Определение NS-записей домена

nslookup –type=ns merionet.ru

Команда получения ip адреса

Определение SOA записи узла

SOA-запись (Start of Authority) — начальная запись зоны, которая указывает местоположение эталонной записи о домене. Она содержит в себе контактную информацию лица, ответственного за данную зону, время кэширования информации на серверах и данные о взаимодействии DNS. SOA-запись создается автоматически. Для определения SOA записи используется команда:

nslookup –type=SOA merionet.ru

Команда получения ip адреса

Как найти MX-запись хоста

Электронная почта сегодня используется повсеместно. Чтобы отправлять и получать электронные письма хост используется тип записи MX. В каждой MX-записи хранятся два поля:

  • имя почтового сервера, который обслуживает домен
  • порядковый номер, по которому определяется какой сервер первым будет обрабатывать запросы клиентов

Для определения MX-записей хоста используется команда:

nslookup –type=MX merionet.ru

Команда получения ip адреса

Определение всех типов DNS-записей

nslookup –type=any merionet.ru

Команда получения ip адреса

Явное указание DNS-сервера

nslookup merionet.ru dns2.yandex.ru

Команда получения ip адреса

Как видно из скриншота, ответ нам вернул уже сервер Яндекса.

Обратный DNS lookup

Команда получения ip адреса

Изменение номера порта для запроса

По умолчанию, для запросов DNS использует 53 (UDP) порт. Но это поведение тоже можно изменить, хотя особого необходимости в этом нет.

nslookup –port=56 merionet.ru

Команда получения ip адреса

Изменение интервала ожидания

Бывают случаи, особенно при слабых Интернет соединениях, что ответа от сервера приходится ждать долго. По умолчанию, если ответ не приходит в течении 5 секунд, то запрос повторяется, увеличив время ожидания в два раза. Но можно вручную задать это значение в секундах:

nslookup –timeout=10 merionet.ru

Отработку этой команды увидеть сложно, но она может быть эффективна при соединениях с низкой скоростью.

Включение режима отладки

Режим отладки позволяет получать более детальную информацию об узле. Для этого используется команда:

nslookup –debug merionet.ru

Команда получения ip адреса

Заключение

Когда утилита nslookup возвращает ответ, там указывается с какого сервера вернулся ответ. Эти сервера бывают authoritative и non-authoritative answer.

Authoritative answer – это ответ, полученные непосредственно от сервера, который располагает информацией об указанном домене. В нашем случае – это dns2.yandex.ru. Non-authoritative answer – это ответ, полученный от промежуточного сервера. В нашем случае – это мой роутер.

Рекомендуем

Операционная система Microsoft Windows невероятно распространена и каждому администратору приходится с ней сталкиваться. Поэтому мы решили собрать список основных команд для командной строки CMD которые пригодятся при настройке и траблшутинге сети.

:/>  Windows 10 не видит принтер: почему не работает принтер

Команды CMD

Ping – Конечно же пинг! Самая используемая утилита, отправляющая ICMP пакеты для проверки доступности узла на другой стороне. Показывает ответы, время за которое пакеты были доставлены и TTL (Time To Live), а по окончанию показывает статистику. По умолчанию высылается 4 пакета, и увеличить их количество можно добавив в строку –n число_пакетов, либо запустив непрерывный пинг набрав –t. Помимо этого есть параметр –l размер_пакета, позволяющий изменить размер отправляемого пакета.

ping 192.168.1.1 -t

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

Команда получения ip адреса

Tracert – Trace route как и ping позволяет определить доступность удаленного узла, однако она отображает в выводе все маршрутизаторы, через которые проходил пакет. При выполнении этой команды высылается ICMP пакет, с TTL=1, и после того как первый маршрутизатор отбросит пакет, будет выслан пакет с TTL увеличенным на 1, и так далее, пока не будет достигнет пункт назначения, либо пока TTL не станет равным 30.

Команда получения ip адреса

Pathping – Эта команда аналогично команде tracert выполняет трассировку, дополнительно показывая статистику по задержкам и потерям на промежуточных узлах.

Команда получения ip адреса

Ipconfig – Эта команда отображает текущие настройки протокола TCP/IP – IP адрес, маску, шлюз. Для отображения полной информации сетевого адаптера нужно добавить после команды параметр /all – теперь можно узнать mac-адрес, адрес DHCP сервера и многое другое. Для просмотра всех ключей можно воспользоваться параметром /?. Так же могут быть полезными параметры /release для отмены сетевых настроек, полученных по DHCP, /renew для обновления конфигурации сетевого адаптера по DHCP и /flushdns для очистки DNS кэша.

Getmac – эта команда используется для определения MAC-адреса компьютера. Использование этой команды отображает MAC-адрес сетевых адаптеров устройства.

Netstat – эта команда показывает состояние входящих и исходящих TCP соединений. Если мы используем команду с параметром –r, то она выведет нам таблицы маршрутизации, а использовав параметр –s мы получим статистику по протоколам

Netsh – Net Shell, сетевая оболочка. Используется для локальной или удаленной настройки сетевых параметров. После ввода команды строка переходит в режим оболочки, внутри которой можно ввести /? и увидеть все доступные настройки. Внутри каждой команды таким способом можно посмотреть список доступных подкоманд.

Команда получения ip адреса

Например, мы можем указать статический адрес для интерфейса:

netsh interface ip set address local static 192.168.1.10 255.255.255.0

Net view – отображает имена компьютеров в текущем домене

arp – a

Hostname – показывает имя компьютера.

NbtStat – отображение статистики протокола и текущих подключений TCP/IP с помощью NBT (NetBIOS через TCP/IP).

Команда получения ip адреса

Route – команда для обработки таблиц сетевых маршрутов. Показывает текущую таблицу, имеется возможность добавлять и удалять маршруты. Чтобы вывести все содержимое таблицы маршрутизации нужно набрать команду route print.

Команда получения ip адреса

Telnet – клиент сервера Telnet для подключения к удаленным хостам.

Внимание: по умолчанию telnet не установлен. Чтобы установить его из командной строки нужно выполнить команду pkgmgr /iu:”TelnetClient”

telnet 192.168.1.20 5150

Также эту команду можно использовать для проверки доступности порта на узле – если команда выдает ошибку, то значит порт закрыт, а если появляется приглашение или окно становится пустым – то открыт.

Команда получения ip адреса

На этом все! Мы что-то упустили или вы хотите о чем-то прочитать поподробнее? Напишите об этом в комментариях.

Команда ip – это сетевой инструмент Linux для системных и сетевых администраторов. IP означает Интернет-протокол и, как следует из названия, инструмент используется для настройки сетевых интерфейсов. В старых дистрибутивах Linux использовалась команда ifconfig, которая работает аналогично. Однако ifconfig имеет ограниченный диапазон возможностей по сравнению с командой ip.

В этом руководстве мы рассмотрим все важные операции, которые команда ip может выполнять в Linux.

Команда получения ip адреса

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

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

К объектам OBJECT (или подкомандам), которые вы будете использовать чаще всего, относятся:

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

Они могут использоваться как в полной, так и сокращенной форме.

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

Команда получения ip адреса

Для выполнения команд вы можете использовать либо полную, либо сокращенную формы. Например, ip link и ip l будут давать одинаковые результаты.

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

Предупреждение: по умолчанию система не сохраняет изменения перманентно. После перезапуска Linux-сервера вновь измененное состояние будет потеряно. Есть два способа сделать ваши настройки постоянными: добавить команды в сценарий запуска или отредактировать дистрибутивные файлы конфигурации.

Управление и отображение сетевых интерфейсов

Вы можете получить список всех параметров команды link, набрав:

ip link help

Команда получения ip адреса

Получить информацию о сетевом интерфейсе

Чтобы увидеть информацию канального уровня обо всех доступных устройствах (у которых загружен драйвер), используйте команду:

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 12:24:01:8c:67:45 brd ff:ff:ff:ff:ff:ff

Если вы хотите, чтобы команда отображала информацию для одного конкретного устройства, введите следующее:

Чтобы просмотреть статистику по всем сетевым интерфейсам (такие детали, как переданные или отброшенные пакеты или даже ошибки), используйте:

ip -s link

Вы также можете увидеть аналогичную информацию для отдельного сетевого интерфейса:

Если вам нужно больше подробностей, добавьте еще -s в синтаксис:

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

ip link ls up

Изменить статус сетевого интерфейса

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

Отключите интерфейс, введя:

Команда ip link позволяет вам изменять очередь передачи, ускоряя или замедляя интерфейсы в соответствии с вашими потребностями и аппаратными возможностями.

Вы можете установить MTU (Maximum Transmission Unit) для улучшения производительности сети:

Чтобы узнать все опции команды link, наберите:

Команда получения ip адреса

Мониторинг и управление IP-адресами

Узнайте все команды address, набрав следующее:

ip addr help

Команда получения 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 51:55:07:8a:62:44 brd ff:ff:ff:ff:ff:ff
inet 192.168.120.24/24 brd 192.168.120.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

Вы также можете увидеть информацию об отдельной сети:

Чтобы получить список всех IPv4 адресов, используйте:

ip -4 addr

Чтобы получить список всех IPv6 адресов, используйте:

ip -6 addr

Как добавить IP-адрес в Linux

Чтобы добавить два адреса на один интерфейс также используйте эту команду:

ip address add 192.168.1.41/24 dev eth0
ip address add 192.168.1.40/24 dev eth0

Если вам нужно добавить широковещательный (broadcast) адрес для интерфейса, используйте команду:

Управление и отображение таблицы IP-маршрутизации

Просмотрите полный список команд ip routeс помощью следующей команды:

ip route help

Команда получения ip адреса

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

Для просмотра всех записей в таблице маршрутизации используйте одну из следующих команд:

ip route list

default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.241 metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.241
192.168.1.1 dev eth0 proto dhcp scope link src 192.168.1.241 metric 100

С помощью команд, приведенных выше, выходные данные отображают все записи маршрута в ядре. Если вам нужно сузить поиск, добавьте объект SELECTOR:

ip route list SELECTOR

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

Изменить таблицу IP-маршрутизации

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

Или вы можете добавить новый маршрут через шлюз, набрав:

:/>  Чем открыть ISZ файл

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

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

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

При помощи команды ip neigh можно манипулировать таблицами ARP (Address Resolution Protocol). Это аналог команды arp

Для получения полного списка всех параметров команды neigh используйте:

ip neigh help

Команда получения ip адреса

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

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

ip neigh show

Выходные данные показывают MAC-адреса устройств, которые являются частью системы, и их состояние. Состояние устройства может быть:

  • REACHABLE – означает валидную, достижимую запись до истечения таймаута.
  • PERMANENT – означает постоянную запись, которую может удалить только администратор
  • STALE – означает действительную, но недоступную запись
  • DELAY – означает, что ядро все еще ожидает проверки из устаревшей записи

Изменить IP-записи соседей

Добавьте новую запись в таблицу с помощью команды:

Или удалите существующую запись ARP:

Команда получения ip адреса

Команда получения ip адреса

На сайте pr-cy

Команда получения ip адреса

Команда получения ip адреса

С помощью сайта Whoer. net

Команда получения ip адреса

Команда получения ip адреса

Как узнать внешний IP-адрес в Linux

Для того чтобы узнать внешний IP адресе вы можете открыть специальный сайт, который посмотрит, с какого IP вы его открыли, и скажет его вам. Есть довольно много таких сайтов. Проще всего сделать это с помощью браузера, например, откройте сайт ifconfig.me:

Команда получения ip адреса

Но это не всегда удобно. Лучше сделать это с помощью терминала. Просто используйте команду curl или wget. Сразу рассмотрим несколько таких сайтов, чтобы вы могли использовать любой понравившийся из них:

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

alias getip=”curl ifconfig.me”

Команда получения ip адреса

Хочу заметить, что если вы хотите узнать не внешний IP компьютера, а именно адрес роутера в сети провайдера, то такой способ не поможет. Вам нужно посмотреть в настройках роутера или попытаться сделать это через командный интерфейс роутера, так как это описано в предыдущем варианте.

Как узнать внутренний IP-адрес компьютера

Теперь от теории перейдем к практике и научимся определять свой IP. Начнем с внутреннего адреса. Сделать это можно несколькими способами.

Через диспетчер задач

Первый способ — с помощью диспетчера задач. Для того чтобы его открыть, необходимо зажать комбинацию клавиш Ctrl+Alt+Delete и в появившемся окне выбрать «Диспетчер задач» либо кликнуть правой кнопкой мыши на кнопку «Пуск» и в выпадающем меню выбрать «Диспетчер задач». В запущенном диспетчере перейдите на вкладку «Производительность» и затем выберите пункт «Ethernet». В правой части окна будут значения вашего IP — это именно то, что вы и искали.

Команда получения ip адреса

Команда получения ip адреса

С помощью командной строки

Команда получения ip адреса

Команда получения ip адреса

Приложение «Параметры»

В параметры системы можно также попасть несколькими способами. Самый простой — нажатием сочетания горячих клавиш Win+I. Также можно выбрать этот пункт после нажатия кнопки «Пуск», кликнув на значок шестеренки левой кнопкой мыши. Далее выберите раздел «Сеть и интернет» и перейдите во вкладку Wi-Fi либо Ethernet, в зависимости от типа вашего подключения: Wi-Fi — для беспроводного и Ethernet при подключении по кабелю. Затем нажмите на свое подключение, и внизу будет информация о вашем IP.

Команда получения ip адреса

Команда получения ip адреса

Компонент «Информация о системе»

Команда получения ip адреса

Команда получения ip адреса

Немного теории

  • Адрес в локальной сети;
  • Внешний IP доступный во всём интернете.

С локальной сетью всё немного сложнее. Интернет, это не одноранговая сеть, где все компьютеры соединены между собой на одном уровне, а множество отдельных сетей, соединённых между собой с помощью маршрутизаторов. Если ваш компьютер подключен к интернету по проводу, то здесь у вас есть марштуризатор, к которому можно подключить несколько устройств. Например, компьютер, ноутбук и смартфон. Сеть роутера называется локальной и в этой сети у компьютера есть IP адрес, который вы можете использовать для доступа к нему из других устройств в этой сети. Но для провайдера и внешнего интернета у всех этих устройств будет один IP адрес – адрес роутера.

Теперь давайте разберемся с внешним IP адресом. Точно так же как вы подключаете несколько своих устройств в локальной сети, так и провайдер объединяет своих клиентов в локальную сеть и для внешнего интернета у них на всех один IP адрес. Так было сделано потому что с ростом популярности этой технологии свободные адреса скоро начали заканчиваться, и теперь уникальные IP имеют только серверы, а обычные пользователи размещаются провайдерами по несколько сотен на одном IP с помощью NAT. Этот IP адрес считается внешним.

Одно время, провайдеры раздавали пользователям динамические IP, которые были уникальными и менялись при перезагрузке роутера. По ним можно было получить доступ к компьютеру из интернета после небольшой настройки роутера, но потом начали использовать технологию NAT для того чтобы разместить много пользователей на одном адресе. Но это не большая проблема. Так компьютеры домашних пользователей находятся в большей безопасности, а если к ним нужно получить доступ то существуют такие сервисы как Ngrok, а также можно использовать VPN.

Технология NAT позволяет компьютеру подключиться к любому серверу в интернете и получить от него ответ, но инициировать подключение из интернет к такому компьютеру невозможно, поскольку фактически один IP принадлежит сотне компьютеров, и система просто не знает, к какому из них обращаются.

Теперь, когда вы немного начали ориентироваться в вопросе, давайте рассмотрим способы узнать свой IP Linux.

Как я уже сказал, внутренний IP всегда одинаковый для каждого компьютера – 127.0.0.1, что справедливо не только для Linux, но и для Windows и других операционных систем. Вообще, все IP адреса от 127.0.0.1 до 127.255.255.255 привязаны к локальному сетевому интерфейсу и используются для взаимодействия с текущим компьютером.

Также к своему компьютеру можно обратиться по домену localhost. Вы можете убедится в этом, выполнив команду ping:

Команда получения ip адреса

Зачем нужно знать свой IP-адрес?

Используя ваш IP, хакеры могут загружать в интернет нелегальный контент (например, материалы террористической направленности). Но правоохранители после будут задавать вопросы именно вам.

  • Первый вариант — это использование прокси-сервераВ этом случае сайты и сервисы будут определять и видеть не ваш IP, а IP прокси-сервера, поэтому вы будете в безопасности.
  • Второй вариант — это использование VPN (Virtual Private Network, виртуальная частная сеть)

Присылайте нам свои обзоры техники и получайте до 1000 бонусов на карту «Эльдорадости»!

Настройка DNS

Если вам нужно настроить DNS так, чтобы он не сбивался после перезагрузки, необходимо использовать систему настройки сети Ubuntu. Для этого откройте файл /etc/network/interfaces и добавьте в него строчку после директив для нужного интерфейса:

dns-nameservers 8.8.8.8 4.4.4.4

sudo service networking restart

Если же вам нужно настроить DNS только для этого сеанса, то добавьте строчку в /etc/resolv.conf

sudo vi /etc/resolv.conf

nameserver 8.8.8.8
nameserver 4.4.4.4

После сохранения файла сеть будет работать полностью так, как нужно. Но последний способ пригоден только до перезагрузки, поскольку файл /etc/resolv.conf генерируется автоматически.

Примеры использования ip

Вот теперь мы дошли к самому интересному – примерам использования утилиты ip Linux. То что я здесь опишу на самом деле лишь маленькая капля из всего того что может утилита ip.

Просмотр IP адресов

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

Команда получения ip адреса

Для просмотра информации в кратком виде используйте опцию -br:

ip -br a show

Команда получения ip адреса

Можно посмотреть IP адреса только по определённому сетевому интерфейсу, например: enp0s3:

ip a show enp0s3

ip a show dev enp0s3

Команда получения ip адреса

Можно отобразить только статические IP адреса:

ip a show dev enp0s3 permanent

Или только динамические:

ip a show dev enp0s3 dynamic

Добавление IP адреса

Чтобы присвоить IP адрес для устройства нужно использовать команду add. Её общий синтаксис такой:

$ ip addr /

Например, давайте присвоим тому же интерфейсу enp0s3 IP адрес 10.0.2.100 с маской подсети 255.255.255.0:

ip addr add 10.0.2.100/255.255.255.0 dev enp0s3

Команда получения ip адреса

Маску можно указать и в сокращённом виде:

ip addr add 10.0.2.100/24 dev enp0s3

Удаление IP адреса

Чтобы удалить IP адрес из интерфейса надо использовать команду del. Синтаксис её очень похож на предыдущую команду. Например, удалим IP адрес 10.0.2.100:

ip addr del 10.0.2.100/255.255.255.0 dev enp0s3

Можно удалять IP адреса по одному или удалить все сразу с помощью команды flush:

ip a flush

Или же можно удалить адреса только определённой подсети:

sudo ip a flush to 10.0.2.0/24

Команда получения ip адреса

Если вы будете применять эти команды к интерфейсу, с помощью которого у вас работает сеть, то сеть пропадёт и чтобы её вернуть надо будет перезагрузить сетевые службы.

Список интерфейсов

Чтобы посмотреть список сетевых интерфейсов используйте объект link:

Команда получения ip адреса

Включение или выключение интерфейсов

Для решения этой задачи тоже используется объект link, но с командой set. Синтаксис её такой:

:/>  Настройка сенсорной панели на ноутбуке asus

$ ip link

В качестве действия можно использовать up или down. Например, чтобы отключить интерфейс enp0s3 выполните:

ip link set dev enp0s3 down

А чтобы включить его обратно:

ip link set dev enp0s3 up

Команда получения ip адреса

Настройка MTU

Параметр MTU означает размер одного пакета, передаваемого по сети. Этот размер можно изменить с помощью команды set. Например, увеличим MTU для enp0s3 до 4000 тысяч байт:

ip link set mtu 4000 dev enp0s3

Команда получения ip адреса

Настройка MAC адреса

Адрес MAC – это физический адрес, который используется для определения какому устройству надо передать сетевой пакет в локальной сети. Прежде чем настраивать MAC адрес ваше устройство надо отключить:

sudo ip link set dev enp0s3 down

sudo ip link set dev enp0s3 address AA:BB:CC:DD:EE:FF

А потом включить интерфейс обратно:

sudo ip link set dev enp0s3 up

Команда получения ip адреса

Таблица ARP

Именно протокол ARP отвечает за преобразование IP адресов в низкоуровневые MAC адреса. Для того чтобы не отправлять ARP запросы каждый раз в сеть, кэш хранится в таблице ARP на протяжении 20-ти минут. Чтобы посмотреть содержимое таблицы ARP используйте такую команду:

Команда получения ip адреса

Добавление записи в таблицу ARP

Обычно записи в эту таблицу попадают автоматически, но вы можете добавить их и вручную. Для этого используйте команду add объекта neigh:

sudo ip neigh add 192.168.0.105 lladdr b0:be:76:43:21:41 dev enp0s3

Команда получения ip адреса

В этом примере я заставил компьютер думать, что узел с IP 192.168.0.105 это 192.168.0.1. Теперь можно попытаться выполнить ping по этому адресу и оно будет работать, несмотря на то, что реально такого узла в сети нет.

Очистка таблицы ARP

Вы можете удалять IP адреса по одному с помощью команды del:

sudo ip neigh del dev enp0s3 192.168.0.105

Команда получения ip адреса

Можно удалить все записи для определённого сетевого интерфейса:

ip neigh flush dev enp0s3

Или очистить таблицу полностью командой flush:

Просмотр таблицы маршрутизации

Для просмотра таблицы маршрутизации используйте объект route и команду show:

ip route show

Команда получения ip адреса

Добавление маршрута

Синтаксис добавления нового маршрута в таблицу маршрутизации такой:

Вместо шлюза можно указать сетевой интерфейс с помощью которого надо отправлять пакеты:

sudo ip route add 169.255.0.0 via 169.254.19.153

Команда получения ip адреса

Или можно указать сетевой интерфейс через который надо отправлять пакеты для определённой сети:

sudo ip route add 169.255.0.0 dev enp0s3

Удаление маршрута

Удалить маршрут можно командой с аналогичным синтаксисом, только вместо add надо использовать del:

sudo ip route del 169.255.0.0 via 169.254.19.153

Команда получения ip адреса

Как работает сеть?

Тут мы рассмотрим автоматическую настройку сети для Ubuntu 16.04 без Network Manager с помощью стандартных скриптов системы, которые остались от Upstart и пока всё ещё используются. Давайте сначала определим, какие шаги нам нужно предпринять, чтобы всё заработало:

  • Включаем сетевой интерфейс и подключаемся к сети;
  • Получаем адреса DNS-серверов.

Собственно, готово. Эти шаги очень символичны, потом что система всё сделает за нас сама. Нам нужно только выполнить нужные настройки. Но сначала давайте посмотрим, какие сетевые интерфейсы подключены к системе. Мне нравится команда:

Но если хотите, можете использовать ifconfig:

Команда получения ip адреса

В нашей системе только один интерфейс – это enp0s3, есть еще lo, но он виртуальный и указывает на эту машину.

Настройки сети находятся в файле /etc/network/interfaces.

Команда получения ip адреса

Нас будут интересовать в этом файле строчки auto и iface. Первая указывает, что нужно активировать интерфейс при загрузке, вторая же определяет настройки самого интерфейса.

Настройка динамического получения IP-адреса

auto enp0s3
iface enp0s3 inet dhcp

Синтаксис строки auto прост. Он состоит из самой команды и имени сетевого интерфейса. Рассмотрим подробнее:

После завершения настройки сохраните файл и перезапустите сетевой сервис:

Всё, если сетевой кабель подключён, и вы всё сделали правильно, Сеть будет работать.

Настройка статического адреса Ubuntu

Содержимое нашего конфигурационного файла будет выглядеть вот так:

auto eth0
iface eth0 inet static
address 192.168.1.7
gateway 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

С первыми двумя строчками все понятно, а следующие задают параметры настройки интерфейса:

  • gateway – шлюз, через который будем получать доступ в интернет;
  • netmask – маска сети;
  • network – адрес сети, имеет тот же адрес, что и шлюз, только с нулем вместо единицы;
  • broadcast – широковещательный адрес сети, отправленный на него пакет придет всем компьютерам локальной сети.

Если все параметры были указаны правильно, всё будет работать. Но если допущена хоть одна ошибка, доступ к сети вы не получите.

Это была автоматическая настройка локальной сети Гbuntu, но я ещё расскажу, как всё сделать вручную, без конфигурационных файлов.

Как узнать IP-адрес в локальной сети

Эту информацию также можно посмотреть, нажав на иконку вашего соединения в правом углу панели задач и кликнув на «Свойства». Промотайте открывшееся окно в самый низ, где будут интересующие вас данные.

Команда получения ip адреса

Команда получения ip адреса

Как узнать IP в локальной сети в Linux

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

Команда получения ip адреса

Опция -br включает сокращенный режим вывода, а a – это сокращение от address, команды которая позволяет управлять сетевыми адресами. По синтаксису туда ещё желательно добавить команду show, но она и так используется по умолчанию. Вот так будет выглядеть полная команда:

ip –brief address show

Команда получения ip адреса

Здесь выводится только список сетевых интерфейсов их состояние и IP адрес. Вот их описание:

  • lo – локальный сетевой интерфейс, который всегда указывает на текущий компьютер;
  • enp* – проводной сетевой интерфейс, расшифровывается как Enthernet PCI. Также может использоваться имя eth*.
  • wlp* – беспроводной сетевой интерфейс WiFi, расшифровывается как Wireless PCI. Также может использоваться имя wlan*.

В данном случае проводной интерфейс называется enp3s0 и вы можете видеть его IP адрес в третьей колонке. Вы также можете получить IP для конкретного сетевого интерфейса. Например для enp0s3:

ip –brief address show device enp0s3

Также можно отфильтровать только IP адрес с помощью awk:

Команда получения ip адреса

IP адреса в локальной сети должны находится в таких диапазонах:

  • От 192.168.0.0 до 192.168.255.255
  • От 10.0.0.0 до 10.255.255.255
  • От 172.16.0.0 до 172.31.255.255
  • От 100.64.0.0 до 100.127.255.255

Эти адреса зарезервированы для локальных сетей и в качестве публичных адресов использоваться не могут.

Вы также можете использовать устаревшую команду ifconfig. Здесь отображается довольно много информации: MAC-адрес, маску сети и небольшую статистику по работе интерфейса. Сам IP адрес отображается после слова inet:

Команда получения ip адреса

Команда получения ip адреса

Ручная настройка сети в Ubuntu

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

Эта команда используется для управления сетью и входит во все дистрибутивы по умолчанию.

Как и в предыдущем примере, смотрим сетевые интерфейсы:

После того, как мы узнали интерфейс, можно переходить к настройке.

Получение IP-адреса по DHCP

Сначала включаем интерфейс:

sudo ip link set enp0s3 up

Затем с помощью команды dhclient запрашиваем ip:

sudo dhclient enp0s3

Настройка статического IP

sudo ip addr add 192.168.1.7/255.255.255.0 broadcast 192.168.1.255 dev enp0s3

sudo ip route add default via 192.168.1.1

Как видите, сеть работает. Если хотите поэкспериментировать на машине с рабочей сетью, её можно сбросить командой:

sudo ip -4 addr flush dev enp0s3

Выводы

В этой статье была рассмотрена настройка сети Ubuntu из консоли. Я пытался не просто показать команды, с помощью которых это можно сделать, но и объяснить, как это работает. Теперь вы будете знать, что нужно делать, если у вас нет доступа к графическому интерфейсу, но срочно нужно попасть в сеть. Если остались вопросы, пишите в комментариях!

Оставьте комментарий