Най-фундаменталната част от администрирането и отстраняването на неизправности в Linux е да се провери IP конфигурацията на системата, за да се уверите, че системата има валиден IP и е достъпна в локалната мрежа.
Командата ip в Linux е мощен инструмент, който не само показва текущия IP адрес на системата, но също така ви позволява да преглеждате и управлявате текущата конфигурация на мрежови интерфейси, IP адреси, маршрути и ARP маси.
Нека да разгледаме някои от често срещаните случаи на използване на командата ip в Linux.
Намерете IP адреса на Linux
Да се намерете IP адреса на вашата Linux система, използвайте командата ip, последвана от адрес, адрес, или а опция:
IP адрес
Това ще покаже конфигурацията на всички мрежови интерфейси, включително техните IP адреси.
В следния пример можете да видите, че системата има три мрежови интерфейса: ето (loopback адрес), ens33, и ens37. Резултатът включва следната информация:
- Информация от слой 1, като възможност за интерфейс и състояние на свързаност на физическия слой, MTU, работното състояние на интерфейса (напр. НАГОРЕ или НАДОЛУ) и дължина на опашката за предаване (qlen).
- Информация от слой 2 като MAC адреса на интерфейса.
- Информацията от слой 3 включва IP адреса и неговия тип (динамично IP адресиране или статично IP адресиране).
За да покажете кратка информация за мрежовите интерфейси, използвайте командата ip с --накратко опция, както следва:
ip -- кратко адресно шоу
За да покажете само информация за IPv4 адрес, използвайте следната команда:
ip -4 адрес
За да разберете информацията за IP адреса на конкретен мрежов интерфейс, използвайте следния синтаксис:
IP адрес шоу dev [интерфейс]
Например, за да видите IP адреса на мрежов интерфейс ens33, командата ще бъде:
IP адрес шоу dev ens33
Преглед и промяна на MAC адреса
С помощта на командата ip можете също да видите и промените MAC адреса на вашата система.
Да се вижте MAC адреса на вашата Linux система, използвайте следната команда:
ip --кратко показване на връзката
За да видите MAC адреса на определен интерфейс, използвайте:
ip --brief връзка шоу dev [интерфейс]
Да се променете MAC адреса, първо свалете интерфейса:
sudo ip връзка комплект dev [интерфейс] надолу
След това използвайте следната команда, за да промените MAC адреса на вашия интерфейс:
sudo ip връзка комплект dev [интерфейс] адрес [нов-mac-адрес]
След това изведете интерфейса:
sudo ip връзка комплект dev [интерфейс] нагоре
Преглед на статистиката на мрежовия интерфейс
С помощта на командата ip можете също да видите статистиката на мрежовия интерфейс. Използвайте следната ip команда, за да видите статистиката за всички мрежови интерфейси на вашата система:
ip -s връзка
Резултатът включва статистика като предадени и получени байтове/пакети, грешки, изпуснати пакети, мултикаст и др. За да покажете статистика за определен интерфейс, използвайте следния синтаксис:
ip -s връзка шоу dev [интерфейс]
За да изведете интерфейс, използвайте следната ip команда:
sudo ip връзка комплект [интерфейс] нагоре
За да свалите интерфейса, изпълнете:
sudo ip връзка комплект [интерфейс] надолу
Можете също така да промените MTU (максимална предавателна единица) на интерфейс, като използвате следната команда:
sudo ip връзка комплект mtu [номер] dev [интерфейс]
Например, за да зададете MTU на мрежов интерфейс ens33 да се 8000, командата ще бъде:
sudo ip връзка комплект mtu 8000 dev ens33
Добавяне/премахване на IP адрес в Linux
За да добавите IP адрес към мрежов интерфейс, използвайте следния синтаксис:
ipадресдобавете[IP адрес]разработка[интерфейс]
За да добавите IP адрес 192.168.42.140/24 към мрежов интерфейс ens33, командата ще бъде:
ip адрес добави 192.168.42.140/24 dev ens33
Използвайте следния команден синтаксис, за да премахнете IP адреса от интерфейс:
ipадресдел[IP адрес]разработка[интерфейс]
За да премахнете IP адреса 192.168.42.140/24 от интерфейс ens33, командата ще бъде:
ip адрес дел192.168.42.140/24 dev ens33
Вижте таблицата за маршрутизиране на Linux
Командата ip route се използва за преглед и промяна на маршрутите в Linux система. За да покажете таблицата за маршрутизиране на вашата система, използвайте командата ip route без опция:
ip маршрут
Всеки ред в изхода представлява конфигуриран маршрут. Маршрутът се състои от мрежов адрес на дестинация, следващ хоп (т.е. IP адресът на рутера), интерфейс, през който пакетът ще бъде изпратен и метриката (стойност, използвана за определяне на предпочитания маршрут, когато има множество маршрути, достъпни за дестинация). В този случай се предпочита маршрутът с по-ниска метрика.
В примера по-горе първите два записа представляват маршрута по подразбиране, който се използва, когато не е наличен друг маршрут за адреса на дестинацията. 192.168.42.2 и 192.168.10.1 са IP адресите на рутера. Разработчикът ens33 и ens37 посочете интерфейса, който ще се използва за изпращане на пакетите към рутера. The прото dhcp полетата показват, че маршрутът по подразбиране е научен от DHCP.
Вторият запис представлява адреса на APIPA (автоматично частно IP адресиране) 169.254.0.0/16. Когато хост не успее да получи IP адрес от DHCP сървър, той си присвоява произволен IP адрес от тази мрежа. Позволява им да комуникират с други хостове в подмрежата, които също не са успели да получат IP адреса.
Третият и четвъртият запис показват мрежовите адреси на локалните мрежи, към които е свързана системата. The 192.168.10.0 е мрежата, която интерфейсът ens37 е прикрепен към докато на 192.168.42.0 е мрежата ens33 е прикрепен към.
The src полето показва IP адреса на интерфейса, използван като адрес на източника при изпращане на пакети през този маршрут.
Променете таблицата за маршрутизиране с помощта на ip
За да добавите ръчно маршрут, използвайте командата ip route, последвана от мрежовия адрес на дестинацията и IP на шлюза:
sudoipмаршрутдобавете[идентификатор на мрежа]чрез[gateway-ip]
Например, за да добавите маршрут, който изпраща целия трафик, предназначен за 192.168.20.0 мрежа към шлюза на 192.168.10.16, ще използвате следната команда:
sudo ip route добави 192.168.20.0/24 през 192.168.10.16
Използвайте следната команда, за да добавите маршрут по подразбиране:
sudo ip route add по подразбиране чрез [ip-адрес] dev [интерфейс]
Например, за да добавите маршрута по подразбиране, който насочва трафика към рутера на 192.168.10.1 през ens33, командата ще бъде:
sudoipмаршрутдобаветепо подразбиранечрез 192.168.10.1разработкаens33
ip маршрут получавам [IP адрес]
За да изтриете запис в таблицата за маршрутизиране, използвайте следния синтаксис:
sudoipмаршрутИзтрий[мрежови адрес]чрез[gateway-ip]
Можете също така да видите маршрута, който адресът ще измине, като използвате следния синтаксис:
ip маршрут получавам [IP адрес]
Управление на съседна таблица на Linux
Можете да използвате ip цвиля команда в Linux за преглед и модифициране на съседната таблица, известна още като ARP таблица. За да видите текущите записи в съседната таблица, използвайте следната команда:
ip цвиля шоу
За да добавите нов запис в съседната таблица, използвайте следния синтаксис:
sudoipцвилядобавете[IP адрес]lladdr[Мак адрес]разработка[интерфейс]
За да премахнете запис от съседната таблица, използвайте следния синтаксис:
sudoipцвилядел[IP адрес]разработка[интерфейс]
Добавете цвят към изхода на командата ip
За да направите изхода по-лесен и по-бърз за разбиране, можете да добавите цвят към изхода на командата ip, като използвате -° С опция:
ip -c a
Управление на мрежи и IP адреси в Linux
Командата ip в Linux е полезен инструмент за администриране и отстраняване на проблеми с мрежовите връзки. От преглед на мрежовите интерфейси и модифициране на свойствата на връзката до намиране на IP адреси и управление на маршрути, командата ip ви позволява да изпълнявате няколко задачи за системно администриране чрез командния ред.