• Skip to main content
  • Skip to primary sidebar

BSDFreaks.nl

For starters and advanced *BSD users

Tags

brand dmi enschede FreeBSD harddisk Hardware Howto's Howto's move new ports server serverruimte universiteit utwente

[FreeBSD] Howto Wanadoo Cable Broadband met Firewall

December 18, 2001 by Rob

[b]Met dank aan Edwin Pauli voor het schrijven van deze handleiding en het mogen publiceren op deze site.[/b]
Cursief afgebeelde tekst is commentaar

Inhoud
1. Inleiding
2. Kernel
3. Configuratie bestanden
4. Herstart het systeem
5. Verbinding maken
[pagebreak]

[b]1. Inleiding[/b]
FreeBSD is een fantastisch gratis UNIX-achtig besturingsysteem voor vele architecturen.
Broadband Basic en Broadband Premium zijn 2 goede producten van Wanadoo.
Wie wil dit nou niet combineren. Op deze site wordt beschreven hoe mijn
configuratie eruit ziet. Op het moment van schrijven is mijn verbinding al ruim
20 dagen up, dus geen enkel probleem.

[b]2. Kernel[/b]
Na de installatie van FreeBSD hoeft er, om Wanadoo Cable BB werkend te krijgen,
niks te gebeuren aan de kernel. Om een goed en snel systeem te krijgen is het altijd
aan te raden na de installatie zelf een kernel te compileren, met daarin alleen
support voor de in het systeem aanwezige hardware. Zie elders bij de howto’s over
hoe zelf een kernel te bakken.

[b]3. Configuratie bestanden[/b]
De configuratie van de PPP daemon bestaat uit 2 bestanden, te weten:
/etc/ppp/ppp.conf en /etc/ppp/ppp.linkup.

Er wordt ook een derde file beschreven, namelijk /etc/rc.conf. In deze file komen
een aantal dingen die na een reboot automatisch worden ingesteld, zoals het
ip-adres van de NIC. In ppp.conf staan onder andere de inlognaam en wachtwoord. ppp.linkup zorgt voor het maken van de juiste DEFAULT ROUTE.
Met ppp.linkup kun je ook bestanden laten uitvoeren na het opkomen van de verbinding.
Verander de permissies van de configuratie bestanden, zodat alleen user root hier toegang toe heeft.
Doe dit met:
[shell]touch /etc/ppp/ppp.linkup
chmod 600 /etc/ppp/ppp.conf
chmod 600 /etc/ppp/ppp.linkup[/shell]

Edit /etc/ppp/ppp.conf met je favoriete editor en zorg dat hij er zo uit komt te zien.
[shell]default:
set redial 1 0
set reconnect 3 10

wanadoo:
set device PPPoE:IF:
set log Warning Error Alert
set cd 5
set dial
set login
set timeout 0
set authname cXXXXXXX@wanadoo
set authkey XXXXXXXX
[/shell]
[i]Verander IF in de naam van de interface van jouw NIC (=Network Interface
Card, ook wel ethernetkaart genoemd) die wordt gebruikt voor Wanadoo
Cable Broadband. Als je niet weet wat deze naam is kun je dat opvragen met het
commando “ifconfig”. Hieronder een deel van de output van een 3Com NIC.

xl1: flags=8843 UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST mtu 1500
inet 10.0.0.1 netmask 0xff000000 broadcast 255.255.255.0
In dit geval is xl1 de interface van de NIC.

Vervang cXXXXXXX door jouw inlognaam (c-nummer dat je van Casema
hebt gekregen bij de aanmelding)
Vervang XXXXXXX door jouw wachtwoord.[/i]

Edit /etc/ppp/ppp.linkup met je favoriete editor en zorg dat hij er zo uit komt te zien.
[shell]wanadoo:
iface clear
add! default HISADDR

bg /bin/echo “Connected. Using MYADDR as external address (MYADDR — HISADDR)”
bg /usr/bin/logger “LABEL – Connected. Using MYADDR as external address. (MYADDR — HISADDR)”

bg /etc/firewall-ipfw
bg /etc/dyndns.conf
[/shell]
[i]Dit zijn 2 voorbeelden van bestanden die na het opkomen van de verbinding worden uitgevoerd. Een firewall-script
en een dyndns.org-script voor het wijzigen van mijn IP-adres in de DNS-server van dyndns.
[/i]
Edit /etc/rc.conf met je favoriete editor en zorg dat hij er zo uit komt te zien.
[shell]gateway_enable=”YES”
network_interfaces=”auto” #Set network interfaces automatically
ifconfig_IF=”inet 10.0.0.1 netmask 255.0.0.0″
ppp_enable=”YES”
ppp_mode=”ddial”
ppp_nat=”NO”
ppp_profiles=”wanadoo”
[/shell]
[i]Door gateway_enable op “YES” te zetten kan de internet verbinding worden gedeeld met bijv. een lokaal netwerk.
Als je dit niet wilt, verander YES dan in NO.
Vervang IF door de interface naam van de NIC die je NIET hebt opgegeven in ppp.conf
Met ppp_enable=”YES” wordt er direct bij het opstarten een verbinding gemaakt[/i]

[b]4. Herstart het systeem[/b]
Herstart het systeem nadat alle configuratie files zijn gemaakt. Tijdens de startup worden een
aantal dingen uit rc.conf gehaald die belangrijk zijn voor het functioneren van de internet-verbinding.

[b]5. Vebinding maken[/b]
Dit is de laatste stap.
Als je alles goed hebt gedaan kun je met onderstaande regel vebinding maken met Wanadoo:
[shell]ppp -ddial -alias wanadoo [/shell]

Filed Under: Networking

[FreeBSD] Ipfilter installeren op een Co-located server

December 14, 2001 by Rob

Hoi‚ hierbij een beschrijving van het bouwen van een firewall op een FreeBSD machine (co-located webserver)

In dit geval beschrijf ik een firewall die opgezet is/word op een machine met slechts 1 NIC‚ dit om het simpel te houden. mocht je meerdere nics in je systeem willen hebben dan zul je zelf even verder moeten kijken‚ maar nadat je dit verhaal heb gelezen weet je een aantal handige ipf commando’s om onverschrokken aan het testen te gaan‚ Ook op co-located machines !!!
[pagebreak]
Ik ga ervanuit dat je ssh gebruikt mocht je nog met telnet werken zoek dan eerst een howto om over te stappen naar ssh.

Firewall in de kernel bakken.

[shell]# cp /usr/local/sys/i386/conf/GENERIC /usr/local/sys/i386/conf/FIREWALL
[/shell]

Vervolgens edit je de file [i]/usr/local/sys/i386/conf/FIREWALL[/i]
en zet je overal waar GENERIC staat FIREWALL neer.
vervolgens zoek je dit blok op en zorg je dat er het volgende komt te staan.
Uiteraard moet je zelf de goede cpu instellen door de rest af te #-en

[shell]machine i386
#cpu I386_CPU
#cpu I486_CPU
cpu I586_CPU
#cpu I686_CPU
ident FIREWALL
maxusers 32

#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols

options MATH_EMULATE #Support for x87 emulation
options INET #InterNETworking
options IPFILTER #enable the filter in general
options IPFILTER_LOG #logging enabled
#options IPFILTER_DEFAULT_BLOCK #block by default
[/shell]

LET OP dat je een # zet voor de laatste regel !!(in bovestaand stuk)
Anders kun je straks niet meer bij de co-located bak!

vervolgens compileer je de kernel.

[shell]# cd /usr/src
# make clean
# make buildkernel KERNCONF=FIREWALL
[/shell]

controleer nu of het bestand /etc/ipf.rules bestaat‚ deze mag NIET bestaan als er een staat verwijder deze dan (zorg wel voor een backup)

[shell]# cd /usr/src/
# make installkernel KERNCONF=FIREWALL
[/shell]

[shell]# reboot
[/shell]

nu maar bidden dat de machine weer overeind komt. zoniet‚ sorry je zult naar de machine toe moeten om te booten met de oude kernel (zie andere howto’s)

We gaan er dus even vanuit dat de machine weer goed overeind komt.

zet nu de volgende firewall rules in [b]ipf.rules.test[/b]

[shell]# Outside interface: rl0 -> rl0
# Outside ipno 193.173.210.132
# Netmask 255.255.255.192
#
# Default Policies
block in log all
pass out all

# accept packets comming on the loopback interface
pass in on lo0 all

# deny illegal packets from the outside
block in log quick on rl0 from 0.0.0.0/32 to any
block in log quick on rl0 from 255.255.255.255/32 to any
block in log quick on rl0 from 127.0.0.0/8 to any
block in log quick on rl0 from any to 0.0.0.0/32
block in log quick on rl0 from any to 255.255.255.255/32
block in log quick on rl0 from any to 127.0.0.0/8

# deny packets that should never be inbound
block in log quick on rl0 from 192.168.0.0/16 to any
block in log quick on rl0 from 172.16.0.0/12 to any
block in log quick on rl0 from 10.0.0.0/8 to any

# block the draft-manning-dsua091.txt nets on outside interface
block in quick on rl0 from 0.0.0.0/8 to any
block in quick on rl0 from 169.254.0.0/16 to any
block in quick on rl0 from 192.0.2.0/24 to any
block in quick on rl0 from 224.0.0.0/4 to any
block in quick on rl0 from 240.0.0.0/4 to any
block in quick on rl0 from any to 0.0.0.0/8
block in quick on rl0 from any to 169.254.0.0/16
block in quick on rl0 from any to 224.0.0.0/4
block in quick on rll0 from any to 240.0.0.0/4
block out log quick on rl0 from any to 0.0.0.0/8
block out log quick on rl0 from any to 169.254.0.0/16
block out log quick on rl0 from any to 192.0.2.0/24
block out log quick on rl0 from any to 224.0.0.0/4
block out log quick on rl0 from any to 240.0.0.0/4
# block outbound RIP (routing protocol‚ mag NOOIT naar buiten)
block out log quick on rl0 proto tcp from any to any port = 520
block out log quick on rl0 proto udp from any to any port = 520

# Allow some types of ICMP (mogelijk nog een type toestaan)
pass in quick on rl0 proto icmp all icmp-type 0
pass in quick on rl0 proto icmp all icmp-type 3
pass in quick on rl0 proto icmp all icmp-type 8
pass in quick on rl0 proto icmp all icmp-type 11

###
### Persoonlijke rules
###

# Allow connections to SSH
#pass in on rl0 proto tcp from any to 193.173.210.132/32 port = 22 flags S/SA keep state
pass in quick on rl0 proto tcp from any to any port = 22 flags S/SA keep state

# Allow connections to apache
pass in quick on rl0 proto tcp from any to 193.173.210.132/32 port = 80 flags S/SA keep state

# Allow connections to sendmail
pass in quick on rl0 proto tcp from any to 193.173.210.132/32 port = 25 flags S/SA keep state

# Allow replies to requests of bind
pass out quick on rl0 proto udp from 193.173.210.132/32 to any port = 53 keep state

# Prevent outside machines from initiating TCP connections to this machine
block in on rl0 proto tcp all flags S/SA
block out on rl0 proto tcp all flags SA/SA

# Allow return packets from connections we initiated
pass out on rl0 proto tcp all keep state

# REJECT ident request (don’t just drop them)
block return-rst in on rl0 proto tcp from any to any port = 113
[/shell]

nu gaan we overschakelen naar deze ruleset maar om er zeker van te zijn dat we niet buiten gesloten worden doen we dat met volgend commando
[shell]# ipf -FA -f /etc/ipf.rules.test && sleep 180 && ipf -FA
[/shell]

je hebt dan 3 minuten tijd om te zien of je met ssh nog naar de machine kunt connecten. (doe dat met een 2e ssh client scherm).
indien een mail/httpd server erg belangrijk is test je deze ook meteen‚ mag deze wel even offline zijn dan test je dat nog niet.

wacht de 3 minuten even af voor de zekerheid.
nu kopieren we de firewall ruleset naar ipf.rules en activeren we de rules
[shell]# cp /etc/ipf.rules.test /etc/ipf.rules.test /etc/ipf.rules
# ipf -FA -f /etc/ipf.rules
[/shell]

Ok je bent nog steeds op de machine en je firewall draait!!

nu ga ik je nog kort uitleggen hoe je nou veilig nog meer nieuwe rules kunt testen op een colocated machine. 😀

Breng de gewenste veranderingen aan in /etc/ipf.rules[b].test[/b]
vervolgens gaan we vanaf de huidige ruleset gedurende een minuut ruleset ipf.rules.test draaien en daarna weer terug naar de goede oude vertrouwde set. Dit om er zeker van te zijn dat we niet buiten gesloten worden door de nieuwe set.

Switchen van de huige rulset naar de extra set doe je met -s daarin laden we de test set en vervolgens wachten we een minuut‚ dan switchen we terug naar de originele set.
[shell]ipf -s -Fa -f /myrules && sleep 60 && ipf -s
[/shell]

Je hebt nu 1 minuut om te testen of je ruleset doet wat jij wilt.

Ben je tevreden over de ruleset dan kopieer je de ruleset naar /etc/ipf.rules en vertel je ipf om alles te flushen (= leeggooien -FA) en de nieuwe set te laden vanuit file /etc/ipf.rules ( -f /etc/ipf.rules)
[shell]#ipf -FA -f /etc/ipf.rules
[/shell]

Ok nog een paar korte aantekeningen

ipf -s (= switchen van ruleset‚ er kunnen 2 rulesets in het geheugen!)
ipf -FA (= [b]F[/b]lush [b]A[/b]ll‚ dat is het leeggooien van het ipf geheugen‚ je draait nu helemaal geen rules!)
ipf -FA -f /file (= -FA‚ fushen‚ en -f geeft aan vanuit welke file hij een ruleset in moet lezen.)

nu nog een laatste toegift. :))

Op het moment dat er geen ruleset geladen is is ALLES toegestaan. we hebben namelijk bij het compileren van de kernel
de regel
[shell]#options IPFILTER_DEFAULT_BLOCK #block by default
[/shell]
als commentaar neergezet.

bij het opstarten zijn er een aantal secondes dat ipf [b]wel[/b] geladen is maar de ruleset nog niet ! Ook als de machine om een of andere reden /etc/ipf.rules niet kan lezen dan is alles toegestaan. dit erg handig (je kunt namelijk nog bij de machine met ssh) maar tevens onveilig!

als je het # voor de regel weghaald en de kernel opnieuw compileerd en installeerd weet je zeker dat je firewall dicht zit als er geen rules in het geheugen zitten.
Ik ga hier nu niet verder op in omdat het een erg gevaarlijke optie is. als je veel ervaring hebt met FreeBSD kun je deze regel meecompileren op eigen risico‚ doe dit echter pas als er een goede ipf.rules bestaat !!!!

Veel success.

XychiX

Filed Under: Firewall

[*BSD] Standaard commando’s

December 13, 2001 by Rob

Hieronder vind je een overzicht van de commando’s die je op een FreeBSD systeem
kunt gebruiken, doe er je voordeel mee.

Achter veel commando’s kun je zogenaamde ‘opties’ plaatsen. Daarmee dwing je het programma zich op een bepaalde manier uit te voeren, bijvoorbeeld de ‘output’ op een bepaalde manier te sorteren: bijvoorbeeld: het nieuwste bestand in een lijst als eerste te tonen.

Ook kun je commando’s ‘stapelen’, je laat de computer dan verschillende dingen achter elkaar (well.. eigenlijk: tegelijk..) doen, dus: verschillende bewerkingen uitvoeren op bijvoorbeeld een bestand.

[pagebreak]
Lijst van eenvoudige commando’s:

[b]passwd[/b]
Hiermee verander je je wachtwoord. Je vult eenmaal het oude wachtwoord in, en tweemaal het nieuwe.

[b]date[/b]
Toont de datum en tijd van de systeemklok.

[b]cd [directorynaam][/b]
ga naar de aangegeven directory.

[b]cd [directorynaam]/[subdirectorynaam]/[subsubdirectorynaam]/[/b]
ga naar de aangegeven subsub-directory.

[b]cd ..[/b]
ga naar een directory hoger.

[b]who[/b]
Toont welke gebruikers er nog meer ‘online’ zijn op de machine.

[b]mesg y[/b]
Verzoeken tot conversatie accepteer je vanaf nu.

[b]mesg n[/b]
Verzoeken tot conversatie weiger je vanaf nu.

[b]write [+naam van andere gebruiker][/b]
Start een dialoog met een andere gebruiker. Probeer je ‘wite’ en krijg je als antwoord ‘you have write permission turned off,’ dan heb je zelf ‘mesg n’ aan staan. Je kunt ‘mesg y’ -berichten accepteren- aanzetten met ‘mesg y’. Alles tot aan CTRL-D komt terecht in het venster van de andere gebruiker.

[b][CTRL] d[/b]
Controll-toets + D-toets sluit je tekst-stroom af. Stuurde je bijvoorbeeld tekst via ‘write’, dan beëindigt CTRL-D het ‘writen’ naar die andere persoon.

[b][CTRL] c[/b]
Controll-toets + C-toets onderbreekt je laatste actie. Stel dat je een eindeloze lijst ziet voorbijkomen na het commandootje ‘ls’ dan kun je die listing stoppen met CTRL-C

[b]pwd[/b]
Toont het ‘pad’ naar de actuele directory: de directory waar je je nu bevindt.

[b]ls[/b]
Toont de bestanden in de huidige directory.

[b]ls -a[/b]
Toont ook de onzichtbare bestanden in de huidige directory. Onzichtbare bestanden hebben onder Unix een naam die begint met een ‘.’ -punt.

[b]ls -l[/b]
Toont de toegangs-permissies van de zichtbare bestanden in de huidige directory.

[b]ls -la[/b]
Toont de toegangs-permissies van alle bestanden -ook de onzichtbare bestanden- in de huidige directory.

[b]ls -t[/b]
Toont de bestanden in de huidige directory, op chronologische volgorde, het nieuwste bestand als eerste.

[b]ls *html[/b]
Toont alle bestanden met een naam die eindigt op ‘html’. Dit * is een zogenaamde wildcard, en kun je op veel plekken gebruiken. Stel dat je bijvoorbeeld ‘ls a*’ intypt, dan volgt er een lijst van alle bestanden die beginnen met ‘a’.

[b]rm [bestandsnaam][/b]
verwijdert het aangegeven bestand.

[b]rm *[/b]
verwijdert alle bestanden in de directory. (Gevaarlijke optie dus..)

[b]rm -r [directory-naam][/b]
verwijdert de directory met alle bestanden in daarin. (Nog gevaarlijker optie dus..)

[b]mkdir [directorynaam][/b]
maakt een directory met de naam die je aangeeft.

[b]rmdir [directorynaam][/b]
verwijdert alleen een directory, wanneer die leeg is.

[b]man ls[/b]
‘man’ toont altijd de “manual page” (gebruiksaanwijzing) van het commando. Bij ‘man ls’ vindt je dus informatie over alle opties van het commando ls.

[b]man man[/b]
toont helaas niet de manual page van mannen 😉 Maar wel de gebruiksaanwijzing van de manual pages.

[b]chmod g-r,o-r [bestandsnaam][/b]
Wijzigt de toegangs-permissies; niemand, behalve de eigenaar van het bestand zelf, kan het nu nog lezen. ‘ls -l’ toont de bestandspermissies, in de eerste kolom.

De bestands-toegangs-permissies zijn alsvolgt ingedeeld:

-rwxrwxrwx
Dit bestand is leesbaar (r), schrijfbaar (w), uitvoorbaar (x) voor:

de gebruiker (u) – de eerste 3 karakters ‘rwx’
de groep waar hij inzit (g) – de tweede 3 karakters ‘rwx’
alle anderen (o) – de laatste 3 karakters ‘rwx’

door ‘chmod’ (change mode) in te voeren voor een bestand, en daarna de modus aan te geven, bijvoorbeeld ‘g-x’ (‘group mag niet meer uitvoeren’) of: ‘g+x’ (‘group mag wel uitvoeren’) of: ‘g+w’ (‘group mag nu schrijven’) wijzig je de bestandspermissies.

Je zult dit commando zeer veel tegenkomen wanneer je op/voor Internet werkt, en je bestanden toegankelijk wilt maken voor je bezoekers.

Precies hetzelfde doe je op een Mac, door in ‘Samengebruik’ aan te geven dat niemand een bestand mag ‘verplaatsen of hernoemen.’

[b]w[/b]
toont het totaal aantal gebruikers, hun naam, wat ze op dat moment (ongeveer) aan het doen zijn, en hoeveel ‘load’ (belasting van de machine) dat veroorzaakt op de machine. Is het ‘load’-gemiddelde hoger dan 1, dan zijn er processen (draaiende programmaatjes van gebruikers dus), die even wachten op tijd van de processor.

[b]uptime[/b]
toont de tijd dat de machine aan is, ‘up’ is, en de gemiddelde ‘load’ op de machine.

[b]cp [bestandsnaam] [nieuwe bestandsnaam][/b]
kopieert een bestand naar het nieuwe bestand, met de naam die je aangeeft.

[b]mv [bestandsnaam] [nieuwe bestandsnaam][/b]
geeft een bestand een nieuwe naam.

[b]mv [bestandsnaam] [directorynaam][/b]
verplaatst een bestand naar een andere directory.

[b]cat [bestandsnaam][/b]
stuurt de inhoud van een bestand naar het (beeld)scherm.

[b]cat [bestandsnaam] > [nieuwe bestandsnaam][/b]
stuurt de inhoud van een bestand naar een nieuw bestand.. Is hetzelfde als ‘cp’ -copy- dus..

[b]wc < [bestandsnaam][/b] 'wordcount' telt het aantal regels, woorden, en tekens in een bestand. Geeft 3 getallen, die resp. staan voor aantal regels, aantal woorden, en aantal tekens. [b]wc [bestandsnaam][/b] identiek aan 'wordcount' met < -teken; telt het aantal regels, woorden, en tekens in een bestand. Geeft 3 getallen, die resp. staan voor aantal regels, aantal woorden, en aantal tekens. Het < -teken gebruik je in sommige gevallen voor de duidelijkheid. [b]cat [bestandsnaam] | wc[/b] identiek aan 'wordcount'; telt het aantal regels, woorden, en tekens in een bestand. Geeft 3 getallen, die resp. staan voor aantal regels, aantal woorden, en aantal tekens. Je gebruikt hier het | [pipe]-teken, waarmee je de uitkomst van 1 opdracht (cat), doorgeeft aan een volgende opdracht (wc). [b]cat [bestandsnaam] | wc > [nieuwe bestandsnaam][/b]
slaat de 3 getallen van de ‘wordcount’ op in een nieuw bestand.

[b]wc -w[/b]
telt alleen het aantal woorden in het bestand.

[b]wc -l[/b]
telt alleen het aantal regels in een bestand.. Let op: wc telt hier het aantal harde returns, heb je 1 zin zonder return aan het eind, dan is de output dus 0.

[b]wc -c[/b]
telt alleen het aantal karacters (bytes) in een bestand.

[b]grep [woord] *[/b]
doorzoekt alle [*] bestanden van de huidige directory naar het opgegeven woord. Als ‘output’ geeft ‘grep’ dan de naam van het bestand, en de zin(nen) waarin het woord voorkomt.

Klinkt het onzinnig? Ja, mee eens 🙂 Toch is het een redelijk adequate methode om uit te vinden welke web-bestanden op een webserver je moet editten, wanneer er iets in voorkomt dat je er beslist uit wilt hebben. Sterker nog, met een paar stappen verder, schrijf je een klein scriptje dat alle bestanden voor je doorzoekt, en het woord vervangt door een ander woord.

[b]grep [woord] [bestandsnaam][/b]
doorzoekt het opgegeven bestand op het opgegeven woord. Als ‘output’ geeft ‘grep’ dan de zin(nen) waarin het woord voorkomt.

[b]grep [woord] [bestandsnaam] | wc[/b]
doorzoekt het opgegeven bestand op het opgegeven woord, en stuurt de output, -de zin(nen) waarin het woord voorkomt- door naar ‘wc’ -wordcount. De uiteindelijke output die je in beeld krijgt, zullen dus 3 getallen zijn, het aantal regels -waarin dat woord voorkomt-, het aantal woorden dat die zinnen bevatten, en aantal tekens van al die zinnen.

[b]grep [woord] [bestandsnaam] | wc -l[/b]
doorzoekt het opgegeven bestand op het opgegeven woord, en stuurt de output, -de zin(nen) waarin het woord voorkomt- door naar ‘wc’ -wordcount. Wordcount telt nu alleen het aantal regels waarin het woord voorkomt. Dus de output is een getal, dat gelijk is aan het aantal regels waarin het woord 1 of meer keer ;-( voorkomt.

[b]grep [woord] [bestandsnaam] | wc -l > [nieuwe bestandsnaam][/b]
doet exact hetzelfde als de vorige opdracht, maar slaat de output nu op in een nieuw bestand.

[b]top[/b]
toont alle processen op de computer. En ververst regelmatig het scherm. Dit lijkt dus op…. ‘Over deze Computer’ op de Mac, onder het Appeltje in de Finder. Je ziet hier alleen iets meer: je ziet bijv. het geheugenbeheer, welke processen ‘staan te slapen,’ -wachten op input- en vooral: welk proces de computer het zwaarst belast.

[b]ps -aux[/b]
lijkt op ‘top.’ Het toont welke processen er draaien, en onder welk nummer [Proces ID of ‘PID’] ze actief zijn. Je gebruikt dit commando als systeembeheerder om te achterhalen welk PID een proces heeft, om het bijvoorbeeld af te schieten met ‘KILL’ of te herstarten met ‘KILL -HUP.’

[b]ln -s [bestandsnaam] [linknaam][/b]
maakt een alias aan van het aangegeven bestand, en geeft die alias de naam [linknaam].

[b]ln -s [bestandsnaam] [directorynaam]/[linknaam][/b]
maakt een alias aan van het aangegeven bestand, plaats die alias in de aangegeven directory, en geeft die alias de naam [linknaam].

Dit kan bijzonder handig zijn, wanneer je besluit een oude URL [dus een oude HTML-pagina] niet meer te gebruiken, maar toch een verwijzing wilt plaatsen naar de nieuwe plek op je website.

[b]du[/b]
toont de omvang van de directory waarin je staat.

[b]df[/b]
toont hoeveel ruimte er in totaal aanwezig is op de harddisk.

[b]joe [bestandsnaam][/b]
start een eenvoudige tekstverwerker, en edit het aangegeven bestand. In de onderstaande afbeeldingen vind je enkele commando’s van ‘joe’:

[b]ee [bestandsnaam][/b]
start een eenvoudige tekstverwerker, en edit het aangegeven bestand. In de onderstaande afbeeldingen vind je enkele commando’s van ‘ee’:

[b]vi [bestandsnaam][/b]
start een complexe tekstverwerker, en edit het aangegeven bestand. ‘vi’ is anno 2000 af te raden, tenzij je de geek-status wilt bereiken 😉

[b]mail [gebruikersnaam][/b]
start een e-mail aan de aangegeven mede-gebruiker. ‘mail’ vraagt om een subject. Wanneer je dat hebt ingevuld, kun je je tekst typen. ‘mail’ is echter heel simple, je kunt alleen 1 zin backspacen als je een fout maakt. Beëindig je mail met een ‘.’ [punt] op een lege regel.
Op sommige unixsystemen moet je het programmaatje nog beëindigen met [CTRL] D.

[b]mail -v [gebruikersnaam][/b]
zelfde als vorige commando, alleen laat de computer nu zien wat hij doet.

[b]mail[/b]
haalt je mail op binnen de computer. Beëindig het lezen van je mail met [CTRL] D.

Filed Under: Console

[FreeBSD] Portupgrade. Update je packages !

December 11, 2001 by Rob

Hier een Artikel over een [b]portupgrade.[/b]

Een tool waarmee je de geinstalleerde versie’s kunt vergelijken met de in de ports collectie beschikbare versie. Vervolgens kan deze tool alle out-dated geinstalleerde paketten vervangen door de nieuwere versie !

[url]http://www.freebsddiary.org/portupgrade.php[/url]

Lees het artikel eens door en laat weten als je er ervaring mee hebt!

Filed Under: FreeBSD, Sysutils

[FreeBSD] PureFTPD (i.c.m. MySQL) als FTP server

December 11, 2001 by Rob

[b]In deze howto ga ik beschrijven hoe je PureFTPD werkend kunt krijgen in
combinatie met MySQL.[/b]
[i] Voorkennis: MySQL‚ niet strikt noodzakelijk wel erg handig [/i]

Waarom met MySQL zul je denken‚ dit omdat het hierdoor eenvoudig wordt om de
gebruikers te beheren.
[pagebreak]
Waarpm pure-ftpd en geen proftpd of wu-ftpd‚ wat betreft wu-ftpd deze heeft de nare
eigenschap veel security bugs te hebben en dus niet echt ideaal‚ wat betreft Proftpd
deze is stukken beter als wu-ftpd echter vind de fucntionaliteit van Pure-Ftpd veel
groter en de documentatie van Pure-ftpd vind ik beter.

In de normale situatie haalt de FTP server zijn gebruiikers uit “/etc/passwd” dit is
voor weinig gebruikers goed te gebruiken‚ echter heb je meer gebruikers dan wordt
het snel onoverzichtelijk.

Als je deze howto volgt zul je een systeem krijgen dat eerst kijkt of een gebruiker
bestaat in de MySQL database en daarna kijkt hij in de vertrouwde /etc/passwd

Ik ga ervan uit dat je enigzins bekend bent met MySQL‚ zoniet volg dan deze link
[url=http://www.mysql.com]Mysql homepage[/url]
Snelle install MySQL
[shell]#cd /usr/ports/databases/mysql323-server
#make install clean
[/shell]

We gaan als eerste PureFTPD installeren
[shell]#cd /usr/ports/ftp/pure-ftpd
#make -DWITH_MYSQL install clean
[/shell]

Pureftpd gaat uitgevoerd worden m.b.v. tcpserver dit heeft als voordeel dat
hiermee de server beter bestand is tegen DOS aanvallen en er zijn meer filter
mogelijkheden.
Tcpserver is onderdeel van ucspi-tcp package‚ dus die installeren we:
[shell]#cd /usr/ports/sysutils/ucspi-tcp
#make install clean
[/shell]

Nu we de programma’s hebben geinstalleerd‚ kunnen we gaan configuren.
We maken een aparte database voor de ftp users en een standaard tabel.
[shell]#mysql -u root -p
Enter password: [vul je passwoord in]
mysql> CREATE DATABASE ftpusers;
mysql> USE ftpusers;
mysql> CREATE TABLE users (
User char(16) NOT NULL default ”‚
Password char(64) NOT NULL default ”‚
Uid int(11) NOT NULL default ‘-1’‚
Gid int(11) NOT NULL default ‘-1’‚
Dir char(128) NOT NULL default ”‚
PRIMARY KEY (User)
);
mysql>exit [/shell]

Als je niet zo bedreven bent met MySQL raad ik je aan om [url=http://phpwizard.net/projects/phpMyAdmin/]phpMyAdmin[/url]
te gebruiken.

Nu gaan we de ftp server configureren‚ open het bestand pureftpd-mysql.conf.sample met je
favoriete editor.
[shell]ee /usr/local/etc/pureftpd-mysql.conf.sample[/shell]
Het commentaar in deze file is heel erg duidelijk en moet eigenlijk geen problemen op leveren.

Als het configuratie bestand hebt aangepast moet je hem nog rename’n
[shell]mv /usr/local/etc/pureftpd-mysql.conf.sample /usr/local/etc/pureftpd-mysql.conf[/shell]

Je kunt pureftpd nu op verschillende manieren opstarten ik heb ervoor gekozen om pureftpd te draaien
mbv van tcpserver‚ dit is veiliger ik ga hier niet helemaal uitleggen waarom zoek even met google
en lees over tcpserver en meer over Mr. Bernstein.

Mijn startup script ziet er als volgt uit:
[shell]#!/usr/local/bin/bash
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin
export PATH
exec tcpserver -DHRl0 0 21 pure-ftpd -O stats:/var/log/pureftpd.log -A -a 1006 -l mysql:/usr/local/etc/pureftpd-mysql.conf -l unix
[/shell]
Voor logging “-O :‘” zodat ik ze kan bekijken met ftpstats
De “-l mysql:…”geeft aan eerst in de MySQl db kijken en daarna voor normale users in “/etc/passwd”
“-l unix”
-A = iedereen chrooten (kan niet lager als homedir)
-a 1006= deze groep kan overal komen (niet gechroot)

Voordat je dit blindenlings overneemt is het aan te raden even de README’s te lezen.
[url=files/pureftpdreadme.txt]Algemene Readme[/url]
[url=files/pureftpdmysqlreadme.txt]Readme voor MySQL[/url]

Met
[s=50]pure-ftpwho[/s]
zie je precies wat iedereen aan het doen is op je ftp.

Wat handige links:
[url=http://www.pureftpd.org]Pure-Ftpd homepage[/url]
[url=http://shagged.org/ftpstats/]Ftpstats handig om bij te houden hoeveel data er gegenereerd is.[/url]

Filed Under: FTP server

[FreeBSD] Router met IpFilter firewall

December 3, 2001 by Rob

De heer Marty Schlacter heeft een heel mooie Engelstalige howto geschreven. Als je
deze howto volgt is je systeem erg veilig.

Als iemand er niet uitkomt betreffende de taal of andere problemen‚ schroom dan
niet om te mailen naar [mail=rob@bsdfreaks.nl]Rob[/mail] of zet het in het
forum.

[pagebreak]
[url=http://www.defcon1.org/~ghostrdr/FreeBSD-STABLE_and_IPFILTER.html]Ipfilter router howto[/url]

Filed Under: Firewall, FreeBSD, Networking

[FreeBSD] Qmail FreeBSD Mail Toaster

November 9, 2001 by Rob

Dit is niet echt een howto maar meer een verwijzing naar een [b]zeer[/b] goede
howto. Volg deze howto en je hebt een werelds mail systeem:
[url]http://matt.simerson.net/computing/mail/toaster/[/url]
Deze howto is niet nederlands‚ maar mocht je vragen hebben hiervoor mail mij dan
gewoon: rob@bsdfreaks.nl

Veel plezier ermee 😀

Filed Under: Mail server

[*BSD] Swapspace toevoegen

October 28, 2001 by Rob

Laatst had ik het probleem van te weinig swapspace op mijn server dus ben ik een beetje gaan zoeken hoe ik dat kon uitbreiden… en heb er toen meteen maar een kleine howto van gemaakt 🙂
[pagebreak]
Met de volgende commandos maak je een swap space aan van 512 MB

[shell]# cd /usr
# dd if=/dev/zero of=/usr/swap0 bs=32m count=16
[/shell]
Goeie rechten instellen
[shell]# chmod 640 swap0
[/shell]
[shell]# chgrp operator swap0
[/shell]
“/dev/vn0c /usr/swap0 swap” toevoegen aan de file /etc/vntab
[shell]# echo “/dev/vn0c /usr/swap0 swap” > /etc/vntab
[/shell]
[shell]# vnconfig -ae
[/shell]
Voeg het volgende stukje toe aan je rc.conf:

[shell]vnconfig_enable=”YES”

if [ “X${vnconfig_enable}” = X”YES” ]; then
echo -n ‘ vnconfig’; vnconfig -ae
fi
[/shell]

Succes ermee 🙂

Filed Under: Console

[FreeBSD] Router configuratie

October 1, 2001 by Rob

Voordat je je router ook maar probeert te configureren, moet je eerst een werkende FreeBSD installatie hebben met [b]2[/b] netwerkkaarten erin.
De ene netwerkkaart moet goed geconfigureerd staan voor het “buiten” netwerk (of dat nou Chello @home of wat dan ook is) en de andere is je “binnen” netwerk.
Je lokale netwerk dus.
Tevens moet je op de hoogte zijn van het configureren / configgen van een Kernel.
(zie daarvoor ook ‘Hoe een kernel te bakken?’, geschreven door sPiNe.
[pagebreak]
Allereerst gaan we de Kernel config bekijken die nodig is voor het routeren van pakketjes.
Open de Kernel config en voeg de volgende regels daarin toe :
[quote]
options IPFIREWALL
options IPDIVERT
[/quote]
Dit zijn meteen al de belangrijkste opties. Firewall/NAT (Network Address Translation) , wat je beide nodig hebt voor je router, staan nu aan.
Nog een paar handige zijn de volgende :
[quote]
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
[/quote]
Dit zorgt ervoor dat je firewall ietsje preciezer is over de informatie van gedropte pakketje enzo.
De tweede regel zorgt ervoor dat al die informatie die je logbestandjes inhoud geeft niet helemaal uit de klauwen loopt.
Voor meer opties en mogelijkheden verwijs ik je naar het artikeltje geschreven door sPiNe, te vinden onder het menu-item Howto’s .
Volgende stap!
Pak je favoriete editor erbij en edit het bestandje /etc/rc.conf
Voor diegenen die het niet weten, een kleine uitleg tussendoor. (voor degenen die het wel weten, lees ook maar lekker even mee :))
In de directory /etc/defaults/rc.conf staan je “systeem” instellingen. (bij gebrek aan een betere omschrijving …).
Heb je een firewall aan? Wil je SSH automatisch starten? al dit soort handige dingetjes staan daarin.
Zodra deze configuratie geladen is, laadt hij daarna het bestand /etc/rc.conf. Feitelijk is dit hetzelfde soort bestand, maar als je dus wil afwijken van wat standaard is, kan je dit daarin doen, aangezien die instellingen dan de standaard overschrijven. Hopelijk is dit een beetje duidelijk 🙂
We waren dus bij het editten van het bestand /etc/rc.conf.
Daar zetten we de volgende regels in :
[quote]
gateway_enable=”YES” # We gaan gateway spelen!
firewall_enable=”YES” # Maar we doen het wel veilig, met firewall
firewall_script=”/etc/rc.firewall” # Dit wordt straks ons firewall bestand.
firewall_type=”open” # Firewall type. Later meer hierover
firewall_quiet=”NO” # Alle firewall regeltjes netjes in beeld tonen
natd_program=”/sbin/natd” # NATD, onze grote router vriend.
natd_enable=”YES” # NATD aan? lijkt mehandig ..
natd_interface=”dc0″ # NATD netwerkkaart. Zie ‘ifconfig -a’ voor info
natd_flags=”-f /etc/natd.conf” # Extra opties voor NATD
[/quote]
Nu meer over de firewall die daarboven staat.
De firewall die nu in het configuratie bestand staat is van het type “open”.
In principe schermt NATD je werkstations ook wel af van de buitenwereld (Voor rechtstreekse benadering in ieder geval), maar echt veilig is anders.
Voor degenen die meer veiligheid willen, aan het einde een aangepaste firewall met een aantal voorbeelden. Voor nu laten we het hier even bij, om alles in ieder geval in de lucht te krijgen.
Dan rest ons nog 1 ding en dat is het aanmaken van het volgende bestand : /etc/natd.conf
Pak je favo editor er dus maar weer bij en zet de volgende dingen in dat bestandje :
[quote]
dynamic yes
use_sockets yes
same_ports yes
[/quote]
Die eerste regel is voor de mensen onder ons die via DHCP het net op moeten (Chello bijvoorbeeld). Als dit niet opgaat voor jouw situatie, kan je deze regel verwijderen.
Controleer nu alleen nog even of NATD na het rebooten z’n werk kan doen.
Tik het volgende in :

[shell]cat /etc/services | grep natd [/shell]

Als het goed is, moet je de volgende regel zien:

[shell]natd 8668/divert # Network Address Translation[/shell]

Als je dat ziet, zit je nu in principe al goed. Krijg je niks terug, tik dan dit in:

[shell] echo “natd 8668/divert” >> /etc/services[/shell]

Als het goed is [b]hoef je dit in een normale situatie niet te doen[/b].
Op dit moment heb je een werkende router (na rebooten 🙂 ) gefeliciteerd!
Reboot en probeer het maar eens uit.
Voor de mensen die nu iets meer veiligheid willen, de aangepaste firewall.
Maak een nieuw bestandje aan in /etc, bijvoorbeeld /etc/rc.vuurmuur en zet daar het volgende in :
[quote]
ipfw add 20 deny tcp from any to any 137 via xl1
ipfw add 30 deny tcp from any to any 138 via xl1
ipfw add 40 deny tcp from any to any 139 via xl1
ipfw add 50 deny tcp from any to any 3306 via xl1
ipfw add 60 deny tcp from any to any 515 via xl1
ipfw add 70 deny tcp from any to any 1542 via xl1
ipfw add 75 deny tcp from any to me 25 via xl1
ipfw add 77 deny tcp from any to me 23 via xl1

ipfw add 110 divert natd all from any to any via xl1
ipfw add 120 allow all from any to any
[/quote]
* Firewall copyright RoeLz 🙂
Let op: xl1 is in dit geval de netwerkkaart die aan internet hangt!

Pas in /etc/rc.conf het volgende regeltje aan :
[quote]
firewall_script=”/etc/rc.firewall” # Dit wordt straks ons firewall bestand.
[/quote]
Zet daar de naam van het bestand in wat je net aangemaakt hebt.
Dan als laatste vanaf je console:
[shell]sysctl -w net.inet.tcp.blackhole=1[/shell]
Klaar is klara 🙂 rebooten en je bent voorlopig klaar.
Opmerking tussendoor: De firewall die hierboven staat, kan wel helemaal niet geschikt zijn voor jouw situatie.
Binnenkort komt hier wel een uitleg over hoe je precies een dijk van een firewall neerzet, maar op het net is ook genoeg te vinden over de precieze werking van ipfw. (of natuurlijk ‘man ipfw’ ! )
Succes ermee en mocht je tegen problemen aanlopen, klopt gerust aan op het forum!

Filed Under: Networking

Traffic grafieken (MRTG)

September 27, 2001 by Rob

Voorkennis: niet strikt noodzakelijk‚ enige kennis van freebsd is wel aan te raden.
Benodigheden: Pc met netwerk kaart‚apache
[pagebreak]
Om erachter te komen wat de data load van je server is kun je onder *NIX systemen gebruik maken van het programma Multi Router Traffic Grapher (kort MRTG)
Dit programma zorgt ervoor dat je van deze mooie grafiekjes krijgt:
[img]http://www.stat.ee.ethz.ch/mrtg/rou-gw-switch-1-lp_129.132.99.213-day.png[/img]

Uit deze grafieken kun je dus informatie halen wanneer je server het zwaarst belast wordt.

Door het gebruik van snmp komt MRTG aan zijn informatie voor verder details over snmp zie de links onderaan. In dit document zullen we zelf snmp gaan opzetten‚ wanneer je beschikt over een router die ook snmp ondersteund dan kun je instellen dat MRTG daar zijn data vandaan haalt‚ echter wordt dat niet in dit document behandeld.

[b]Opzetten snmp[/b]

Snmp installeren:
[shell]# cd /usr/ports/net/net-snmp/
# make install clean
[/shell]
Net-snmp configureren:

[shell]cd /usr/local/etc/
snmpconf -g basic_setup[/shell]
De vragen beantwoorden als je het niet weet overslaan‚ belangrijk is dat je een community public hebt.

Startup script even aanpassen
[shell]ee /usr/local/etc/rc.d/snmpd.sh
#voeg toe
${PREFIX}/sbin/snmpd -c /usr/local/etc/snmpd.conf && echo -n ‘ snmpd'[/shell]

snmp starten (gebeurt ook na een reboot)
[shell]# /usr/local/etc/rc.d/snmpd.sh start[/shell]
even controleren of hij werkt
[shell]#ps -x |grep snmpd
[/shell]
als het goed is zie je zoiets als dit:
[shell]413 con- I 0:03.90 /usr/local/sbin/snmpd
[/shell]

Nu snmp draait kunnen we beginnen met MRTG

[b]Opzetten MRTG[/b]

MRTG installeren:
[shell]# cd /usr/ports/net/mrtg
# make install clean
[/shell]

Nu moeten we mrtg nog gaan configureren dit doen we met ?cfgmaker?

De locatie moet je nog wel aanpassen
[shell]#cfgmaker –global ‘WorkDir: /usr/local/www/data/mrtg’ –global ‘Options[_]: bits‚growright’ –output /usr/local/etc/mrtg/mrtg.cfg public@jouw_ip_nr
[/shell]

Als het goed is zie je een hoop informatie voorbij scrollen.

Als laatste gaan we gaan we mrtg uitvoeren en kijken of alles werkt.
[shell]#touch /var/log/mrtg.log
# /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg –logging /var/log/mrtg.log
[/shell]
als het goed is staat er nu een mooie html file in je ?WorkDir? en een aantal png files. Anders kijk in ?/var/log/mrtg.log?
[shell]# ls /usr/local/www/data/mrtg/
[/shell]

Open deze html in je browser.

Nu willen we natuurlijk dat de grafieken bijgehouden worden‚ dit doen we d.m.v een cronjob.

Open het bestand ?/etc/crontab? in je favoriete texteditor (vi‚pico‚ee)
[shell]#ee /etc/crontab (gebruik zelf ee)
[/shell]

voeg de volgende regel toe aan deze file:

0‚5‚10‚15‚20‚25‚30‚35‚40‚45‚50‚55 * * * * root /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg –logging /var/log/mrtg.log

dit zorgt ervoor dat je grafieken om de 5 min worden geupdated.

Dit was de installatie van MRTG veel plezier ermee.

Voor het totale verkeer is een handig programma aanwezig zie hiervoor:
[url]http://gbgraph.menthenberg.nl/[/url]
Voor gebruik van deze scripts zijn onder FreeBSD aantal patches nodig:
[url=http://www.bsdfreaks.nl/files/mrtg/archiver.patch]archiver patch[/url]
[url=http://www.bsdfreaks.nl/files/mrtg/gbgraph.patch]gbgraph patch[/url]
Deze kun je als volgt uitvoeren:
[shell]patch < gbgrap.patch gbgraph.pl[/shell] Hiernaast heb je ook een oude mrtglog nodig: [url=http://www.bsdfreaks.nl/files/mrtg/mrtglog.c]mrtglog.c[/url] Compileren met: [shell]gcc -o mrtglog mrtglog.c[/shell] Naast netwerk metingen zijn er nog veel meer dingen mogelijk met MRTG‚ zoals cpu belasting en geheugen gebruik ga hiervoor zelf even op onderzoek uit. Het programma RRDTOOL lijkt erg veel op MRTG zie hiervoor: [url]http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/[/url] Links [url]http://www.mrtg.org[/url] (mrtg homepage) [url]http://net-snmp.sourceforge.net[/url] (snmp homepage) [url]http://www.ee.ethz.ch/stats/mrtg/[/url] (veel voorbeelden)

Filed Under: Networking

  • « Go to Previous Page
  • Page 1
  • Interim pages omitted …
  • Page 80
  • Page 81
  • Page 82
  • Page 83
  • Go to Next Page »

Primary Sidebar

Pages

  • Howto overview
  • iPhone mail setup
  • Links

Categories

  • *BSD news from the past
  • Console
  • Firewall
  • FreeBSD
  • FTP server
  • Hardware
  • Howto's
  • Installation
  • Kernel
  • Mail server
  • Miscellaneous
  • Networking
  • News
  • News imported
  • OpenBSD
  • Operating System
  • Programming
  • Security
  • Site news
  • Software
  • Sysutils
  • Web server

Recent Comments

  • admin on Qmail FreeBSD Mail Toaster Spam en virus control addon
  • admin on [FreeBSD] Het opzetten van een Vlan
  • Jap on [FreeBSD] Installing GlFtpd
  • Jap on [FreeBSD] Installing GlFtpd
  • Crashjuh on Wireless access point met OpenBSD + VPN

Copyright © 2025 · Genesis Sample Theme on Genesis Framework · WordPress · Log in