Как да намерите/получите IP адрес в Linux с помощта на командния ред

Сподели

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

Един от първите въпроси, пред които са изправени много нови системни администратори на Linux, е получаването на IP адреса. Освен това, този въпрос редовно се задава при кандидатстване за позиции, които изискват умения за Linux.

IP адресите обаче могат да бъдат публичен (външен) и частен (вътрешен). И така, преди да навлезем в практическата страна на нещата, нека да изясним какво представляват публичните и частните IP адреси и как се различават.

Какво е публичен IP адрес?

За достъп до Интернет се използва публичен IP адрес. За разлика от частните IP адреси обаче, публичните IP адреси могат да бъдат маршрутизирани през Интернет.

Публичните IP адреси се използват от устройства и услуги, които изискват директна интернет връзка. В най-често срещаната ситуация това са обикновено мрежови устройства, които обработват трафик и в двете посоки, от Интернет към тях и от тях към Интернет.

Като най-прост пример можем да посочим вашия домашен рутер, който работи с публичен IP адрес, получен от вашия интернет доставчик.

Какво е частен IP адрес?

Частният IP адрес е запазен за вътрешна употреба зад рутер или друго мрежово устройство и се използва за комуникация само в рамките на същата мрежа. С други думи, той работи като уникална идентификация за всички устройства, свързани към рутер или друго устройство, което обслужва IP адреси.

Въпреки това, за разлика от публичните IP адреси, частните IP адреси не могат да бъдат маршрутизирани или използвани в Интернет; те трябва да работят само в локалната мрежа. Следователно директният достъп до Интернет от частен IP адрес не е възможен.

Освен това частните IP адреси имат ограничен обхват, в който могат да бъдат разширени. Следователно това е най-надеждният начин да се определи дали даден адрес е публичен (външен) или частен (вътрешен).

За да бъдем по-конкретни, всеки частен IP адрес трябва да принадлежи към един от трите диапазона, показани по-долу:

  • 10.0.0.0 до 10.255.255.25510.0.0.0/8, (65 536 IP адреса)
  • 172.16.0.0 до 172.31.255.255172.16.0.0/12, (1 048 576 IP адреса)
  • 192.168.0.0 до 192.168.255.255192.168.0.0/16, (16 777 216 IP адреса)

За да направим нещата още по-прозрачни, сме включили диаграма по-долу. Той показва вашия домашен рутер, който обикновено съдържа поне два мрежови интерфейса.

Единият е специално проектиран да използва вашия публичен IP адрес, даден ви от вашия интернет доставчик. Другият има автоматично присвоен частен IP адрес и може да предоставя IP адреси от обхватите на частната мрежа на устройства надолу по веригата, като вашия лаптоп, телевизор, устройства за интелигентен дом и т.н.

Какво е частен и публичен IP адрес?

След като изяснихме тези точки и сте по-запознати с публичните и частните IP адреси, нека да преминем към основната тема на това ръководство.

Как да намерите IP адрес в Linux с помощта на командния ред

В зависимост от използвания метод, можете да получите информация за вашия публичен или частен IP адрес. Ще разгледаме и двата подхода в примерите по-долу.

Намерете своя публичен IP адрес

Командите по-долу използват cURL, за да се свържат с отдалечен API и да върнат вашия публичен IP адрес в отговор. Така че, който и от следните примери да изберете, резултатът ще бъде вашият публичен IP адрес.

curl ifconfig.me
curl ipinfo.io/ip
curl -s https://checkip.amazonaws.com
curl api.ipify.org
curl icanhazip.com

Разбира се, използването на други инструменти като dig или wget може да постигне същия резултат.

dig +short myip.opendns.com @resolver1.opendns.com
wget -qO - icanhazip.com
Намерете своя публичен IP адрес

Намерете своя частен IP адрес

Както беше посочено по-горе, частните IP адреси не могат да предават данни през Интернет и са предназначени само да функционират в рамките на локалната мрежа. Например вашият рутер присвоява частен IP адрес на всяко устройство във вашата домашна локална мрежа.

Така че можете да намерите личните си IP адреси, като използвате командите по-долу. Разбира се, ако ги стартирате на устройство с директна интернет връзка, ще получите и неговия публичен IP адрес.

В ifconfig командата е един от най-простите начини за получаване на информация за наличните мрежови интерфейси в Linux и свързаните с тях IP адреси. Трябва обаче да се отбележи, че ifconfig командата е остаряла през последните години.

ifconfig
Намерете IP адрес с помощта на командата ifconfig

От горното можем да видим, че мрежовият интерфейс eth0 се присвоява частният IP адрес 10.0.0.4. Вторият IP адрес, 127.0.0.1е адресът на интерфейса за обратна връзка, който е извън обхвата на това ръководство.

Разгледайте man страницата от infonfig команда за повече информация.

Другият най-популярен начин за намиране на IP адреса е като използвате ip addr команда. И, както в предишния пример, не се изискват допълнителни аргументи.

ip addr
Намерете IP адрес с помощта на командата ip addr

Изходът обаче може да бъде труден за четене, особено ако имате множество мрежови интерфейси. За щастие, комбинирайки командния изход, прилагащ Linux pipe и регулярен израз, резултатът е много по-приятен, показващ само IP адресите.

ip addr | grep -oP '(?<=inet\s)\d+(\.\d+){3}'
Намерете IP адрес с помощта на командата ip addr

Разгледайте man страницата от ip команда за повече информация.

Командата hostname е последната техника, която ще ви покажем как да намерите IP адрес с помощта на командния ред в Linux. След това добавете -I параметър.

hostname -I
Намерете IP адрес, като използвате командата hostname

Когато натиснете EnterIP адресът на вашето устройство ще бъде показан на терминала точно под въведената от вас команда.

Разгледайте man страницата от hostname команда за повече информация.

Заключение

Както знаете, IP адресът се използва в система за комуникация. Поради това често ще трябва да знаете IP адресите на вашето устройство. Сега можете бързо да ги намерите, като използвате някой от методите, дадени по-горе.

Освен това, ако искате да научите как да промените своя IP адрес в Linux без усилие, вижте нашето отлично ръководство „Как да зададете статичен IP адрес и да промените таблицата за маршрутизиране в Linux“.

Надяваме се, че тази статия ще ви бъде от голяма полза в бъдеще.

Публикациите се превеждат автоматично с google translate


Сподели