Как узнать ipv4 linux

Как узнать IP-адрес Linux

Каждый компьютер в сети интернет нужно определённым образом идентифицировать. Раньше, каждый компьютер, подключённый к интернету, имел уникальный IP адрес, с помощью которого можно было к нему подключиться, сейчас же большинство домашних компьютеров спрятаны за NAT, а белые IP адреса есть только у серверов.

Все взаимодействие между компьютерами в сети выполняется по IP адресам. Это более актуально для серверов, но может быть полезно и для домашних компьютеров, и локальных сетей. В этой небольшой статье мы рассмотрим, как узнать IP Linux разными способами. Поговорим о том, как узнать внешний IP, выданный провайдером, и внутренний IP в вашей локальной сети.

Немного теории

Сначала давайте попытаемся понять, что такое IP-адрес, и как всё работает. Мы можем выделить три типа IP-адресов, с которыми вам придётся сталкиваться:

  • Внутренний адрес (IP-адрес компьютера);
  • Адрес в локальной сети;
  • Внешний IP доступный во всём интернете.

Внутренний IP-адрес нужен для того, чтобы программы могли взаимодействовать между собой в пределах этого компьютера, используя сетевые протоколы. Например, так браузер может получить доступ к локальному web-серверу. Внутренний IP довольно часто используется в системных утилитах, и узнать его очень просто — он всегда одинаковый — 127.0.0.1.

С локальной сетью всё немного сложнее. Интернет, это не одноранговая сеть, где все компьютеры соединены между собой на одном уровне, а множество отдельных сетей, соединённых между собой с помощью маршрутизаторов. Если ваш компьютер подключен к интернету по проводу, то здесь у вас есть марштуризатор, к которому можно подключить несколько устройств. Например, компьютер, ноутбук и смартфон. Сеть роутера называется локальной и в этой сети у компьютера есть IP адрес, который вы можете использовать для доступа к нему из других устройств в этой сети. Но для провайдера и внешнего интернета у всех этих устройств будет один IP адрес — адрес роутера.

Теперь давайте разберемся с внешним IP адресом. Точно так же как вы подключаете несколько своих устройств в локальной сети, так и провайдер объединяет своих клиентов в локальную сеть и для внешнего интернета у них на всех один IP адрес. Так было сделано потому что с ростом популярности этой технологии свободные адреса скоро начали заканчиваться, и теперь уникальные IP имеют только серверы, а обычные пользователи размещаются провайдерами по несколько сотен на одном IP с помощью NAT. Этот IP адрес считается внешним.

Одно время, провайдеры раздавали пользователям динамические IP, которые были уникальными и менялись при перезагрузке роутера. По ним можно было получить доступ к компьютеру из интернета после небольшой настройки роутера, но потом начали использовать технологию NAT для того чтобы разместить много пользователей на одном адресе. Но это не большая проблема. Так компьютеры домашних пользователей находятся в большей безопасности, а если к ним нужно получить доступ то существуют такие сервисы как Ngrok, а также можно использовать VPN.

Технология NAT позволяет компьютеру подключиться к любому серверу в интернете и получить от него ответ, но инициировать подключение из интернет к такому компьютеру невозможно, поскольку фактически один IP принадлежит сотне компьютеров, и система просто не знает, к какому из них обращаются.

Читайте также:  Single users in linux

Как вы поняли, ваш домашний компьютер мог бы иметь внешний IP-адрес доступный всем, но это нецелесообразно как минимум по двум причинам. Во-первых, дорого, во-вторых, очень небезопасно. Поэтому подключение компьютера к интернету сейчас выглядит приблизительно так:

  1. Внешний и доступный всем IP, который принадлежит провайдеру и используется для выхода в интернет сотен пользователей;
  2. IP-адрес вашего роутера в локальной сети провайдера, той самой, с IP-адресом которой вы выходите в интернет. Он не доступен из интернета и, скорее всего, вам не понадобится;
  3. IP-адрес вашего компьютера в локальной (домашней) сети, созданной роутером, к которой вы можете подключать свои устройства. Именно он используется для взаимодействия между устройствами в локальной сети и отображается в информации о сетевом интерфейсе;
  4. Внутренний IP-адрес компьютера, недоступный извне и используемый только для внутренних коммуникаций в системе.

Теперь, когда вы немного начали ориентироваться в вопросе, давайте рассмотрим способы узнать свой IP Linux.

Как узнать внутренний IP Linux

Как я уже сказал, внутренний IP всегда одинаковый для каждого компьютера — 127.0.0.1, что справедливо не только для Linux, но и для Windows и других операционных систем. Вообще, все IP адреса от 127.0.0.1 до 127.255.255.255 привязаны к локальному сетевому интерфейсу и используются для взаимодействия с текущим компьютером.

Также к своему компьютеру можно обратиться по домену localhost. Вы можете убедится в этом, выполнив команду ping:

ping -c 3 localhost

Как узнать IP в локальной сети в Linux

Узнать IP компьютера в локальной сети тоже не очень сложно. Для этого вам не нужны никакие сервисы, вы можете просто посмотреть информацию о сетевых подключениях с помощью команды ip. Вот самый удобный способ это сделать:

ip -br a

Опция -br включает сокращенный режим вывода, а a — это сокращение от address, команды которая позволяет управлять сетевыми адресами. По синтаксису туда ещё желательно добавить команду show, но она и так используется по умолчанию. Вот так будет выглядеть полная команда:

ip —brief address show

Здесь выводится только список сетевых интерфейсов их состояние и IP адрес. Вот их описание:

  • lo — локальный сетевой интерфейс, который всегда указывает на текущий компьютер;
  • enp* — проводной сетевой интерфейс, расшифровывается как Enthernet PCI. Также может использоваться имя eth*.
  • wlp* — беспроводной сетевой интерфейс WiFi, расшифровывается как Wireless PCI. Также может использоваться имя wlan*.

В данном случае проводной интерфейс называется enp3s0 и вы можете видеть его IP адрес в третьей колонке. Вы также можете получить IP для конкретного сетевого интерфейса. Например для enp0s3:

ip —brief address show enp0s3

Также можно отфильтровать только IP адрес с помощью awk:

ip —brief address show enp0s3 | awk » | cut -d’/’ -f1

IP адреса в локальной сети должны находится в таких диапазонах:

  • От 192.168.0.0 до 192.168.255.255
  • От 10.0.0.0 до 10.255.255.255
  • От 172.16.0.0 до 172.31.255.255
  • От 100.64.0.0 до 100.127.255.255

Эти адреса зарезервированы для локальных сетей и в качестве публичных адресов использоваться не могут.

Вы также можете использовать устаревшую команду ifconfig. Но прежде её надо установить:

sudo apt install net-tools

Здесь отображается довольно много информации: MAC-адрес, маску сети и небольшую статистику по работе интерфейса. Сам IP адрес отображается после слова inet:

Читайте также:  Linux test write speed

sudo ifconfig

Вы можете отфильтровать лишнюю информацию и вывести только IP-адреса:

sudo ifconfig | grep «inet»

Как узнать внешний IP-адрес в Linux

Для того чтобы узнать внешний IP адресе вы можете открыть специальный сайт, который посмотрит, с какого IP вы его открыли, и скажет его вам. Есть довольно много таких сайтов. Проще всего сделать это с помощью браузера, например, откройте сайт ifconfig.me:

Но это не всегда удобно. Лучше сделать это с помощью терминала. Просто используйте команду curl или wget. Сразу рассмотрим несколько таких сайтов, чтобы вы могли использовать любой понравившийся из них:

wget -qO- ifconfig.me curl ifconfig.me curl ipinfo.io/ip curl ipecho.net/plain curl icanhazip.com curl https://ipecho.net/plain curl ident.me curl api.ipify.org

Чтобы не набирать длинную команду каждый раз, вы можете создать удобный алиас:

alias getip=»curl ifconfig.me»

Хочу заметить, что если вы хотите узнать не внешний IP компьютера, а именно адрес роутера в сети провайдера, то такой способ не поможет. Вам нужно посмотреть в настройках роутера или попытаться сделать это через командный интерфейс роутера, так как это описано в предыдущем варианте.

Выводы

Теперь вы знаете, как узнать IP-адрес Linux, оказывается, это не так сложно, как могло показаться сразу. Вы ещё можете использовать утилиту hostname с опцией -I для получения всех сетевых адресов привязанных к вашему компьютеру, а также можете найти адрес IP адрес в графическом интерфейсе NetworkManager или с помощью его консольной утилиты nmcli. Но описанные в статье способы более универсальны и просты. А какой способ используете вы? Напишите в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Easily find IPv4 address

For a long time I’ve used ipconfig in Windows, and ifconfig in Unix to find out my local IPv4, for different purposes. There are times when your screen is small, or you have an extensive amount of network adapters connected to your computer, making this list really extensive. I know you can pipe it into less , in order to avoid scrolling, and filter with grep , but that’s rather cumbersome. I was wondering if there was an easier way to find the basic information your DHCP provides you (gateway, IPv4, and subnet mask), without having to squint your eyes in order to find the numbers you are looking for, and without having to look up a command in your notes or Google.

It is unclear how this is answerable. «squinting eyes» is not an objective criterion, lots of network interfaces to report on would be lots of output however one generates it, and any other tool would presumably have to be looked up in notes too. The question moreover makes no mention of how many of said «extensive amount of network adapters» are allocated addresses via DHCP. If it is all of them, how, logically, do you expect to make a list shorter than all of the relevant adapters?

Answer: No. You might as well ask, «How can I get everything by knowing nothing, and doing nothing?» However: the DHCP info is likely written to a log file on your system. On my system (Debian Stretch), I can get my IP & CIDR with journalctl | grep -Ei ‘probing address’ . I didn’t have to squint my eyes, but I did have to make some effort to find this. Please read this, then edit your question.

Читайте также:  Linux usb over ethernet

@JdeBP If the only thing you’re interested in is your host address, your gateway, and your subnet mask, then there is a lot of unnecessary information when doing an ifconfig request. Usually, all your NIC are listed, including those who are not in use right now. In most cases, you’re looking for one IPv4 for your host, and one IPv4 for your gateway. I posted a solution myself with a better solution than ifconfig .

what address? any machine or interface can have any number of addresses. if you’re after the address you’re using to connect to «the Internet», you can use ip route as here — change dev to src in the grep part (or get rid of grep entirely).

?? You said, route actually provided me with the details I was looking for , yet you’ve selected another answer as the solution. Your business though. Wrt your Q to me: I use dhcpcd on my system, so your results may vary. All I did was query the log w/ a dhcpcd grep filter, and found an entry that had both my IP address and subnet in CIDR notation. But again, that didn’t meet your requirement: «find the numbers you are looking for, and without having to look up a command». You seem to have what you need now, so I’ll butt out.

Источник

How to Check IPv4 Address on Ubuntu 22.04

Ubuntu 22.04 desktop edition comes with an attractive Gnome Desktop Environment. You can either use the command prompt to check the current IP address on your system or use a GUI option to view the local IP address on your system.

You can also use another article to change IP address on Ubuntu 22.04 desktop and server editions.

Choose one of the below methods to check the current IP address on a Ubuntu system.

Method 1: Checking IP Address via Command Line on Ubuntu 22.04

The Ubuntu desktop users Press CTRL+ALT+T to open the terminal and the server user connects to the system over SSH.

Once you get the terminal access, execute the ip addr show or its short version ip a command to view all the configured IPv3 addresses on network intefaces.

You will see all the assigned ipv4 addresses on network interfaces.

How to Check IP Address in Ubuntu 22.04 Command Line

The above output shows that the 192.168.1.212 IP with 24 netmark is configured on the system

Method 2: Checking IP Address in Ubuntu 22.04 Desktop

To follow this method, you must have a desktop environment on your Ubuntu system. Now,

  1. Log in to the Ubuntu desktop system and open settings as shown on the below screen. How to View IP Address in Ubuntu 22.04
  2. In the left sidebar click on the Network tab. After that click icon to open the setting for your systems network interface as shown on the below screen. How to Check IP Address in Ubuntu 22.04
  3. A new dialog box will appear with the details of all IPv4 addresses configured on the network interfaces. How to Check IP Address in Ubuntu 22.04

Wrap Up

In this tutorial, you have learned to find the currently configured IP address on a Ubuntu system. Hope this tutorial provides you with the right instruction and is helpful for you.

Источник

Оцените статью
Adblock
detector