Комп'ютерна онлайн гра - Minecraft набула небувалої популярності серед дітей та молоді за рахунок надання гравцю повної свободи дій. Найпопулярнішим сервером дл...
Блог компанії 3v-Hosting
Як дізнатися вашу IP-адресу в Linux різними способами
11 хв.
Знання того, як отримати IP-адресу свого Linux-сервера, важливе для системних адміністраторів, розробників ПЗ і всіх, хто займається управлінням мережами. Поняття IP -адреси є основоположним у роботі з мережами і має найважливіше значення для мережевого зв'язку, дозволяючи пристроям ідентифікувати один одного і підключатися один до одного. У цій статті ми розглянемо кілька методів отримання вашої IP-адреси в середовищі ОС Linux, як внутрішньої, так і зовнішньої, з використанням різних команд і інструментів.
Внутрішня IP-адреса
Внутрішня IP-адреса (також відома як приватна IP-адреса) використовується в локальній мережі і не підлягає маршрутизації в Інтернеті. Вони важливі для внутрішнього зв'язку всередині мережі, але тим самим ми економимо безліч IP-адрес за рахунок можливості використання одних і тих же IP-адрес в різних мережах. Наприклад, у локальній мережі вашого підприємства налаштовані адреси з підмережі 192.168.12.0/24. І в іншій компанії налаштована точно така ж мережа, на тих самих IP-адресах. І ці внутрішні адреси тому і є внутрішніми, оскільки в інтернет вони не виходять, а спілкуються ці два підприємства за допомогою зовнішньої, публічної IP-адреси.
Нижче представлена таблиця із зазначеними в ній блоками IP-адрес, які відносяться до т.зв. внутрішніх адрес.
Таблиця - Порівняння внутрішніх підмереж
| Підмережа (CIDR) | Діапазон адрес | Типові сценарії використання |
|---|---|---|
| 10.0.0.0/8 | 10.0.0.0 – 10.255.255.255 | Великі корпоративні мережі, розподілені офіси, дата-центри з великою кількістю підмереж |
| 172.16.0.0/12 | 172.16.0.0 – 172.31.255.255 | Мережі середніх компаній, серверні сегменти, інфраструктурні зони з гнучким підмережуванням |
| 192.168.0.0/16 | 192.168.0.0 – 192.168.255.255 | Домашні мережі, офісні VPN, Wi-Fi сегменти, невеликі корпоративні мережі |
Їх дуже легко запам'ятати і розуміти, що якщо ви десь побачили одну з адрес з цих підмереж, то це внутрішня адреса.
Використання команди 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
Коли використовувати ip і коли ifconfig
Хоча команда ifconfig досі присутня в багатьох дистрибутивах, в сучасних системах краще використовувати саме ip. Це пов'язано з тим, що пакет net-tools, до складу якого входить ifconfig, давно не розвивається і не підтримує частину актуальних мережевих функцій. Команда ip надає більш точну, детальну і актуальну інформацію про мережеві інтерфейси, маршрутизацію, link-layer параметри і стани з'єднань.
Використовувати ifconfig доречно в тих випадках, коли ви працюєте на старій системі або в мінімальній установці, де немає iproute2. Однак в повноцінному середовищі Linux і на серверних дистрибутивах команда ip є стандартом де-факто і забезпечує більш коректне відображення налаштувань мережі.
Зовнішня 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
Насправді сервісів, подібних до ifconfig.me, багато, і нижче ми навели порівняльну таблицю подібних сервісів.
Таблиця - Порівняння сервісів визначення зовнішньої IP-адреси
| Сервіс | Тип | Швидкість відповіді | Додаткові дані |
|---|---|---|---|
| ifconfig.me | HTTP API | Дуже висока | Може повертати User-Agent, заголовки, геодані |
| icanhazip.com | HTTP / HTTPS | Дуже висока | Лише IP-адреса, мінімалістичний вивід |
| api.ipify.org | HTTP / HTTPS API | Висока | Формат JSON, зручно для автоматизації |
| checkip.amazonaws.com | HTTP | Висока | Надійний сервіс від AWS, повертає тільки IP |
| ipinfo.io/ip | HTTP / HTTPS API | Середня | Підтримує детальну інформацію про мережу та геолокацію |
| myip.opendns.com (через DNS) | DNS-запит | Висока | Можна використовувати без HTTP-з’єднань та веб-трафіку |
Використання 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-адресу через стандартні мережеві налаштування. Залежно від використовуваного середовища робочого столу (GNOME, KDE Plasma або інші), інтерфейс може трохи відрізнятися, але логіка залишається однаковою: відкрити параметри мережі і переглянути відомості про поточне підключення.
Перегляд IP-адреси в GNOME
GNOME - одне з найпоширеніших середовищ робочого столу в Ubuntu, Fedora і Debian.
Для перегляду IP-адреси виконайте наступні кроки:
- Відкрийте «Параметри» через меню системи;
- Перейдіть в розділ «Мережа»;
- Виберіть активне з'єднання: дротове Ethernet або Wi-Fi;
- У вікні, що відкрилося, знайдіть блок «Деталі» або «IPv4»;
- Тут будуть вказані IP-адреса, маска підмережі, шлюз і DNS-сервери.
GNOME автоматично оновлює ці дані, тому інформація завжди актуальна.
Перегляд IP-адреси в KDE Plasma
KDE Plasma використовується в дистрибутивах Kubuntu, openSUSE і Manjaro. Інтерфейс відрізняється від GNOME, але потрібні дані знаходяться аналогічно:
- Відкрийте «System Settings»;
- Перейдіть до розділу «Network»;
- Виберіть активний мережевий інтерфейс;
- На вкладці «Details» або «IPv4» відображаються внутрішня IP-адреса, маска, шлюз, а також параметри IPv6.
Plasma надає більш детальну інформацію про з'єднання, включаючи статус маршрутів і активність інтерфейсу.
Використання Network Manager GUI
Практично всі Linux-системи з графічним середовищем використовують NetworkManager, який надає уніфікований інтерфейс для налаштування мереж. У більшості дистрибутивів достатньо лише:
- Клацнути на значок мережі в панелі завдань;
- Відкрити «Налаштування з'єднання»;
- Вибрати активне з'єднання і перейти в його «Відомості».
Тут можна побачити IP-адресу, MAC-адресу інтерфейсу і параметри маршрутизації.
Спеціалізовані сайти
Для визначення зовнішньої (публічної) IP-адреси можна скористатися будь-яким веб-сервісом, який відображає інформацію про підключення. Наприклад, достатньо відкрити сайт https://2ip.io або аналогічний ресурс і ваш IP буде показаний автоматично.
Слід враховувати, що при використанні VPN, проксі або вбудованих в браузер розширень дані будуть відрізнятися: сервіс покаже IP-адресу проміжного вузла, а не вашого реального підключення. Це важливо враховувати при діагностиці мережевих проблем або перевірці конфігурацій серверів.
Важливі особливості при визначенні зовнішньої IP-адреси
При перевірці публічної IP-адреси важливо враховувати, що відображуваний результат може залежати не тільки від вашої локальної машини, але і від інфраструктури провайдера або проміжних сервісів. У деяких ситуаціях сервіси визначення IP показують не вашу реальну адресу, а IP-адресу вузлів, через які проходить трафік.
На результат можуть впливати кілька параметрів, які описані нижче.
Cloudflare та інші CDN
Якщо ваш трафік направляється через CDN або проксі-сервіс, зовнішня адреса може належати хмарній мережі, а не вашому серверу. Це особливо важливо для веб-проектів з увімкненим режимом «проксі» в Cloudflare — сайт буде відображатися з IP Cloudflare, а не вихідного сервера.
Інтернет-провайдер
Деякі провайдери використовують NAT на своїй стороні. У таких випадках кілька клієнтів отримують одну загальну зовнішню IP-адресу. Подібні конфігурації типові для мобільних мереж і деяких бюджетних тарифів.
VPN-сервіси та розширення браузера
При увімкненому VPN або проксі-браузері (наприклад, вбудований VPN Opera) всі сайти будуть показувати IP сервера, до якого ви підключені, а не вашу реальну адресу. Це може вводити в оману при діагностиці мережі.
Проксі та корпоративні шлюзи
У корпоративних мережах трафік часто направляється через проксі-шлюз. У такій конфігурації публічна IP належить корпоративному вузлу, а не конкретній робочій станції користувача.
Враховуйте ці особливості перед тим, як робити висновки або налаштовувати мережеві сервіси: іноді відмінності в показаннях сервісів - це нормальний наслідок роботи мережевої інфраструктури.
Часті питання (FAQ)
Чому внутрішня і зовнішня IP-адреси відрізняються?
Внутрішня IP-адреса використовується тільки всередині вашої локальної мережі і не виходить в інтернет. Зовнішня IP призначається провайдером і доступна з глобальної мережі. Між ними зазвичай стоїть маршрутизатор, який виконує трансляцію адрес (NAT), дозволяючи декільком внутрішнім пристроям використовувати одну зовнішню IP для виходу в інтернет.
Чому команда hostname -I показує кілька адрес?
Команда hostname -I виводить всі IP-адреси, призначені системі. Якщо інтерфейсів кілька (Ethernet, Wi-Fi, віртуальні інтерфейси, Docker, VPN-тунелі), кожен з них може мати власний IP. Тому вивід часто містить кілька значень.
Що робити, якщо команда ip не знайдена?
Команда ip входить до пакета iproute2, який встановлений за замовчуванням у більшості дистрибутивів. Якщо утиліта відсутня, її можна встановити вручну через пакетний менеджер.
Приклади:
Debian/Ubuntu: apt install iproute2
RHEL/CentOS/Rocky: yum install iproute
Чому різні сервіси показують різні зовнішні IP-адреси?
Це може відбуватися, якщо ваш трафік проходить через NAT провайдера, VPN, проксі, CDN або прозорі шлюзи. Також різні сервіси можуть визначати IP на різних рівнях (через HTTP-запити або через DNS), що впливає на результат. Тому кілька різних значень не завжди є помилкою.
Як дізнатися IP-адресу на сервері без доступу до інтернету?
У цьому випадку можна визначити тільки внутрішню IP-адресу, призначену локальною мережею. Для цього підходять команди ip addr, ifconfig, nmcli, hostname -I. Зовнішню IP без доступу до інтернету отримати неможливо, оскільки вона визначається тільки зовнішніми сервісами або реєстрами мережі провайдера.
Висновок
Отримання IP-адреси Linux, внутрішньої або зовнішньої, є фундаментальним завданням для управління мережею і усунення несправностей. Методи, що обговорюються в цій статті, надають різні способи доступу до цієї інформації за допомогою інструментів командного рядка, додатків з графічним інтерфейсом або веб-браузера. Незалежно від того, чи ви віддаєте перевагу використанню команди ip, використанню веб-сервісів за допомогою curl або wget, чи використанню графічних інтерфейсів, розуміння цих методів гарантує, що ви зможете ефективно керувати конфігураціями мережі на серверах під керуванням Linux та усувати відповідні неполадки.
Прискорення WordPress на рівні Nginx: правильні налаштування PHP-FPM, try_files, статика, кешування, Brotli, захист wp-login і безпечні заголовки для стабільної...
Ефективні стратегії резервного копіювання Docker-додатків: як захищати томи, дані та конфігурації, уникаючи при цьому типових помилок, а також швидко відновлюва...
Повний огляд застосувань VPS: реальні приклади, інфраструктура для бізнесу, VPN, CI/CD та середовища розробки. Допомагає вибрати оптимальний сервер.