Грешка „Няма маршрут към хост“ в Linux
Попадали ли сте на „Няма маршрут към хост“, докато се опитвате да достигнете до сървър на Linux? Тази грешка при свързване на услугата може да е досадна, но можете да я поправите, след като установите причината.
„Няма маршрут към хост“ означава мрежов проблем, обикновено такъв, който се появява, когато сървърът или хостът не отговарят. Това може да се случи поради проблеми с мрежата или поради неподходяща настройка.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
В тази статия ще разгледаме как да отстраните неизправности и да поправите вашата мрежова ситуация.
Вашите мрежови настройки правилни ли са?
Преди да разгледаме по-конкретните причини за този проблем, уверете се, че вашите мрежови настройки са правилни. Можете ли да се свържете с мрежата? Вашият DNS правилно ли е конфигуриран?
- Нека започнем, като изпълним тази команда, за да разберем: systemd-resolve –състояние
- Ако забележите проблеми с DNS там, върнете се към мрежовата си конфигурация и я повторете, ако трябва. Ако използвате стандартна мрежа с динамичен IP, DNS номерата трябва да се актуализират автоматично.
- За да конфигурирате ръчно своя DNS, отидете в Network Manager и въведете ръчно IP адреса в раздела IPv4.
- Ако вашата Linux дистрибуция няма графичен десктоп, отидете на “/etc/systemd/resolved.conf”, намерете DNS реда и променете числата с номерата на DNS, които искате, и направете други конфигурации, ако трябва.
- Освен това, ако сте настроили статичен IP, може да искате да се върнете към динамичен IP и да позволите на вашата мрежа да получава информацията за връзката чрез DHCP.
Не забравяйте да рестартирате компютъра си, преди да опитате да се свържете отново с хоста. Ако все още получавате „Няма маршрут към хост“, продължете да четете.
Хост сървърът онлайн ли е?
Следващата стъпка е да проверите дали хостът, към който се опитвате да се свържете, наистина е онлайн. В крайна сметка една от най-честите причини за грешката е, че услугата не работи в резултат на поддръжка или някакъв друг проблем.
Ако услугата не е онлайн, проверете дали хостът е. Понякога услугата може да е спряла или да не е стартирана от самото начало, дори ако няма нищо лошо в самия сървър.
- Използвайки systemd, изпълнете командата: sudo systemctl status име на услуга
Ако услугата работи, трябва да потърсите друга причина.
Свързвате ли се към правилния порт?
Проверете повторно всяка документация, която хостът може да е предоставил. Често срещана практика е мениджърите на сървъри да заключват портове, които не се използват за подобряване на сигурността на сървъра. Нападателите често използват общи портове, за да атакуват услугите на Linux.
Ако се опитвате да се свържете със собствения си сървър, можете да проследите услугата до правилния порт. За да направите това, трябва да инсталирате инструмент за сигурност, който може да ви помогне да видите отворени портове – NMAP.
Ето командите за инсталиране на NMAP в различни Linux дистрибуции:
CentOS: yum инсталирайте nmap
Debian: apt-get install nmap
Ubuntu: sudo apt-get install nmap
След като инсталирате NMAP, проверете за отворени портове със следната команда: sudo nmap -sS целеви сървър-ip
Ако нямате директен достъп до сървъра, ще трябва да се свържете с хоста. Но преди да направите това, разгледайте някои от другите възможни причини за грешката „Няма маршрут към хост“ в Linux.
Правилно ли е името на хоста?
Може също да получите грешка „Няма маршрут към хост“, ако вашият компютър и сървърът, който се опитвате да свържете, използват различни имена на хост. И двете машини трябва да бъдат конфигурирани да се свързват една с друга.
Освен обичайната конфигурация на хостове, трябва да обърнете внимание на файловете hosts.deny и hosts.allow в „/etc“. Ако се опитвате да се свържете с нов сървър, уверете се, че сте получили правилното име на хоста на сървъра.
Iptables блокира ли връзката?
iptables е доста полезно, когато искате да конфигурирате таблиците на защитната стена на ядрото на Linux. Пълният контрол, който ви дава върху трафика, който влиза и излиза от вашия компютър, е страхотен.
Но чрез проста грешка в конфигурацията iptables може да блокира връзката към порта, който искате да достигнете, и да доведе до грешка „Няма маршрут към хост“.
- Първо отпечатайте списък с вашите iptables и връзките им, като напишете sudo iptables -L и натискане на Enter.
- За да проверите дали iptables е виновен, изпълнете следната команда: sudo iptables -S. Това ще ви позволи да видите дали правилата на iptables, които сте задали, блокират връзката. Може да се наложи да добавите правило за приемане към веригата INPUT по подразбиране.
- За да изчистите правилата на защитната стена за външна защитна стена, можете да използвате тази команда: sudo iptables -F
Заключителни мисли
Както можете да видите, може да отнеме известно време, за да стигнете до дъното на грешката „Няма маршрут към хост“, но стъпките по-горе трябва да ви помогнат. Въпреки че може да изглежда като сложен проблем, често е резултат от противоречиви конфигурации или прости мрежови проблеми.
Срещали ли сте други потенциални причини и корекции на тази грешка? Пуснете ни коментар и ни разкажете за това.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)