Linux hálózati hibakeresés
Linux hálózati hibakeresés
Mielőtt bármit gépelnél, érdemes megnézni, hogy a kernel vagy a hálózatkezelő lát-e hibát.
Fizikai hibák, link le- és felkapcsolódások (pl. rossz kábel vagy port):
dmesg | grep -i eth
Ha a rendszer próbál csatlakozni, de valamiért (pl. hitelesítés) elbukik, itt lesz a nyoma:
journalctl -u NetworkManager
Ne csak azt nézd, hogy ott van-e az eszköz:
ip link
<UP> - A szoftveres interfész aktív.
<LOWER_UP> - Van fizikai link (be van dugva a kábel vagy él a Wi-Fi kapcsolat). Ha ez hiányzik, feleslegesen pingelsz.
Van-e érvényes IP címed? Ha 169.254.x.x-et látsz, a DHCP nem válaszolt:
ip addr
Van-e default via sor? E nélkül a gép nem tudja, merre küldje a nem helyi forgalmat:
ip route
Alapszintű elérhetőség:
ping -c 4 8.8.8.8
Pro tipp (MTU teszt): Ha a ping megy, de a weboldalak nem töltődnek be, teszteld a csomagméretet:
ping -s 1472 -M do 8.8.8.8
Ha hibaüzenetet kapsz, a hálózaton valahol túl alacsony az MTU (Maximum Transmission Unit), és a csomagok darabolódnak vagy elvesznek.
A valós idejű traceroute. Megmutatja, melyik hop-nál (csomópontnál) kezdődik a késleltetés vagy a csomagvesztés:
mtr google.com
Sokszor "nincs internet", közben csak a névfeloldás halt meg.
Keresd a status: NOERROR feliratot és az IP címet az ANSWER SECTION-ben:
dig google.com
Modern rendszereken (systemd) itt látszik, melyik DNS szervert kérdezi le valójában a gép:
resolvectl status
Az ss a netstat modern utódja. Megmutatja, melyik alkalmazás melyik porton hallgatózol (Listen).
Ha a 0.0.0.0:80 helyett 127.0.0.1:80-at látsz, az alkalmazásod csak helyben érhető el, kívülről nem:
ss -tulpn
(Netcat) Gyors teszt: "Átjutok-e a tűzfalon a célgépig?":
nc -zv 1.2.3.4 443
Ha a port nyitva van, de mégsem jön az adat, nézzük meg a HTTP válaszokat:
curl -Iv https://pelda.hu
Látod a TLS kézfogást (ha itt akad meg, lejárt vagy rossz a cert).
Látod a HTTP státuszkódot (lehet, hogy 403 Forbidden vagy 500 Error van a háttérben).
Amikor már semmi nem segít, látni kell a nyers forgalmat.
Látod-e egyáltalán a bejövő kéréseket? Ha a tcpdump nem lát semmit, a forgalom el sem jut a gépig (valószínűleg egy külső tűzfal vagy router fogja meg):
tcpdump -i any port 80
A klasszikus szabálylista:
sudo iptables -L -n -v
A modernebb disztribúciókon (Debian 11+, RHEL 8+) már az nftables az alapértelmezett, érdemes itt is ránézni a szabályokra:
sudo nft list ruleset
Ha egyszerűbb Ubuntu kezelőfelületet használsz:
sudo ufw status
ip link & ip addr – Van hardverem és IP-m?
ping 8.8.8.8 – Kijutok az IP világba?
dig google.com – Tudok nevet feloldani?
nc -zv target 443 – Átenged a tűzfal a célporton?
curl -Iv target – Az alkalmazás (L7) jól válaszol?
journalctl / tcpdump – Ha még mindig baj van, jöhet a mélyfúrás.
#linux #troubleshooting #networktroubleshooting #tcpip #dns #tcpdump #wireshark #bash #serveradministration