Блог компанії 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 та усувати відповідні неполадки.