Netwerkbeheer

In Linux kun je het netwerk ook makkelijk beheren vanuit de terminal. Of je nu de verbinding wilt controleren, DNS-informatie wilt opvragen, interfaces wilt configureren of bestanden naar een andere computer in het netwerk wilt overbrengen, met de volgende programma's is één enkele opdracht voldoende om je project in praktijk te brengen.

ARP-cache weergeven en manipuleren

Met het opdrachtregelprogramma arp kun je de ARP-cache van je besturingssysteem openen en manipuleren.

Gebruik arp zonder modificator om de inhoud van de ARP-tabel weer te geven in de terminal.

arp

Je kunt de uitvoer met de optie –a ook beperken tot invoer bij een bepaalde hostnaam (als alternatief voor een IP-adres).

arp -a HOSTNAAM

Voorbeeld:

arp -a example.com

Als je ARP-invoer wilt aanmaken, gebruik je een commando met de optie –s volgens het volgende schema:

arp -s HOSTNAAM MAC_ADRES

Voorbeeld:

arp -s example.com 00:05:23:73:e6:cf

Als de bestaande invoer moet worden verwijderd, gebruikt je arp met de optie –d:

arp -d HOSTNAAM

DNS-gegevens opvragen

dig is een lookup-Tool waarmee gegevens kunnen worden opgevraagd van DNS-servers en kunnen worden weergegeven in de terminal.

Het opdrachtregelprogramma wordt in de regel gebruikt volgens het volgende schema om het IP-adres en andere DNS-gegevens bij een bepaalde domeinnaam op te vragen:

dig [@SERVER] [DOMEIN] [TYPE]

SERVER is de DNS-server die moet worden doorzocht op de gewenste gegevens. Als er geen server wordt vermeld, bepaalt dig de standaard DNS-server uit het bestand /etc/resolv.conf.

DOMEIN staat voor de domeinnaam waarbij DNS-gegevens moeten worden achterhaald.

Als TYPE kan het aanvraagtype worden vastgelegd, bijvoorbeeld ANY (alle invoer), A (IPv4-record van een host) of AAAA (IPv6-record van een host). Als standaard aanvraagtype is A gedefinieerd.

Gebruik dig met de optie –x om in het kader van een reverse-lookup de domeinnaam bij een bepaald IP-adres op te vragen.

dig [@SERVER] [-x IP-ADRES]

De argumenten NAAM, TYPE en KLASSE zijn in dit geval niet nodig.

Bestanden verzenden via FTP

Met het opdrachtregelprogramma ftp beschikken de meeste Linux-distributies over een standaard geïnstalleerd clientprogramma voor de datatransfer via FTP (File Transfer Protocol). Hiermee kun je bestanden uitwisselen tussen het lokale systeem en een andere computer in het netwerk.

Gebruik ftp volgens het volgende schema om een verbinding met de FTP-server van de doelcomputer tot stand te brengen.

ftp [OPTIES] [HOST[PORT]]

De adressering is op basis van hostnaam of IP-adres. Optioneel kan er een portnummer worden vermeld.

Bij het tot stand brengen van de verbinding wordt er in de regel gevraagd naar je gebruikersnaam en het bijbehorende wachtwoord.

Als het inloggen is gelukt, start ftp een opdrachtregelinterpreter, die gebruikersinvoer aanneemt in de vorm van commando’s. Het programma ondersteunt diverse commando’s waarmee je het bestandssysteem van de doelcomputer kunt doorzoeken en beheren, alsook bestanden van het ene systeem naar het andere kunt verzenden.

Netwerkinterfaces opvragen en configureren

Het opdrachtregelprogramma ip maakt deel uit van de programmacollectie iproute2, waarmee netwerkinterfaces via de terminal kunnen worden opgevraagd en geconfigureerd.

De algemene syntax van het commando luidt:

ip [OPTIES] OBJECT [COMMANDO [ARGUMENTEN]]

Welke actie via ip wordt uitgevoerd, bepaal je met behulp van objecten, subcommando’s en hun argumenten.

Het programma ondersteunt diverse objecten zoals address (IP-adres), link (netwerkinterface), route (invoer in de routing-tabel) of tunnel, waarop subcommando’s als addchangedellist of show kunnen worden toegepast.

Als je bijvoorbeeld het IP-adres van een bepaalde netwerkinterface (bijvoorbeeld eth0) opvraagt, gebruik je het commando ip in combinatie met het object address, het commando show en het argument dev eth0:

ip address show dev eth0

Objecten en commando’s kunnen ook in afgekorte vorm worden overgedragen:

ip a s dev eth0

Als je alle gegevens bij een netwerkinterface (bijvoorbeeld eth0) wilt weergeven, gebruik je het opdrachtregelcommando ip met het object link, het commando show en het argument dev eth0:

ip link show dev eth0 of ip l s dev eth0

Om een interface als eth0 te activeren of te deactiveren, ga je als volgt te werk:

  • ip link set eth0 up
  • ip link set eth0 down

Met haar brede spectrum aan functies vervangt de programmacollectie iproute2 meerdere oudere netwerktools zoals ifconfigroute en netstat.

Een overzicht van alle mogelijk opties, objecten, subcommando’s en argumenten voor het opdrachtregelcommando ip en informatie over andere iproute2-programma’s vind je in de gebruiksaanwijzingspagina’s van je besturingssysteem.

WLAN-interfaces opvragen en configureren

Met het opdrachtregelprogramma iw kunnen WLAN-interfaces worden geconfigureerd, waarmee het zich heeft bewezen als actueel alternatief voor iwconfig.

Het commando is gebaseerd op een soortgelijke syntax als het ip-commando:

iw [OPTIES] OBJECT [COMMANDO]

Mogelijke objecten zijn:

  • dev NAAM_VAN_INTERFACE = netwerkinterface
  • phy NAAM_VAN_APPARAAT = WLAN-apparaat (via naam)
  • phy#INDEX_VAN_APPARAAT = WLAN-apparaat (via index)

reg = Regulatory Agent bij configuratie van regio- en landinstellingen

Gebruik iw met het commando help om de programmasyntax en mogelijke opties en commando’s weer te geven.

iw help

Hier volgen enkele toepassingsvoorbeelden van het opdrachtregelprogramma iw:

Apparaateigenschappen van alle WLAN-interfaces weergeven:

iw list

Verbindingsstatus (datasnelheid en signaalsterkte) van een WLAN-interface (bijvoorbeeld wlan0) opvragen:

iw dev wlan0 link

WLAN-omgeving scannen:

iw dev wlan0 scan

Gebruik iw in combinatie met het commando scan om alle WLAN-netwerken in het ontvangstbereik en hun eigenschappen (radiokanaal, versleuteling, signaalsterkte enz.) weer te geven.

Regionale instellingen uitlezen:

iw reg get

Regionale instellingen wijzigen:

iw reg set BE

Apparaateigenschappen (bijvoorbeeld van wlan0) opvragen:

iw list dev wlan0

Gedetailleerde apparaateigenschappen:

iw dev wlan0 station dump

Gebeurtenissen opvragen:

iw event

De opties –f, –t en –r leveren een uitgebreide weergave met foutmeldingen over verbindingsstatus en tijdsaanduidingen.

Status van netwerkinterfaces opvragen

Met het opdrachtregelprogramma netstat kan de status worden opgevraagd van netwerkinterfaces.

De algemene syntax van het commando luidt:

netstat [OPTIES]

Gebruik netstat zonder optie om alle open sockets in de terminal weer te geven.

Je kunt ook de volgende opties gebruiken om routingtabellen (-r), interfacestatistieken (-i), gemaskeerde verbindingen (-M) of netlink-berichten (-N) te bekijken.

Een alternatief voor netstat is het programma ss uit de programmacollectie iproute2.

DNS-gegevens opvragen

Net als dig is ook nslookup gericht op het vinden van namen. Je kunt het opdrachtregelprogramma gebruiken in twee modi: interactief en niet-interactief.

De interactieve modus start je door het commando nslookup zonder aanvulling in te voeren in de terminal.

nslookup

Het programma neemt alleen commando’s aan. Voer bijvoorbeeld een hostnaam (domein) in om het overeenkomstige IP-adres weer te geven.

Je kunt ook een reverse-lookup-aanvraag starten door een IP-adres in te voeren en de bijbehorende hostnaam weer te laten geven.

Het programma nslookup gebruikt automatisch de DNS-server die standaard in het systeem is ingesteld.

Voer het commando exit in om nslookup af te sluiten.

Als je nslookup wilt gebruiken in de niet-interactieve modus open je het programma in combinatie met een hostnaam of een IP-adres.

nslookup [OPTIES] [HOST/IP]

Omdat het programma officieel verouderd is, wordt gebruikers geadviseerd dig te gebruiken.

Netwerkverbinding controleren

Gebruik het opdrachtregelprogramma ping om de bereikbaarheid van een andere computer in het netwerk te controleren.

Het commando wordt gebruikt met de volgende syntax:

ping [OPTIES] DOEL

Om de netwerkverbinding te controleren, verzendt ping een klein datapakket naar het ingevoerde doelsysteem (hostnaam of IP) en meet het de tijd totdat er een antwoord wordt ontvangen.

Samen met de pakketomlooptijd (Round trip time, RTT) – de tijdspanne tussen verzending van het datapakket en ontvangst van het antwoord – schrijft ping ook het IP-adres van het doelsysteem in de terminal. Het opdrachtregelprogramma is daardoor ook geschikt om het IP-adres van een domein te achterhalen.

Als ping zonder optie wordt uitgevoerd, loopt het programma tot het handmatig wordt gestopt met de toetsencombinatie [CTRL] + [C] en stuurt het een ping-aanvraag per seconde naar het doelsysteem.

Als je al bij het openen van het programma een eindtijdstip wilt definiëren, gebruik je de opties –c AANTAL (aantal ping-aanvragen die moeten worden verzonden) of –w SECONDEN (tijdspanne in seconden waarna ping zichzelf afsluit).

IP-routing-tabellen weergeven en bewerken

Met het opdrachtregelprogramma route kunnen IP-routing-tabellen van de kernel worden opgevraagd en bewerkt.

Het commando wordt gebruikt met de volgende syntax:

route [OPTIES]

route [OPTIES] [add|del] [-net|-host] DOEL Gebruik het commando zonder optie om de complete routing-tabel van de kernel weer te geven:

route

Als je een route naar een netwerk wilt instellen, gebruik je het subcommando add.

route add -net 10.0.0.0

Als het doel een subnet is, moet het subnetmasker via de optie netmask MASKER ook worden aangegeven:

route add -net 10.0.0.0 netmask 256.245.155.0

Er kan ook een route naar een computer worden ingericht:

route add -host 218.89.72.191

Als het systeem over meerdere netwerkinterfaces beschikt, moet er via de optie dev INTERFACE worden aangegeven welke interface er moet worden gebruikt:

route add -net 10.0.0.0 netmask 256.245.155.0 dev eth0

Als het doel slechts via een router bereikbaar is, moet ook deze worden aangegeven met de optie gw ROUTER.

route add -net 10.0.0.0 netmask 256.245.155.0 gw 10.0.1.261

Als je een route wilt verwijderen, gebruik je het subcommando del.

route del -host 218.89.72.191

Bestanden synchroniseren

Met het opdrachtregelprogramma rsync kunnen bestanden lokaal of via een netwerk worden gesynchroniseerd. Daarvoor worden eerst de grootte en de wijzigingstijd van de betreffende bestanden vergeleken.

Als bron en doel zich op hetzelfde systeem bevinden, worden afwijkende bestanden compleet gekopieerd. Bij de synchronisatie via een netwerk gebruikt rsync een delta-transfer-algoritme, zodat alleen gewijzigde bestandsdelen hoeven te worden gekopieerd van de brongegevensdrager naar het doelsysteem.

De syntax van het commando luidt:

rsync [OPTIES] BRON(NEN) DOEL

Voorbeeld:

rsync -a home/user/documenten/ /home/user/back-up

Alle bestanden uit home/user/documenten/ worden vergeleken met de bestanden in de map /home/user/back-up.

Het commando rsync wordt in de regel uitgevoerd met de optie –a, die ervoor zorgt dat alle submappen en symbolische links mee worden gekopieerd en alle gebruikersrechten worden overgenomen.

Bestanden verzenden via SFTP

Het opdrachtregelprogramma sftp is net als ftp bedoeld voor de datatransfer in het netwerk. Daarbij worden alle handelingen verricht via een versleutelde SSH-verbinding (secure shell).

Net als ftp brengt sftp een verbinding met een doelcomputer in het netwerk tot stand om vervolgens een interactieve commandomodus te starten.

Bestanden verzenden via SCP

Met scp (kort voor secure copy) kun je direct in de terminal nog een programma gebruiken voor veilige gegevensoverdracht in het netwerk: scp kopieert gegevens van de ene computer naar de andere en maakt daarbij ook gebruikt van het netwerkprotocol SSH.

Het clientprogramma functioneert ongeveer zoals de bestandsoptie cp, maar wordt volgens de volgende syntax systeemoverkoepelend gebruikt:

scp [OPTIES] BESTAND [[user@]remote_host:]PAD

Bij de vermelding van het pad van de verwijderde computer worden de gebruikersnaam en de betreffende naam van de host vooropgezet. Lokale bestanden kunnen expliciet worden geadresseerd door middel van relatieve of absolute paden.

Voorbeeld:

scp /home/max/images/image.jpg max@example.com:/home/max/archief

Het bestand image.jpg wordt uit de lokale map images gekopieerd naar de map archief op een doelcomputer met het adres example.com.

Het programma scp ondersteunt bovendien de datatransfer in omgekeerde richting en tussen twee remote-systemen.

scp [OPTIES] [[user@]host:]BESTAND PAD

scp [OPTIES] [[user@]host1:]BESTAND [[user@]host2:]PAD

Verdere opties bieden je de mogelijkheid om wijzigingen aan te brengen in de overdrachtsmodus en in de versleutelingsinstellingen.

Datapakketten traceren

Gebruik het opdrachtregelcommando traceroute volgens het volgende schema om de transportroute van een IP-datapakket tussen jouw systeem en een doelcomputer te traceren.

traceroute [OPTIES] HOSTNAAM

Via traceroute kan worden achterhaald welke routers en internetknooppunten een IP-pakket onderweg naar de doelcomputer passeert, bijvoorbeeld om de oorzaak voor een vertraging vast te stellen.

Terminalnaam weergeven

Het opdrachtregelcommando tty geeft de bestandsnaam weer van de terminal die als standaard input is gedefinieerd.

De algemene syntax van het commando luidt:

tty [OPTIES]