Dette kapittelet dekker de essensielle verktøyene for å sjekke og jobbe med et nettverk. Nesten alle fungerer identisk på tvers av distroer.
ping — er verten tilgjengelig?
ping sender ICMP-ekko-pakker til en vert og rapporterer svar og
svarstid. Det er det første verktøyet du bruker når noe er utilgjengelig.
$ ping -c 3 1.1.1.1
64 bytes from 1.1.1.1: icmp_seq=1 ttl=57 time=8.7 ms
3 packets transmitted, 3 received, 0% packet loss
-c begrenser antall pings; uten den kjører ping for alltid (stopp med
Ctrl+C). Du kan også pinge et domenenavn:
$ ping -c 3 example.com
ip — adresser, ruter, grensesnitt
ip er den moderne erstatteren for de gamle ifconfig og route. Den har
underkommandoer for ulike aspekter av nettverk.
Vis adressene dine (ip a for kort):
$ ip addr
1: lo: <LOOPBACK,UP> ...
inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,UP> ...
inet 10.0.0.5/24 brd 10.0.0.255 ...
Vis grensesnitt (ip link):
$ ip link
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 ...
Vis rutetabellen (ip r):
$ ip route
default via 10.0.0.1 dev eth0
10.0.0.0/24 dev eth0 ...
default via ...-linjen er gatewayen din — ruteren som sender trafikk til
internett.
curl — overfør data fra URL-er
curl er sveitserkniven for HTTP. Skriv ut innholdet på en URL i terminalen:
$ curl https://example.com
<!doctype html>...
Lagre til en fil med -o:
$ curl -o page.html https://example.com
Hent bare svarhodene med -I:
$ curl -I https://example.com
HTTP/2 200
content-type: text/html
Kjør stille med -s (nyttig i skript):
$ curl -s -o page.html https://example.com
Grafisk alternativ: en hvilken som helst nettleser laster ned det samme innholdet, men
curler skriptbart og fungerer på servere uten GUI.
wget — last ned filer
wget laster ned filer og er bedre egnet enn curl for enkle nedlastinger
av store filer (den gjenopptar avbrutte nedlastinger med -c).
$ wget https://example.com/file.tar.gz
$ wget -c https://example.com/file.tar.gz # fortsett en avbrutt nedlasting
wget er forhåndsinstallert på Ubuntu- og Fedora-skrivebord; på Arch
installerer du det med sudo pacman -S wget.
dig — DNS-oppslag
dig spør DNS-servere og viser postene. Det er en del av bind9-verktøyene;
på Ubuntu installerer du bind9-dnsutils hvis det mangler, på Fedora følger
det med bind-utils.
Kort svar (bare IP-adressene):
$ dig +short example.com
93.184.215.14
Full utdata med alle postdetaljer:
$ dig example.com
;; ->>HEADER<<- opcode: QUERY, status: NOERROR ...
;example.com. IN A
Spør en bestemt DNS-server med @:
$ dig @1.1.1.1 +short example.com
ss — sockets og porter
ss viser nettverkssockets — hvilke porter som er åpne, og hva som er
tilkoblet. Den erstatter det gamle netstat.
Vis TCP-sockets som lytter, med prosessnavn:
$ ss -lntp
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 4096 127.0.0.53:53 0.0.0.0:* users:(("systemd-resolve",...))
| Flagg | Betydning |
|---|---|
-l |
bare sockets som lytter |
-t |
bare TCP |
-u |
bare UDP |
-n |
numerisk (ingen navneoppslag) |
-p |
vis hvilken prosess som eier den |
For å se om en tjeneste lytter på port 443:
$ ss -lntp | grep :443
traceroute — hvor brytes stien?
Når ping lykkes, men et nettsted er tregt eller utilgjengelig, viser
traceroute stien en pakke tar og hvor lang tid hvert hopp trenger:
$ traceroute example.com
Hopper som timeouter (* * *) er ofte brannmurer som dropper pakker — ikke
nødvendigvis et problem.
nmcli — nettverksinnstillinger fra terminalen
nmcli snakker med NetworkManager, nettverkstjenesten de fleste skrivebord
bruker. På en headless-server er det måten å håndtere Wi-Fi og tilkoblinger.
$ nmcli device status
$ nmcli device wifi list # skann etter Wi-Fi-nettverk
Grafisk alternativ: skrivebordets nettverksinnstillinger (Innstillinger → Wi-Fi / Nettverk) gjør det samme for en GUI-bruker.
En merknad om brannmurer
Hvis du kjører en server, husk at distroen din har en brannmur: Ubuntu
har ufw (av til den aktiveres), Fedora har firewalld (aktiv som
standard). «Serveren min kjører, men jeg når den ikke utenfra» er veldig ofte
en brannmurregel. Konfigurering av brannmurer er utenfor dette kapittelets
omfang — se brannmurdelen av distroens dokumentasjon.