Как да използвате командата ip в Linux

Фатмавати Ахмад Заенури/Shutterstock



Можете да конфигурирате IP адреси, мрежови интерфейси и правила за маршрутизиране в движение с Linux |_+_| команда. Ще ви покажем как можете да използвате този модерен заместител на класическия (и вече отхвърлен) |_+_|.

Как работи командата ip

С |_+_| команда, можете коригира начина, по който Linux компютър обработва IP адреси, контролери на мрежови интерфейси (NIC) и правила за маршрутизиране . Промените също влизат в сила незабавно - не е нужно да рестартирате. |_+_| командата може да направи много повече от това, но ще се съсредоточим върху най-често срещаните употреби в тази статия.





|_+_| командата има много подкоманди, всяка от които работи върху тип обект, като IP адреси и маршрути. От своя страна има много опции за всеки от тези обекти. Именно това богатство от функционалност дава |_+_| управлявайте детайлността, от която се нуждаете, за да изпълнявате деликатни задачи. Това не е работа с брадва - изисква набор от скалпели.

Ще разгледаме следните обекти:



    Адрес: IP адреси и диапазони. Връзка: Мрежови интерфейси, като кабелни връзки и Wi-Fi адаптери. Маршрут: Правилата, които управляват маршрутизирането на трафика, изпратен до |_+_| чрез интерфейси (|_+_|).

Използване на ip с адреси

Очевидно е, че първо трябва да знаете настройките, с които работите. За да откриете кои IP адреси има вашият компютър, използвате |_+_| команда с обекта |_+_|. Действието по подразбиране е |_+_|, което изброява IP адресите. Можете също да пропуснете |_+_| и съкратено |_+_| като addr или дори a.

Всички следните команди са еквивалентни:

ip ifconfig ip ip



Виждаме два IP адреса, заедно с много друга информация. IP адресите са свързани с мрежови интерфейсни контролери (NIC). |_+_| командата се опитва да бъде полезна и също така предоставя куп информация за интерфейса.

Реклама

Първият IP адрес е (вътрешният) loopback адрес, използван за комуникация в компютъра. Вторият е действителният (външен) IP адрес, който компютърът има в локалната мрежа (LAN).

Нека разбием цялата информация, която получихме:

    то: Името на мрежовия интерфейс като низ. :Това е loopback интерфейс. Това е |_+_|, което означава, че работи. В физически мрежов слой (слой първи) също е нагоре. лице 65536:Максимална единица за прехвърляне. Това е размерът на най-голямата част от данни, която този интерфейс може да предаде. qdisc noqueue:A |_+_| е механизъм за опашка. Той планира предаването на пакети. Има различни техники за опашка, наречени дисциплини. |_+_| дисциплина означава да изпращате незабавно, да не се редите на опашка. Това е по подразбиране |_+_| дисциплина за виртуални устройства, като адресът за обратна връзка. състояние НЕИЗВЕСТНО:Това може да бъде |_+_| (мрежовият интерфейс не работи), |_+_| (мрежовият интерфейс работи, но нищо не е свързано) или |_+_| (мрежата работи и има връзка). група по подразбиране:Интерфейсите могат да бъдат групирани логически. По подразбиране е да ги поставите всички в група, наречена по подразбиране. qlen 1000:Максималната дължина на опашката за предаване. връзка/обратна връзка:В контрол на достъпа до медии (MAC) адрес на интерфейса. inet 127.0.0.1/8:IP адресът версия 4. Частта от адреса след наклонената черта (|_+_|) е Нотация за безкласово маршрутизиране между домейни (CIDR), представляваща маската на подмрежата. Показва колко водещи последователни бита са зададени на един в маската на подмрежата. Стойността на осем означава осем бита. Осем бита, зададени на едно, представляват 255 в двоичен вид, така че маската на подмрежата е 255.0.0.0. обхват хост:Обхватът на IP адреса. Този IP адрес е валиден само вътре в компютъра (хост). то:Интерфейсът, с който е свързан този IP адрес. valid_lft:Валиден живот. За IP версия 4 IP адрес, разпределен от Протокол за динамична конфигурация на хост (DHCP), това е времето, през което IP адресът се счита за валиден и може да прави и приема заявки за връзка. preferred_lft:Предпочитан живот. За IP адрес от версия 4, разпределен от DHCP, това е времето, през което IP адресът може да се използва без ограничения. Това никога не трябва да е по-голямо от |_+_| стойност. inet6: IP адресът версия 6, |_+_| , |_+_| и |_+_|.

Физическият интерфейс е по-интересен, както ще покажем по-долу:

    enp0s3:Името на мрежовия интерфейс като низ. En означава ethernet, p0 е номерът на шината на ethernet картата, а s3 е номерът на слота. :Този интерфейс поддържа широко- и мултикастинг , а интерфейсът е |_+_| (работещи и свързани). Хардуерният слой на мрежата (първо ниво) също е |_+_|. 1500 човека:Максималната единица за трансфер, която този интерфейс поддържа. qdisc fq_code:Планировчикът използва дисциплина, наречена честна опашка, контролирано забавяне. Той е проектиран да осигури справедлив дял от честотната лента на всички потоци трафик, които използват опашката. състояние UP:Интерфейсът е работещ и свързан. група по подразбиране:Този интерфейс е в групата интерфейси по подразбиране. qlen 1000:Максималната дължина на опашката за предаване. връзка/етер:MAC адресът на интерфейса. inet 192.168.4.26/24:IP адресът версия 4. /24 ни казва, че има 24 последователни водещи бита, зададени на един в маската на подмрежата. Това са три групи от осем бита. Осембитово двоично число се равнява на 255; следователно маската на подмрежата е 255.255.255.0. хълм 192.168.4.255:В адрес на излъчване за тази подмрежа. глобален обхват:IP адресът е валиден навсякъде в тази мрежа. динамичен:IP адресът се губи, когато интерфейсът изпадне. noprefixroute:Не създавайте маршрут в таблицата с маршрути, когато този IP адрес е добавен. Някой трябва да добави ръчно маршрут, ако иска да използва такъв с този IP адрес. По същия начин, ако този IP адрес е изтрит, не търсете маршрут за изтриване. enp0s3:Интерфейсът, с който е свързан този IP адрес. valid_lft:Валиден живот. Времето, в което IP адресът ще се счита за валиден; 86 240 секунди са 23 часа и 57 минути. preferred_lft:Предпочитан живот. Времето, през което IP адресът ще работи без ограничения. inet6:IP адресът версия 6, |_+_|, |_+_| и |_+_|.

Показване само на IPv4 или IPv6 адреси

Ако искате да ограничите изхода до IP версия 4 адреси, можете да използвате |_+_| опция, както следва:

ip

Ако искате да ограничите изхода до IP версия 6 адреси, можете да използвате |_+_| опция, както следва:

ip

Показване на информация за един интерфейс

Ако искате да видите информацията за IP адреса за един интерфейс, можете да използвате |_+_| и |_+_| опции и именувайте интерфейса, както е показано по-долу:

addresses links

Можете също да използвате |_+_| или |_+_| флаг за допълнително прецизиране на изхода, така че да виждате само това, което ви интересува.

Ако искате да видите информацията за IP версия 4, свързана с адресите на интерфейса |_+_|, въведете следната команда:

ip

Добавяне на IP адрес

Можете да използвате |_+_| и |_+_| опции за добавяне на IP адрес към интерфейс. Просто трябва да кажете на |_+_| команда кой IP адрес да добавите и към кой интерфейс да го добавите.

Реклама

Ще добавим IP адреса 192.168.4.44 към |_+_| интерфейс. Трябва също да предоставим CIDR нотацията за маската на подмрежата.

Пишем следното:

address

Пишем следното, за да разгледаме още веднъж IP адресите на версия 4 на този интерфейс:

show

Новият IP адрес присъства в този мрежов интерфейс. Прескачаме на друг компютър и използваме следната команда, за да видим дали можем |_+_| новия IP адрес :

show

IP адресът отговаря и изпраща обратно потвърждения на пинговете. Нашият нов IP адрес е готов и работи след едно просто |_+_| команда.

Изтриване на IP адрес

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

address

Реклама

Ако напишем следното, за да проверим, виждаме, че новият IP адрес е изтрит:

ip

Използване на ip с мрежови интерфейси

Използвате |_+_| обект за проверка и работа с мрежови интерфейси. Въведете следната команда, за да видите интерфейсите, инсталирани на вашия компютър:

UP

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

qdisc

Стартиране и спиране на връзки

Можете да използвате |_+_| опция с или |_+_| или |_+_| за да спрете или стартирате опция за мрежов интерфейс. Вие също трябва да използвате |_+_|, както е показано по-долу:

noqueue

Пишем следното, за да разгледаме мрежовия интерфейс:

qdisc

Състоянието на мрежовия интерфейс е |_+_|. Можем да използваме |_+_| опция за рестартиране на мрежов интерфейс, както е показано по-долу:

DOWN

Реклама

Пишем следното, за да направим още една бърза проверка на състоянието на мрежовия интерфейс:

UNKNOWN

Мрежовият интерфейс беше рестартиран и състоянието се показва като |_+_|.

Използване на ip с маршрути

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

Ако целевият компютър или устройство споделят мрежа с изпращащия компютър, изпращащият компютър може да препрати пакета директно към него.

Въпреки това, ако устройството местоназначение не е свързано директно, изпращащият компютър препраща пакета към рутера по подразбиране. След това рутерът решава къде да изпрати пакета.

За да видите маршрутите, дефинирани на вашия компютър, въведете следната команда:

UP

Нека да разгледаме информацията, която получихме:

    по подразбиране:Правилото по подразбиране. Този маршрут се използва, ако нито едно от другите правила не съответства на това, което се изпраща. чрез 192.168.4.1:Насочва пакетите през устройството на 192.168.4.1. Това е IP адресът на рутера по подразбиране в тази мрежа. dev enp0s3:Използвайте този мрежов интерфейс, за да изпратите пакетите към рутера. Следователно dhcp: Идентификаторът на протокола за маршрутизиране. DHCP означава, че маршрутите ще се определят динамично. метрика 100:Индикация за предпочитанието на маршрута в сравнение с други. Маршрути с по-ниски показатели се използват за предпочитане пред тези с по-високи показатели. Можете да използвате това, за да дадете предпочитание на кабелен мрежов интерфейс пред Wi-Fi.
Реклама

Вторият маршрут управлява трафика към IP диапазона от 169.254.0.0/16. Това е мрежа с нулева конфигурация , което означава, че се опитва да се конфигурира самостоятелно за комуникация в интранет. Въпреки това, не можете да го използвате за изпращане на пакети извън непосредствената мрежа.

Принципът зад мрежите с нулева конфигурация е, че те не разчитат на DHCP и други услуги да присъстват и са активни. Те само трябва да видите TCP/IP за да се самоидентифицира с всяко от другите устройства в мрежата.

Нека да разгледаме:

    169.254.0.0/16:Обхватът от IP адреси, който управлява това правило за маршрутизиране. Ако компютърът комуникира в този IP диапазон, това правило се включва. dev enp0s3:Мрежовият интерфейс, който трафикът, управляван от този маршрут, ще използва. връзка за обхват: Обхватът е |_+_|, което означава, че обхватът е ограничен до мрежата, към която този компютър е директно свързан. метрика 1000: Това е висок показател и не е предпочитан маршрут.

Третият маршрут управлява трафика към диапазона на IP адресите 192.168.4.0/24. Това е диапазонът на IP адресите на локалната мрежа, към която е свързан този компютър. Това е за комуникация през, но вътре в тази мрежа.

Нека го разбием:

    192.168.4.1/24:Обхватът от IP адреси, който управлява това правило за маршрутизиране. Ако компютърът комуникира в този IP диапазон, това правило задейства и контролира маршрутизирането на пакети. dev enp0s3:Интерфейсът, през който този маршрут ще изпраща пакети. прото ядро:Маршрутът, създаден от ядрото по време на автоматично конфигуриране. връзка за обхват:Обхватът е |_+_|, което означава, че обхватът е ограничен до непосредствената мрежа, към която е свързан този компютър. src 192.168.4.26:IP адресът, от който идват пакетите, изпратени по този маршрут. метрика 100:Този нисък показател показва предпочитан маршрут.

Показване на информация за единичен маршрут

Ако искате да се съсредоточите върху детайлите на конкретен маршрут, можете да добавите |_+_| опция и диапазон на IP адресите на маршрута към командата, както следва:

/

Добавяне на маршрут

Току-що добавихме нова мрежова интерфейсна карта към този компютър. Въведем следното и виждаме, че се показва като |_+_|:

valid_lft

Ще добавим нов маршрут към компютъра, за да използваме този нов интерфейс. Първо, въвеждаме следното, за да свържем IP адрес с интерфейса:

scope

Реклама

Към новия интерфейс се добавя маршрут по подразбиране, използващ съществуващия IP адрес. Използваме |_+_| опция, както е показано по-долу, за изтриване на маршрута и предоставяне на неговите подробности:

valid_lft

Сега ще използваме |_+_| опция за добавяне на нашия нов маршрут. Новият интерфейс ще обработва мрежовия трафик в диапазона 192.168.121.0/24 IP адреси. Ще му дадем метрика от 100; тъй като това ще бъде единственият маршрут, който обработва този трафик, показателят е почти академичен.

Пишем следното:

preferred_lft

Сега въвеждаме следното, за да видим какво ни дава:

UP

Новият ни маршрут вече е на мястото си. Въпреки това, ние все още имаме маршрута 192.168.4.0/24, който сочи към интерфейса |_+_| — въвеждаме следното, за да го премахнем:

UP

Вече трябва да имаме нов маршрут, който насочва целия трафик, предназначен за IP диапазон 192.168.121.0/24 през интерфейс |_+_|. Това също трябва да бъде единственият маршрут, който използва нашия нов интерфейс.

Пишем следното, за да потвърдим:

scope

Взетият път, не вкоренен

Страхотното при тези команди е, че не са постоянни. Ако искате да ги изчистите, просто рестартирайте системата си. Това означава, че можете да експериментирате с тях, докато заработят така, както искате. И това е много хубаво нещо, ако направите ужасна бъркотия в системата си - обикновено рестартиране ще възстанови реда.

Реклама

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

По този начин обаче можете да тествате команди за шофиране, преди да направите нещо постоянно.

Linux команди
Файлове катран · pv · котка · tac · chmod · сцепление · разл · sed · С · човек · pushd · popd · fsck · тестов диск · сек · fd · пандока · CD · $PATH · awk · присъединяване · jq · сгънете · уникален · journalctl · опашка · състояние · ls · fstab · изхвърли · по-малко · chgrp · chown · rev · виж · струни · Тип · преименувайте · цип · разархивирайте · монтиране · umount · Инсталирай · fdisk · mkfs · rm · rmdir · rsync · df · gpg · ние · нано · mkdir · от · вътрешен · кръпка · преобразувам · rclone · накъсайте · SRM
процеси псевдоним · екран · връх · хубаво · renice · напредък · strace · система · tmux · chsh · история · в · партида · Безплатно · който · dmesg · потребителски мод · п.с · chroot · xargs · tty · мизичко · lsof · vmstat · изчакване · стена · да · убиват · сън · sudo · неговата · време · groupadd · потребителски мод · групи · lshw · изключвам · рестартирайте · Спри се · изключване · passwd · lscpu · crontab · дата · bg · fg
Работа в мрежа netstat · пинг · трасиране · ip · ss · кой е · fail2ban · bmon · Вие · пръст на ръката · nmap · ftp · къдрица · wget · Кой · кой съм аз · В · iptables · ssh-keygen · ufw

СВЪРЗАНИ: Най-добрите Linux лаптопи за разработчици и ентусиасти

ПРОЧЕТЕТЕ СЛЕДВАЩО Снимка на профила на Дейв Маккей Дейв Маккей
Дейв Маккей за първи път използва компютри, когато перфорираната хартиена лента беше на мода и оттогава той програмира. След повече от 30 години в ИТ индустрията, той вече е технологичен журналист на пълен работен ден. По време на кариерата си той е работил като програмист на свободна практика, мениджър на международен екип за разработка на софтуер, ръководител на проекти за ИТ услуги и, последно, като служител по защита на данните. Неговото писане е публикувано от howtogeek.com, cloudsavvyit.com, tenterpriser.com и opensource.com. Дейв е евангелист на Linux и привърженик на отворен код.
Прочетете пълната биография

Интересни Статии