CH-J Server Managerserverhåndtering over SSH
Menu
Alle vejledninger og artikler →

ping fejler, men SSH og HTTPS virker: hvorfor, og er det et problem?

Hvorfor en server kan ignorere ping og stadig køre normalt, hvordan du tester tjenesterne direkte, og hvornår blokeret ICMP giver reelle fejl.

Hvorfor det sker

ping bruger ICMP, mens SSH og HTTPS bruger TCP-porte. Det er adskilt trafik, og en firewall kan droppe den ene og lade den anden passere. Mange netværk og sikkerhedsgrupper i skyen blokerer ICMP-echo som standard. Et manglende svar betyder derfor ikke, at serveren er nede, og et svar beviser ikke, at dens tjenester virker.

Test tjenesten, ikke ping

Kontrollér de porte og protokoller, du faktisk har brug for. Hvis testene lykkes, er serveren tilgængelig for disse tjenester, og den mislykkede ping viser blot, at der er et filter et sted på vejen.

nc -vz -w 5 server.example 22
nc -vz -w 5 server.example 443
curl -sSI https://server.example/

Spor ruten med TCP

En klassisk traceroute viser muligvis kun stjerner, når ICMP eller UDP filtreres. Med TCP til en åben port kan du ofte komme længere. Det kræver root-rettigheder, og traceroute skal muligvis installeres først, fordi minimale systemer ikke indeholder det.

sudo traceroute -T -p 443 server.example

Led efter filteret på din server

Hvis du administrerer serveren, skal du undersøge dens firewall og kerneindstillingen, som ignorerer echo-anmodninger. Husk, at blokeringen også kan ligge uden for serveren, i en sikkerhedsgruppe eller en router, og at en udbyder kan filtrere ICMP på sit netværk, uden at du kan se en regel.

sysctl net.ipv4.icmp_echo_ignore_all
sudo nft list ruleset | grep -i icmp
sudo ufw status verbose

Hvornår blokeret ICMP faktisk giver fejl

Blokering af echo er for det meste harmløs, men det er blokering af al ICMP ikke. Registrering af stiens MTU afhænger af meddelelser om for store pakker. Uden dem virker små udvekslinger, mens store går i stå, for eksempel når SSH-login lykkes, men sessionen derefter hænger ved store mængder output. IPv6 er endnu mere afhængig af ICMPv6. Den anden kommando tester en sti med henblik på en MTU på 1500 byte på Linux.

ip route get 192.0.2.10
ping -M do -s 1472 -c 3 192.0.2.10

Sammenligning i CH-J Server Manager

Server Diagnostics kører ping via systemværktøjet uden root-rettigheder sammen med separate test af TCP, SSH-identifikation, HTTP og TLS, så en mislykket ping kan vurderes i sammenhæng. En mislykket ping betyder her, at der ikke kom noget svar. Den fortæller ikke, hvor pakken blev droppet, og traceroute kan muligvis heller ikke besvare det.

Detaljeret dokumentation

RFC 4890: ICMPv6 filtering →

man: ping →

Biometrisk oplåsning og sikkerhed →