Общедоступные и частные IP-адреса
IP-адреса являются неотъемлемой частью современных сетевых коммуникаций. В этом руководстве мы покажем вам, как найти свой собственный IP-адрес. Эти инструкции будут работать для большинства различных дистрибутивов Linux, таких как Ubuntu, Debian и Linux Mint, среди прочих. Системы BSD, такие как FreeBSD и NetBSD, а также Mac OS, также могут считывать свои IP-адреса, используя эти инструкции.
Что такое IP-адрес?
Понимание протокола TCP / IP
IP-адреса возникли как часть так называемого протокола TCP / IP . Это сетевой стандарт, который определяет, как данные упаковываются и передаются между компьютерами, объединенными в компьютерную сеть.
Протокол TCP / IP был изобретен в 1978 году Бобом Каном, Винтом Серфом и другими.
TCP означает протокол управления передачей , который отвечает за надежную передачу данных по сети. В частности, TCP проверяет целостность передачи и обеспечивает повторную передачу, если пакеты не были доставлены правильно.
Протокол IP, с другой стороны, имеет дело с маршрутизацией пакетов (например, отправленных по TCP). IP означает Интернет-протокол , который определяет правила, позволяющие отправлять пакеты от источника к компьютеру назначения. В соответствии с протоколом IP пакеты маршрутизируются по пути компьютеров, который постепенно приближается к предполагаемому получателю пакета.
Каждый компьютер или устройство в сети идентифицируется IP-адресом, который представляет собой числовой идентификатор, уникальный для этого устройства в сети.
Различия между общедоступными и частными адресами
Существует разница между IP-адресами в общедоступном Интернете и частными IP-адресами в локальной компьютерной сети. Провайдеры Интернет-услуг (ISP) назначают общедоступные IP-адреса, которые похожи на ваш общедоступный домашний адрес. Когда компьютеры подключаются к частной сети, каждый из них получает частный IP-адрес, который будет использоваться только в этой сети. Частные IP-адреса назначаются вашим маршрутизатором или другим устройством в сети. В свою очередь, маршрутизатор может направлять входящие пакеты на правильное устройство в сети с помощью преобразования сетевых адресов (NAT).
Как найти свой публичный IP-адрес
Вы можете узнать свой общедоступный IP-адрес, используя различные команды, которые подключаются к Интернету для выполнения запросов за вас.
Получение вашего публичного IP-адреса с помощью команды dig
Команда dig
- это утилита поиска DNS для Linux. Используя dig
, вы
можете найти свой общедоступный IP-адрес, подключившись к серверам
OpenDNS. OpenDNS размещает DNS-серверы, которые помогают обнаруживать
IP-адреса сетей в Интернете. Выполните следующую команду внутри вашего
bash , sh или другого терминала.
$ dig +short myip.opendns.com @resolver1.opendns.com
В качестве вывода вы должны получить свой общедоступный IP-адрес от преобразователей OpenDNS. Ваш IP-адрес будет представлять собой набор групп цифр в формате 216.58.216.164 (который является одним из многих IP-адресов для Google) или его разновидностью.
Использование Curl для возврата вашего публичного IP-адреса
Команда curl
- это еще одна сетевая утилита, которая позволяет вам
взаимодействовать с серверами в Интернете. Вы можете запросить серверы
для возврата вашего общедоступного IP-адреса, используя следующие
параметры:
$ curl http://ifconfig.me/ip
ИЛИ ЖЕ
$ curl http://icanhazip.com
Результатом каждой команды будет ваш общедоступный IP-адрес, который видят эти серверы.
Есть много других серверов, которые могут возвращать ваш общедоступный IP-адрес, помимо этих двух, указанных выше.
Использование wget вместо curl
wget - это общедоступная утилита для Linux, которую вы можете использовать вместо curl для загрузки данных и взаимодействия с серверами. Вы можете использовать wget для получения вашего общедоступного IP-адреса с помощью команды:
$ wget -qO- icanhazip.com
Использование браузера
Если у вас есть доступный браузер, вы можете посетить один из многих IP-сайтов:
или вы также можете проверить другие веб-сайты, которые мы посетили с помощью curl, чтобы увидеть свой IP-адрес в браузере. Бывают случаи, например, когда вы вошли на сервер Linux, когда у вас нет доступа к графическому пользовательскому интерфейсу. В таких случаях используйте команды оболочки.
Получите свой частный IP-адрес с помощью команды ifconfig
У вас есть несколько способов получить свой частный IP-адрес. Один из способов - использовать команду ifconfig . ifconfig - это программа командной строки, которая настраивает сетевые интерфейсы в Linux.
Вы можете получить свой IP-адрес с помощью команды ifconfig
сочетании
с различными флагами, которые фильтруют ваш частный IP-адрес. Выполните
следующую команду внутри своей оболочки:
$ ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'
Приведенная выше команда проверяет все активные сетевые интерфейсы, затем фильтрует интерфейс TCP / IP и, наконец, фильтрует вывод для локального IP-адреса. Конечный результат - ваш частный IP-адрес. Это будет похоже на 192.168.1.2 или на другой вариант.
Вместо этого мы можем фильтровать вывод ifconfig, используя sed , который является утилитой для синтаксического анализа и преобразования потоков текста. Выполните следующую команду, чтобы получить свой частный IP-адрес:
$ ifconfig | sed -En 's/127.0.0.1//;s/.*inet (addr:)?(([0-9]*\.){3}[0-9]*).*/\2/p'
В этом примере мы фильтруем вывод ifconfig, чтобы получить ваш
IP-адрес по протоколу TCP / IP. Вышеупомянутые команды могут завершиться
ошибкой, если у вас не установлен sed или ifconfig . В случае
сбоя команды попробуйте hostname
и следуйте приведенному ниже методу.
Как найти свой частный IP-адрес с помощью команды Hostname
Команда https://linux.die.net/man/1/hostname возвращает информацию DNS машины. Вы можете узнать свой частный IP-адрес, выполнив в своей оболочке следующую команду:
$ hostname -I
Приведенная выше команда перечисляет все ваши настроенные адреса на всех сетевых интерфейсах, включая ваш частный IP-адрес.
Получите свой частный IP-адрес с помощью IP-команды
Мы также можем получить частный IP-адрес машины Linux с помощью команды
ip . Команда ip
показывает и управляет маршрутизацией,
устройствами, политикой маршрутизации и туннелями.
Мы можем использовать следующие варианты команды ip
с флагами, чтобы
вернуть наш частный IP-адрес.
$ ip route get 1 | awk '{print $NF;exit}'
$ ip route get 8.8.8.8 | head -1 | cut -d' ' -f8
$ ip route get 8.8.8.8 | head -1 | awk '{print $7}'
Эти команды распечатывают записи таблицы маршрутизации для отправки запроса на альтернативные серверы. В них используется наш частный IP-адрес в качестве источника запросов. Мы фильтруем этот источник с помощью команд Linux head , awk и cut для извлечения нашего частного IP-адреса.
Определение вашего частного IP-адреса в настройках сетевого подключения
Помимо командной строки и браузера, мы также можем использовать административные апплеты Linux. Возможно, вам придется настроить эти инструкции для соответствия вашему конкретному дистрибутиву Linux.
- Перейдите в свое «Меню»
- Найдите вкладку "Настройки".
- Перейдите в «Сеть» или аналогичный для управления информацией о вашей сети.
- Выберите тип сети (например, Wi-Fi, Ethernet или другое).
- Вы можете просмотреть свой частный IP-адрес под распечатанной информацией о вашем IP-адресе.
Это не будет работать в строго командной строке, но будет работать в настольных системах Linux. Если вы входите в систему только из командной строки, вам нужно будет попробовать другие методы на основе команд, указанные выше.
Многочисленные способы получить IP-адрес в Linux
Как мы видели, есть несколько способов получить свой IP-адрес в системе Linux. Фактически существует два типа IP-адресов: публичный IP-адрес и частный IP-адрес. Общедоступный IP-адрес идентифицирует ваш компьютер или сеть для внешнего мира. Ваш частный IP-адрес идентифицирует вашу машину в вашей частной сети. Чтобы получить свои IP-адреса, вы можете использовать сочетание команд, таких как ifconfig , ip или hostname , или использовать приложения графической среды.