CURSUS WIRELESS LEIDEN NODE BEHEER

INDEX

Inleiding.............................................................................3

1. Wat is een Wireless Leiden node....................................................3

2. Opstarten van een node.............................................................3

3. Verbinding maken met node..........................................................4

3.1 Wireless via de omni........................................................4

3.2 Ethernet....................................................................5

3.3 Serieel.....................................................................6

4. Inloggen...........................................................................6

4.1 De Console (Serieel)........................................................6

4.2 Aanmelden op FreeBSD........................................................7

5. Unix/FreeBSD (basic) commands......................................................7

5.1 hostname...................................................................7

5.2 date.......................................................................7

5.3 pwd........................................................................7

5.4 who........................................................................7

5.5 ls.........................................................................8

5.6 cd.........................................................................8

5.7 scp........................................................................8

5.8 cp.........................................................................8

5.9 ping.......................................................................8

5.10 less.......................................................................8

5.11 uptime.....................................................................9

5.12 cat........................................................................9

5.13 netstat....................................................................9

5.14 uname......................................................................9

5.15 ifconfig..................................................................10

5.16 reboot....................................................................10

5.17 arp.......................................................................11

5.18 dmesg.....................................................................11

5.19 grep......................................................................11

5.20 traceroute ......todo

5.21 route............todo

5.22 ssh..............todo

5.23 tail.............todo

5.24 du ..............todo

5.25 df...............todo

5.26 find.............todo

5.27 exit.............todo

5.28 dig..............todo

5.29 tcpdump..........todo

5.30 history..........todo

6. Mappen structuur..................................................................13

7. Processen.........................................................................14

8. Daemons, signalen en het stoppen van processen....................................17

8.1 Het versturen van een signaal naar een proces..............................18

8.2 sshd.......................................................................19

8.2.1 Herstarten sshd....................................................19

8.2.2 Configuratie bestand(en)...........................................19

8.3 dhcpd......................................................................20

8.3.1 Herstarten dhcpd...................................................20

8.3.2 Configuratie bestand(en)...........................................20

8.4 named......................................................................21

8.4.1 Terminologie.......................................................21

8.4.2 Redenen om een nameserver te draaien...............................22

8.4.3 Herstarten named...................................................22

8.4.4 Configuratie bestand(en)...........................................22

8.5 lvrouted.opt (lvrouted)....................................................23

8.5.1 Herstarten lvrouted................................................23

8.6 pen .......................................................................24

8.6.1 Herstarten pen.....................................................24

8.7 syslogd....................................................................25

8.7.1 Overzicht van de log bestanden.....................................25

8.7.2 Herstarten syslog..................................................25

8.7.3 Configuratie bestand(en)...........................................25

8.8 nptd..........todo

8.9 snmpd.........todo

8.10 tproxy.......todo

9. Mounten en unmounten van bestandssystemen

9.1 Het bestand fstab..........................................................26

9.2 Het commando mount.........................................................27

9.3 Het commando umount........................................................28

Flowcharts storingen zoeken..........................................................29

Bronvermeldingen.....................................................................30

Inleiding

In deze cursus worden de basis commandos en instructies voor unix/FreeBSD uit eengezet voor het kunnen gaan beheren van de nodes in het wireless Leiden netwerk. Deze cursus is bedoeld voor mensen die reeds actief zijn binnen wireless Leiden als bijvoorbeeld nav van een of meerdere nodes en een stap willen maken naar het kunnen gaan beheren van

het gehele wireless leiden netwerk. De mensen die reeds nav zijn hebben al geproefd aan het FreeBSd besturingssysteem en hebben een lichte kennis van de opties en mogelijkheid die er worden gebruikt. Voor deze groep mensen is deze cursus opgezet om de kennis en manier van zoeken en oplossen van fouten te vergroten.

Voor het volgen van deze cursus is het noodzakelijk om een notebook of systeem te hebben waarop een werkende minimale installatie staat van FreeBSD 5.x. Het systeem moet zijn voorzien van een seriële compoort en een utp netwerk aansluiten die werken onder FreeBSD. Met deze aansluitingen wordt het node beheer goed mogelijk.

Van zo goed als alle commando's, utilities en daemons zijn en man pagina's beschikbaar.

Man pagina's zijn online handleidingen waar in gebladerd en gezocht kan worden hoe een commando of programma gebruik moet worden en eventuele opties beschikbaar zijn. Ook is het mogelijk om in deze man pagina's te zoeken en bladeren. Op de nodes zijn de man pagina's NIET beschikbaar, omdat dit extra ruimte in neemt die op de soekris nodes

niet voor handen is. Gebruik zoveel mogelijk de man pagina's op de pc of notebook waarmee deze cursus wordt gedaan, het geeft heel hele hoop informatie en duidelijkheid in commando's en programma's.

1. Wat is een Wireless Leiden node.

Door geheel Leiden verspreid staan nodes van Wireless Leiden. Een Node bestaat uit een antenne die de directe omgeving bedient (een 'omni' of 'waveguide' antenne) en één of meer 'interlink antennes' die de betreffende node met andere nodes van wireless Leiden verbindt. Iedere gebruiker maakt contact met de dichtstbijzijnde node of nodes, en de nodes geven het verkeer dan weer door aan de andere nodes van Wireless Leiden. Een node is dus een netwerkknooppunt. Nodes staan over het algemeen op hoge en centrale plaatsen, zoals op kerken, scholen en kantoorgebouwen. De locatie van elke node is met zorg gekozen om een zo dekkend mogelijk netwerk te krijgen. Dit behelst onder meer: met simulaties radiodekkingen berekenen, toestemming verkrijgen tot het plaatsen van een node op gewenste locaties (veel contacten zien te leggen met gebouwenbeheerders) en een gecoördineerde, planmatige aanpak van het uitrollen van het netwerk. Een node wordt vernoemd naar degene die de hardware voor de node betaalt: de sponsor.

Binnen staat een PC of soekris met minimaal twee 'Wifi-kaarten' (zoals bijvoorbeeld WMP11, WL200 of een laptop-pcmcia-kaartje (Senao) met behulp van een PCMCIA naar PCI adaptor. Deze zijn met behulp van een dikke coaxkabel verbonden met de antennes op het dak. De PC wordt geheel op afstand beheerd, en heeft zelden een toetsenbord of beeldscherm.

De nodes van Wireless Leiden draaien zelf-ontwikkelde software gebaseerd op FreeBSD. Dit is een open source operating system net als bijvoorbeeld Linux. Aan FreeBSD worden onze eigen wijzigingen en configuraties toegevoegd die specifiek zijn voor Wireless Leiden. Dit maakt van FreeBSD een node. Deze wijzigingen zijn beschikbaar onder een open source licentie (GPL).

Documentatie geschreven door : Eddy Kikkert

Juli 2005 versie 0.1

Oktober 2005 versie 0.2

2. Opstarten van een node.

Voordat een node werkt moet eerst het systeem worden opgestart en het operating

system worden gestart.

In hoofdlijnen is het startup process als volgt:

* De machine gaat aan

* De BIOS maakt een lijstje van schijven en kijkt of ze bootable zijn

* De bootloader (Master Boot Record onder windows) op de eerste schijf wordt
gestart.

* Deze laad de kernel en de diverse kernel configuraties (/boot/devices.hints, etc)

* De kernel start vervolgens het zogenaamde userland via rc welke in eerste
instantie in /etc/defaults/rc.conf en /etc/rc.conf kijkt.

* Daarin wordt verwezen naar de directories /etc/rc.d en /usr/local/etc/rc.d/ .

* De norm is dat in de /etc alleen de meest noodzakelijke systeem specifieke dingen

staat welke binnen de standaard installatie passen.

* Al het andere hoort in /usr/local/etc

Als de nodesoftware wordt opgestart worden ook de Wireless kaarten geinitialiseerd. Bij PC's met een speaker wordt dit per kaart kenbaar gemaakt door een piep. Als de node software is gestart zullen bij op de veel gebruikte Senao de lampjes gaan branden ten teken van een active wireless verbinding. Knipperen de lampjes, dan is er GEEN actieve wireless verbinding.

3. Verbinding maken met node.

3.1 Wireless via de omni.

Maak contact met de node - iets wat begint met "ap" of "omni" en eindigt op .wleiden.net, links die beginnen met "il" zijn niet bedoeld om verbinding mee te maken.

Voorbeeld

ap-omni.lcpl.wleiden.net = ok

il-zw.lcpl.wleiden.net = niet ok

ap.default = niet ok

Hou ook rekening met het 'nabije veld' van de antenne. Een persoon, ladder of stoel die

in de buurt (1-2m) van de antenne staat kan de ontvangst eigenschappen van de antenne behoorlijk verstoren.

Voorbeeld :

We gaan verbinding maken met de omni van CNodeLCPL.

Start het systeem of notebook met FreeBSD en log in op de console.

Steek de wireless netwerkkaart in de PC.

eddy# ifconfig wi0 ssid ap-omni.lcpl.wleiden.net (Netwerk kaart juiste SSID geven)

eddy# ifconfig wi0 10.10.10.10/24	(Geeft de netwerkkaart een
willekeurig ipnummer op te starten)

eddy# dhclient wi0	(Vraag een IP-nummer op aan de Node)

Ping nu naar het master-ipnummer van de node.

voorbeeld : eddy# ping 172.21.16.1

PING 172.21.16.1 (172.21.16.1): 56 data bytes

64 bytes from 172.21.16.1: icmp_seq=0 ttl=64 time=0.756 ms

64 bytes from 172.21.16.1: icmp_seq=1 ttl=64 time=0.590 ms

64 bytes from 172.21.16.1: icmp_seq=2 ttl=64 time=0.563 ms

^C

--- 172.21.16.1 ping statistics ---

3 packets transmitted, 3 packets received, 0% packet loss

round-trip min/avg/max/stddev = 0.563/0.636/0.756/0.085 ms

Als er ping pakketten terug komen dan is het mogelijk om een SSH sessie te starten

via de omni met de node. Werkt dit niet, controleer dan of er een radio verbinding is met de node, de node aan staat, het juiste ssid is wordt gebruikt, de juiste ipnummers worden gebruikt etc etc. <*** Aanvullen met meer debuggen???***>

voorbeeld : ssh root@lcpl.wleiden.net

The authenticity of host '172.21.16.1 (172.21.16.1)' can't be established.

DSA key fingerprint is 06:d4:ff:fc:8c:ed:c4:d4:86:bd:f5:d5:50:4e:7c:76.

Are you sure you want to continue connecting (yes/no)?

(Als deze melding wordt gegegeven is er nog niet eerder een SSH sessie geweest tussen de node en PC/notebook. Het antwoorden met 'yes' resulteert dat deze key wordt bewaard in ~/.ssh/known_hosts. De volgende keer als verbinding wordt gemaakt met dezelfde node zal deze melding niet meer worden weergegeven.)

Password: (Voor hier het root wachtwoord in)

Last login: Mon Jul 4 13:44:45 2005 from blop.cnodelcpl.

Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994

The Regents of the University of California. All rights reserved.

FreeBSD 5.0-RC (MASTER) #4: Sat Dec 14 18:34:40 CET 2002

Wireless Leiden Node

CNodeLCPL#

note! Als extra optie -v (ssh -v root@lcpl.wleiden.net )meegeven om de ssh verbinding
in verbose mode op te starten. In verbose mode wordt op het beeld getoond waar de
ssh sessie mee bezig is. Erg handig om te kunnen zien waarom het soms erg lang	kan duren voor er daadwerkelijk een verbinding is opgebouwd.

3.2 Ethernet.

Maak met een notebook of PC verbinding met de ethernetkaart van de node met een cross utpkabel. Als gebruikt wordt gemaakt van een hub of switch dan is een straight kabel

nodig om notebook of pc aan te verbinding.

Zoek in config files van de node het ipnummer van de ethernet kaart op. De standaard is dat alle netwerk kaarten een ipnummer hebben dat eindigt op '.65'. Hierop kunnen we in een config file van een node zoeken.

voorbeeld : eddy# cat /home/wleiden/genesis/nodes/CNodeLCPL/wleiden.conf | grep .65

IP=172.21.16.65/28

Stel nu de netwerkkaart van PC of notebook in op 172.21.16.70/28. Dit nummer van binnen de ip reeks die wordt gebruikt op de node voor de ethernet kaart.

voorbeeld : eddy# ifconfig fxp0 172.21.16.70/28

Ping nu naar het ipnummer van de netwerkkaart in de node.

voorbeeld : eddy# ping 172.21.16.65

PING 172.21.16.65 (172.21.16.65): 56 data bytes

64 bytes from 172.21.16.65: icmp_seq=0 ttl=64 time=0.756 ms

64 bytes from 172.21.16.65: icmp_seq=1 ttl=64 time=0.590 ms

64 bytes from 172.21.16.65: icmp_seq=2 ttl=64 time=0.563 ms

^C

--- 172.21.16.65 ping statistics ---

3 packets transmitted, 3 packets received, 0% packet loss

round-trip min/avg/max/stddev = 0.563/0.636/0.756/0.085 ms

Als er ping pakketten terug komen dan is het mogelijk om een SSH sessie te starten

via de ethernet kabel met de node. Werkt dit niet, controleer dan of de node aan staat, de ethernet kabel goed is aangesloten en de juiste ipnummers worden gebruikt.

<*** Aanvullen met meer debuggen???***>

voorbeeld : ssh root@172.21.16.65

The authenticity of host '172.21.16.65 (172.21.16.65) can't be established.

DSA key fingerprint is 06:d4:ff:fc:8c:ed:c4:d4:86:bd:f5:d5:50:4e:7c:76.

Are you sure you want to continue connecting (yes/no)?

(Als deze melding wordt gegegeven is er nog niet eerder een SSH sessie geweest tussen de node en PC/notebook. Het antwoorden met 'yes' resulteert dat deze key wordt bewaard in ~/.ssh/known_hosts. De volgende keer als verbinding wordt gemaakt met dezelfde node zal deze melding niet meer worden weergegeven.)

Password: (Voor hier het root wachtwoord in)

Last login: Mon Jul 4 13:44:45 2005 from blop.cnodelcpl.

Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994

The Regents of the University of California. All rights reserved.

FreeBSD 5.0-RC (MASTER) #4: Sat Dec 14 18:34:40 CET 2002

Wireless Leiden Node

CNodeLCPL#

3.3 Serieel

Maak met een notebook of PC verbinding met een serieel nullmodem kabel verbinding met de seriële port van de node.

Verander met een editor, bijvoorbeeld 'vi' onderstaande regels in /etc/remote

sio0|com1:dv=/dev/cuaa0:br#9600:pa=none:

sio1|com2:dv=/dev/cuaa0:br#19200:pa=none:

Voor het gebruik van usb naar seriële kabel moeten een aantal losse kernel modules geladen worden of de modules worden mee gecompileerd in de kernel. Het makkelijkst is het laden van de modules voor het opstarten van de FreeBSD kernel. Deze modules worden in het bestand /boot/loader.conf toegevoegd. De modules worden bij een herstart van het systeem geladen. Het compileren van een kernel wordt niet in deze cursus behandeld maar is terug te vinden in het handbook van FreeBSD.

ucom_load="YES"

uplcom_load="YES"

Tevens moeten ook een aantal aangepast worden voor de USB naar serieel interface die wordt gebruikt. Verander met een editor, bijvoorbeeld 'vi' onderstaande regels in /etc/remote

sio0|com1:dv=/dev/ucom0:br#9600:pa=none:

sio1|com2:dv=/dev/ucom0:br#19200:pa=none:

In bovenstaande regels verwijst com1 met een snelheid van 9600 baud naar seriële interface 'ucom0'. Ucom0 is een loss USB seriële poort.

Als de veranderingen zijn weggeschreven kan er een seriële verbinding worden opgezet met de node.

Voorbeeld : eddy# tip com1 (2x enter)

login:

Voor nu een user name en wacht woord in en de node kan nu worden beheer via deze seriële interface. Voor het verbreken van de seriële verbinding met de de node toets de volgende combinatie in : ~ gevolgd door een . daarna een enter.

De seriële verbinding zal worden verbroken tussen de client (PC/notebook) en de node.

4. Inloggen/aanmelden

4.1 De Console (Serieel)

Als FreeBSD wordt opgestart kan via een een beeldscherm of seriële kabel die is aangesloten op een compoort van een notebook worden gevolgd hoe het systeem opstart.

Na het opstarten , geeft het systeem een login prompt als het gestart is. Dit gebeurt direct nadat de startscripts klaar zijn. Er wordt iets als het volgende getoond:

Last login: Sun Jul 3 12:44:54 2005 from 2lcpl.cnodehaag

Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994

The Regents of the University of California. All rights reserved.

FreeBSD 5.0-RC (MASTER) #4: Sat Dec 14 18:34:40 CET 2002

Wireless Leiden Node

CNodeLCPL#

De meldingen op het scherm kunnen wellicht iets anders zijn op een systeem, maar het

zal iets soortgelijks zijn. De laatste twee regels zijn de regels waar het nu over gaat. De voorlaatste regel toont:

FreeBSD 5.0-RC (MASTER) #4: Sat Dec 14 18:34:40 CET 2002

Deze regel bevat enkele informatie over het systeem dat net gestart is: dit is een “FreeBSD”

console, draaiend op een Intel of soortgelijke processor op de x86 architectuur

Dit is het deel waar een “gebruikersnaam” ingevuld moet worden om aan te melden op FreeBSD. Het volgende deel beschrijft hoe dat werkt.

4.2 Aanmelden op FreeBSD

FreeBSD is een multi-user en multi-processing systeem. Dit is de formele beschrijving die meestal gegeven wordt aan een systeem dat gebruikt wordt door meerdere personen die gelijktijdig verschillende programma's draaien op één enkele machine.

Elk multi-user systeem heeft een manier nodig om een “gebruiker” van alle andere gebruikers te kunnen onderscheiden. In FreeBSD (en alle andere UNIX achtige besturingssystemen), wordt dit bereikt door te eisen dat elke gebruiker moet “aanmelden” op het systeem voordat hij/zij programma's kan draaien. Elke gebruiker heeft een unieke naam (de “gebruikersnaam”) en een persoonlijke, geheime sleutel (het “wachtwoord”). FreeBSD vraagt om deze twee gegevens voordat het een gebruiker toegestaat om programma's te draaien.

Direct nadat FreeBSD is opgestart en de opstartscripts afgerond zijn, wordt een prompt getoond dat vraagt om een geldige aanmeldnaam op te geven.

login:

In dit voorbeeld wordt aangenomen de gebruikersnaam marten is. Als na deze prompt marten wordt getypt en op Enter gedrukt, verschijnt hierna een prompt om het “ wachtwoord” in te voeren:

login: marten

Password:

Nu kan marten's wachtwoord ingevoerd worden en op Enter gedrukt worden. Het wachtwoord wordt niet getoond! Daarover hoeft geen zorg te bestaan. Het is voldoende om te zeggen dat dit om veiligheidsredenen gedaan wordt.

Als het juiste wachtwoord is ingegeven, is er aangemeld bij op FreeBSD en in het systeem klaar om alle beschikbare commando's uit te voeren.

Na het aanmelden is de MOTD (/etc/motd) of het bericht van de dag zichtbaar, gevolgd door een commandoprompt (een #, $ of een % karakter).

Dit geeft aan dat er succesvol is aangemeld op FreeBSD.

5. Unix/FreeBSD basic commands

5.1 hostname

% hostname

Drukt de naam van de node machine af waar je op dat moment werkt.

voorbeeld : CNodeLCPL# hostname

CNodeLCPL.wLeiden.NET

5.2 date

% date

Drukt de systeemdatum en systeemtijd af.

voorbeeld : CNodeLCPL# date

Mon Jul 4 11:57:53 GMT 2005

5.3 pwd

% pwd

Dit commando vertelt in welke absolute directory je bevindt.

voorbeeld : CNodeLCPL# pwd

/root

5.4 who

% who Laat zien wie er verboden zijn met de node.

voorbeeld : CNodeLCPL# who

root ttyp0 Jul 4 11:57 (blop.CNodeLCPL)

5.5 ls

% ls [-al] [directory]

Dit commando geeft een lijst met alle files en subdirectories in de directory
waarin je je bevindt. Het commando laat het hele pad naar de directory waarin je
staat weg, waardoor je de relatieve i.p.v. de absolute filenaam krijgt.

5.6 cd

% cd [directory]

'change directory': ga naar de opgegeven directory. Zonder directorynaam wordt
dit de HOME-(inlog)directory.

5.7 scp

% scp [[user@]host1:]filename1... [[user@]host2:]filename2

een handig file copy programma, dat toelaat van files te kopiëren naar hosts

(waar een	sshd-daemon draait uiteraard)

voorbeeld : eddy# scp /usr/local/etc/dhcpd.conf
root@zijloever.wleiden.net:/usr/local/etc/

In het voorbeeld wordt het bestand van de pc 'eddy' gekopieerd naar node Zijloever in de directory /usr/local/etc

5.8 cp

% cp [OPTION]... source_file target_file

cp wordt gebruik om files en directories te kopiëren.

voorbeeld : eddy# cp /usr/local/etc/dhcpd.conf /tmp/

In het voorbeeld wordt het bestand dhcpd.conf in directory /usr/local/etc gekopieerd naar de directory /tmp

5.9 ping

% ping [option(s)] hostname/ip-number

stuur een ICMP ECHO_REQUEST packet naar een host op het netwerk

voorbeeld : eddy# ping lcpl.wleiden.net

PING CNodeLCPL.wleiden.net (172.21.16.1): 56 data bytes

64 bytes from 172.21.16.1: icmp_seq=0 ttl=64 time=1.063 ms

64 bytes from 172.21.16.1: icmp_seq=1 ttl=64 time=1.175 ms

64 bytes from 172.21.16.1: icmp_seq=2 ttl=64 time=1.044 ms

^C

--- CNodeLCPL.wleiden.net ping statistics ---

3 packets transmitted, 3 packets received, 0% packet loss

round-trip min/avg/max/stddev = 1.044/1.094/1.175/0.058 ms

5.10 less

% less

Less is een programma dat heel veel lijkt op more, maar met de mogelijkheid om	zowel voorwaarts en achterwaarts te bladeren in een bestand. Ook hoeft less niet

eerst het hele bestand in te lezen voor dat er gelezen kan worden. Dit heeft als

voordeel dat grotere bestanden sneller geopend kunnen worden.

Met de spatiebalk bladert u een pagina verder. De b staat voor back, en de q

staat voor quit.	Type h voor hulp over less' sneltoetsen.

Belangrijke functies zijn "/patroon" of "?patroon" en "n(ext)" om verder te
zoeken. / geeft een prompt links onderin. Hierachter typt u uw zoekterm (bijv. /
help). Met Enter start het zoeken en met n(ext) sprint u naar de volgende

treffers. Achteruit zoeken gaat met ?trefwoord (of Shift-/).

5.11 uptime

% uptime

Laat onder andere zien hoe lang een node werkt na boot/reboot.

Voorbeeld	: NodeLCPL# uptime

12:09PM up 4 days, 19:12, 1 user, load averages: 0.12, 0.12, 0.08

5.12 cat

% cat filenaam

Redirecten is het veranderen van de richting van invoer en uitvoer van
programma's. Stel dat je de inhoud van een bestand wilt bekijken. Dit kun je doen	met het commando cat.

Voorbeeld	: NodeLCPL# cat /etc/resolv.conf

# This file specific to wireless

# leiden. Please make all changes in Genesis.

#

# Generated by octo.wzoeterwoude.net

# on Thu Mar 17 19:30:17 2005

#

# feb 2003 jasper@WirelessLeiden.NL | maart 2005 rick@WirelessLeiden.NL

#

search wleiden.net.

nameserver 127.0.0.1

nameserver 172.16.1.173 # Link naar Haagwijk

nameserver 172.16.1.1 # Link naar Grip

CNodeLCPL#

# cat file.txt > file2.txt

Bovenstaand voorbeeld redirect de uitvoer van het 'cat' commando naar een bestand in plaats van naar het scherm. Opmerking: je zou op kunnen merken dat dit eigenlijk een kopieerslag is en ja, daar heb je gelijk in. Echter, het gaat hier alleen maar om hoe redirection werkt

5.13 netstat

Netstat is een standaard tool onder Unix om allerlei informatie op te vragen over	onderandere de netwerkinterface, routing-table.

Voorbeeld: NodeLCPL# netstat -r (tonen routing table)
of
NodeLCPL# netstat -n (tonen netwerk adressen en poortnummers)

of
NodeLCPL# netstat -i (tonen netwerk-interface informatie).

5.14 uname

% uname

Laat op het display informatie zien over het systeem.

Voorbeeld : CNodeLCPL# uname -a

FreeBSD CNodeLCPL.wLeiden.NET 5.0-RELEASE FreeBSD 5.0-RELEASE #0: Sun Dec	21 06:03:10 CET 2003
root@fasfdasdf.zorknet.xs4all.nl:/usr/obj/usr/src/sys/SOEKRIS.2400 i386

Uit de weergegeven informatie is goed te zien welke FreeBSD versie wordt gebruikt, wanneer de kernel is gebouwd en voor welke soort systeem de kernel is gecompileerd. In ons voorbeeld is dat voor een Soekris.

5.15 ifconfig

% ifconfig [options] interface

Ifconfig wordt gebruikt om de netwerk interface(s) te configureren.

Het wordt gebruikt tijdens het opstarten om de nodige instellingen te door voor
de interface(s). Daarna wordt het heel veel gebruikt voor debuggen en het tunen

van het systeem. Als er niets als optie of interface wordt meegegeven dan wordt
de actuele status van de actieve interface(s) getoond. Als een enkele interface
naam wordt meegegeven dan wordt deze interface alleen getoond. Bij het meegeven
van de optie -a (ifconfig -a) worden alle interfaces, ook die niet actief of down
zijn getoond op het display.

Voorbeeld: CnodeLCPL# ifconfig sis0 192.168.0.1/24

# configureer sis0 met ip nummer 192.168.0.1 met netmask 255.255.255.0

CNodeLCPL# ifconfig sis0 alias 192.168.100.1/26

# configureer een alias met ip nummer 192.168.0.1 met netmask 255.255.192.0

CNodeLCPL# ifconfig sis0 delete 192.168.100.1

# verwijder van op interface sis0 het ip nummer 192.168.0.1

5.16 reboot

% reboot [options]

Het reboot commando is zoals het eigenlijk al aangeeft nodig om een systeem een	warme reset te geven. Een reboot kan nodig zijn om een node te herstarten als	bijvoorbeeld de configuratie is aangepast of andere problemen zijn die mogelijk	met een herstart opgelost kunnen worden.

Voorbeeld: CnodeLCPL# reboot

Connection to cnodelcpl.wleiden.net closed by remote host.

Connection to cnodelcpl.wleiden.net closed.

5.17 arp

% arp [options]

De arp utilitie toont en wijzigt het Internet-to-Ethernet adress transloation	tabel gebruikt door het Adress Resolution Protocol (arp).

Zonder flags laat het programma de op dat moment aanwezige ARP en hostnaam.

Deze utilitie is handig om bijvoorbeeld te zien welke aanwezig hardware adressen	een Ipnummer hebben en deze actief zijn op de node.

Voorbeeld: CnodeLCPL# arp -a

2lcpl.CNodeGrip.wLeiden.NET (172.16.1.1) at 00:xx:xx:xx:xx:xx on wi2 [ethernet]

2grip.CNodeLCPL.wLeiden.NET (172.16.1.2) at 00:xx:xx:xx:xx:xx on wi2 permanent

2lcpl.CNodeHaagwijk.wLeiden.NET (172.16.1.173) at 00:xx:xx:xx:xx:xx on wi1 [ethernet]

.........

dhcp-no57.CNodeLCPL.wLeiden.NET (172.21.16.57) at (incomplete) on wi0 [ethernet]

dhcp-no60.CNodeLCPL.wLeiden.NET (172.21.16.60) at xx:xx:xx:xx:xx:xx on wi0 [ethernet]

In bovenstaande voorbeeld is te zien dat de interlink naar CNodeGrip actief is, welk ipnummer deze link heeft en het hardware adres van de kaart. Dit zelfde is ook voor de interlink naar Haagwijk. Daaronder staan een tweetal voorbeelden van een verbinding van een client (dhcp-noxx) die verbonden is met de omni en een ipnummer heeft gekregen. De boveste verbinding naar de client is niet meer actief (incomplete) de onderste is nog wel actief verbonden met de node in de afgelopen paar minuten.

5.18 dmesg

% dmesg [opties]

Deze utilitie toont op het scherm de inhoud van het systeem buffer.

Als er geen optie wordt meegegeven dan wordt de buffer uitgelezen van de opdat	moment actieve kernel. Erg handig om uit te zoeken wat de laatste foutmelding(en)	is/zijn geweest systeem fouten op te sporen. A

Voorbeeld: CnodeRuben# dmesg

Copyright (c) 1992-2003 The FreeBSD Project.

Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994

The Regents of the University of California. All rights reserved.

FreeBSD 5.0-RELEASE #0: Sun Dec 21 06:03:10 CET 2003

...............knip....heel lang kernel stukje.............................

wi0: ioctl ZERO-ing CACHE!!!

wi1: ioctl ZERO-ing CACHE!!!

wi2: ioctl ZERO-ing CACHE!!!

wi0: timeout in wi_seek to 14c/3c; last status 403c

CNodeRuben#

Als de optie -a wordt meegegeven dan wordt op het scherm alle data uit het berichten buffer getoond maar ook alle syslog en console uitvoeringen. Dit is weer handig om meer complexe fouten van alle log mogelijkheden van het systeem.

5.19 grep

% grep

Grep zoekt in de opgegeven file (of standaard invoer als er geen file

opgegeven is) naar lijnen in deze file en laat deze zien als een opgegeven

tekenreeks voorkomt. Staandaard laat grep de hele regel zien waar de tekenreeks

in voorkomt.

Voorbeeld: CNodeLCPL# grep ssh /etc/rc.conf

sshd_enable="YES"

Uit het bestand rc.conf die in de directory /etc staat word gezocht naar alles waar de combintie ssh in voorkomt en word alle deze regel op het display getoond.

Grep kan ook worden gebruikt om te zoeken in een uitvoer van bijvoorbeeld het commendo dmesg. Er wordt dan een pipe '|' gebruikt om de uitvoer door te geven aan het volgende commando of opdracht.

Voorbeeld: CNodeRuben# dmesg | grep wi1

wi1: <Intersil Prism II> at port 0x100-0x13f irq 11 function 0 config 1 on pccard0

wi1: 802.11 address: 00:02:6f:06:d6:26

wi1: using RF:PRISM2.5 MAC:ISL3873

wi1: Intersil Firmware: Primary 1.01.01, Station 1.05.06

wi1: ioctl ZERO-ing CACHE!!!

Alleen de regels waar in de combinatie 'wi1' in voorkomt van de uitvoer van dmesg

worden op het display getoond.

5.20 traceroute ......todo

5.21 route............todo

5.22 ssh..............todo

5.23 tail.............todo

5.24 du ..............todo

5.25 df...............todo

5.26 find.............todo

5.27 exit.............todo

5.28 dig..............todo

5.29 tcpdump..........todo

5.30 history..........todo

6. Mappen structuur

De FreeBSD mappenstructuur is erg belangrijk om het systeem goed te leren kennen.

Het belangrijkste concept om greep op te krijgen is die van de rootmap, “/”. Deze map is de eerste die gemount wordt tijdens het opstarten en bevat het basissysteem dat nodig is om het besturingssysteem gereed te maken voor multi-user taken. De rootmap bevat ook mountpunten voor elk ander bestandssysteem dat misschien gemount wordt.

Map	Omschrijving

/	Rootmap van het bestandssysteem.

/bin/	Gebruikersapplicaties, belangrijk voor zowel single user als multi-user	omgevingen.

/boot/	Programma's en instellingenbestanden die gebruikt worden tijdens het	opstarten van het besturingssysteem.

/boot/defaults/	Bestanden met standaardinstellingen voor opstarten;, zie
loader.conf

/lcd/	Een aantal belangrijke configuratie files voor de wireless Leiden

nodes

/dev/	Apparaatnodes;

/etc/	Bestanden met systeeminstellingen en scripts.

/etc/defaults/	Bestanden met standaard systeeminstellingen;, zie rc(8).

/etc/namedb/	Instellingenbestanden voor named, zie named(8).

/etc/periodic/	Scripts die dagelijks, wekelijks en maandelijks via cron worden	uitgevoerd.

/mnt/	Lege map, veel gebruikt door systeembeheerders als tijdelijk
mountpunt voor opslagruimtes.

/proc/	Process bestandssysteem;

/root/	Thuismap van de gebruiker root.

/sbin/	Systeemprogramma's en administratieprogramma's belangrijk voor zowel	single-user en multi-user omgevingen.

/tmp/	Tijdelijke bestanden, meestal een op mfs geheugen gebaseerd	bestandssysteem (de inhoud van /tmp wordt meestal NIET bewaard
tijdens het	rebooten).

/usr/	Hier bevindt zich het leeuwendeel van alle hulpprogramma's en gewone	programma's.

/usr/bin/	Standaard programma's, programmeertools.

/usr/lib/	Functiebibliotheken.

/usr/libdata/	Diverse databestanden voor hulpprogramma's.

/usr/libexec/	Systeemdaemons en systeemhulpprogramma's (uitgevoerd door andere	programma's).

/usr/local/	Lokale programma's, bibliotheken, etc. Wordt ook gebruikt als
standaard locatie voor de FreeBSD ports. Binnen /usr/local, wordt de algemene layout bepaald door hier, dat ook voor /usr wordt gebruikt. Uitzonderingen is de map man, die direct onder /usr/local ligt in plaats van onder /usr/local/share, en de documentatie voor ports is te vinden in share/doc/port.

/usr/sbin/	Systeemdaemons en systeemhulpprogramma's (uitgevoerd door
gebruikers).

/usr/share/	Architectuur onafhankelijke bestanden.

/var/	Multifunctionele logboek-, tijdelijke, transparante en spool
bestanden.

/var/log/	Diverse logboekbestanden van het systeem.

/var/mail/	Postbusbestanden van gebruikers.

/var/spool/	Diverse printer- en mailsysteemspoolingmappen.

/var/tmp/	Tijdelijke bestanden die bewaard worden bij een herstart van het
systeem.

NOTE. Dit is niet het geval bij systemen met een Flash disk zoals SOEKRIS.

/var/yp	NIS maps.

7. Processen

FreeBSD is een multi-tasking besturingssysteem. Dit betekent dat het lijkt alsof er meer dan één proces tegelijkertijd draait. Elk programma dat draait wordt een proces genoemd. Elk commando dat wordt uitgevoerd start op zijn minst één nieuw proces en er zijn systeemprocessen die continu draaien om het systeem functioneel te houden.

Elk proces wordt geïdentificeerd door een nummer dat process ID of PID heet, en net zoals bij bestanden heeft elk proces één eigenaar en groep. De eigenaars- en groepsinformatie wordt gebruikt om te bepalen welke bestanden en apparaten het proces mag openen, waarbij gebruik wordt gemaakt van de bestandsrechten die eerder zijn behandeld. Veel processen hebben ook een ouderproces (parent proces). Het ouderproces is het proces het ze door gestart is. Als commando's in een shell worden ingevoerd, start de shell een proces en elk commando dat draait is ook een proces. De uitzondering hierop is het speciale proces init(8). init is altijd het eerste proces, dus het PID is altijd 1. init wordt automatisch gestart door de kernel als FreeBSD opstart.

Twee commando's die erg handig zijn om te zien welke processen er draaien zijn 'ps' en 'top'. 'ps' wordt gebruikt om een statische lijst op te vragen van de processen die op het moment van uitvoeren draaien en kan hun PID, geheugengebruik, de startende commandoregel, enzovoort, tonen. top geeft alle draaiende processen weer en werkt de status elke paar seconden bij zodat interactief wordt weergegeven wat een computer aan het doen is.

Standaard laat ps alleen zien welke commando's draaien waarvan de gebruiker die het uitvoert de eigenaar is:

% ps

CNodeLCPL# ps

PID TT STAT TIME COMMAND

14641 p0 Ss 0:00.82 -csh (csh)

14701 p0 R+ 0:00.00 ps

500 d0 Is+ 0:00.06 /usr/libexec/getty std.9600 ttyd0

In het bovenstaande voorbeeld is de uitvoer van 'ps' georganiseerd in een aantal kolommen. PID is het proces ID. PIDs worden toegekend vanaf 1 en lopen op tot 99999. Als ze allemaal zijn gebruikt, worden ze hergebruikt. De TT kolom toont de tty vanwaar het programma draait en wordt nu buiten beschouwing gelaten. STAT toont de huidige staat van het programma en ook deze kolom wordt buiten beschouwing gelaten. TIME is de hoeveelheid tijd die het programma gedraaid heeft op de CPU. Dit is meestal niet de verstreken tijd vanaf het moment dat het programma is gestart. Veel programma's wachten omdat er alleen gebruik wordt gemaakt van de CPU als er iets voor het programma te doen is. Als laatste is COMMAND de commandoregel die gebruikt is om het programma te starten.

'ps' ondersteunt een aantal opties die de informatie wijzigen die wordt weergegeven. Één van de meest nuttige combinaties is 'wwaux'. De optie toont informatie over alle draaiende processen, niet alleen die van de gebruiker die is aangemeld. De optie u toont de gebruikersnaam van de proceseigenaar, evenals geheugengebruik. De optie x toont informatie over daemonprocessen en met de optie 'ww' laat 'ps' de volledige commandoregel zien, in plaats van een mogelijk afgekorte regel omdat die te lang is om op het scherm te passen..

% ps wwaux

CNodeLCPL# ps wwaux

USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND

root 11 89.2 0.0 0 12 ?? RL 1Jan70 5846:13.91 (idle)

root 428 5.2 3.5 3060 2176 ?? Ss Wed04PM 751:13.74 /usr/local/sbin/lvrouted.opt -u -s s00p3rs3kr3t

root 1 0.0 0.6 704 372 ?? ILs 1Jan70 0:00.63 /sbin/init --

root 12 0.0 0.0 0 12 ?? RL 1Jan70 54:09.82 (swi6: tty:sio clock)

root 14 0.1 0.0 0 12 ?? WL 1Jan70 99:36.92 (swi1: net)

root 2 0.0 0.0 0 12 ?? DL 1Jan70 4:00.48 (g_event)

root 3 0.0 0.0 0 12 ?? DL 1Jan70 2:57.63 (g_up)

root 4 0.0 0.0 0 12 ?? DL 1Jan70 3:32.80 (g_down)

root 15 0.0 0.0 0 12 ?? DL 1Jan70 11:30.65 (random)

root 18 0.0 0.0 0 12 ?? WL 1Jan70 92:03.69 (irq10: wi0)

root 19 0.3 0.0 0 12 ?? WL 1Jan70 108:56.13 (irq11: cbb0 cbb1)

root 5 0.0 0.0 0 12 ?? DL 1Jan70 0:00.00 (cbb0)

root 6 0.0 0.0 0 12 ?? DL 1Jan70 0:00.00 (cbb1)

root 20 0.0 0.0 0 12 ?? WL 1Jan70 29:20.33 (irq5: sis0)

root 22 0.0 0.0 0 12 ?? WL 1Jan70 0:07.63 (irq14: ata0)

root 25 0.0 0.0 0 12 ?? WL 1Jan70 0:00.00 (irq3: pcic1)

root 26 0.0 0.0 0 12 ?? WL 1Jan70 0:00.02 (swi0: tty:sio)

root 7 0.0 0.0 0 12 ?? DL 1Jan70 0:03.86 (pagedaemon)

root 8 0.0 0.0 0 12 ?? DL 1Jan70 0:00.00 (vmdaemon)

root 9 0.0 0.0 0 12 ?? DL 1Jan70 8:25.70 (pagezero)

root 30 0.0 0.0 0 12 ?? DL 1Jan70 0:20.45 (bufdaemon)

root 31 0.0 0.0 0 12 ?? DL 1Jan70 1:17.30 (syncer)

root 32 0.0 0.0 0 12 ?? DL 1Jan70 0:20.69 (vnlru)

root 85 0.0 0.0 0 12 ?? DL Wed04PM 0:16.02 (md1)

root 98 0.0 0.0 0 12 ?? DL Wed04PM 1:06.06 (md2)

root 240 0.0 1.3 1228 788 ?? Ss Wed04PM 0:40.12 /usr/sbin/syslogd -s -A -c

bind 254 0.0 5.7 4008 3572 ?? Ss Wed04PM 4:22.06 /usr/sbin/named -u bind -g bind

root 369 0.0 1.7 1532 1088 ?? Ss Wed04PM 2:56.96 /usr/sbin/ntpd -p /var/run/ntpd.pid

root 392 0.0 3.3 2636 2036 ?? Is Wed04PM 0:12.14 /usr/sbin/sshd

root 413 0.0 0.2 244 132 ?? Ss Wed04PM 0:18.57 /sbin/watchdogd

root 417 0.0 2.6 2080 1616 ?? Is Wed04PM 0:11.83 /usr/local/sbin/dhcpd

root 468 0.0 0.9 748 584 ?? Is Wed04PM 7:20.13 /usr/local/bin/pen -b 30 -r -p /var/run/pen.pid -S 3 -O 172.31.255.1:3128 proxy3.wleiden.net proxy2.wleiden.net proxy1.wleiden.net

root 474 0.0 5.4 4108 3388 ?? Is Wed04PM 1:48.26 /usr/local/sbin/snmpd

root 493 0.0 1.5 1228 952 ?? Ss Wed04PM 0:21.77 /usr/sbin/cron

root 500 0.0 1.4 1184 860 d0 Is+ Wed04PM 0:00.06 /usr/libexec/getty std.9600 ttyd0

root 14966 0.0 3.7 5372 2332 ?? S 2:09PM 0:00.68 sshd: root@ttyp0 (sshd)

root 14969 0.0 1.8 1512 1156 p0 Ss 2:09PM 0:00.35 -csh (csh)

root 0 0.0 0.0 0 12 ?? DLs 1Jan70 0:03.24 (swapper)

root 14997 0.0 0.8 648 472 p0 R+ 2:20PM 0:00.00 ps wwaux

root 10 0.0 0.0 0 12 ?? DL 1Jan70 0:00.00 (ktrace)

CNodeLCPL#

De uitvoer van top is hetzelfde:

% top

last pid: 14702; load averages: 0.08, 0.11, 0.08 up 4+19:12:23 12:09:18

14 processes: 1 running, 13 sleeping

CPU states: 0.4% user, 0.0% nice, 1.2% system, 0.0% interrupt, 98.4% idle

Mem: 10M Active, 11M Inact, 12M Wired, 4K Cache, 12M Buf, 26M Free

Swap:

PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND

428 root 96 0 3060K 2208K select 737:01 6.20% 6.20% lvrouted.opt

14702 root 96 0 2120K 1320K RUN 0:00 1.13% 0.29% top

468 root 96 0 748K 584K select 7:20 0.00% 0.00% pen

254 bind 96 0 4008K 3572K select 4:19 0.00% 0.00% named

369 root 96 0 1532K 1088K select 2:54 0.00% 0.00% ntpd

474 root 96 0 4108K 3388K select 1:47 0.00% 0.00% snmpd

240 root 96 0 1228K 788K select 0:40 0.00% 0.00% syslogd

493 root 8 0 1228K 952K nanslp 0:21 0.00% 0.00% cron

413 root 8 0 244K 132K nanslp 0:18 0.00% 0.00% watchdogd

417 root 96 0 2080K 1616K select 0:12 0.00% 0.00% dhcpd

392 root 96 0 2636K 2036K select 0:07 0.00% 0.00% sshd

14638 root 96 0 5372K 2332K select 0:01 0.00% 0.00% sshd

14641 root 20 0 1540K 1196K pause 0:01 0.00% 0.00% csh

500 root 5 0 1184K 860K ttyin 0:00 0.00% 0.00% getty

De uitvoer is gesplitst in twee secties. De kop (de eerste vijf regels) toont het laatst uitgegeven PID, de gemiddelde systeembelasting (hoe druk is een systeem), de uptime van het systeem (tijd verstreken sinds laatste reboot) en de huidige tijd. De andere cijfers in de kop tonen hoeveel processen er draaien (in dit geval 14) , hoeveel geheugen en swap er gebruikt wordt en hoeveel processortijd het systeem besteed aan verschillende taakgroepen.

Daaronder staat een serie van kolommen die soortgelijke informatie bevatten als de uitvoer van 'ps'. Zo zijn het PID, de gebruikersnaam, de hoeveelheid processortijd en het commando dat gebruikt is om het proces te starten te zien. top laat standaard ook zien hoeveel geheugen er gebruikt wordt door een proces. Dit staat in twee kolommen waarbij in de eerste kolom het maximale geheugengebruik wordt getoond en in de tweede kolom het huidige geheugengebruik. Maximale gebruik is de hoeveelheid geheugen die het proces nodig had in de tijd dat het bestaat en het residente gebruik is hoeveel er op het moment van weergeven gebruikt wordt.

top werkt het beeld automatisch iedere twee seconden bij. Dat kan gewijzigd worden met de optie 's'.

8. Daemons, signalen en het stoppen van processen

Als een gebruiker een editor draait is het makkelijk om de editor te besturen, te vertellen om bestanden te openen, etc. Dit kan omdat de editor de mogelijkheden geeft om dat te doen en omdat de editor gekoppeld is aan een terminal. Sommige programma's zijn niet ontworpen om te draaien met continue gebruikersinvoer, dus als zij de kans krijgen ontkoppelen zij zich van de terminal. Een webserver reageert bijvoorbeeld de hele dag op webaanvragen en heeft eigenlijk geen input van een lokale gebruiker nodig. Programma's die email van locatie naar locatie transporteren zijn een ander voorbeeld.

Deze programma's heten daemons. Daemons waren karakters in de Griekse mythologie, goed noch slecht, ze waren dienende geesten die op grote schaal nuttige dingen deden voor de mensheid. Net zoals de huidige webservers en mailservers nuttige dingen doen. Dit is waarom de mascotte voor BSD al lang een vrolijk kijkende daemon met puntoren en een drietand is.

Er is een overeenkomst om programma's die meestal draaien als daemon te voorzien van het achtervoegsel “d”. BIND is de Berkeley Internet Name Daemon (het echte programma heet named), de Apache webserver heet httpd. Deze overeenkomst geldt niet altijd. De hoofd maildaemon voor Sendmail heet bijvoorbeeld sendmail en niet maild.

Soms is communicatie met een daemon nodig. Deze communicatie heet signaleren (signals). Er kan met een daemon (of met elk ander draaiend proces) gecommuniceerd worden door er een signaal naartoe te sturen. Er zijn een verschillende signalen. Sommige hebben een specifieke bedoeling, andere worden geïnterpreteerd door de applicatie. In de documentatie van de applicatie staat hoe de applicatie signalen interpreteert. Er kan alleen een signaal naar een proces gezonden worden waar de uitvoerende gebruiker eigenaar van is. Als met kill een signaal naar een proces van een andere gebruiker wordt gestuurd, wordt de toegang geweigerd. De enige uitzondering hierop is de root gebruiker, die signalen naar processen van alle gebruikers kan sturen.

FreeBSD stuurt soms ook signalen naar applicaties. Als een applicatie slecht geschreven is en hij probeert geheugen te benaderen waar hij niet naartoe mag, stuurt FreeBSD het proces een Segmentation Violation signaal (SIGSEGV). Als een applicatie de systeemaanroep alarm heeft gebruikt om na een bepaalde periode een alarm te ontvangen, wordt er een Alarm signaal heen gestuurd (SIGALRM), etc.

Twee signalen kunnen gebruikt worden om een proces te stoppen: SIGTERM en SIGKILL. SIGTERM is de nette manier om een proces te killen. Het proces kan het signaal afvangen, begrijpen dat de eigenaar wil dat het wordt afgesloten, wellicht logboekbestanden sluiten die geopend zijn en alle onderhanden activiteiten afhandelen. In een aantal gevallen kan een proces SIGTERM negeren: als het midden in een taak zit die niet beëindigd kan worden.

SIGKILL mag niet worden genegeerd door een proces. Dit is het “Wat je ook aan het doen bent, stop er nu mee” signaal. Na een SIGKILL stopt FreeBSD het proces meteen.

Andere veelgebruikte signalen zijn SIGHUP, SIGUSR1 en SIGUSR2. Dit zijn algemeen bruikbare signalen en verschillende applicaties zullen verschillend reageren als ze verstuurd worden.

Stel dat het bestand met instellingen voor de webserver is aangepast. Dan moet aan de webserver verteld worden dat die de instellingen opnieuw moet lezen. Hiervoor zou httpd gestopt en gestart kunnen worden, maar dit resulteert in een korte onderbreking van de webserverdienst, wat ongewenst kan zijn. De meeste daemons zijn geschreven om te reageren op het SIGHUP signaal door het opnieuw inlezen van het instellingenbestand. Dus in plaats van het stoppen en herstarten van httpd kan het SIGHUP signaal gezonden worden. Omdat er geen standaard manier is om op deze signalen te reageren, reageren verschillende daemons anders. Het is verstandig eerst de documentatie van de daemon in kwestie te lezen.

8.1 Het versturen van een signaal naar een proces

Dit voorbeeld toont hoe een signaal naar dhcpd wordt verstuurd. Het bestand met instellingen voor dhcpd is /usr/local/etc/dhcpd.conf en dhcpd leest dit bestand opnieuw in als er een SIGHUP wordt verstuurd.

1. Eerst moet het proces ID worden opgezocht van het proces waar een signaal naar
verzonden moeten worden. Dit kan door ps en grep te gebruiken. grep wordt
gebruikt om in de uitvoer te zoeken en te kijken naar de string die de gebruiker
opgeeft. Dit commando wordt gedraaid als een normale gebruiker en inet wordt

gedraaid onder de	gebruiker root, dus aan 'ps' moet de optie 'ax'

meegegeven worden.

voorbeeld : CNodeLCPL# ps -ax | grep dhcpd

417 ?? Is 0:11.84 /usr/local/sbin/dhcpd

15017 p0 R+ 0:00.00 grep dhcpd

Dus PID van dhcpd is 417. In sommige gevallen kan grep dhcpd ook voorkomen in de	uitvoer (zie proccess 15017). Dit komt door de manier waarop ps de lijst van
draaiende processen moet vinden.

2. Met kill kan het signaal verzonden worden. Omdat dhcpd wordt gedraaid door root
moet 'su' gebruikt worden om root te worden als niet met de user root is
ingelogd.

voorbeeld : CNodeLCPL# su

Password:

CNodeLCPL# /bin/kill -s HUP 417

Zoals zo vaak met UNIX® commando's, geeft kill geen uitvoer als het succesvol uitgevoerd is. Als een signaal wordt verzonden naar een proces waarvan de gebruiker niet zelf de eigenaar is, dan is de melding: “kill: PID: Operation not permitted”. Als het PID verkeerd wordt ingevuld, wordt het signaal naar het verkeerde proces verzonden, wat slecht kan zijn, of, als de gebruiker geluk heeft, wordt het verzonden naar een PID dat momenteel niet in gebruik is, waarop de foutmelding “kill: PID: No such process” verschijnt.

Waarom /bin/kill gebruiken?: Veel shells leveren kill als ingebouwd commando. Dat betekent dat de shell het signaal direct verstuurt in plaats van door het starten van /bin/kill. Dit kan erg nuttig zijn, maar verschillende shells hebben een verschillende opdrachtregel voor het specificeren van de naam van het signaal dat verstuurd moet worden. In plaats van ze allemaal te leren, is het eenvoudiger om gewoon /bin/kill PID te gebruiken.

Andere signalen versturen werkt bijna hetzelfde door TERM of KILL op de commandoregel te vervangen door wat nodig is.

Belangrijk: Het stoppen van willekeurige processen op een systeem is meestal een slecht idee. In het bijzonder bij init met proces ID 1. Het draaien van /bin/kill -s KILL 1 is een snelle manier om een systeem uit te zetten. Argumenten die aan kill worden meegegeven moeten altijd twee keer gecontroleerd worden voordat op Enter gedrukt wordt.

Note!

Dit is niet geheel waar. Er zijn een aantal dingen die niet onderbroken kunnen worden. Als het proces bijvoorbeeld een bestand probeert uit te lezen dat op een andere computer in het netwerk staat en de andere computer is verdwenen (uitgezet of het netwerk heeft een fout), dan wordt er gezegd dat het proces niet “onderbroken” kan worden. Uiteindelijk loopt het proces uit de tijd, meestal na twee minuten. Zodra het uit de tijd loopt, wordt het proces alsnog gestopt.

8.2 SSH

SSHD (SSH Deamon) is het deamon programma voor SSH. SSHD is de deamon die luistert naar

verbindingen van clients. OpenSSH is een groep netwerkverbindingsprogramma's waarmee computers via het netwerk veilig benaderd kunnen worden. Het kan ingezet worden als een directe vervanger van rlogin, rsh, rcp en telnet. Daarnaast kunnen alle andere TCP/IP verbindingen veilig getunneld of geforward worden door SSH. OpenSSH versleutelt al het verkeer om afluisteren, het stelen van een verbinding en andere netwerkaanvallen effectief te voorkomen. Op de nodes gebruiken we ssh om vanaf een andere werkplek verbinding te maken voor het beheer en onderhoud.

Het controleren of het process op een node draait is heel snel. ALs je een verbinding met de node kan maken met SSH dan werkt deze!. Als de ssh deamon niet meer werkt, kan je ook geen verbinding maken met de node op afstand. Wel is het dan waarschijnlijk mogelijk om ter plaatse bij de node via een seriële kabel de node te beheren en te controleren waarom ssh niet werkt.

Controle of de ssh-server actief is.

Voorbeeld : CNodeLCPL# ps ax | grep sshd

329 ?? Is 0:11.84 /usr/local/sbin/sshd

15061 p0 RV 0:00.00 grep sshd (csh)

Dus PID van sshd is 329. In sommige gevallen kan grep sshd ook voorkomen in de	uitvoer (zie process 15061). Dit komt door de manier waarop ps de lijst van
draaiende processen moet vinden.

8.2.1 Herstarten SSH

Een snelle maar lelijke manier om de ssh server opnieuw op te starten is

hier onder weergegeven.

Voorbeeld : CNodeLCPL# killall sshd

CNodeLCPL# sh /etc/rc.d/sshd.sh

8.2.3 configuratie bestand(en)

/etc/ssh/sshd_config

NOTE!

Het ssh2 protocol waar wij binnen wireless Leiden gebruik van maken controleert bij het maken van een ssh verbinding of het ip-nummer van de client bekend is in file /etc/hosts of doet een reverse lookup om de naam/ipnummer te achterhalen. Een reverse lookup wordt gedaan via de nameserver van de node. Dit kan pas goed functioneren als er een retouring is opgezet en de zone files zijn ingelezen in de name server. Als er geen reverse lookup gedaan kan worden

kan het heel erg lang duren voor er een ssh verbinding is opgebouwd. Soms tot wel een paar minuten. Er kan dan ook gebruikt gemaakt worden van ssh versie 1.

voorbeeld : eddy# ssh -1 root@172.21.16.1

8.3 DHCP

DHCP staat voor Dynamic Host Configuration Protocol en wordt gebruikt om een client host (computer) te configureren voor een netwerk. Een DHCP-server (DHCPD) geeft een client computer een IP-adres, subnet-mask en gateway mee en optionele zaken zoals DNS-server (Domain Name System) of NTP-server (Network Time Protocol).

Als dhclient, de DHCP client, wordt uitgevoerd op een clientmachine, dan begint die met het broadcasten van verzoeken om instellingeninformatie. Standaard worden deze verzoeken op UDP poort 68 gedaan. De server antwoordt op UDP 67 en geeft de client een IP adres en andere relevante netwerkinformatie, zoals een netmasker, router en DNS servers. Al die informatie komt in de vorm van een DHCP “lease” (/var/db/dhcpd.leases) en is voor een bepaalde tijd geldig (die is ingesteld in de config files van de DHCP server (/usr/local/etc/dhcpd.conf). Op die manier kunnen IP adressen voor clients die niet langer met het netwerk verbonden zijn (stale) automatisch weer ingenomen worden.

Controle of de dhcpd-server actief is.

Voorbeeld : CNodeLCPL# ps ax | grep dhcpd

417 ?? Is 0:11.84 /usr/local/sbin/dhcpd

15061 p0 RV 0:00.00 grep dhcpd (csh)

Staat er een PID tussen met /usr/local/sbin/dhcpd dan is de dhcpd server actief

als process. In bovenstaand voorbeeld is dat pid 417.

Controle of leases actief zijn.

Voorbeeld : CNodeLCPL# cat /var/db/dhcpd.leases | grep active

binding state active;

binding state active;

Bovenstaande laat zien dat er twee actieve bindingen zijn.

Controleren van de laatste leases op tijden en activiteit

Voorbeeld : CNodeLCPL# less /var/db/dhcpd.leases

# All times in this file are in UTC (GMT), not your local timezone.This is

# not a bug, so please don't ask about it. There is no portable way to

# store leases in the local timezone, so please don't request this as a

# feature. If this is inconvenient or confusing to you, we sincerely

# apologize. Seriously, though - don't ask.

# The format of this file is documented in the dhcpd.leases manual page.

# This lease file was written by isc-dhcp-V3.0.1rc11

...........

lease 172.21.16.58 {

starts 1 2005/07/04 10:25:15;

ends 1 2005/07/04 12:25:15;

binding state active;

next binding state free;

hardware ethernet 00:xx:xx:xx:xx:xx;

uid "\001\0000\275N\354|";

client-hostname "pietje-leiden";

}

Bij de 'starts' en 'ends' staat een datum en tijd. Als deze datum en tijd zeer

recent zijn (meestal niet meer dan 24 uur oud) dan werkt het de dhcp server.

8.3.1 Herstarten dhcpd

Een snelle maar lelijke manier om de dhcpd server opnieuw op te starten is

hier onder weergegeven.

Voorbeeld : CNodeLCPL# killall dhcpd

CNodeLCPL# sh /usr/local/etc/rc.d/dhcpd.sh

8.3.2 Configuratie bestand(en)

/usr/local/etc/dhcpd.conf

8.4 Named

FreeBSD gebruikt standaard een versie van BIND (Berkeley Internet Name Domain), wat de meest gebruikte implementatie van het DNS protocol is. DNS is het protocol waarmee namen aan IP adressen gebonden worden en vice versa. Zo wordt bijvoorbeeld op een zoekopdracht voor lcpl.wleiden.net geantwoord met het IP adres van de node op het LCPL gebouw en op een zoekopdracht voor tango.wleiden.net wordt geantwoord met het bijbehorende IP adres van de webserver van deze machine. Het tegenovergestelde kan ook gebeuren. Een zoekopdracht voor een IP adres kan de bijbehorende hostnaam opleveren. Het is niet nodig om een nameserver te draaien om op een systeem zoekopdrachten met DNS te maken.

8.4.1 Terminologie

Voor het begrip van dit document dienen aan aantal termen begrepen te worden.

Term	Definitie

Voorwaartse DNS	Het koppelen van hostnamen aan IP adressen;

Herkomst (origin)	Verwijst naar het domein dat door een bepaald zonebestand wordt gedekt;

named, BIND, nameserver	Vaak gebruikte namen voor het BIND nameserver pakket in	FreeBSD;

Resolver	Een systeemproces waarmee een machine zoekopdrachten om	zoneinformatie aan een nameserver stelt;

Reverse DNS	Het tegenovergestelde van voorwaartse DNS. Het koppelen
van IP adressen aan hostnamen;

Root zone	Het begin van de internet zonehiërarchie. Alle zones
vallen onder de root zone, net zoals alle bestanden in een bestandssysteem onder de rootmap vallen;

Zone	Een individueel domein, subdomein of een deel van de DNS	die door dezelfde autoriteit wordt beheerd.

Voorbeelden van zones:

*

. is de root zone;

*

net. is een zone onder de root zone;

*

wleiden.net. is een zone onder het zone net.;

*

foo.wleiden.net. is een subdomein onder de zone wleiden.net.;

*

1.2.3.in-addr.arpa is een zone waarin alle IP adressen die onder de IP ruimte 3.2.1.* vallen.

Zoals te zien is staat het meer specifieke deel van een hostnaam aan de linkerkant. Zo is wleiden.net. bijvoorbeeld meer specifiek dan net. en is net. meer specifiek van de root zone. De indeling van ieder deel van een hostnaam lijkt veel op een bestandssysteem: de map /dev valt onder de root, enzovoort.

8.4.2 Redenen om een nameserver te draaien

Nameservers bestaan in het algemeen in twee smaken: een authoritative nameserver en een caching nameserver.

Er is een authoritative nameserver nodig als:

* het nodig is DNS informatie aan te bieden aan de wereld om met autoriteit

(authoritatively) op verzoeken te antwoorden;

* een domein, zoals example.org, is geregistreerd en er IP adressen aan hostnamen
die daaronder liggen toegewezen moeten worden;

* een IP adresblok reverse DNS entries nodig heeft (IP naar hostnaam);

* een backup nameserver, die slave wordt genoemd, moet antwoorden op verzoeken als
de primaire down of niet toegankelijk is.

Er is een caching nameserver nodig als:

* een lokale DNS server kan cachen en wellicht sneller kan antwoorden dan een
nameserver die verder weg staat;

* het wenselijk is om het totale netwerkverkeer te reduceren. Er is ooit
vastgesteld dat DNS verkeer 5% of meer van het totale verkeer op internet

uitmaakt.

Als er een verzoek wordt gedaan voor www.FreeBSD.org, dan doet de resolver meestal een verzoek bij de nameserver van de ISP die de uplink levert en ontvangt daarop een antwoord. Met een lokale, caching nameserver hoeft het verzoek maar één keer door de caching nameserver naar de buitenwereld gedaan te worden. Voor ieder volgend verzoek hoeft niet buiten het lokale netwerk gekeken te worden omdat het al lokaal in de cache staat.

8.4.3 Herstarten named

Correcte manier om named te herstarten.

Voorbeeld : CNodeLCPL# sh /etc/rc.d/named stop

CNodeLCPL# sh /etc/rc.d/named start

Een snelle maar lelijke manier om de named server opnieuw op te starten is

hier onder weergegeven.

Voorbeeld : CNodeLCPL# killall named

CNodeLCPL# sh /etc/rc.d/named start

8.4.4 Configuratie bestanden

/etc/namedb	map waar BIND zoneinformatie staat

/etc/namedb/named.conf	daemon instellingenbestand

8.5 Lvrouted

Dit is een heel erg eenvoudig maar doeltreffend kortste weg dynamisch routing deamon.

De deamon communiceert onafhankelijk van firmware, multi of broadcast met buur nodes

op udp niveau om een uitgebreide route boom te creëren. Het is niet noodzakelijk om per node een configuratie te doen als het netwerk binnen een vooraf gedefinieerde ip reeks

valt. Binnen wireless Leiden is deze ip reeks 172.16.0.0/12. Alle interfaces aanwezig op de nodes worden door de deaon gecontroleerd op alle IP-nummers en verspreid via de route boom.

Controle of lvrouted.opt actief is.

Voorbeeld : CNodeLCPL# ps ax | grep lvrouted

428 ?? Ss 1409:14.16 /usr/local/sbin/lvrouted.opt -u -s s00p3rs3kr3t

26323 p0 RV 0:00.00 grep lvrouted (csh)

Dus PID van lvrouted.opt is 428. In sommige gevallen kan grep lvrouted ook voorkomen in de uitvoer (zie proccess 26323). Dit komt door de manier waarop ps de lijst van

draaiende processen moet vinden.

Controle of lvrouted.opt een routed tree maakt. In het voorbeeld worden de laatste 10 ipnummers van de file getoond. De hele kan worden bekeken door het commando 'less' of 'cat' gebruiken in plaats van 'tail'

Voorbeeld : CNodeLCPL# tail /tmp/lvrouted.mytree

172.16.0.225

172.16.0.233

172.16.0.9

172.16.0.153

172.21.16.1

172.21.16.65

172.21.16.97

172.21.16.129

172.16.1.174

172.16.1.2

8.5.1 Herstarten lvrouted

Correcte manier lvrouted te herstarten.

Voorbeeld : CNodeLCPL# sh /usr/local/etc/rc.d/lvrouted.sh restart

of

CNodeLCPL# sh /usr/local/etc/rc.d/lvrouted.sh reload

Een snelle maar lelijke manier om de lvrouted server opnieuw op te starten is

hier onder weergegeven.

Voorbeeld : CNodeLCPL# killall lvrouted.opt

CNodeLCPL# sh /usr/local/etc/rc.d/lvrouted.sh start

NOTE!

Let wel op dat na het herstarten van de deamon er een nieuwe route tree wordt aangemaakt en eventuele SSH verbinding bevriezen of niet meer bruikbaar zijn. Het beste is na het herstarten de verbinding met de node direct te verbreken.

8.6 Pen

Pen is een load balancer voor 'eenvoudige' tcp gebaseerde protocollen zoals http of smtp. Het biedt de mogelijkheid om meerdere servers zich te laten verenigen als één server aan de buitenkant en detecteert automatisch servers die niet bereikbaar zijn en stuurt vervolgens de client door naar één van de andere servers. Dit biedt de mogelijkheid voor grootte beschikbaarheid en verdeelde performance.

Binnen wireless Leiden netwerk wordt 'pen' gebruikt voor het verdelen van al het http verkeer naar de beschikbare proxy servers. Het 'kiezen' van de optimale proxy wordt verbeterd door 172.31.255.1 uit de route tabellen en van de proxys af halen, alle nodes hebben een 172.31.255.1 ipnummer als alias en draait een userspace loadbalancer zoals /usr/ports/net/pen/

Pen probeert de proxy het dichtst in de buurt van elke node het eerst te bereiken.

Ligt die plat, dat stuurt het naar de volgende proxy. Eens per half uur probeert 'ie eerder onbereikbare adressen weer, dus als de dichtstbijzijnde proxy het weer doet zal 'ie het automatisch weer naar die proxy gaan sturen.

Controle of pen actief is.

Voorbeeld : CNodeRuben# ps ax | grep pen

496 ?? Is 0:00.07 /usr/local/bin/pen -b 30 -r -p /var/run/pen.pid
-S 3 -O 172.31.255.1:3128 172.17.143.4 172.20.128.98

In het voorbeeld is goed te zien dat pen met heel veel opties wordt opgestart. Het eerste IP nummer is het nummer die wordt gebruikt voor 'proxy.wleiden.net' de twee of drie ipnummers er achter zijn in volgorde van bereikbaarheid de werkelijk proxy servers.

8.6.1 Herstarten pen

Het is een snelle maar lelijke manier om pen opnieuw op te starten. Een andere manier is niet voorhanden met een scripts.

Voorbeeld : CNodeLCPL# killall pen

CNodeLCPL# sh /usr/local/etc/rc.d/pen.sh

In het script 'pen.sh' zijn alle benodigde parameters en instellingen aanwezig waarmee pen op moet starten.

Let op: PEN na reboot opnieuw starten! Opgelet: PEN werkt niet na een reboot! Bij een reboot van de node moet de routering nog gestart worden. Dit duurt een klein minuutje. Het script van pen start tegelijk op, en gaat zoeken naar de proxies en kan deze dan nog niet vinden. Hierdoor werkt pen niet na een reboot en moet apart gestart worden

NOTE!

Soms start pen wel, maar pikt de ip's van de proxies niet op en in /var/log/messages staat de melding:

pen can't bind local address

Dit komt omdat de 'vorige' pen nog draait of nogal ongelukkig om het leven is gekomen. Beste oplossing is even met netstat -na kijken wat voor status de poort heeft en wachten tot de troep opgeruimd is. Als je haast hebt - reboot en pen weer opnieuw stoppen/starten (zie hierboven). Want het kan meer dan 190 minuten duren voordat de clear er is (als er nog anderen actief praten) - anders meestal een minuut of 20.

8.7 syslogd

Dit is een server die via een Remote Procedure Call (RPC) berichten van andere computers en/of andere computersystemen optekent. Zoals de naam al aangeeft is de syslog daemon vooral bedoeld om systeemberichten te registreren en weg te schrijven naar de directory /var/log/. Ook worden de systeem berichten naar de loghost van wirelessleiden gestuurd. De loghost is de monitor server (monitor.wirelessleiden.net) waar de bericht worden gebruikt om het programma nagios systeem melding weer te geven.

8.7.1 Overzicht van de log bestanden

*.err;kern.debug;auth.notice;mail.crit /dev/console

*.notice;kern.debug;lpr.info;mail.crit;news.err /var/log/messages

security.* /var/log/security

auth.info;authpriv.info /var/log/auth.log

mail.info,mail.debug /var/log/maillog

lpr.info /var/log/lpd-errs

cron.* /var/log/cron

*.emerg *

Controle of syslog actief is.

Voorbeeld : CNodeRuben# ps ax | grep syslogd

238 ?? Ss 0:01.62 /usr/sbin/syslogd -s -A -c

596 p0 R+ 0:00.01 grep syslogd

8.7.2 Herstarten syslog

Correcte manier om named te herstarten.

Voorbeeld : CNodeLCPL# sh /etc/rc.d/syslogd stop

CNodeLCPL# sh /etc/rc.d/syslogd start

Een snelle maar lelijk manier om syslog opnieuw op te starten is hier onder weergegeven.

Voorbeeld : CNodeLCPL# killall syslogd

CNodeLCPL# sh /etc/rc.d/syslogd start

8.7.3 Configuratie bestanden

/etc/syslog.conf

/etc/newsyslog.conf

NOTE!

De syslog daemon maakt onderdeel uit van het FreeBSD operating systeem en wordt

altijd automatisch gestart. De kans dat op een goed geconfigureerde node syslogd

niet werkt is heel erg klein.

9.0 Mounten en unmounten van bestandssystemen

Het bestandssysteem wordt het best weergegeven als een boom, met de stam als /. /dev, /usr en de andere map in root zijn takken die weer hun eigen takken kunnen hebben, zoals /usr/local, etc.

Er zijn verschillende redenen om sommige van deze mappen op aparte bestandssystemen te plaatsen. /var bevat de mappen log/, spool/ en verschillende types tijdelijke bestanden en kan volraken. Het laten vollopen van het root bestandssysteem is geen goed idee, dus het splitsen van /var van / is vaak de favoriet.

Een aantal nodes binnen het wireless Leiden netwerk zijn gebouwd met een Soekris board.

Op deze boardjes zit een flash card/memory waarop het complete operating systeem van de node op staat. Dit soort geheugen kan niet oneindig veel herschreven worden worden en daarom staat het file system op deze systemen standaard op READ ONLY. Soms kan het nodig zijn om toch wat te kunnen wegschrijven naar het system en zal de flash card/memory in read/write mode gezet moeten worden. Hiervoor is het commando mount nodig.

Op nodes met een harddisk is het handmatig mounten van het file systeem niet nodig. Een harddisk staat standaard in read/write mode.

9.1 Het bestand fstab

Tijdens het opstartproces, worden bestandssystemen die vermeld staan in /etc/fstab automatisch gemount (tenzij ze vermeld staan met noauto).

/etc/fstab bevat een lijst van regels die aan het volgende formaat voldoen:

apparaat /mountpunt fstype opties dumpfreq passno

apparaat

Een apparaatnaam (die moet bestaan) zoals uitgelegd in Paragraaf 16.2.

mountpunt

Een map (die moet bestaan) waarop het bestandssysteem gemount moet worden.

fstype

Het bestandssysteem type dat aan mount gegeven wordt. Het standaard FreeBSD
bestandssysteem is ufs.

opties

Dit is of rw voor lezen en schrijven bestandssytemen, of ro voor alleen lezen,
gevolgd door elke andere optie die mogelijk nodig is. Een standaard optie is noauto
voor bestandssystemen die niet automatisch gemount worden tijdens het opstarten.

dumpfreq

Dit wordt gebruikt door dump om te bepalen welke bestandssystemen gedumpt moeten
worden. Als het veld niet is ingevuld, wordt aangenomen dat er een nul staat.

passno

Dit bepaalt in welke volgorde bestandssystemen gecontroleerd moeten worden.
Bestandssystemen die overgeslagen moeten worden moeten hun passno waarde op nul
hebben staan. Voor het root bestandssysteem (dat voor alle andere gecontroleerd
moet worden) moet passno op één staan en passno waarden voor andere
bestandssystemen moeten een waarde hebben groter dan één. Als bestandssysteem
dezelfde passno waarde hebben probeert fsck deze bestandssystemen tegelijkertijd
te controleren.

9.2 Het commando mount

Mount wordt onder andere gebruikt om bestandsystemen te mounten. Dit is vooral nodig mij systemen met flash memory/card.

De meest gebruikte mount opties voor binnen wireless Leiden :

-f

Forceert het mounten van een niet schoon bestandssysteem (gevaarlijk) of forceert
het innemen van schrijftoegang als de mountstatus van een bestandssysteem wijzigt
van lezen en schrijven naar alleen lezen.

-r

Mount het bestandssysteem alleen lezen. Dit is identiek aan de optie ro (rdonly
voor FreeBSD versies ouder dan 5.2) voor de optie -o.

-u

Werk mountopties van het bestandssysteem bij.

-v

Geef uitgebreide informatie (verbose).

-w

Mount het bestandssysteem lezen en schrijven.

De optie -o accepteert een door komma's gescheiden lijst van opties, waaronder de volgende:

noatime

Doe geen update op de bestands toegangs tijd als er een bestand wordt gelezen.

Deze optie is erg bruikbaar op file systemen met een groot aantal files en

snelheid erg kritisch is dan het updaten van de bestand toegangs tijd. Een heel

belangrijke optie voor het mounten van bestandsystemen op flash geheugen.

nodev

Interpreteer geen speciale apparaten op het bestandssysteem. Dit is een nuttige

veiligheidsoptie.

noexec

Sta geen uitvoerbare bestanden toe op dit bestandssysteem. Ook dit is een nuttige
veiligheidsoptie.

nosuid

Interpreteer geen setuid of setgid opties op het bestandssysteem. Ook dit is een

nuttige veiligheidsoptie.

Voorbeeld : CNodeRuben# mount -uwo noatime /

In het voorbeeld wordt het complete file systeem / gemount met de mogelijkheid

tot het lezen en schrijven op de flash kaart.

Voorbeeld : CNodeRuben# mount -ur /

In het voorbeeld wordt het complete file systeem / gemount met de mogelijkheid

tot alleen het het lezen van de flash kaart.

NOTE!

Zorg er altijd voor dat na het schrijven op een node met flash memory/card het file systeem wordt gemount maar lees mode of reboot de node. Wordt dit niet gedaan dan bestaat de mogelijkheid dat het kaartje onbedoeld vol wordt geschreven of erger bij een stroom storing de node niet meer op komt omdat het file systeem niet goed is afgesloten. En dan moet er gefietst worden om handmatig een file system check te doen in de single user mode.

9.3 Het commando umount

umount heeft een mountpunt, een apparaatnaam, -a of -A als parameter.

Alle vormen kunnen de optie -f hebben om een bestandsysteem te forceren te unmounten en de optie -v voor uitgebreide informatie. De optie -f is meestal geen goed idee. Forceren dat een bestandssysteem ge-unmount wordt kan de computer laten crashen of data op het bestandssysteem beschadigen.

De opties -a en -A worden gebruikt om alle bestandssystemen te unmounten, mogelijk nader gespecificeerd door de optie -t met daarachter op welke typen bestandssystemen het betrekking heeft. Voor de optie -A geldt dat deze niet probeert het root bestandssysteem te unmounten.

Het commando umount wordt binnen wireless Leiden niet of nauwelijk gebruikt.

BRON VERMELDINGEN :

http://www.wirelessleiden.nl/

http://wiki.wirelessleiden.nl/

http://www.freebsd.org/doc/nl/books/handbook/

http://www.hio.hen.nl/~akkersdi/unix/alles/commandos.html

http://wleiden.webweaving.org:8080/svn/node-config/other/lvrouted/trunk/README

http://siag.nu/pen/

Nog te doen in dit document :

Een handige shortlist maken met alle commando's

Kismet instaleren en gebruiken

ports van freebsd gebruiken

firmwareupdate van wirelessnetwerk kaarten

instaleren en gebruiken van /usr/ports/net-mgmt/bsd-airtools

linker marge van het hele document aanpassen (te smal!)

configuraties aanpassen en deze sturen naar de nodes

Meer flowcharts van de verschillende processen die op een node draaien

Stichting wireless Leiden - Cursus node beheer - versie 0.2 oktober 2005	Pagina 30

Cursus Nodebeheer

Onderhouden en beheren van Wireless Leiden Nodes

Ed Kikkert

2005-07-05T13:54:00