Tips en Trucs 2016

DNS Cache, een zegen of een vloek

Een cache of buffer zorgt voor snelheid. Eenmaal het IP adres van een bepaald toestel gekend is, wordt dit lokaal op de computer opgeslagen. Zo moet bij de volgende contacten niet telkens het IP adres van het toestel opgezocht worden. Waardoor er dus sneller een verbinding met het betreffende toestel kan opgebouwd worden. Maar blijkbaar heeft deze snelheidswinst ook een keerzijde. Als het IP adres van het toestel namelijk wijzigt, tegenwoordig wordt er meestal met dynamische IP adressen gewerkt, bevat de cache een voor ons toestel foutief IP adres.

Zo gebeurde het regelmatig dat bij het inschakelen van de netwerkprinter het afdrukken vanaf de computer mislukte. De printer was soms niet actief, gestopt.

Error

Na enkele keren de printer herstarten en/of de computer herstarten, bleek de printer het opnieuw te doen. Tot ik toevallig het IP-adres van de printer opvroeg.

dany@main:~> ping HP843497A33FF6.local
PING HP843497A33FF6.local (169.254.63.246) 56(84) bytes of data.
^C
--- HP843497A33FF6.local ping statistics ---
59 packets transmitted, 0 received, 100% packet loss, time 58462ms

dany@main:~> ip a
1: lo:  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: eth0:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 34:64:a9:11:e9:28 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::3664:a9ff:fe11:e928/64 scope link 
       valid_lft forever preferred_lft forever

De ping opdracht onderbreek je door Ctrl+c te drukken. Dit (169.254.63.246) bleek helemaal geen IP adres te zijn dat tot mijn netwerk (192.168.1.) behoorde. Na het herstarten van de Name Server Cache Deamon, verantwoordelijk voor het bufferen van de DNS namen en bijhorende IP adressen, bleek alles zonder herstarten opeens weer te werken.

dany@main:~> sudo systemctl restart nscd.service 
root's password:
dany@main:~> ping HP843497A33FF6.local
PING HP843497A33FF6.local (192.168.1.5) 56(84) bytes of data.
64 bytes from 192.168.1.5: icmp_seq=1 ttl=255 time=0.598 ms
64 bytes from 192.168.1.5: icmp_seq=2 ttl=255 time=0.417 ms
64 bytes from 192.168.1.5: icmp_seq=3 ttl=255 time=0.423 ms
64 bytes from 192.168.1.5: icmp_seq=4 ttl=255 time=0.409 ms
^C
--- HP843497A33FF6.local ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3003ms
rtt min/avg/max/mdev = 0.409/0.461/0.598/0.083 ms

In de HP Device Manager activeer je het tabblad Printer Control en stop je de printer met de knop Stop Printer. Start de printer opnieuw met dezelfde knop die nu de naam Start Printer heeft.

Printer control

En alles terug OK.

Printer status

WireGuard, een snelle, moderne en veilige VPN tunnel

WireGuard is een recent project om op een eenvoudige manier een VPN tunnel op te zetten. Hoewel ik het project pas heb ontdekt en ik het dus nog verder moet bestuderen, uitproberen, enz. wil ik het hier al eens kort voorstellen. Meer informatie vindt je op de WireGuard webpagina.

In openSUSE 42.1 installeer je WireGuard door eerst de WireGuard softwarebron aan het systeem toe te voegen:

dany@laptop:~> sudo zypper addrepo -f http://download.opensuse.org/repositories/home:/mnhauke:/wireguard/$(sed -n 's/-/_/g;s/name=\(openSUSE_.*\)_Update/\1/p' /etc/zypp/repos.d/repo-update.repo)/home:mnhauke:wireguard.repo
root's password:
Opslagruimte 'WireGuard (openSUSE_Leap_42.1)' toevoegen .........................................................[GEREED]
Opslagruimte 'WireGuard (openSUSE_Leap_42.1)' is toegevoegd:
Ingeschakeld           : Ja                                                                                    
Automatisch vernieuwen : Ja                                                                                    
GPG-controle           : Ja                                                                                    
Prioriteit             : 99                                                                                    
URI                    : http://download.opensuse.org/repositories/home:/mnhauke:/wireguard/openSUSE_Leap_42.1/

Daarna installeer je WireGuard:

dany@laptop:~> sudo zypper install wireguard-kmp-default wireguard-tools
Ophalen van metagegevens uit opslagruimte 'WireGuard (openSUSE_Leap_42.1)' -------------------------------------------[\]

Een nieuwe ondertekeningssleutel voor een opslagruimte of pakket is ontvangen:

  Opslagruimte:       WireGuard (openSUSE_Leap_42.1)                            
  Naam sleutel:       home:mnhauke OBS Project 
  Naam vingerafdruk:  16DC2620 FF44D8E9 945FD2F7 5C7FA607 EC77FD83              
  Sleutel gemaakt:    vr 14 aug 2015 22:57:16 CEST                              
  Sleutel verloopt:   zo 22 okt 2017 22:57:16 CEST                              
  Rpm-naam:           gpg-pubkey-ec77fd83-55ce562c                              


Wilt u de sleutel verwerpen, tijdelijk vertrouwen of altijd vertrouwen? [v/t/a/? alle opties tonen] (v): a
Ophalen van metagegevens uit opslagruimte 'WireGuard (openSUSE_Leap_42.1)' ......................................[GEREED]
Cache van opslagruimte 'WireGuard (openSUSE_Leap_42.1)' bouwen ..................................................[GEREED]
Gegevens van opslagruimte laden...
Lezen van geïnstalleerde pakketten...
Pakketafhankelijkheden oplossen...

De volgende 2 NIEUWE pakketten zullen worden geïnstalleerd:
  wireguard-kmp-default wireguard-tools

2 nieuwe te installeren pakketten.
Totale downloadgrootte: 1002,6 KiB. Reeds in de cache: 0 B. Na de bewerking zal aanvullend 5,9 MiB worden gebruikt.
doorgaan? [j/n/? alle opties tonen] (j): 
pakket wireguard-kmp-default-0.0.20161129_k4.1.34_33-1.1.x86_64 wordt opgehaald    (1/2), 936,6 KiB (  5,8 MiB uitgepakt)
Ophalen: wireguard-kmp-default-0.0.20161129_k4.1.34_33-1.1.x86_64.rpm .............................[GEREED (371,7 KiB/s)]
pakket wireguard-tools-0.0.20161129-1.1.x86_64 wordt opgehaald                     (2/2),  66,0 KiB (111,4 KiB uitgepakt)
Ophalen: wireguard-tools-0.0.20161129-1.1.x86_64.rpm ............................................................[GEREED]
Controleren op bestandsconflicten: ..............................................................................[GEREED]
(1/2) Installeren: wireguard-kmp-default-0.0.20161129_k4.1.34_33-1.1.x86_64 .....................................[GEREED]
(2/2) Installeren: wireguard-tools-0.0.20161129-1.1.x86_64 ......................................................[GEREED]

Bij de installatie hoort een script om een VPN tunnel op te zetten naar een testserver:

dany@laptop:~> sudo /usr/share/wireguard-tools/examples/examples/ncat-client-server/client.sh 
root's password:

Bij het opvragen van de netwerkverbindingen zien we nu de WireGuard verbinding wg0 verschijnen:

dany@laptop:~> ip a
1: lo:  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: wlan0:  mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether ac:7b:a1:42:e0:5f brd ff:ff:ff:ff:ff:ff
3: eth0:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:50:b6:6b:4f:28 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.4/24 brd 192.168.1.255 scope global dynamic eth0
       valid_lft 7651sec preferred_lft 7651sec
    inet6 fe80::250:b6ff:fe6b:4f28/64 scope link 
       valid_lft forever preferred_lft forever
4: wg0:  mtu 1423 qdisc noqueue state UNKNOWN group default 
    link/none 
    inet 192.168.4.224/24 scope global wg0
       valid_lft forever preferred_lft forever

En kunnen we apparaten in het 192.168.4 netwerk contacteren (pingen):

dany@laptop:~> ping 192.168.4.1
PING 192.168.4.1 (192.168.4.1) 56(84) bytes of data.
64 bytes from 192.168.4.1: icmp_seq=1 ttl=64 time=48.2 ms
64 bytes from 192.168.4.1: icmp_seq=2 ttl=64 time=47.5 ms
64 bytes from 192.168.4.1: icmp_seq=3 ttl=64 time=47.9 ms
64 bytes from 192.168.4.1: icmp_seq=4 ttl=64 time=50.7 ms
^C
--- 192.168.4.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 47.534/48.635/50.797/1.282 ms

Zelf surfen naar een webserver op dit netwerk:

WireGuard Demo Server Webpagina

WireGuard heeft een aantal hulpprogramma's om WireGuard VPN verbindingen te beheren, enkele voorbeelden:

dany@laptop:~> sudo wg
root's password:
interface: wg0
  public key: l8gKhi5rvJChhDWHl+C7Ubj8hSHfW0HbkOOA9GQPL3Y=
  private key: (hidden)
  listening port: 51820

peer: JRI8Xc0zKP9kXk8qP84NdUQA04h6DLfFbwJn4g+/PFs=
  endpoint: 163.172.161.0:12912
  allowed ips: 0.0.0.0/0
  latest handshake: 1 minute, 5 seconds ago
  bandwidth: 39.41 KiB received, 18.62 KiB sent
  persistent keepalive: every 25 seconds
dany@laptop:~> sudo wg showconf wg0
[Interface]
ListenPort = 51820
PrivateKey = sOIxHbtjo1eityZivNq/BnLQUhw+lBBmGnOjWO1HqnI=

[Peer]
PublicKey = JRI8Xc0zKP9kXk8qP84NdUQA04h6DLfFbwJn4g+/PFs=
AllowedIPs = 0.0.0.0/0
Endpoint = 163.172.161.0:12912
PersistentKeepalive = 25

Een WireGuard verbinding verwijderen:

dany@laptop:~> sudo ip link delete dev wg0      
dany@laptop:~> ip a
1: lo:  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: wlan0:  mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether ac:7b:a1:42:e0:5f brd ff:ff:ff:ff:ff:ff
3: eth0:  mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:50:b6:6b:4f:28 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.4/24 brd 192.168.1.255 scope global dynamic eth0
       valid_lft 9137sec preferred_lft 9137sec
    inet6 fe80::250:b6ff:fe6b:4f28/64 scope link 
       valid_lft forever preferred_lft forever
dany@laptop:~> ping 192.168.4.1
PING 192.168.4.1 (192.168.4.1) 56(84) bytes of data.
^C
--- 192.168.4.1 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 4031ms