Блог компании 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 и устранять соответствующие неполадки.