Когато системите се сблъскат с проблеми, както понякога ще се случи, трябва да знаете как да заобиколите проблема и да ги върнете обратно в нормално и функциониращо състояние. В този раздел ние се фокусираме върху основните умения за отстраняване на неизправности в мрежата, които всеки администратор на Linux системи трябва да притежава.
В повечето случаи има голяма разлика между мрежовите администратори и системните администратори. Сисадмините, които нямат видимост в мрежата, обикновено ще обвиняват мрежови администратори за прекъсвания и престой, докато мрежовите администратори ще недостатъчно познават сървъра, често ще прехвърлят вината на системните администратори за повреда на крайната точка. Играта с обвинения обаче не помага за решаването на проблеми и в работна среда това може да антагонизира отношенията между колегите.
Като системен администратор, фундаменталното разбиране за отстраняване на проблеми с мрежата ще помогне за по -бързото разрешаване на проблемите и ще спомогне за насърчаване на сплотена работна среда. Поради тази причина събрахме този раздел, за да подчертаем някои от
основни съвети за отстраняване на проблеми с мрежата това ще бъде полезно при диагностициране на проблеми, свързани с мрежата.В предишната ни тема за LFCA серия, разгледахме Идеен модел на TCP/IP който показва предаването на данни в компютър и протоколите, които се намират във всеки слой.
Друг също толкова важен концептуален модел е OSI модел (Взаимодействие на отворени системи) модел. Това е 7 -слойна TCP/IP рамка, която разбива мрежовата система и изчислителните функции като всеки слой.
В OSI модел, тези функции са сегментирани в следните слоеве, започвайки от дъното. Физически слой, слой за връзка с данни, мрежов слой, транспортен слой, сесиен слой. Слой за презентации и накрая слой за приложение в самия връх.
Невъзможно е да се говори за отстраняване на проблеми с мрежата, без да се прави позоваване на модела OSI. Поради тази причина ще ви преведем през всеки слой и ще разберем различните използвани мрежови протоколи и как да отстраним неизправностите, свързани с всеки слой.
Това вероятно е един от най -пренебрегваните слоеве, но въпреки това е един от най -важните слоеве, необходими за осъществяване на всяка комуникация. Физическият слой обхваща физическите компютърни мрежови компоненти на компютър като мрежови карти, Ethernet кабели, оптични влакна и др. Повечето проблеми започват тук и са причинени най -вече от:
В този слой възникват въпросите:
За да проверите състоянието на мрежовите си интерфейси, стартирайте ip команда:
$ ip линк шоу.
От горния изход имаме 2 интерфейса. Първият интерфейс - ето
- е адресът за обратна връзка и обикновено не се използва. Активният мрежов интерфейс, който осигурява свързаност към мрежата и интернет, е enp0s3
интерфейс. От изхода можем да видим, че състоянието на интерфейса е НАГОРЕ.
Ако мрежовият интерфейс е изключен, ще видите състояние НАДОЛУ изход.
Ако случаят е такъв, можете да отворите интерфейса с помощта на командата:
$ sudo ip набор от връзки enp0s3 нагоре.
Като алтернатива можете да стартирате ifconfig команда показано по-долу.
$ sudo ifconfig enp0s3 нагоре. $ ip линк шоу.
За да потвърдите, че вашият компютър е избрал IP адрес от рутера или DHCP сървъра, стартирайте ifconfig команда.
$ ifconfig.
The IPv4 адресът е с префикс от параметъра inet, както е показано. Например IP адресът на тази система е 192.168.2.104 с подмрежа или мрежова маска на 255.255.255.0.
$ ifconfig.
Като алтернатива можете да стартирате IP адрес команда, както следва, за да проверите IP адреса на вашата система.
$ ip адрес.
За да проверите IP адреса на шлюза по подразбиране, изпълнете командата:
$ ip маршрут | grep по подразбиране.
IP адресът на шлюза по подразбиране, който в повечето случаи е DHCP сървър или рутер, е посочен, както е показано по -долу. В IP мрежа трябва да можете да пингвате шлюза по подразбиране.
За да проверите DNS сървърите, които използвате, изпълнете следната команда в systemd системи.
$ systemd-resolution --status.
По -добър начин да проверите използваните DNS сървъри е да стартирате команда nmcli показани
$ (nmcli dev list || nmcli dev show) 2>/dev/null | grep DNS.
Както забелязахте, тук се случва доста голяма част от отстраняването на проблеми с мрежата.
По същество слоят за връзка към данни определя формата на данните в мрежата. Тук се осъществява комуникацията на рамки от данни между хостове. Преобладаващият протокол в този слой е ARP ( Протокол за разрешаване на адреси).
ARP е отговорен за откриването на адреси на слоя връзка и извършва картографиране на IPv4 адреси на слой 3 към MAC адреси. Обикновено, когато хост се свърже с шлюза по подразбиране, има вероятност той вече да има IP на хоста, но не и MAC адресите.
The ARP протоколът преодолява пропастта между слой 3 и слой 2, като превежда 32-битовите IPv4 адреси на слой 3 в 48-битови MAC адреси на слой 2 и обратно.
Когато компютърът се присъедини към LAN мрежа, рутерът ( шлюз по подразбиране ) му присвоява IP адрес за идентификация. Когато друг хост изпраща пакет данни, предназначен към компютъра, към шлюза по подразбиране, рутерът иска ARP да търсите MAC адреса, който върви с IP адреса.
Всяка система има своя собствена ARP маса. За да проверите вашата ARP таблица, изпълнете командата:
$ ip съседно шоу.
Както можете да забележите, MAC адресът на рутера е попълнен. Ако има проблем с разрешаването, командата не връща изход.
Това е слоят, с който работите изключително IPv4 адреси, които са запознати със системните администратори. Той предоставя множество протоколи като ICMP и ARP които сме обхванали и други като напр ПОЧИВАЙ В МИР (Информационен протокол за маршрутизиране).
Някои от често срещаните проблеми включват неправилно конфигуриране на устройства или проблеми с мрежови устройства, като например рутери и комутатори. Добро място за започване на отстраняване на неизправности е да проверите дали вашата система е избрала IP адрес, както следва:
$ ifconfig.
Също така можете да използвате команда ping за да проверите интернет връзката, като изпратите ICMP ехо пакет към DNS на Google. The -° С
флаг означава броя на изпращаните пакети.
$ ping 8.8.8.8 -c 4.
Резултатът показва положителен отговор от DNS на Google с нулева загуба на пакети. Ако имате прекъсната връзка, можете да проверите от коя точка пакетите се изпускат с помощта на команда за проследяване както следва.
$ traceroute google.com.
Звездичките показват точката, в която пакетите се изпускат или губят.
The Команда nslookup отправя заявка към DNS, за да получи IP адреса, свързан с домейн или име на хост. Това се нарича пренасочване на DNS търсене.
Например.
$ nslookup google.com.
Командата разкрива IP адресите, свързани с домейна google.com.
Сървър: 127.0.0.53. Адрес: 127.0.0.53#53 Неавторитетен отговор: Име: google.com. Адрес: 142.250.192.14. Име: google.com. Адрес: 2404: 6800: 4009: 828:: 200e.
The команда dig е още една команда, използвана за запитване на DNS сървъри, свързани с име на домейн. Например, за да заявите DNS сървъри с имена, изпълнете:
$ dig google.com.
Транспортният слой обработва предаването на данни с помощта TCP и UDP протоколи. Само да обобщим, TCP е протокол, ориентиран към връзка, докато UDP е без връзка. Изпълняващото се приложение слуша на гнезда, които се състоят от портове и IP адреси.
Чести проблеми, които могат да възникнат, включително блокирани TCP портове, които може да се изискват от приложенията. Ако имате уеб сървър и искате да проверите състоянието му, използвайте netstat или ss команда за да проверите дали уеб услугата слуша порт 80
$ sudo netstat -pnltu | греп 80. ИЛИ. $ ss -pnltu | греп 80.
Понякога порт може да се използва от работеща услуга в системата. Ако искате друга услуга да използва този порт, може да бъдете принудени да го конфигурирате да използва различен порт.
Ако все още имате проблеми, проверете защитната стена и проверете дали портът, който ви интересува, е блокиран.
Повечето от отстраняването на неизправности ще се случи в тези 4 слоя. Много малко отстраняване на неизправности се извършва в слоевете сесия, презентация и приложение. Това е така, защото те играят по -малко активна роля във функционирането на мрежата. Нека обаче бързо да направим преглед на това, което се случва в тези слоеве.
Слоят на сесията отваря комуникационни канали, наричани сесии, и гарантира, че те остават отворени по време на предаването на данни. Той също така се затваря, след като комуникацията се прекрати.
Известен също като синтаксичен слой, презентационният слой синтезира данни, които да се използват от приложния слой. Той уточнява как устройствата трябва да криптират, кодират и компресират данни с цел да се гарантира, че те са добре приети от другата страна.
И накрая, имаме приложния слой, който е най-близо до крайните потребители и им позволява да взаимодействат с приложния софтуер. Приложният слой е богат с протоколи като HTTP, HTTPS, POP3, IMAP, DNS, RDP, SSH, SNMP и NTP, за да споменем няколко.
При отстраняване на неизправности в Linux система, многопластовият подход, използващ модела OSI, се препоръчва силно, като се започне от долния слой. Това ви дава представа какво се случва и ви помага да стесните проблема.