Netwerkbeheer 2 – voorbereiding examen Voorbereiding Als voorbereiding eerst nieuwe virtuele machine aangemaakt (Debian 6.04 32bits) speciaal voor de oefeningen. Na installatie zal snapshot genomen worden om gemakkelijk te kunnen herbeginnen bij fouten.
Host juist zetten /etc/hostname /etc/network/interfaces
juist zetten juist zetten, let wel dat eth0 of eth1 bestaan
Basishandelingen Linux Bestand aanmaken touch file1 (wordt aangemaakt in de map waarin je zit, geen inhoud) Bestand aanmaken vi /map/map/file2 (vim wordt gebruikt voor editeren van het nieuwe bestand) Bestand verwijderen rm file1 Bestand verwijderen met vraag om bevestiging rm –i file1 Wordt ook gebruikt voor lege directories Bestanden en niet lege directories verwijderen rm –rf direct1 Bestanden kopiëren cp file1 file2 (binnen de directory) cp file1 /etc/network/file1 (naar andere directory) Bestand hernoemen of naar ander directory verplaatsen mv file1 file2 Directory aanmaken mkdir mijndirectory Directory aanmaken en permissions toekennen mkdir –m 700 mijndir (-rwx------) Lege directory verwijderen rmdir mijndirectory Nazien van wat misgelopen is: (tail) head -10 /var/log/syslog Gebruik grep om te flteren: grep –i file1 (-i staat voor case insensitive) grep –i johan file1 (geeft alle lijnen weer met Johan, johan, etc uit file1) Gebruik find om bestanden te zoeken find /etc > etcfiles.txt (zoekt alle bestanden in /etc en zet de namen ervan in bestand)
Users Gebruiker toevoegen useradd -m -d /home/johan -c “gebruiker Johan” johan -m home directory moet aangemaakt worden -d naam van de homedirectory -c omschrijving johan laatste parameter is de naam van de gebruiker -s /bin/ksh starten met ksh ipv sh of bash Skel: Wanneer we de parameter -m gebruiken, wordt de /etc/skel/ diectory gekopieerd naar de home directory van de nieuwe gebruiker. Indien we dus een bestand in /etc/skel/ zetten, dan wordt deze in de homedirectory opgenomen. Gebruiker verwijderen userdel -r johan -r ook de homedirectory wordt verwijderd Paswoord instellen passwd Kan gecombineerd worden: useradd -m johan ; passwd johan Wijzigen van gebruiker su su - johan door - te gebruiken krijgen we ook de omgeving van die gebruiker su zonder argument nemen we aan dat we root bedoelen Homedirectory verwijderen: userdel -r johan ook /home/johan/ wordt verwijderd Voorbereiding examen Netwerkbeheer 2
Pagina 1
Groepen (groups) Gebruikers kunnen we onderverdelen in groepen. Zo kunnen we eventueel rechten toekennen aan groepen ipv aan individuele gebruikers. groupadd medewerkers aanmaken groep medewerkers groupdel medewerkers verwijderen groep medewerkers
File ownership Elk bestand heeft een userowner en een groupowner. chgrp johan file1 wijzigen van groupowner file1 naar johan chown johan file1 wijzigen van userowner file1 naar johan twee ineen! chown johan:johan file1 wijzigen van group- en userowner naar johan
Permissions Bestanden zitten met volgende permissions -rwxrwxrwx - gewoon bestand (d directory; b block device; …) = 777 octal rwx permissions voor user owner = 7 octal rwx permissions voor group owner = 7 octal rwx permissions voor anderen = 7 octal r w x
read write execute
Permissions worden toegekend via chmod. Gemakkelijkste octaal. Geavanceerde permissions: Sticky bit 1xxx (vb 1700) verhindert dat niet userowners een bestand kunnen deleten Setgid bit 2xxx (vb 2707) zorgt ervoor dat alle bestanden binnen een directory eigendom zijn van de group owner van de directory
Aanpassen netwerk- en andere instellingen Hostname aanpassen We doen dit in /etc/hostname Kijken naar inhoud /etc/hosts of het ook daar juist staat
Juist zetten internetinstellingen: We doen dit onder /etc/network/interfaces: root@debianjohan:~# cat /etc/network/interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo eth0 iface lo inet loopback
automatisch activeren bij opstarten
# The primary network interface allow-hotplug eth0 iface eth0 inet static address 192.168.3.64 netmask 255.255.255.0
static is tegenovergestelde van dhcp
Voorbereiding examen Netwerkbeheer 2
Pagina 2
network 192.168.3.0 broadcast 192.168.3.255 gateway 192.168.3.1
VIM Om vim te kunnen gebruiken dient eerst het programma te worden geïnstalleerd: procedure is steeds dezelfde: aptitude seach vim nu krijgen we een lijst van de programma’s die we beschikbaar zijn aptitude install vim nu wordt programma geïnstalleerd
Pakketten installeren RH en Centos gebruiken hiervoor RPM, Debian dpkg. Parametes van dpkg (optionele parameters) dpkg -i debBestandsnaam installeren deb-pakket dpkg -l (| grep bind9) nazien wat er reeds op de computer geïnstalleerd is (hier kijken voor BIND) dpkp -r debBestandsnaam verwijderen van een deb-pakket
SSH - zie verder voor uitleg public en private keys Nodig om vanop afstand te kunnen inloggen. aptitude search ssh we krijgen lijst met alle beschikbare programma’s aptitude install openssh client open sshclient wordt geïnstalleerd aptitude install openssh-server open ssh server wordt geïnstalleerd
inloggen vanop afstand via Putty Met het programma Putty kunnen we inloggen vanop afstand. Standaard werken we via poort 22. We kunnen zowel ip-adres als naam ingeven (die natuurlijk ook moet gekoppeld zijn aan ip-adres) Via Putty hebben we een groter scherm en kunnen we scrollen. Bovendien is kopiëren van stukken tekst eveneens mogelijk. Voor de server op school gebruiken we een andere poort: 9991 & ip 212.239.177.236; daarna ssh zenjohan om op eigen server(gedeelte) te geraken. Pwd telkens hunter2. Netwerk: 192.168.3.105 poort 22 - root hunter2
Alle software updaten in Debian We kunnen dit best doen op volgende manier: aptitude update && aptitude upgrade
DNS Om te zien welke DNS-server we gebruiken (kan toegekend zijn via een DHCP-server of manueel), kijken we in volgend bestand: cat /etc/resolv.conf (indien we willen dat alle dns-request naar eigen dns-server verwijzen: 192.168.3.64) Voor er DNS-servers gebruikt werden, werd een betand /etc/hosts gebruikt. Dit werd door de groei van het internet echter vervangen door DNS. Het bestand bestaat nog en kan nog steeds gebruikt worden. De fully qualified domain name (fqdn) is de combinatie van hostname en domainname. hostname -- fqdn (in mijn geval debianjohan.JOHAN.LOCAL)
DNS-zone Een DNS-zone bestaat uitrecords (resource records – brongegevens), meer bepaald de volgende:
A record: of host record bevat het IP-adres (IPv4) van een computer AAAA record: idem maar voor IPv6 PTR record: omgekeerde van een A record, bevat de naam van de computer
Voorbereiding examen Netwerkbeheer 2
Pagina 3
NS record: nameserver record, wijst naar de DNS-server(in dezezone) Je kan hier trouwens al je DNS servers als NS records opgeven Glue A record: een A record die de de naam van een NS record naar een IP-adres mapt SOA record: bevat metadata over de zone zelf, er is exact 1 SOA record per zone. CNAME record: creëert een alias voor een bestaande hostname(vb.: naam van mailserver is meestal gemapt naar mail of smtp, webserver naar www) MX record: wijst naar een mailserver. Als je een mail verstuurd naar een ander domain, dan moet je mailserver de MX record van het doel domain kennen.
Caching only servers Dit is een DNS server zonder authority over een zone, maar is verbonden met andere DNS servers waarvan het de gegevens in de cache zet. Ze beschikken dus niet over een zonedatabase. Er zijn twee soorten caching only servers: Caching only server met forwarder
Deze DNS server krijgt al zijn informatie van een forwarder, dit kan een DNS server zijn van een provider. In het bestand /etc/bind/named.conf staat dan het IP adres van de forwarder als volgt: forwarders { www.xxx.yyy.zzz; } Caching only server zonder forwarder
In dit geval moet de DNS server zijn gegevens uit een andere bron zien te krijgen. Wanneer hij een aanvraag krijgt, moet hij de rootserver contacteren die hem zal doorverwijzn naar een van de TLD servers, die op hun beurt verder doorverwijzen naar een DNS server. Wanneer het antwoord uiteindelijk verkregen is, wordt deze terug gestuurd naar de aanvrager. Iteratieve en recursieve query
Bij een recursieve query verwacht de client een volledig antwoord (meestal tussen client en de DNS server) bij een iteratieve query wordt geen volledig antwoord verwacht, enkel doorverwijzing. Rootservers geven nooit een antwoord op recursieve queries.
Authoritative DNS servers Een DNS server die een zone controleert , noemt men een authoritative DNS server voor deze zone. Hierbij niet vergeten dat een zone een verzameling is van bron (resource) records.
Primaire en secondaire DNS servers Wanneer we een authoritative DNS server opzetten voor een zone, dan noemt men deze de primaire DNS server. Omwille van fouttolerantie of load balancing, kan een tweede (of derde, …) server opgezet worden voor deze zone, deze noemt men de secundaire DNS server.
Zonetranfers De slave server ontvangt een kopie van de zone database van de master server via een zone transfer. Deze worden op regelmatige tijdstippen gevraag door de slave server, de intervallen staan in het SOA record. AXFR of IXFR
Er gebeurd niet altijd een volledige zonetransfer (AXFR-protocol), dit is afhankelijk van de grootte van de databes. Indien de totale grootte van de wijzigingen kleiner is dan de omvang van de zone database, wordt gekozen voor een incrementele transfer (IXFR-protocol)
Master en slave Wanneer een secundaire server geïnstalleerd wordt voor een zone, wordt deze als slave geconfigureerd. Een secundaire server kan evenwel ook als master optreden voor een volgende server.
Voorbereiding examen Netwerkbeheer 2
Pagina 4
SOA record De SOA record bevat een refresh waarde. Wanneer deze op 30 minuten staat, zal deze elke 30 minuten een kopie van de zonegegevens vragen. De retry waarde slaat op het interval dat het gebruikt wanneer de laatste aanvraag voor een zonetransfer niet beantwoord werd. Een zone transfer vindt slechts plaats als de serial number gewijzigd is: dan is er immers een wijziging gebeurd aan de database (records toegevoegd, gewijzigd of verwijderd), indien deze gelijk is in master en slave gebeurd er geen zonetransfer.
Installeren DNS server aptitude install bind9 installeren van Bind9 met bind9utils resultaat: root@debianjohan:~# dpkg -l | grep bind9 ii bind9 1:9.7.3.dfsg-1~squeeze8 Internet Domain Name Server ii bind9-host 1:9.7.3.dfsg-1~squeeze8 Version of 'host' bundled with BIND 9.X ii bind9utils 1:9.7.3.dfsg-1~squeeze8 Utilities for BIND ii libbind9-60 1:9.7.3.dfsg-1~squeeze8 BIND9 Shared Library used by BIND root@debianjohan:~#
Verwijderen van DNS-sever Dit kan soms nodig zijn (vb bij installeren Samba 4 waarbij Samba 4 eigen DNS-server speelt) aptitude remove bind9 Nadien nog rm -rf van de mappen waarin de bestanden van bind staan !
status van de server en de bestanden die in /etc/bind zitten root@debianjohan:~# service bind9 status bind9 is running. root@debianjohan:~# ls -l /etc/bind totaal 52 -rw-r--r-- 1 root root 2544 okt 20 20:15 bind.keys -rw-r--r-- 1 root root 237 okt 20 20:15 db.0 -rw-r--r-- 1 root root 271 okt 20 20:15 db.127 -rw-r--r-- 1 root root 237 okt 20 20:15 db.255 -rw-r--r-- 1 root root 353 okt 20 20:15 db.empty -rw-r--r-- 1 root root 270 okt 20 20:15 db.local -rw-r--r-- 1 root root 2994 okt 20 20:15 db.root -rw-r--r-- 1 root bind 463 okt 20 20:15 named.conf -rw-r--r-- 1 root bind 490 okt 20 20:15 named.conf.default-zones -rw-r--r-- 1 root bind 165 okt 20 20:15 named.conf.local -rw-r--r-- 1 root bind 572 okt 20 20:15 named.conf.options -rw-r----- 1 bind bind 77 dec 24 15:25 rndc.key -rw-r--r-- 1 root root 1317 okt 20 20:15 zones.rfc1918
Inhoud named.conf root@debianjohan:~# cat /etc/bind/named.conf // This is the primary configuration file for the BIND DNS server named. // // Please read /usr/share/doc/bind9/README.Debian.gz for information on the // structure of BIND configuration files in Debian, *BEFORE* you customize // this configuration file. // Voorbereiding examen Netwerkbeheer 2
Pagina 5
// If you are just adding zones, please do that in /etc/bind/named.conf.local include "/etc/bind/named.conf.options"; include "/etc/bind/named.conf.local"; include "/etc/bind/named.conf.default-zones";
inhoud named.conf.local root@debianjohan:~# cat /etc/bind/named.conf.local // // Do any local configuration here // // Consider adding the 1918 zones here, if they are not used in your // organization //include "/etc/bind/zones.rfc1918"; Caching only server met forwarder
Hier moeten we een forwarder instellen (vermits range school gelijk gezet met thuis root@debianjohan:~# cat /etc/bind/named.conf.options (aanpassen met vim!) options { directory "/var/cache/bind"; // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0's placeholder. forwarders { 192.168.3.1; }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; }; Nu gebruikt debianjohan deze nameserver en kunnen we opzoekingen doen root@debianjohan:~# nslookup > delijn.be Server: 192.168.3.1 Address: 192.168.3.1#53 Non-authoritative answer: Name: delijn.be Address: 212.3.226.67 > exit
Installeren authoritative DNS servers We gaan nu een eigen authoritative DNS server maken voor ons domain johan.local Niet vergeten de forwarder opnieuw op 0.0.0.0 te zetten of de gegevens voor de forwarder in comment te zetten! Aanpassen named.conf.local
root@debianjohan:~# cat /etc/bind/named.conf.local Voorbereiding examen Netwerkbeheer 2
(met vi) Pagina 6
// // Do any local configuration here // zone "johan.local" { type master; file "etc/bind/db.johan.local"; }; // Consider adding the 1918 zones here, if they are not used in your // organization //include "/etc/bind/zones.rfc1918"; Aanpassen db.johan.local
Best werken op kopie van /etc/bind/db.local, dan moeten we minder zelf schrijven>. cp /etc/bind/db.local /etc/bind/db.johan.local root@debianjohan:~# cat /etc/bind/db.johan.local ; ; BIND data file for domain johan.local ; $TTL 604800 @ IN SOA ns.johan.local. root.johan.local. ( 2012122401 ; Serial 600 ; Refresh 600 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns.johan.local. ns IN A 192.168.3.64 debianjohan IN A 192.168.3.64
Een DNS slave server toevoegen We kunnen dus Primaire server zijn voor onze zone en slave server voor een andere zone. Om dit te realiseren maken we eerst een directory aan binnen /var, namelijk /var/bind/ Bind moet rechten hebben op deze directory, dit doen we via chown. Als voorbeeld maken we ons slave van paul.local root@debianjohan:~# vi /etc/bind/named.conf.local root@debianjohan:~# cat /etc/bind/named.conf.local // // Do any local configuration here // zone "johan.local" { type master; file "etc/bind/db.johan.local"; allow-transfer {any; }; //zal alle verbindingen accepteren }; zone "paul.local" { type slave; file "/var/bind/db.paul.local";q masters {192.168.3.193; }; Voorbereiding examen Netwerkbeheer 2
Pagina 7
} // Consider adding the 1918 zones here, if they are not used in your // organization //include "/etc/bind/zones.rfc1918"; Afhankelijk van de grootte van de gegevens, wordt een IXFR of een AXFR gedaan (een incrementele of een volledige zonetransfer) Deze zonetransfer vind plaats vanaf de eerste keer dat bind herstart wordt.
Installeren DHCP server aptitude install dhcp3-server Om problemen te vermijden in het netwerk wordt er geen dhcp-server geïnstalleerd. Hieronder volgen een aantal voorbeelden van configuraties die mogelijk zijn:
Voorbeeld: dhcp-server met 180 adressen /etc/dhcp/dhcp.conf #voorbeeld subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.20 192.168.1.199; option domain-name-servers ns1.voorbeeld.local; option domain-name “voorbeeld.local”; option routers 192.168.1.1; option broadcast-address 192.168.1.255; default-lease-time 7200; max-lease-time 7200; } Hieronder een client reservatie:
# # laptop # host laptop { hardware ethernet 00:45:f3:21:14:1e; fixed-address laptop.voorbeeld.local; }
//of vb 192.168.1.31
SAMBA3 Kijken of Samba reeds geïnstalleerd is op system: in principe niet nodig voor CentOs of andere RedHat distributies, daar is Saba standaard aanwzig. root@debianjohan:~# dpkg -l samba | grep version Geen pakketten gevonden overeenkomend met samba.
dpkg -l of aptitude show samba
Indien geen Samba, eerst zoeken en daarna instaleren. root@debianjohan:~# aptitude search samba p dpsyco-samba - Automate administration of access to samba p gadmin-samba - GTK+ configuration tool for samba p gadmin-samba-dbg - GTK+ configuration tool for samba (debug) p gosa-plugin-samba - samba3 plugin for GOsa² p samba - SMB/CIFS file, print, and login server for v samba-client p samba-common - common files used by both the Samba server Voorbereiding examen Netwerkbeheer 2
Pagina 8
p p p p p
samba-common-bin samba-dbg samba-doc samba-doc-pdf samba-tools
- common files used by both the Samba server - Samba debugging symbols - Samba documentation - Samba documentation in PDF format - Samba testing utilities
installeren maar root@debianjohan:~# aptitude install samba De volgende NIEUWE pakketten zullen worden geïnstalleerd: dbus{a} libavahi-client3{a} libavahi-common-data{a} libavahi-common3{a} libcups2{a} libdbus-1-3{a} libfile-copy-recursive-perl{a} libtalloc2{a} libwbclient0{a} samba samba-common{a} samba-common-bin{a} update-inetd{a} 0 pakketten opgewaardeerd, 13 nieuwe geïnstalleerd, 0 te verwijderen en 0 niet opwaarderen. Heb 14,8 MB archieven nodig. Na uitpakken zal 42,4 MB worden gebruikt. Wilt u verder gaan? [Y/n/?] Y … account_policy_get: tdb_fetch_uint32 failed for type 9 (disconnect time), returning 0 account_policy_get: tdb_fetch_uint32 failed for type 10 (refuse machine password change), re turning 0 Importing account for nobody...ok Importing account for johan...ok Toevoegen groep `sambashare' (groepsnummer 108)... Klaar. update-alternatives: using /usr/bin/smbstatus.samba3 to provide /usr/bin/smbstatus (smbstatu s) in auto mode. Starting Samba daemons: nmbd smbd. Instellen van samba-common-bin (2:3.5.6~dfsg-3squeeze8) ... update-alternatives: using /usr/bin/nmblookup.samba3 to provide /usr/bin/nmblookup (nmblooku p) in auto mode. update-alternatives: using /usr/bin/net.samba3 to provide /usr/bin/net (net) in auto mode. update-alternatives: using /usr/bin/testparm.samba3 to provide /usr/bin/testparm (testparm) auto mode.
in
Samba is nu geïnstalleerd
Read-only file server opzetten Hiervoor maken we eerst een directory en bestandje aan: root@debianjohan:~# mkdir -p /srv/samba/enkellezen root@debianjohan:~# cd /srv/samba/enkellezen/ root@debianjohan:/srv/samba/enkellezen# echo "enkel lezen fileserver opzetten" >lezen.txt root@debianjohan:/srv/samba/enkellezen# cat lezen.txt enkel lezen fileserver opzetten
[global] ## Browsing/Identification ### # Change this to the workgroup/NT-domain name your Samba server will part of workgroup = WORKGROUP # server string is the equivalent of the NT Description field server string = Public Anonymous File Server netbios name = ENKELLEES Voorbereiding examen Netwerkbeheer 2
Pagina 9
security = share
Writeable fileserver Bijna hetzelfde: root@debianjohan:/# mkdir -p /srv/samba/schrijf root@debianjohan:/etc/samba# chmod 777 /srv/samba/schrijf/ In /etc/samba/smb.conf volgende aanpassing: [wrshare1] path = /srv/samba/schrijf read only = No guest ok = Yes Herstarten van de server: root@debianjohan:/etc/samba# service samba restart Stopping Samba daemons: nmbd smbd. Starting Samba daemons: nmbd smbd. En kijken of deze ook zichtbaar/bruikbaar is onder Windows7. (en ja hoor
SAMBA4 Nazien of samba 4 draait: ps fax Na herstart en voor terug opstarten samba4 : mount -o remount,acl / Opstarten samba4: /usr/local/samba/sbin/samba Indien problemen met domein, kan provision opnieuw uitvoeren de oplossing zijn. Let wel, indien je bvb service networking restart uitvoert of een verandering aan netwerk aanbrengt, het mogelijk is dat samba niet meer zal werken. Procedure: rm etc/smb.conf opkuisen oude map rm private/sam.ldb opkuisen database pkill samba /usr/local/samba/bin/samba-tool domain provision Daarna herstarten
Webserver op Debian Installeren van de server aptitude update && aptitude install apache2
Status nazien root@debianjohan:~# service apache2 status Apache2 is running (pid 2477).
Standaardpagina De server draait nu al: je kan dus in een browser de pagina opvragen: er staat alleen dat hij bestaat maar dat er nog niets in zit, dit komt nog. root@debianjohan:/etc/apache2/sites-available# cat /etc/apache2/sites-available/default
ServerAdmin webmaster@localhost DocumentRoot /var/www Options FollowSymLinks AllowOverride None Voorbereiding examen Netwerkbeheer 2
Pagina 10
Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined
De verwijzing naar de standaardsite: /var/www# ls -l totaal 4 -rw-r--r-- 1 root root 177 jan 2 19:39 index.html Deze webpagina kunnen we aanpassen, huidige inhoud is:
/var/www# cat index.html
It works!
This is the default web page for this server.
The web server software is running but no content has been added, yet.
Laten we dit gewoon veranderen naar:
cat index.html
Dit is de wensite van Debianjohan op 192.168.3.64
Dit is de de pagina die je normaal ziet bij het surfen.
Niet spectaculair he
De web server software draait en er is inhoud!
Zo ziet het er uit tijdens het surfentypfouten inbegrepen)
Dit is de wensite van Debianjohan op 192.168.3.64 Dit is de de pagina die je normaal ziet bij het surfen. Niet spectaculair he Voorbereiding examen Netwerkbeheer 2
Pagina 11
De web server software draait en er is inhoud!
Sites op poortnummer root@zenjohan:/etc/apache2# cat ports.conf # If you just change the port or add more ports here, you will likely also # have to change the VirtualHost statement in # /etc/apache2/sites-enabled/000-default # This is also true if you have upgraded from before 2.2.9-3 (i.e. from # Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and # README.Debian.gz NameVirtualHost *:80 Listen 80 Listen 31337 Listen 1201 Listen 8472
# If you add NameVirtualHost *:443 here, you will also have to change # the VirtualHost statement in /etc/apache2/sites-available/default-ssl # to # Server Name Indication for SSL named virtual hosts is currently not # supported by MSIE on Windows XP. Listen 443 Listen 443 root@zenjohan:/etc/apache2# cat /etc/apache2/sites-available/default
ServerAdmin webmaster@localhost DocumentRoot /var/www Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all Voorbereiding examen Netwerkbeheer 2
Pagina 12
ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined ServerAdmin webmaster@localhost DocumentRoot /var/wwwblue Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined ServerAdmin webmaster@localhost DocumentRoot /var/wwwred Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all Voorbereiding examen Netwerkbeheer 2
Pagina 13
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined ServerAdmin webmaster@localhost DocumentRoot /var/wwwgreen Options FollowSymLinks AllowOverride None Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined
Voorbereiding examen Netwerkbeheer 2
Pagina 14
SSH - public and private key We gebruiken openssh voor inloggen op remote server, vanuit Windows gebruiken we Putty voor het leggen van deze verbindingen. Indien we en beveiligde verbinding willen maken met een remote server of toestel, kunnen we ssh gebruiken. We creëren hierbij een sleutelpaar: op die manier kan men blijven aanloggen op het andere toestel ook al wordt het paswoord veranderd: We doen dit als volgt: opm: hier werd root gebuikt - niet verstandig! root@debianjohan:~# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): geen passphrase invoeren Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 65:3d:35:ff:55:af:66:0c:23:2d:23:8d:bc:28:69:84 root@debianjohan The key's randomart image is: +--[ RSA 2048]----+ | o .| | . . o o . oo| | E . + B * +| | . . . = + = .o| | + . S = .| | .. o | | | | | | | +-----------------+ root@debianjohan:~# ls -l .ssh totaal 8 -rw------- 1 root root 1679 jan 6 13:21 id_rsa -rw-r--r-- 1 root root 398 jan 6 13:21 id_rsa.pub De onzichtbare directory ~/.ssh werd gecreêerd. We doen dit ook voor user Johan root@debianjohan:~# ls -l .ssh totaal 8 -rw------- 1 root root 1679 jan 6 13:21 id_rsa -rw-r--r-- 1 root root 398 jan 6 13:21 id_rsa.pub johan@debianjohan/root$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/johan/.ssh/id_rsa): Created directory '/home/johan/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/johan/.ssh/id_rsa. Your public key has been saved in /home/johan/.ssh/id_rsa.pub. The key fingerprint is: d1:3e:04:b5:3a:e6:9c:21:1d:1f:a9:27:17:4b:a3:61 johan@debianjohan The key's randomart image is: +--[ RSA 2048]----+ Voorbereiding examen Netwerkbeheer 2
Pagina 15
| ... | | oo | | EX | | o%= | | .SB | | =B. | | + | | | | | +-----------------+ johan@debianjohan/root$ ls -l ~/.ssh totaal 8 -rw------- 1 johan johan 1675 jan 6 13:24 id_rsa -rw-r--r-- 1 johan johan 399 jan 6 13:24 id_rsa.pub
id_rsa is de private sleutel id_rsa_pub is de publieke sleutel Om twee personen te laten communiceren zijn deze sleutels nodig: Wanneer Anna een beveiligd bericht wil sturen naar Benjamin, dan gebruikt Anna de publieke sleutel van Benjamin. Dat wil zeggen dat Anna ook de publieke sleutel van Benjamin moet hebben (vandaar de naam publieke sleutel) Omdat enkel Benjamin de private sleutel heeft van Benjamin, is Anna zeker dat het bericht enkel door Benjamin kan gelezen worden. Wanneer Benjamin wil verifiëren dat de boodschap effectief van Anna kwam, gebruikt Benjamin hiervoor de publieke sleutel van Anna. Vermits enkel Anna de private sleutel heeft van Anna, is Benjamin zeker dat Anna het bericht stuurde.
iSCSI Met het iSCSI-protocol delen we harde schijven over tcp/ip. De schijven zitten dan niet in de eigen computer, maar in een andere (meestal een SAN - Storage Area Network) Best is een schema op te stellen van hoe het netwerk eruit moet zien met deze iscsi-schijven.
Target: dit is het toestel waar de fysieke schijven zitten
Initiator: dit is het toestel dat de fysiekeruimte benadert
Een iSCSI-target opzetten In dit voorbeeld gaan we 3 bestanden gebruiken die in de map /srv/iscsi zitten (aanmaken!) We doen dit als volgt: # dd if=/dev/zero of=/srv/iscsi/disk1 count=204800 bs=10 # dd if=/dev/zero of=/srv/iscsi/disk2 count=204800 bs=10 # dd if=/dev/zero of=/srv/iscsi/disk3 count=204800 bs=10 Controle: # ls -lh /srv/iscsi/ total 601M -rw-r--r-- 1 root root 200M Jan 8 07:10 disk1 -rw-r--r-- 1 root root 200M Jan 8 07:10 disk2 -rw-r--r-- 1 root root 200M Jan 8 07:10 disk3 Voorbereiding examen Netwerkbeheer 2
Pagina 16
Eerst de Target software installeren. # aptitude search iscsi p iscsitarget - iSCSI Enterprise Target userland tools p iscsitarget-dkms - iSCSI Enterprise Target kernel module source p iscsitarget-source - iSCSI Enterprise Target kernel module source p open-iscsi - High performance, transport independent iSCSI # aptitude install iscsitarget iscsitarget-dkms
Default staat de Target uit: # grep ENABLE /etc/default/iscsitarget ISCSITARGET_ENABLE=false # vi /etc/default/iscsitarget # grep ENABLE /etc/default/iscsitarget ISCSITARGET_ENABLE=true
aanpassen in aan
We bekijken even de config file /etc/iet/ietd.conf en passen deze als volgt aan:
# cp ietd.conf ietd.conf.backup # vi ietd.conf # > ietd.conf # vi ietd.conf # cat ietd.conf Target iqn.2013-01.be.linux-training:storage.lun1 IncomingUser OutgoingUser Lun 0 Path=/srv/iscsi/disk1,Type=fileio Alias LUN1 We bekijken ook de lijst van toegelaten Initiators (default laat die iedereen toe).
# vi initiators.allow # cp initiators.allow initiators.allow.backup # > initiators.allow # vi initiators.allow # cat initiators.allow iqn.2013-01.be.linux-training:storage.lun1 192.168.1.129 We laten 192.168.1.129 toe om te verbinden met /srv/iscsi/disk1. We starten de service en controleren in /proc dat alles werkt.
# service iscsitarget start Starting iSCSI enterprise target service:. . root@exaam:/etc/iet# cat /proc/net/iet/session tid:1 name:iqn.2013-01.be.linux-training:storage.lun1 De Target is klaar.
Een iSCSI Initiator opzetten De iSCSI Initiator gaat op zoek naar diskruimte die op een ander (fysiek) toestel zit. De software installeren:
# aptitude search iscsi p iscsitarget - iSCSI Enterprise Target userland tools p iscsitarget-dkms - iSCSI Enterprise Target kernel module source p iscsitarget-source - iSCSI Enterprise Target kernel module source p open-iscsi - High performance, transport independent iSCSI i Voorbereiding examen Netwerkbeheer 2
Pagina 17
# aptitude install open-iscsi De configfile aanpassen:
# cd /etc/iscsi/ # vi iscsid.conf # grep ^node.startup iscsid.conf node.startup = manual # vi iscsid.conf # grep ^node.startup iscsid.conf node.startup = automatic De service herstarten:
# service open-iscsi restart De Target zoeken:
# man iscsiadm # iscsiadm -m discovery -t st -p 192.168.1.118 192.168.1.118:3260,1 iqn.2013-01.be.linux-training:storage.lun1 # man iscsiadm # iscsiadm -m node 192.168.1.118:3260,1 iqn.2013-01.be.linux-training:storage.lun1 Eens kijken wat die commando's ons allemaal geven in /etc/iscsi/nodes.
# ls -l /etc/iscsi/nodes/ Je ziet nog geen extra block device:
# fdisk -l Eerst de service herstarten
# service open-iscsi restart Nu zie je wel een nieuw block device:
# fdisk -l De rest van het verhaal ken je:
# fdisk /dev/sdb # mkfs.ext3 /dev/sdb1 # mkdir /srv/project42 # mount /dev/sdb1 /srv/project42 # df -h | grep project42 Prakijkgeval:
root@zenjohan:~# service open-iscsi status Current active iSCSI sessions: tcp: [1] 192.168.3.64:3260,1 iqn.2013-01.be.johandisk1:storage.lun1 root@zenjohan:~# service open-iscsi stop Unmounting iscsi-backed filesystems: Unmounting all devices marked _netdev. Disconnecting iSCSI targets:Logging out of session [sid: 1, target: iqn.2013-01.be.johandisk1:storage.lun1, portal: 192.168.3.64,3260] Logout of [sid: 1, target: iqn.2013-01.be.johandisk1:storage.lun1, portal: 192.168.3.64,3260]: successful . Stopping iSCSI initiator service:
Voorbereiding examen Netwerkbeheer 2
Pagina 18