Блог компании 3v-Hosting
Как узнать ваш IP-адрес в Linux различными способами
9 мин.
Знание того, как получить IP-адрес своего Linux-сервера, важно для системных администраторов, разработчиков ПО и всех, кто занимается управлением сетями. Понятие IP-адреса является основополагающим в работе с сетями и имеет важнейшее значение для сетевой связи, позволяя устройствам идентифицировать друг друга и подключаться друг к другу. В этой статье мы рассмотрим несколько методов получения вашего IP-адреса в среде ОС Linux, как внутреннего, так и внешнего, с использованием различных команд и инструментов.
Внутренний IP-адрес
Внутренний IP-адрес (также известный как частный IP-адрес) используется в локальной сети и не подлежит маршрутизации в Интернете. Они важны для внутренней связи внутри сети, но тем самым мы экономим множество IP-адрессов за счёт возможности использования одних и тех-же IP-адресов в различных сетях. Например в локальной сети вашего предприятия настроены адреса из подсети 192.168.12.0/24. И в другой компании, настроена точно такая-же сеть, на тех-же самых IP-адресах. И эти внутренние дареса потому и внутренние, так как в интернет они не выходят, а общаются эти два предприятия посредством внешнего, публичного IP-адреса.
К зарезервированным подсетям относятся:
- 10.0.0.0 — 10.255.255.255 (маска подсети для бесклассовой (CIDR) адресации: 255.0.0.0 или /8)
- 172.16.0.0 — 172.31.255.255 (маска подсети: 255.240.0.0 или /12)
- 192.168.0.0 — 192.168.255.255 (маска подсети: 255.255.0.0 или /16)
Их очень легко запомнить и понимать, что если вы где либо увидели один из адресов из этих подсетей, то это внутренний адрес.
Использование команды ip
Команда ip — это универсальный инструмент для настройки и управления сетью в Linux. Она в значительной степени заменила старую команду ifconfig.
Выполните в терминале команду:
ip addr show
Эта команда отображает подробную информацию обо всех сетевых интерфейсах. Найдите запись inet под нужным интерфейсом (например, eth0, wlan0). В выводе будут показаны IP-адрес, маска подсети и другие сведения.
user@host:~# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> 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: ens0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether f0:c6:f9:ca:d6:c6 brd ff:ff:ff:ff:ff:ff
inet 192.168.12.7/24 brd 192.168.12.255 scope global dynamic noprefixroute ens0
valid_lft 70376sec preferred_lft 70376sec
Использование команды ifconfig
Хотя команда ifconfig устарела в пользу команды ip, она все еще доступна во многих дистрибутивах.
Выполните в терминале команду:
ifconfig
Эта команда выведет список всех сетевых интерфейсов с соответствующими IP-адресами. Поле inet addr показывает IP-адрес каждого интерфейса.
user@host:~# ifconfig
ens0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.12.7 netmask 255.255.255.0 broadcast 192.168.12.255
ether f0:c6:f9:ca:d6:c6 txqueuelen 1000 (Ethernet)
RX packets 358201 bytes 22181271 (0.2 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 331273 bytes 20447094 (0.2 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Использование команды hostname
Команда hostname с опцией -I также может использоваться для отображения IP-адресов, связанных с хостом.
Выполните в терминале команду:
hostname -I
Эта команда выводит все IP-адреса, назначенные хосту, разделенные пробелами.
user@host:~# hostname -I
192.168.12.7
Использование nmcli
nmcli — это инструмент командной строки для управления NetworkManager, который широко используется в различных дистрибутивах Linux.
Выполните в терминале команду:
nmcli device show
Эта команда отображает подробную информацию обо всех сетевых интерфейсах, управляемых NetworkManager, включая IP-адреса.
user@host:~# ifconfig
GENERAL.DEVICE: ens0
GENERAL.TYPE: wifi
GENERAL.HWADDR: F0:C6:F9:Ca:D6:C6
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: MyWiFi
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/11
IP4.ADDRESS[1]: 192.168.12.7/24
IP4.GATEWAY: 192.168.12.1
IP4.ROUTE[1]: dst = 192.168.12.0/24, nh = 0.0.0.0, mt = 600
IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 192.168.12.1, mt = 600
IP4.DNS[1]: 192.168.12.1
Использование ip route
Вы можете использовать команду ip Route, чтобы получить IP-адрес вашего основного сетевого интерфейса.
Выполните в терминале команду:
ip route get 1.1.1.1
Замените 1.1.1.1 на любой действительный IP-адрес. Команда покажет информацию о маршрутизации и IP-адрес источника, используемый для достижения пункта назначения.
user@host:~# ip route get 8.8.8.8
8.8.8.8 via 192.168.12.1 dev ens0 src 192.168.12.7 uid 0
Другие статьи по администрированию Linux:
- Ручное перемонтирование fstab без перезагрузки Linux сервера
- Оператор Bash "If": синтаксис, варианты использования, команды и многое другое!
- 10 самых часто употребляемых примеров для IPTABLES
- Cron - Планируй задачи на Linux-серверах правильно
Внешний IP-адрес
Внешний IP-адрес (также известный как публичный IP-адрес) используется для идентификации вашего устройства в Интернете. Этот IP-адрес маршрутизируется в Интернете и назначается вашим интернет-провайдером (ISP).
Использование команды Curl
Curl — это инструмент командной строки для передачи данных с помощью URL-адресов. Его можно использовать для обращения к веб-сервисам для получения вашего общедоступного IP-адреса, например к ifconfig.me.
Запустите команду в терминале:
curl ifconfig.me
Эта команда отправляет запрос на ifconfig.me и отображает ваш общедоступный IP-адрес.
user@host:~# curl ifconfig.me
94.211.13.25
Использование wget
wget — еще одна утилита командной строки для загрузки контента с веб-серверов. Его также можно использовать для запроса вашего общедоступного IP-адреса. Рассмотрим пример с другим веб-сервисом - icanhazip.com
Запустите команду в терминале:
wget -qO- icanhazip.com
Эта команда также извлекает общедоступный IP-адрес из ifconfig.me и выводит его на терминал.
user@host:~# wget -qO- icanhazip.com
94.211.13.25
Использование dig
dig (Domain Information Groper) — мощная утилита поиска информации из DNS серверов. Его можно использовать для выяснения вашего общедоступного IP-адреса путем запроса OpenDNS.
Запустите команду в терминале:
dig +short myip.opendns.com @resolver1.opendns.com
Эта команда отправляет DNS-запрос в OpenDNS, который отвечает вашим общедоступным IP-адресом.
user@host:~# dig +short myip.opendns.com @resolver1.opendns.com
94.211.13.25
Использование команды host
Команда host — это еще одна утилита поиска по DNS серверам, которую можно использовать для выяснения вашего общедоступного IP-адреса.
Запустите команду в терминале:
host myip.opendns.com resolver1.opendns.com
Эта команда обращается к OpenDNS и возвращает ваш общедоступный IP-адрес.
user@host:~# host myip.opendns.com resolver1.opendns.com
Using domain server:
Name: resolver1.opendns.com
Address: 208.67.222.222#53
Aliases:
myip.opendns.com has address 94.211.13.25
Методы на основе графического интерфейса
Если вы предпочитаете графический интерфейс пользователя, вы можете использовать различные инструменты, доступные практически в любом дистрибутиве Linux, чтобы узнать IP-адрес своего сервера.
Использование сетевого менеджера
Большинство дистрибутивов Linux поставляются с Network Manager, который предоставляет графический интерфейс для настройки сети.
Вы можете зайти в настройки сети из панели задач или меню системных настроек и открыв информацию о своем активном сетевом соединении (например, Wi-Fi или Ethernet), просмотреть такие сведения, как IP-адрес, маска подсети и шлюз.
Специализированные сайты
Также вы можете зайти на любой из сайтов, предоставляющих информацию о вашем публичном IP -адресе, которых в интернете полным полно. Например https://2ip.io/ и вы сразу-же в окне браузера увидите ваш IP -адрес. Но будьте внимательнее: если вы используете какое либо VPN-приложение для браузера - вы увидите IP-адрес того VPN сервера к которому вы подключены в данный момент.
Заключение
Получение IP-адреса Linux, внутреннего или внешнего, является фундаментальной задачей для управления сетью и устранения неполадок. Методы, обсуждаемые в этой статье, предоставляют различные способы доступа к этой информации с помощью инструментов командной строки, приложений с графическим интерфейсом или веб-браузера. Независимо от того, предпочитаете ли вы использовать команду ip, использовать веб-службы с помощью Curl или Wget или использовать графические интерфейсы, понимание этих методов гарантирует, что вы сможете эффективно управлять конфигурациями сети на серверах под управлением Linux и устранять соответствующие неполадки.