# Linux Systeembeheer/Netwerkinstellingen configureren
## Leerdoelen

* De nodige instellingen kennen die een host toelaten het netwerk te gebruiken, en ze kunnen opvragen:
** IP-adres: commando ifconfig
** Routering (i.h.b. default route): commando route
** DNS-servers: het bestand /etc/resolv.conf
* De netwerkconfiguratie van een Linux-systeem kunnen instellen, zowel met een GUI (vb. system-config-network[-tui] onder Fedora) als manueel
* Problemen met de netwerkverbinding van een Linux-systeem kunnen identificeren en oplossen

## Netwerkcommando's

Om een pc toe te laten op het web te surfen, dienen op het niveau van het OS (we hebben het dus niet over hardware) drie voorwaarden voldaan te zijn:
* de pc moet een correct IP-adres hebben;
* de routetabel moet correct ingesteld zijn;
* de pc moet toegang hebben tot DNS-servers.
In dit hoofdstuk bekijken we hoe je deze instellingen onder een Linux-systeem kan controleren of aanpassen. Dit komt van pas bij netwerkproblemen. Eerst kijk je de hardware na (is de netwerkkabel correct aangesloten, werkt de switch, enz.) en als je daarover uitsluitsel hebt deze drie instellingen.

### IP-instellingen bekijken en instellen: ifconfig

Het commando ifconfig zonder opties kan worden gebruikt om de instellingen van je netwerkkaarten te bekijken. Je krijgt o.a. informatie over MAC-, IP- en broadcast-adres en het netwerkmasker. Met de optie -a krijg je alle netwerkdevices te zien inclusief de devices die down zijn.
Je kan ook instellingen aanpassen:
* Om het IP-adres en het netwerkmasker van de netwerkkaart te veranderen typ je bv.:
* Om het MAC-adres te veranderen:

### Routetabel bekijken en instellen: route

Het commando route wordt gebruikt om de IP routeringstabel te bekijken of aan te passen. Hiermee kan je de statische routes opzetten naar een specifieke host of een ander netwerk. Je voegt een nieuw adres toe met het commando add en haalt ze weg met delete. Met de optie target kun je de doelhost specifiëren door het IP of de netwerknaam mee te geven.
Wanneer we het commando route ingeven in het netwerklabo krijgen we deze output:
De eerste kolom is destination. Hier wordt de hostnaam of ip van de bestemmeling getoond. De kolom gateway toont de gebruikte gateway of zet een '*' als er geen gateway gespecifieerd is. De kolom Genmask toont het netwerkmasker van de bestemmeling. De kolom Flags geeft meer informatie over de status van de link.
Mogelijke flags:
De kolom 'Metric' toont het aantal hops voor je bij de bestemming bent. De kolom 'Use' geeft het aantal raadplegingen voor de route. De kolom 'Iface' toont de gebruikte netwerkinterface. Met de optie -n kan je name resolution uitschakelen. Zonder deze optie zal route proberen alle IP-adressen om te zetten in een domeinnaam via een 'reverse DNS lookup'. Als er een probleem is met DNS, zal dit niet werken en duurt de uitvoering van het commando tamelijk lang.
Een paar handige commando's:
Dit commando zet een route op die niet mag benaderd worden door het "10.x.x.x" netwerk.

### Name resolution: /etc/resolv.conf

het bestand /etc/resolv.conf bevat alle ip's van de DNS-servers. Je kan een DNS-server zien als een groot telefoonboek: geef een (host-)naam in en je krijgt een nummer terug (IP-adres). Wanneer je in het bestand search domein invult, zorg je ervoor dat aan hostnamen zonder domeinnaam (bv. helium) automatisch dit domein toegevoegd wordt (bv. helium.hogent.be). Op het campusnetwerk van de Hogeschool Gent ziet het resolv.conf bestand er zo uit:

## Netwerkinstellingen aanpassen via de GUI
### GUI via Terminal

De netwerkconfiguratie kan via de GUI aangepast worden met het commando
Hier krijg je twee opties (zie afbeelding)

#### Apparaatconfiguratie

Hier kan er gekozen worden tussen het gebruik van DHCP of men kan statische IP-instellingen gebruiken. Verder kan ook een eventuele DNS-server ingesteld worden.

#### DNS-configuratie

Hier kan men de DNS-instellingen voor de huidige PC instellen. De hostname waaronder de PC bekend zal zijn in het netwerk, en het IP-adres van de DNS-server. Ook het DNS-zoekpad kan ingesteld worden. Dit is een lijst van domeinen waarin de host zal zoeken om een hostname te vertalen naar een ip-adres.

### GUI via het menu

Kies voor de optie netwerkverbindingen.

##### Eerste tabblad

We krijgen een venster waarop we alle mogelijke netwerkverbindingen te zien krijgen onderverdeeld per media: kabel, draadloos, mobiel breedband, VPN en DSL
Als we de netwerkinstellingen van een adapter willen wijzigen kiezen we voor edit. We komen in een venster met meerdere tabbladen. Als eerste krijgen we “Kabel”, waar het mac-adres van de computer te zien is en waar men MTU (maximum transmission unit) kan instellen. MTU is de grootte van het grootste datapakketje dat over het netwerk kan verzonden of ontvangen worden.

##### Tweede tabblad

In het tweede tabblad is voor de 802.1x beveiliging. Hier kan de netwerkbeveiliging worden ingesteld op 3 verschillende manieren: TLS, getunnelde TLS en PEAP.
* TLS:
Het TLS-protocol laat cliënt / server-applicaties over een netwerk communiceren op een manier ontwikkeld om afluisteren en manipulatie te voorkomen. Een TLS cliënt en server onderhandelen over een stateful verbinding door middel van een handshaking procedure. Tijdens deze handshake, de cliënt en server eens worden over verschillende parameters gebruikt om de verbinding van de beveiliging vast te stellen.
* De handdruk begint wanneer een cliënt verbinding maakt met een TLS-enabled server bij het aanvragen van een beveiligde verbinding en presenteert een lijst van ondersteunde CipherSuites (ciphers en hashfuncties).
* Uit deze lijst, de server pakt de sterkste cipher en hash-functie die ook het ondersteunt en informeert de opdrachtgever van het besluit.
* De server stuurt de identificatie in de vorm van een digitaal certificaat. Het certificaat bevat meestal de naam van de server, de vertrouwde certificeringsinstantie (CA) en de server publieke encryptiesleutel.
* De klant kan contact opnemen met de server die het certificaat heeft afgegeven (het vertrouwde CA zoals hierboven) en bevestigen dat het certificaat geldig is voordat u verdergaat.
* Om de sessie sleutels gebruikt voor de beveiligde verbinding te genereren, de client versleutelt een willekeurig getal met de openbare sleutel van de server en stuurt het resultaat naar de server. Alleen de server moet kunnen om het te decoderen, met zijn private sleutel.
* Met het random number, kunnen beide partijen beginnen met het genereren van de belangrijkste grondstof voor encryptie en decryptie.
Dit concludeert de handdruk en begint de beveiligde verbinding, die is gecodeerd en gedecodeerd met de sleutel materiaal totdat de verbinding wordt gesloten. Als een van de bovenstaande stappen niet lukt, de TLS-handshake mislukt en de verbinding wordt niet gemaakt.
* Getunneld TLS (TTLS):
Ondernemingen die de veiligheid van TLS willen, maar gebruik maken van legacy authenticatie methoden of token-gebaseerde authenticatie methods, zullen waarschijnlijk kiezen voor TTLS. TTLS is in wezen een uitbreiding van TLS. De authenticatie van TLS is typisch wederzijds. Beide partijen te verifiëren elkaar. TTLS-verificatie gebruikt certificaten de server kant te verifiëren en een eenvoudiger methode om de authenticiteit van de cliënt te controleren, met behoud van een vergelijkbare veiligheidseigenschappen, zoals de wederzijdse. TTLS is in feite beter dan TLS in ten minste 1 manier: Een afluisteraar kan niet eens de identiteit van de gebruiker zien, want het wordt alleen verzonden nadat de TLS-tunnel is gevestigd. TTLS doet dit door een andere verificatieprotocol te gebruiken in de TLS-tunnel wanneer het tijd is om de gebruiker te authentiseren. Dat is waar de "getunneld “in "getunneld TLS" vandaan komt. De netbeheerder heeft de mogelijkheid om een zeer eenvoudige tunnel authenticatie protocol, zoals duidelijke tekst wachtwoorden of challenge-response wachtwoorden, of een meer geavanceerde techniek, zoals token-gebaseerde authenticatie te gebruiken. Het grootste nadeel van TTLS is dat de Internet-gemeenschap nog niet akkoord heft bereikt om dit, als de beste aanpak voor omgevingen waar digitale certificaten zijn niet beschikbaar zijn, te gebruiken. Een ander voorstel van de IETF is PEAP (Protected EAP), die veel van dezelfde problemen als TTLS oplost.
* PEAP:
PEAP is een nieuw lid van de protocolfamilie Extensible Authentication Protocol. PEAP gebruikt TLS voor het maken van een gecodeerd kanaal tussen een geverifieerde PEAP-client, bijvoorbeeld een draadloze computer, en een PEAP-verificator, bijvoorbeeld een IAS- of RADIUS-server (Remote Authentication Dial-In User Service). PEAP geeft geen verificatiemethode aan, maar voorziet in aanvullende beveiliging voor andere EAP-verificatieprotocollen, die kunnen gebruikmaken van het gecodeerde kanaal dat door PEAP met TLS is gemaakt. PEAP wordt gebruikt als verificatiemethode voor draadloze 802.11-clientcomputers, maar wordt niet ondersteund voor VPN- of andere RAS-clients. PEAP voorziet op de volgende manieren in uitbreiding van de EAP-protocollen en betere netwerkbeveiliging:
* Beveiliging van de onderhandeling over een EAP-methode die via een TLS-kanaal plaatsvindt tussen client en server.
* Ondersteuning voor het fragmenteren en opnieuw samenstellen van berichten, waardoor er EAP-typen kunnen worden gebruikt die deze voorziening niet bieden.
* Draadloze clients met de mogelijkheid om de IAS- of RADIUS-server te verifiëren, ook de server verifiëert de client dus is er sprake van wederzijdse verificatie.
* Beveiliging tegen de implementatie van een niet-geverifieerd draadloos toegangspunt (Wireless Access Point of WAP) wanneer de EAP-client het certificaat van de IAS-server verifieert.
* Snel opnieuw verbinding maken, waardoor er minder vertraging optreedt tussen een verificatieaanvraag van een client en het antwoord van de IAS- of RADIUS-server, en draadloze clients verschillende toegangspunten kunnen gebruiken zonder herhaling van verificatieaanvragen. Eens de methode gekozen is kunnen de certificaten, identiteiten en wachtwoorden worden ingevuld.

##### Derde tabblad

Het voorlaatste tabblad behandelt de IPv4 instellingen. Als eerste kiezen we de DHCP instellingen. Normaalgezien staat deze op automatisch, maar kunnen deze ook handmatig instellen als de machine laten werken als DHCP server. In dat geval moeten we een statisch ip-adres, netmask en gateway invullen.

##### Vierde tabblad

Als laatste kunnen we ook nog de IPv6 instellingen aanpassen. Die werken volledig hetzelfde als de IPv4 instellingen.