Network debugging (Nederlands)
Dit artikel behandelt de basis stappen voor het troubleshooten van netwerk connectiviteit.
iproute2
Vele Linux gebruikers kennen utilities zoals ifconfig
en route
, maar deze worden al geruime tijd ontraden. Alle functionaliteit is onder gebracht in een set utilities die zich bevinden in de iproute2
package.
Inmiddels wordt in Arch Linux iproute2 standaard geinstalleerd en maakt bijvoorbeeld ook netcfg hier gebruik van.
Netwerk Interfaces
Bij het troubleshooten van netwerk is de eerste stap de snelle identificatie van de netwerk interfaces, dit kan met het volgende commando:
ip a
Dit geeft bijvoorbeeld de volgende output:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 70:5a:b6:8a:a0:87 brd ff:ff:ff:ff:ff:ff inet 192.168.1.143/24 brd 192.168.1.255 scope global eth0 inet6 fe80::725a:b6ff:fe8a:a087/64 scope link valid_lft forever preferred_lft forever 3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000 link/ether 00:26:82:5a:6f:d9 brd ff:ff:ff:ff:ff:ff inet 192.168.1.148/24 brd 192.168.1.255 scope global wlan0 inet6 fe80::226:82ff:fe5a:6fd9/64 scope link valid_lft forever preferred_lft forever
Link status
In het overzicht van het ip a
commando zie je de link status al, maar je kunt deze ook op vragen met:
ip link show dev eth0
Dit geeft bijvoorbeeld de volgende output:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000 link/ether 70:5a:b6:8a:a0:87 brd ff:ff:ff:ff:ff:ff
Je kunt nu de interface online brengen met:
sudo ip link set dev eth0 up
IP adres
In het overzicht van het ip a
commando zie je het ip adres al, maar je kunt deze ook op vragen met:
ip addr show dev eth0
Dit geeft bijvoorbeeld de volgende output:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 70:5a:b6:8a:a0:87 brd ff:ff:ff:ff:ff:ff inet 192.168.1.143/24 brd 192.168.1.255 scope global eth0 inet6 fe80::725a:b6ff:fe8a:a087/64 scope link valid_lft forever preferred_lft forever
Een ip adres tijdelijk (na een reboot is de configuratie weg) toevoegen:
sudo ip addr add 192.168.1.143/24 dev eth0
Een ip adres verwijderen:
sudo ip addr del 192.168.1.143/24 dev eth0
Route table
De route tabel kun je opvragen met:
ip route show
Of voor een specifieke interface:
ip route show dev eth0
Dit geeft bijvoorbeeld de volgende output:
default via 192.168.1.1 proto static 192.168.1.0/24 proto kernel scope link src 192.168.1.143
De default gateway configureren:
sudo ip route add 0/0 via 192.168.1.1 dev eth0
De default gateway verwijderen:
sudo ip route del 0/0 via 192.168.1.1 dev eth0
DNS Servers
DNS servers converteren domein namen in IP addressen. Wanneer je in staat bent IP adressen te pingen, maar websites openen etc. lukt niet, dan is de kans groot dat de dns configuratie foutief is. Je kunt de bestaande configuratie bekijken met:
cat /etc/resolv.conf
Dit geeft bijvoorbeeld de volgende output:
domain example.com search example.com nameserver 192.168.1.1
- De regel '
nameserver
' is het relevante gedeelte, meerdere nameservers zijn mogelijk - De '
domain
' regel ensearch
zijn optioneel - Vaak is de '
nameserver
' gelijk aan de default gateway, maar niet noodzakelijk. - Bij twijfel kun je gebruik maken van Google DNS als de default DNS Servers:
nameserver 8.8.8.8 nameserver 8.8.4.4
Testen of de dns server werkt kan eenvoudig met het host
commando:
host www.archlinux.org 8.8.4.4
Bovenstaand commando doet een dns lookup op www.bbc.co.uk op de dns server 8.8.4.4 en geeft bijvoorbeeld de volgende output:
Using domain server: Name: 8.8.4.4 Address: 8.8.4.4#53 Aliases:
www.archlinux.org is an alias for gudrun.archlinux.org. gudrun.archlinux.org has address 66.211.214.131
Ping & Tracepath/Traceroute
Het ping commando kan helpen om de connectiviteit naar een bepaalde host te controleren.
De eerste stap in de controle is het pingen van de default gateway (vervang het onderstaande ip adres met de eigen default gateway):
ping -c4 192.168.1.1
Wanneer de parameter -c4 weg gelaten wordt, wordt er "eindeloos" gepinged. Dit kun je met CTRL+C onderbreken.
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. 64 bytes from 192.168.1.1: icmp_req=1 ttl=64 time=0.193 ms 64 bytes from 192.168.1.1: icmp_req=2 ttl=64 time=0.190 ms 64 bytes from 192.168.1.1: icmp_req=3 ttl=64 time=0.192 ms 64 bytes from 192.168.1.1: icmp_req=4 ttl=64 time=0.189 ms --- 192.168.1.1 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 2999ms rtt min/avg/max/mdev = 0.165/0.184/0.193/0.014 ms
Bovenstaande uitvoer betekent dat de gateway bereikbaar is. Wanneer je in plaats daarvan "Destination Host Unreachable
" krijgt, controleer dan het IP adres met bijbehorend netmask en de default gateway. Overigens kan deze melding ook verschijnen wanneer de firewall of router ICMP traffic blokkeert.
De volgende stap is het pingen van de dns server. Wanneer deze niet antwoordt kan tracepath
of traceroute
gebruikt worden om te zien waar in de routering naar de host toe het fout gaat.
traceroute 8.8.4.4
Ook hier geldt dat routers ICMP kunnen blokkeren en daarom er "no reply" antwoorden zijn.