Troubleshooting tips
Enterprise Linux
Bert Van Vreckem – bert.vanvreckem@hogent.be
Enkele veronderstellingen
● Recente Linux-distributie (systemd)
● Basiskennis TCP/IP netwerken
stel, het
Internet is
“kapot”
wat is je
eerste
commando?
troubleshooting
=
toepassing
wetenschap-
pelijke methode
De wetenschappelijke methode
1.Observatie
2.Hypothese
3.Voorspelling
4.Test / experiment
5.Analyse
6.Ga terug naar stap 1.
Toepassing op troubleshooting
● Observatie:
– "Het Internet is kapot!"
● Hypothese:
– "Misschien de IP-instellingen?"
● Voorspelling:
– "IP opvragen => verkeerd/geen IP"
Toepassing op troubleshooting
● Test: ip a
● Analyse:
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group
default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: em1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast
state DOWN group default qlen 1000
link/ether f0:1f:af:2a:62:32 brd ff:ff:ff:ff:ff:ff
NO-CARRIER: misschien de kabel insteken?
Toepassing op troubleshooting
● Ga terug naar stap 1
– Het werkt nog altijd niet
● Hypothese
– Misschien default gateway?
● ...
Systematisch
en
grondig
Systematisch
● = altijd zelfde volgorde
● zodat je geen stappen overslaat
● gebruik “model” van je systeem
– Bottom-up testen
Applicatie
Transport
Internet
Netwerkinterface
Maak een
checklistook voor Windows, Cisco, … !
Netwerkinterfacelaag
● Kabel correct aangesloten?
– LEDs netwerkkaart en switch
– kleur LED kan probleem aangeven
● bv. groen = 1Gbps, oranje = 100Mbps
● Kabels testen
● VirtualBox: "cable connected"?
Applicatie
Transport
Internet
Netwerkinterface
Internetlaag
● Eerst machine zelf
– IP-adres en netwerkmasker
– Default gateway
– DNS-server
● Dan pas "naar buiten" kijken
– Gateway bereikbaar?
– DNS-server beschikbaar?
– Andere hosts op het LAN
Applicatie
Transport
Internet
Netwerkinterface
Internetlaag
● IP-adres: ip a (ip address)
– e.g. VBox NAT: 10.0.2.15
– vboxnet0/Host-Only Ethernet Adapter:
192.168.56.101-254
– /etc/sysconfig/network-scripts/ifcfg-IFACE
● Default gateway: ip r (ip route)
– e.g. VBox NAT: 10.0.2.2
– thuisnetwerk: vaak 192.168.0.1 Applicatie
Transport
Internet
Netwerkinterface
Internetlaag
● DNS-server: cat /etc/resolv.conf
– e.g. VBox NAT: 10.0.2.3
– thuisnetwerk: idem als gateway
– Google DNS: 8.8.8.8 & 8.8.4.4
Applicatie
Transport
Internet
Netwerkinterface
Internetlaag
● Default gateway: ping
● DNS request, evt. ping
– dig, host, nslookup
● Ping andere host binnen subnet
● Traceroute naar buiten
– traceroute, tracert, tcptraceroute,
tracepath, ...
Let op: ping/tracert werken niet altijd!
Routers kunnen ICMP blokkeren
Applicatie
Transport
Internet
Netwerkinterface
Transportlaag
● Zijn de juiste poorten open/draait de service?
– sudo systemctl status httpd.service
– sudo ss -tulpn
– sudo ps -ef
● Wordt de poort gefilterd door de firewall?
– sudo firewall-cmd --list-all
– sudo iptables -L -n -v
● Van "buitenaf": portscanner
– vb. nmap -A -T4, nmap -sS -sU
– "Port Scanning One, Two Punch"
Applicatie
Transport
Internet
Netwerkinterface
Applicatielaag
● Client software of troubleshooting tools
– Webbrowser, curl, wget
– fileserver: smbclient, nmblookup, net use
(Windows), ...
● Bekijk de logfiles!
– sudo journalctl -l -f -u
httpd.service
– Tip: open apart terminalvenster
met journalctl -f
Applicatie
Transport
Internet
Netwerkinterface
Applicatielaag
● Valideer configuratiebestanden
– Webbrowser, apachectl configtest
– fileserver: testparm
– DNS: named-checkconf, named-
checkzone
● Na wijziging configuratie, herstart service
– en bekijk logs
Applicatie
Transport
Internet
Netwerkinterface
Tips
Stap
voor
stap
Werk stap voor stap
● Eén wijziging tegelijk
● Verifieer het effect van de wijziging
● Zorg dat je stap terug kan zetten
Ken
het systeem
en netwerk
Ken het systeem/netwerk
● Verwachte waarden?
– Info LAN
– VirtualBox netwerkconfiguratie
● Automatiseringstools zijn nu alleen extra
laag complexiteit
RTFEM(read the f*%#*ng error message)
Foutboodschappen
● Op welk niveau van TCP/IP zit het
probleem?
– Internet? Transport? Applicatie?
● Foutboodschap = shortcut voor startpunt
troubleshooten
● Let op: vaak komt de foutboodschap niet
op de console, maar in de logs!
Foutboodschappen
● No route to host
– Internetlaag
– Probleem met IP-configuratie
● Connection refused
– Transportlaag
– Service draait niet, gefilterd, ...
Foutboodschappen
● Unable to resolve host
– Internet-/applicatielaag
– DNS server niet beschikbaar
● Error 404: [...] not found
– Applicatielaag
– URL verkeerd, fout in Apache configuratie, ...
● Google & StackExchange are your
friends...
Gebruik de
logs
Logfiles
● Leer werken met journalctl
– http://0pointer.de/blog/projects/journalctl.html
– belangrijkste opties in je cheat-sheet!
– joutnalctl -f -l -u httpd.service
● Ken de "oude" locaties van logs:
– /var/log/messages (hoofd-log)
– /var/log/audit/audit.log (SELinux)
– /var/log/httpd/* (e.g. error_log, access_log)
– /var/log/samba/*
– /var/log/vsftpd/*
– ...
Leer over
SELinux
SELinux troubleshooting
● Bekijk presentatie Thomas Cameron,
SELinux for mere mortals
● Lees de blog van Dan Walsh
– = Mr. SELinux bij RedHat
– https://danwalsh.livejournal.com/65777.html
● Lees de RHEL 7 SELinux User's and
Administrator's Guide
maak
backupsvan gewijzigde configbestanden
gebruik de juiste
handleiding
Manuals
● https://access.redhat.com/documentation/en-U
– RedHat 7 System Administrator's Guide
– RedHat 7 Networking Guide
– RedHat 7 SELinux User's and Administrator's
Guide
● man-pages van de commando's,
configuratiebestanden
wat is je
eerste
commando?
ping www.google.com
?
Te veel voorwaarden:
● Kabels correct aangesloten
● IP-instellingen correct
– IP-adres
– default gateway
– DNS
● DNS-server moet beschikbaar zijn
● Router moet werken
● Hele route naar www.google.be moet ok zijn
● Alle routers moeten ICMP doorlaten
wat is je
eerste
commando?
wat is je
eerste
commando?
controleer je
kabels!
Troubleshooting tips
Enterprise Linux
Bert Van Vreckem – bert.vanvreckem@hogent.be

Linux troubleshooting tips