PDA

View Full Version : Korte uitleg: Netwerk problemen, eerste analyse



hcvv
27-Dec-2014, 04:37
Korte uitleg: Netwerk problemen, eerste analyse

Soms zie je wanhoopskreten als "Het Internet doet het niet". Dat is natuurlijk onzin. De kranten zouden vol staan als het Internet niet meer werkt. Als er wordt doorgevraagd weet degene die het probleem heeft vaak niet meer te zeggen dan dat hij/zij met een browser een web-adres niet kan laden.

Om een beter diagnose te stellen hier enige uitleg. We gaan hierbij van binnenuit steeds verder naar buiten.

Is de netwerkkaart (NIC, Network Interface Card) geconfigureerd?

Een NIC "doet het" als hij een IP adres en een Mask heeft gekregen en "UP" is. Je kunt de status van al je NICs zien met

henk@boven:~> ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 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 brd 127.255.255.255 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp1s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:1b:fc:7f:c1:ef brd ff:ff:ff:ff:ff:ff
inet 10.0.0.154/24 brd 10.0.0.255 scope global enp1s8
valid_lft forever preferred_lft forever
inet6 2001:980:91a0:1:19ff:205:4038:e1bf/64 scope global temporary dynamic
valid_lft 4403sec preferred_lft 3349sec
inet6 2001:980:91a0:1:21b:fcff:fe7f:c1ef/64 scope global dynamic
valid_lft 4403sec preferred_lft 3349sec
inet6 fe80::21b:fcff:fe7f:c1ef/64 scope link
valid_lft forever preferred_lft forever
3: wlp0s29f7u5: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 00:c0:a8:ee:de:b9 brd ff:ff:ff:ff:ff:ff
henk@boven:~>
We zien hier drie NICs.

lo
Dit is geen echte NIC. Het is het loop device. Hiermee kan de machine TCP/IP verkeer met zichzelf doen. Handig als de client en de server software op hetzelfde systeem staan. Bijvoorbeeld met je web-browser naar localhost. Het IP adres is altijd 127.0.0.1 en het Mask altijd 255.0.0.0.

enp1s8
Dit is een kabel/cable/wired netwerkapparaat. Meestal heten die eth0, enz. We zien het IP adres 10.0.0.154, het Mask 255.255.255.0. De Broadcast 10.0.0.255 is daarvan automatisch afgeleid. We zien ook IPv6 adressen, maar daar zullen we het hier niet over hebben. Belangrijk is het woord UP. DE NIC werkt dus en heeft het aangegeven IP adres.

wlp0s297f
Dit is een Wifi apparaat. Meestal heten die wlan0, enz. Er is in dit geval geen IP adres en het apparaat is niet UP. Dus hij "doet het niet".


Kan ik andere systemen op mijn LAN (Local Area Network) bereiken?

Met een werkende NIC moet het mogelijk zijn om andere systemen in hetzelfde LAN te bereiken. Dan moet je wel het IP adres van zo'n systeem weten. Een systeem dat vast wel in je LAN aanwezig is, is je netwerk modem/router. Daar weet je meestal het IP adres van. Test:

henk@boven:~> ping -c1 10.0.0.138
PING 10.0.0.138 (10.0.0.138) 56(84) bytes of data.
64 bytes from 10.0.0.138: icmp_seq=1 ttl=64 time=0.463 ms

--- 10.0.0.138 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.463/0.463/0.463/0.000 ms
henk@boven:~>
Dat werkt dus. Bij niet werken krijg je zoiets als dit:

henk@boven:~> ping -c1 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.

--- 192.168.1.1 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms

henk@boven:~>
En dat duurt even want er wordt een poos op antwoord gewacht.

Overigens is 192.168.1.1 het meest gebruikte router adres bij huisnetwerken. Als je het dus niet zeker weet, probeer dit dan. Maar ja, als het niet werkt, weet je nog niet veel. In ieder geval moeten het eerste gedeelt van het IP adres van je eigen NIC en het IP adress van de router hetzelfde zijn. En wel zoveel als het Mask aangeeft. In ons geval is het Mask 255.255.255.0. Dat betekent dat de eerste drie getallen van het IP adres 10.0.0.154 en van dat van de router 10.0.0.138 (dat is dus 10.0.0) gelijk moeten zijn. Is dat niet zo, dan behoren beide systemen tot een verschillend netwerk.

Heb ik een weg/route naar buiten?

Om naar pakketjes naar andere netwerken dan het eigen LAN te kunnen sturen, moet het systeem weten waar de deur naar buiten is. In huisnetwerken is er meestal maar één zo'n deur en dat is het modem/router. Die moet daarom bekend zijn als de default router (ook wel gateway). Dus de router die gebruikt wordt als alle andere routes niet voldoen. De route tabel kun je zien met:

henk@boven:~> ip route
default via 10.0.0.138 dev enp1s8
10.0.0.0/24 dev enp1s8 proto kernel scope link src 10.0.0.154
127.0.0.0/8 dev lo scope link
henk@boven:~>
De default route is hier in de eerste regel. Eenvoudig gezegd zegt de eerste regel: als geen van de andere regels de juiste weg wijst, ga dan met je pakketje naar 10.0.0.138.

Nu zouden we dus naar het Internet moeten kunnen.


Kan ik het Internet bereiken?

Probeer maar weer met ping:

henk@boven:~> ping -c1 195.135.221.161
PING 195.135.221.161 (195.135.221.161) 56(84) bytes of data.
64 bytes from 195.135.221.161: icmp_seq=1 ttl=54 time=15.7 ms

--- 195.135.221.161 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 15.728/15.728/15.728/0.000 ms
henk@boven:~>
Gelukt. We kunnen met 195.135.221.161 (dat is het IP adres van forums.opensuse.org) praten. We hebben dus verbinding met het Internet.

Kan ik host/domeinnamen oplossen naar IP addressen?

Maar we willen het natuurlijk eenvoudiger hebben. We willen niet met IP adressen werken maar met host/domeinnamen. De volgende test is dus:

henk@boven:~> ping -4 -c1 forums.opensuse.org
PING login2.opensuse.org (195.135.221.161) 56(84) bytes of data.
64 bytes from 195.135.221.161 (195.135.221.161): icmp_seq=1 ttl=54 time=15.9 ms

--- login2.opensuse.org ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 15.917/15.917/15.917/0.000 ms
henk@boven:~>
En jawel, ook het vertalen van domeinnamen naar IP adres werkt.

En hoe verder?

Als één van de bovenstaande tests een negatief resultaat oplevert weet je waar het probleem ongeveer zit. Het heeft niet veel zin om dan met de volgende test verder te gaan. Maar je kunt dan een gerichtere vraag (bijv. op de forums) stellen dan de kreet "het werkt niet".

Om zelf verder te zoeken naar een eventuele oplosing zullen we in een andere Korte uitleg dieper ingaan op de configuratie van bovenstaande onderdelen.

Knurpht
27-Dec-2014, 06:47
Een fijne weer, Henk.

jansteen
31-Dec-2014, 11:47
Dank voor weer een helder verhaal.

Heb 1 vraagje..... misschien een domme vraag, maar goed ;)

Wat houdt de optie "-a" in die achter het commando staat?

Ik heb het commando met en zonder uitgeprobeerd, en de uitkomst is hetzelfde.

hcvv
31-Dec-2014, 12:14
Wat houdt de optie "-a" in die achter het commando staat?

Ik heb het commando met en zonder uitgeprobeerd, en de uitkomst is hetzelfde.
Het antwoord staat natuurlijk in

man ifconfig

If no arguments are given, ifconfig displays the status of the currently active interfaces. If a single interface argument is given, it displays the status of the given interface only; if a single -a argument is given, it displays the status of all interfaces, even those that are down. Otherwise, it configures an interface.
Bij jou misschien geen verschil omdat je geen interface "down" hebt op dat moment. Bij mij is wlp0s297f down en als ik -a (duidelijk niet een optie genoemd in het citaat hierboven) weglaat:

henk@boven:~> /sbin/ifconfig
enp1s8 Link encap:Ethernet HWaddr 00:1B:FC:7F:C1:EF
inet addr:10.0.0.154 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: 2001:980:91a0:1:fc4b:45f2:25b:d05b/64 Scope:Global
inet6 addr: fe80::21b:fcff:fe7f:c1ef/64 Scope:Link
inet6 addr: 2001:980:91a0:1:21b:fcff:fe7f:c1ef/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:136202 errors:0 dropped:0 overruns:0 frame:0
TX packets:139190 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:77224210 (73.6 Mb) TX bytes:23105808 (22.0 Mb)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:7123 errors:0 dropped:0 overruns:0 frame:0
TX packets:7123 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:17646475 (16.8 Mb) TX bytes:17646475 (16.8 Mb)

henk@boven:~>

Knurpht
01-Jan-2015, 09:11
Een kleine noot, Henk: "ifconfig" staat al jaren op de lijst om afgeschaft te worden, we zouden nu allemaal "ip addr" etc moeten gebruiken. Maar goed, volgens mij doet "ifconfig" 't nog steeds op alle grote distros.

hcvv
01-Jan-2015, 10:14
Het volgende komt er het dichts bij:

boven:~ # ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 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 brd 127.255.255.255 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp1s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:1b:fc:7f:c1:ef brd ff:ff:ff:ff:ff:ff
inet 10.0.0.154/24 brd 10.0.0.255 scope global enp1s8
valid_lft forever preferred_lft forever
inet6 2001:980:91a0:1:2179:6782:9175:724e/64 scope global temporary dynamic
valid_lft 4564sec preferred_lft 3035sec
inet6 2001:980:91a0:1:21b:fcff:fe7f:c1ef/64 scope global dynamic
valid_lft 4564sec preferred_lft 964sec
inet6 fe80::21b:fcff:fe7f:c1ef/64 scope link
valid_lft forever preferred_lft forever
3: wlp0s29f7u5: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 00:c0:a8:ee:de:b9 brd ff:ff:ff:ff:ff:ff
boven:~ #
Als dat afschaffen net zo vlug gaat als met nslookup hebben we nog de tijd. ;)

hcvv
19-Mar-2018, 01:49
Ik heb de Korte uitleg aangepast. Aangezien ifconfig en consorten niet meer altijd geïnstallerd zijn heb ik nu ip gebruikt.