Wireless Leiden Eduroam bij Wireless Leiden 802.1x
Productverslag
Naam Organisatie Datum Opleiding Document Versie
: : : :
Richard van Mansom Wireless Leiden 9 Juni 2008 Hogeschool Leiden Informatica : Productrverslag : 1.0
Productverslag
Richard van Mansom
s1001962
Inhoudsopgave Gegevens ...................................................................................................................................................... 3 1. Aannames ................................................................................................................................................. 4 1.3 Volgorde .................................................................................................................................................. 5 2. Node .......................................................................................................................................................... 6 3. Gateway .................................................................................................................................................. 11 4. Individuele instellingen van RADIUS ...................................................................................................... 15 5. Tunnels.................................................................................................................................................... 18 6. MultiSSID ................................................................................................................................................ 26 7. Firewall .................................................................................................................................................... 30 8. Bridge ...................................................................................................................................................... 32 9. Kernel ...................................................................................................................................................... 33
Pagina 2 van 34
Productverslag
Richard van Mansom
s1001962
Gegevens Gegevens student Naam: Adres: Postcode: Plaats: Telefoon: E-Mail School E-Mail: StudentNR: Mentor:
: : : : : : : : :
Richard van Mansom Terschelling 244 3524az Utrecht (06) 1248 1824
[email protected] 1001962 Eric van Wessel
Gegevens stageorganisatie Naam Contact Internet
: Wireless Leiden : Gebruik relevante mailinglist (http://lijst.wirelessleiden.nl) : http://www.wirelessleiden.nl
Bezoekadres Adres Postcode Plaats
: Langebrug 56a : 2311 TM : Leiden
Postadres Adres Postcode Plaats
: Langebrug 56a : 2311 TM : Leiden
Gegevens stagebegeleider Naam Email Telefoon Functie
: : : :
Huub Schuurmans
[email protected] Ga naar de website en klik contact. Zie paragraaf pers. Bestuursraadlid / Penning meester / Persvoorlichter
Gegevens stagedocent Naam Email Telefoon
: Peter van der Wijden :
[email protected] : (071) 518 85 97
Pagina 3 van 34
Productverslag
Richard van Mansom
s1001962
1. Aannames 1.1 Instellingen Het is nog niet mogelijk om de IP rangen te specificeren. Als Surfnet IP adressen beschikbaar stelt dan is op dat moment pas duidelijk welke range het wordt. Er wordt vanuit gegaan dat de range die beschikbaar wordt gesteld de volgende is (deze dient vervangen te worden voor de range van IP adressen welke Surfnet beschikbaar stelt): 192.168.84.0/24 Het contact met de Eduroam instelling is nog niet op het punt dat configuraties overlegd kunnen worden. De DNS server wordt als voorbeeld het volgende: 192.168.85.2 Het IP adres dat gebruikt wordt door de Radius Server voor de koppeling met het Wireless Leiden netwerk. Dit kan veranderd worden als dit consequent wordt doorgevoerd. 172.16.3.22/30 Het IP adres dat gebruikt wordt door de node voor de koppeling met het Wireless Leiden netwerk. Dit kan veranderd worden als dit consequent wordt doorgevoerd. 172.16.4.22/30
1.2 Tekstbewerker Er wordt vanuit gegaan dat het programma ‘vi’ wordt gebruikt als tekstbewerker. Mocht een ander programma de voorkeur hebben dan kunnen de commando’s welke met ‘vi’ beginnen aangepast worden naar wens. Kies wel een tekstbewerker die plain tekst ondersteunt. Bij het toevoegen van extra data kan de werking van het programma beïnvloedt worden. Er wordt ook vanuit gegaan dat de werking van de tekstbewerker bekend is.
1.3 Supplicant De supplicant is de laptop van de student/docent. Bij het gebruik van Eduroam is deze al ingesteld omdat dit ook nodig is voor het netwerk van de onderwijsinstelling waar deze toe behoord. Omdat de supplicant niet tot de Wireless Leiden infrastructuur behoord wordt het gebruik hiervan niet in dit verslag toegelicht. De handleiding voor de installatie verschilt iets per onderwijsinstelling (gebruik van outer identify, certificaten, etc). Als er een Eduroam instelling beschikbaar is dient de handleiding van deze instantie gebruikt te worden. Deze is op het moment van schrijven nog niet beschikbaar.
Pagina 4 van 34
Productverslag
Richard van Mansom
s1001962
1.4 Volgorde
De blokken zijn de hoofdstukken. Begin bij start en volg de lijnen naar beneden. Het is ook mogelijk om de hoofdstukken in bestaande volgorde uit te voeren. Uitleg lijnen a. Al is het mogelijk om hoofdstuk 6 uit te voeren voor hoofdstuk 2, is er uitleg in hoofdstuk 2 nodig bij geen voorkennis. b. De tunnel loopt tussen de node en de gateway. Een werkende node is dus nodig. c. De tunnel loopt tussen de node en de gateway. Een werkende gateway is dus nodig. d. Voor de firewall is een werkende gateway nodig. e. De installatie van de radius server bevindt zich in hoofdstuk 3. Configuratie is niet mogelijk zonder geïnstalleerd product. f. De Bridge koppelt de tunnel aan een interface. Een tunnel is dus nodig.
Pagina 5 van 34
Productverslag
Richard van Mansom
s1001962
2. Node 2.1 Theorie WPA Voor het versleutelen van draadloze netwerken zijn verschillende technieken beschikbaar. WEP en WPA zijn de twee technieken die het breedst gebruikt zijn. Om een zo breed mogelijk publiek aan te spreken dient een van deze twee technieken gebruikt te worden. Van de twee is WPA veruit het veiligst. Er zijn programma’s bekend die de WEP Encryptie sleutel binnen 10 minuten kraken. In verband met veiligheid wordt het signaal met WPA versleuteld. Surfnet heeft het gebruik van WPA ook als eis gesteld. Er zijn wel Eduroam netwerken met WEP, echter is dit niet de standaard en zullen dus ook verdwijnen. De Senao kaarten welke gebruikt worden in het netwerk van Wireless Leiden ondersteunen geen WPA. De Atheros kaarten doen dit wel. Nodes die geen Atheros kaarten ingebouwd hebben kunnen alleen gebruik worden met WEP Encryptie wat een beveiligingsprobleem is. Het is om deze reden niet aan te raden om op deze nodes 802.1x te implementeren.
2.2 Minimale installatie Er wordt gebruik gemaakt van een 512 MB CompactFlash Card. Op deze kaart is een minimale installatie uitgevoerd van FreeBSD 7.0. Deze installatie heeft plaatsgevonden via een pc op een Flash Card Reader. Als de Flash Card Reader is aangesloten op het moment dat FreeBSD opstart vanaf de installatie cd, dan vindt de installatie applicatie de CompactFlash Card en kan hier op installeren. Afwijkingen tijdens de installatie • Maak 1 partitie aan welke de volledige Flash Card gebruik, maak dus geen SWAP Partitie aan. De SWAP partitie kan de FlashCard beschadigen. • Kies in plaats van de Default Boot Loader een Master Boot Record. In het keuze menu is dit de tweede optie (de middelste). Aanpassen na de installatie • Boot.config Maak een file aan op “/boot.config”, Type hiervoor: touch /boot.config In dit bestand wordt de tekst “-h” geplaatst. Deze actie dwingt de bootloader er toe om de tekst output naar de seriële poort te sturen. Als dit niet gedaan wordt, dan wordt de output (tekst) naar het beeldscherm gestuurd welke niet beschikbaar is op de Soekris. •
Ttys Wijzig het bestand “/etc/ttys” Pas de lijn aan welke begint met “ttyd0”. Verander “dailup” in “vt100” en “off” in “on”. Pagina 6 van 34
Productverslag
Richard van Mansom
s1001962
Deze actie zorgt er voor dat er bij gebruik van de seriële poort om een wachtwoord gevraagd wordt. Indien deze actie niet wordt uitgevoerd, dan kan iedere persoon met fysieke toegang tot de node zonder wachtwoord veranderingen doorvoeren (ook het root account). •
Fstab Wijzig het bestand “/etc/fstab” Verwijder de lijn welke begint met “cdrom”. Deze lijn is overbodig omdat de Soekris geen optisch station (cd/dvd) heeft. Er zijn nu twee regels over, de lijn welke begint met “#” en de lijn welke begint met “/dev/….”. Verander op de tweede lijn de tekst welke onder “device” vermeldt staat in “/dev/ad0s1a”. Omdat de Flashcard is geïnstalleerd via een Flash Card Reader staat hier vermeld dat de partitie zich op een USB apparaat bevindt. Dit is niet het geval als de Flash Card zich in de Soekris bevindt. Als deze actie niet wordt uitgevoerd dan zoekt de Soekris tijdens het opstarten naar een USB apparaat welke niet beschikbaar is in de Soekris. Het opstarten wordt dan onderbroken. Onder “Options” staat “rw” verander dit in “ro”. Flash Kaarten hebben het nadeel dat zij een beperkt aantal schrijf cyclussen aan kunnen zonder te beschadigen. Door deze tekst wordt bij het laden (mounten) van de partitie deze als alleen lezen gemarkeerd waardoor er niet op geschreven kan worden. Als dit niet gedaan wordt dan begeeft de Flash Kaart het na een aantal dagen aanstaan in een node.
•
Loader.rc Wijzig de file “/boot/loader.rc” Plaats een backslash (\) gevolgd door een spatie voor de volgende tekst include /boot/beastie.4th Plaats onderaan de file de tekst “autoboot 0”. Deze acties zorgen er voor dat er bij het opstarten geen keuzemenu wordt getoond. Dit scheelt 10 seconden in de opstarttijd.
2.3 Kernel Aanpassen HostAPD gebruikt een aantal kernelmodules welke niet in een standaard installatie zitten. Deze moeten aangepast worden. • Wlan_xauth Deze module is benodigd voor WPA en 802.1x functionaliteit • Wlan_acl Deze module is benodigd voor Access Control Lists op basis van MAC adressen. Deze functionaliteit wordt niet gebruikt maar is wel nodig voor het normaal opstarten van HostAPD.
Pagina 7 van 34
Productverslag
Richard van Mansom
s1001962
HostAPD is ook afhankelijk van de volgende modules, deze bevinden zich standaard in de kernel. • Wlan Deze module is de basis voor de 802.11 functionaliteit. • Wlan_wep Deze module biedt WEP functionaliteit. WEP Encryptie wordt niet gebruik. De module is nodig voor het foutloos opstarten van HostAPD. • Wlan_ccmp • Wlan_tkip Deze modules verzorgen de encryptie voor WPA.
2.4 Hostapd Installeren In een minimale (of elk andere installatiemethode) bevindt zich standaard HostAPD. Echter bij het opbouwen buiten de installatie cd om met losse gekopieerde bestanden kan HostAPD ook geïnstalleerd worden. Er zijn dan 3 belangrijke bestanden /etc/rc.d/hostapd Dit bestand kan de HostAPD Daemon starten/herstarten/afsluiten. /usr/sbin/hostapd Dit is hostapd. /usr/sbin/hostapd_cli Dit bestand biedt een aantal functionaliteit aan HostAPD.
2.5 HostAPD configuratiebestand Bij het opstarten van HostAPD tijdens het node opstartproces dient het configuratiebestand op “/etc/hostapd.conf” te staan. Bij het handmatig opstarten van HostAPD kan het configuratiebestand ook op een andere locatie staan. Het gebruikte configuratiebestand (/etc/hostapd.conf) interface=ath0 driver=bsd ssid=richard.wleiden.net macaddr_acl=0 wpa=2 ieee8021x=1 wpa_key_mgmt=WPA-EAP wpa_pairwise=CCMP TKIP auth_server_addr=192.168.2.71 auth_server_port=1812 auth_server_shared_secret=somesecret eapol_key_index_workaround=1
Pagina 8 van 34
Productverslag
Richard van Mansom
s1001962
Nogmaals het configuratiebestand (met uitleg) # ath0 is de interface welke het signaal moet uitzenden interface=ath0 # de gebruikte driver (stuurprogramma) driver=bsd # De naam van het draadloze netwerk welke uitgezonden wordt. ssid=richard.wleiden.net # Er wordt geen gebruik gemaakt van Mac Access Contol, vandaar de 0 macaddr_acl=0 # wpa wordt gebruikt als encryptie, de 2 staat voor versie 2 (i.p.v. versie # 1 of onbeveiligd) wpa=2 # De volgende regel geeft aan dat er gebruik wordt gemaakt van 802.1x ieee8021x=1 # Het gebruikte protocol voor het uitwissel van authenticatie gegevens. wpa_key_mgmt=WPA-EAP # De gebruikte versleuteling van WPA wpa_pairwise=CCMP TKIP # Geeft het IP adres aan van de authenticatie server (Radius server). Bij het gebruik van tunnels dient het IP adres gekozen te worden dat gebruik maakt van de tunnel. auth_server_addr=XXX.XXX.XXX.XXX # Geeft het port nummer aan van de authenticatie server (Radius server) auth_server_port=1812 # Het wachtwoord van de trust tussen de authenticatie server en de node auth_server_shared_secret=somesecret # Een bug in de communicatie tussen Windows XP en HostAPD wordt met de # volgende regel voorkomen. eapol_key_index_workaround=1
Pagina 9 van 34
Productverslag
Richard van Mansom
s1001962
2.6 Hostapd automatisch opstarten Bij een standaard installatie van FreeBSD start HostAPD niet automatisch op bij het opstarten van de node. Dit is wel gewenst omdat er anders geen beveiligingssignaal uitgezonden wordt. Het automatisch opstarten kan verzorgt worden met de volgende acties. Wijzig het bestand “/etc/rc.conf” Doe dit door de volgende tekst in te vullen vi /etc/rc.conf Voeg in dit bestand de volgende tekst toe hostapd_enable=”YES”
Pagina 10 van 34
Productverslag
Richard van Mansom
s1001962
3. Gateway 3.1 Theorie Proxy De Authenticator is een RADIUS server. Deze server bevat volgens het 802.1x protocol de gebruikersaccounts. De gebruikersaccounts van Eduroam instellingen zijn niet beschikbaar bij andere instelling (dus ook niet bij Wireless Leiden). Om 802.1x/eduroam op het Wireless Leiden netwerk te laten werken zijn geen gebruikersaccounts nodig, de authenticatie verzoeken moeten doorgezet worden naar de Surfnet Radius server. De Surfnet Radius server stuurt het verzoek op zijn beurt door naar de RADIUS Server van de deelnemende instelling. De RADIUS server van deze instelling bevat de gebruikersaccounts. De Accept of het Reject op het authenticatieverzoek wordt via het zelfde pad terug gestuurd, waarna de node toegang verschaft (of niet). Voor test doeleinde is het wel nodig om een RADIUS server met gebruikersaccounts geïnstalleerd te hebben. Er zijn voor test doeleinde twee RADIUS Servers nodig. De RADIUS server welke de gebruikersaccounts bevat (Account RADIUS) en de RADIUS Server welke de authenticatieverzoeken doorstuurt naar Surfnet of andere 802.1x netwerken (Proxy RADIUS).
Realms Een Radius server kan authenticatie verzoeken doorsturen naar verschillende (andere) Radius Servers. Als er meerdere Radius server zijn dan wordt er gebruik gemaakt van Realms. Op basis van een Realm wordt het authenticatie verzoek doorgestuurd naar een andere Radius server. Een Realms is een deel van de gebruikersnaam. Er zijn standaard verschillende syntaxen, een aantal voorbeelden De emailadres syntax
[email protected] De NT Domein syntax student.hsleiden.nl\s1234567 In beide syntaxen is “s1234567” de gebruikersnaam en “student.hsleiden.nl” het Realm.
3.2 Basis installatie De volgende installatie stappen (op DHCP na) zijn toepasbaar op zowel de Proxy RADIUS server als de RADIUS server welke gebruikersaccounts bevat.
Pagina 11 van 34
Productverslag
Richard van Mansom
s1001962
Installatie Elke FreeBSD installatie volstaat, echter wordt er vanuit gegaan dat de minimale installatie gebruikt wordt. Dit resulteert in een licht systeem, wat minder vraagt van de hardware van de host. Ook wordt duidelijk welke additionele software nodig is. De kans bestaat dat deze software op een meer compleet systeem al standaard draait. Het systeem kan geïnstalleerd worden met alle standaard instellingen.
3.3 DHCP Server Als een client verbinding heeft met de node dan dient de node de client een ip adres te geven. Dit wordt gedaan door de DHCP server. Deze bevindt zich niet standaard in de installatie. Deze kan toegevoegd worden door het volgende commando Type: pkg_add -r isc-dhcp3-server Dit commando zorgt er voor dat de dhcp server wordt geïnstalleerd. Er wordt gekozen de DHCP server op de Gateway te plaatsen om twee redenen • Als er een publieke IP range door Surfnet beschikbaar gesteld zou worden dan zal dit waarschijnlijk een /24 Iprange zijn. Dit betekend 254 ip adressen die verdeeld kunnen worden. Als de DHCP op de node geplaatst wordt dan moet deze range verdeeld worden over alle nodes. Bij 70 nodes is dit dan minder dan 4 per node. Op drukke punten zal dit naar alle waarschijnlijkheid niet voldoende zijn. Bij 1 server die de ip adressen uitgeeft kan de range verdeeld worden naar aanvraag. • Veiligheid Alle servers die gecentraliseerd kunnen worden dienen ook gecentraliseerd te worden op de Gateway. Dit omdat de gateway het veiligste punt is in de infrastructuur.
Configureren Type: touch /usr/local/etc/dhcpd.conf Dit commando maakt een bestand aan op de standaard locatie waar de DHCP server naar een configuratiebestand zoekt (/usr/local/etc/dhcpd.conf) Type: vi /usr/local/etc/dhcpd.conf Dit commando opent de tekstbewerker “vi”. Voeg hier de volgende tekst in: default-lease-time 7200; max-lease-time 2592000; ddns-update-style none; option domain-name-servers 192.168.85.2; subnet 192.168.84.0 netmask 255.255.255.0 { range 192.168.84.2 192.168.84.254; option broadcast-address 192.168.84.255; option subnet-mask 255.255.255.0; option routers 192.168.84.1; }
Pagina 12 van 34
Productverslag
Richard van Mansom
s1001962
Nogmaals het configuratiebestand (met uitleg) # Leasetime is de duur dat het ip adres in bezit is van client voor dat deze # een nieuw ip adres nodig heeft. De tijden gegeven zijn standaard binnen # Wireless Leiden. default-lease-time 7200; max-lease-time 2592000; # Dynamic DNS. Dit houdt in dat de clients die een IP adres opvragen # geregistreerd worden in DNS. Dit is niet van toepassing. ddns-update-style none; # De DNS server welke wordt toegewezen aan de client option domain-name-servers 192.168.85.2; # Het IP netwerk welke gekoppeld is aan de client en de interface waar # de DHCP naar moet luisteren. subnet 192.168.84.0 netmask 255.255.255.0 { # De range waaruit IP adressen worden uitgedeeld. range 192.168.84.2 192.168.84.254; # Het broadcast adres welke wordt uitgedeeld aan de clients option broadcast-address 192.168.84.255; # De subnetmask welke wordt uitgedeeld aan de clients option subnet-mask 255.255.255.0; # De Default Gateway welke wordt uitgedeeld aan de clients. option routers 192.168.84.1; }
3.4. FreeRadius De keuze is op FreeRadius gevallen omdat deze het breedste gedocumenteerd is en ondersteuning bied aan een groot scala van opties en authenticatie standaards. In het gebruik van 802.1x wordt er gebruik gemaakt van een techniek die “outer identity” genaamd is. FreeRADIUS is de enige testte Radius servers die ondersteuning biedt voor deze techniek. Proxy/Account In dit voorbeeld wordt er van uitgegaan dat er een Radius server met Acounts aanwezig is. Dit is alleen voor testdoeleinde. Bij een installatie in het netwerk moeten de gegevens van de accountradius server vervangingen worden door de gegevens van Surfnet.
Pagina 13 van 34
Productverslag
Richard van Mansom
s1001962
3.4.1 Gmake De installatie van Gmake is nodig voor het compileren van FreeRadius. Deze kan geïnstalleerd worden met de volgende stappen: Een handleiding inclusief screendumps is te vinden op http://svn.wirelessleiden.nl/svn/projects/802.1x/ 1. Login als root. 2. Type /usr/sbin/sysinstall 3. Kies “Configure” Met deze optie kunnen onderdelen toegevoegd worden aan de installatie. 4. Kies “Packages” Door deze optie is het mogelijk kant en klaar pakketten toe te voegen. 5. Kies “CD/DVD Install from a FreeBSD CD/DVD” Met deze optie worden de mogelijke pakketen van de cd gelezen. 6. Kies “devil Software development utilities and libraries” 7. Selecteer “gmake-3.81_1”. En druk <space>. Kies “OK”. Door deze optie te kiezen worden meer onderdelen geselecteerd. Alleen gmake hoeft geselecteerd te worden. Houd de andere onderdelen wel geselecteerd. 8. Kies “[Install]” 9. Kies “OK” 10. Kies “Yes” 11. Vervang “Disk 1” met “Disk 2”, Kies “OK”. Alle benodigde bestanden staan op disk 2. 12. Kies “OK”
3.4.2 Installatie Deze installatiestappen zijn toepasbaar op versie 2.0.4. (en mogelijk andere). 1. Download FreeRadius vanaf http://www.freeradius.org/download.html 2. Ga naar de directory waar Freeradius gedownload is. 3. Type: gunzip freeradius-server-2.0.4.tar.gz 4. Type: tar –xvf freeradius-server-2.0.4.tar 5. Type: cd freeradius-server-2.0.4 6. Type: ./configure 7. Type: make 8. Type: make install FreeRadius is geïnstalleerd.
3.4.3 Overige instellingen Voor de overige configuratie van FreeRADIUS dient er naar de directory “/usr/local/etc/raddb” gewisseld te worden. Het is ook mogelijk om voor elk bestand dat geopend wordt de tekst “/usr/local/etc/raddb” te zetten. Wisselen wordt gedaan door het volgende in te tikken cd /usr/local/etc/raddb <enter> Pagina 14 van 34
Productverslag
Richard van Mansom
s1001962
4. Individuele instellingen van RADIUS 4.1 Accounts Radius Server De volgende configuratiestappen zijn alleen toepasbaar op de RADIUS Server welke de gebruikers accounts bevat. Deze wordt in deze handleiding “Accounts Radius” genoemd
4.1.1 Clients De client van deze server is de Proxy Radius Server. Edit clients.conf Doe dit door het volgende in te tikken vi clients.conf Voeg hier de volgende tekst toe client
{ secret : <sleutel> shortname : } Vervang voor het ip adres van de Proxy Radius Server. Vervang <sleutel> voor de shared key tussen de Proxy Radius Server en deze radius server. Vervang voor een willekeurige tekst. Deze regel moet toegevoegd worden, echter is deze niet belangrijk voor het functioneren.
4.1.2 Users Dit zijn de gebruikersaccounts voor de testgebruikers. Edit users Doe dit door het volgende in te tikken vi users Voeg in deze file een test gebruiker toe. Deze kan later verwijderd worden door een hekje (#) voor de regel te plaatsen of de tekst te verwijderen. De tekst hiervoor is: ”” Cleartext-Password := “” Vervang voor de gebruikersnaam van de testaccount. Vervang voor het wachtwoord van de testaccount.
Pagina 15 van 34
Productverslag
Richard van Mansom
s1001962
4.1.3 Outer Identity De outer Identity ook wel de eerste fase genoemd (Phase 1) is een identiteit zoals deze zichtbaar is buiten de 802.1x tunnel. De Outer Identity is onbeveiligd en is daardoor niet geschikt (of bedoeld) voor authenticatie. De gebruikersnaam en wachtwoord wordt ook wel de “inner identity” genoemd, welke versleuteld is in de tunnel. De Outer Identity is publiek de Inner Identity niet. Als het authenticatie verzoek inclusief outer identity aankomt bij de Radius server. Dan ziet FreeRadius de outer identity als een gebruikersnaam. Omdat de Outer Identity geen gebruikersnaam is (het bevat ook geen wachtwoord) zal FreeRadius reageren met een Reject. Dit heeft als gevolg dat de connectie met de supplicant (client) verbroken wordt. De kans bestaat dat er (eduroam) netwerken zijn die de Outer Identity gebruiken, dit betekend dat het netwerk compatible moet zijn met de Outer Identity. Het negeren van de Outer Identity dient dus te gebeuren op de Radius Server welke de gebruikersaccounts bevat. Deze wordt niet gebruikt bij het gebruik van Eduroam. Negeer de Outer Identity met de volgende stappen 1. Edit eap.conf, Type hiervoor: vi eap.conf 2. In dit bestand worden niveau’s aangegeven met accolades “{}”. Zoek de tekst “eap {“ op 3. Verder in het document staat de tekst “TTLS {“ 4. Plaats hieronder de tekst username_identity_check = “NO” 5. Herstart de Radius server
4.2 Proxy Radius Server Deze Installatie stappen zijn toepasbaar op de Proxy Radius Server (De server bij Wireless Leiden). Dit is de server welke de RADIUS verzoeken van de nodes doorstuurt naar de RADIUS Server van Surfnet (en andere 802.1x netwerken). In dit voorbeeld wordt er doorverwezen naar de Accounts RADIUS server.
4.2.1 Clients De clients zijn bij Wireless Leiden de Nodes. Elke node moet geregistreerd worden op de Radius server. Edit clients.conf, Type hiervoor: vi clients.conf Voeg hier de volgende tekst toe client { secret : <sleutel> shortname : } Pagina 16 van 34
Productverslag
Richard van Mansom
s1001962
Vervang voor het ip adres van de node. Vervang <sleuten> voor de shared key tussen de node en deze radius server. Vervang voor een willekeurige tekst. Deze regel moet toegevoegd worden, echter is deze niet belangrijk voor het functioneren.
4.2.2 Proxy Deze Radius server functioneert als Radius-Proxy server. Edit proxy.conf, Type hiervoor: vi proxy.conf Voeg hier de volgende tekst toe realm { authhost : :1812 accthost : :1813 secret : <sleutel> nostrip } Vervang voor een realm naam. Vervang voor het ip adres van de home server. Vervang <sleutel> voor de sleutel zoals deze op de home server is ingesteld. “nostrip” geeft aan dat bij het doorrouten van het authenticatieverzoek de Realm naam niet verwijderd mag worden uit de gebruikersnaam. Dit is belangrijk bij Surfnet omdat deze de Realm naam ook nodig heeft voor het doorsturen van het authenticatieverzoek. Als bedrijven gebruik gaan maken van 802.1x voor netwerk toegang dan is deze configuratie optioneel. De home server is de server welke de volgende stap is in de authenticatie keten. Voor testdoeleinde is dit de Radius server binnen Wireless Leiden welke de gebruikersaccounts bevat. Voor Eduroam is dit de Radius server van Surfnet. DEFAULT realm De realm genaamd “DEFAULT” omvat alle realms. In het Wireless Leiden netwerk betekend het dat dit realm gekozen moet worden. Mocht dit niet gedaan worden dan moet elk Eduroam lid apart gespecificeerd worden.
Pagina 17 van 34
Productverslag
Richard van Mansom
s1001962
5. Tunnels De IPsec tunnel is de tunnel welke de voorkeur heeft voor implementatie. Echter is door tijdgebrek de koppeling van de Wireless NIC aan de tunnel niet gerealiseerd. Deze koppeling is als vervolg opdracht gespecificeerd. Dit is wel gerealiseerd bij OpenVPN, dit is waarom zowel de IPsec tunnel als de OpenVPN tunnel omschreven worden.
5.1 OpenVPN Installeer openvpn, Type hiervoor: pkg_add –r openvpn
5.1.1 EasyRSA Voor het gebruik van VPN worden certificaten gebruikt. Deze zijn veiliger dan shared key. Er wordt gebruik gemaakt van EasyRSA om de certificaten aan te maken. Er is voor easy-rsa gekozen omdat de handleiding van OpenVPN aangeeft hoe dit werkt. De tool die de certificaten aanmaakt is niet belangrijk. Het doel is dat er certificaten aangemaakt worden. Easy-RSA wordt meegeleverd met OpenVPN Bij het bouwen van de ca, server certificaat en het node certificaat worden om een aantal gegevens gevraagd. Deze dienen in alle gevallen volledig over een te komen. Indien dit niet tot op de letter overeenkomt zal de authenticatie mislukken. Kopieer de bestanden van easy-rsa naar een plek waar deze makkelijk te vinden zijn. In dit voorbeeld wordt er gebruik gemaakt van /easy-rsa, Type hiervoor: cp /usr/local/share/doc/openvpn/easy-rsa / Ga naar deze directory toe cd /easy-rsa De easy-rsa scripts gaan er van uit dat er in shell gewerkt wordt. Type hiervoor: sh Registreer variabele die nodig zijn voor de werking van easy-rsa . ./vars Zorg dat alle voorgaande configuraties gewist worden. Door het gebruik van dit commando worden alle voorgaan opgeslagen sleutels en instellingen verwijderd. Doe dit dus alleen de eerste keer. ./clean-all Pagina 18 van 34
Productverslag
Richard van Mansom
s1001962
Bouw een CA file ./build-ca Creëer een server key (de public key), deze wordt op de server geplaatst. In dit voorbeeld wordt deze gateway genoemd. Dit kan na wens aangepast worden. ./build-key-server gateway Creëer een client key (de private key), deze wordt op de node geplaatst. In de voorbeeld wordt deze client1 genoemd. Deze stap moet voor elke node herhaald worden. Elke node moet een uniek certificaat bevatten. ./build-key client1 Creëer een dh bestand ./build-dh Kopieer de volgende bestanden naar de gateway. • ca.crt • dh1024.pem • gateway.crt • gateway.key Kopieer de volgende bestanden naar de node • ca.crt • client1.crt • client1.key
5.1.2 Server configureren Maak een bestand aan op /usr/local/etc/openvpn/openvpn.conf (maak indien nodig de map /usr/local/etc/openvpn aan), om het bestand aan te maken type: touch /usr/local/etc/openvpn/openvpn.conf Open het zojuist aangemaakte bestand, Type hiervoor: vi /usr/local/etc/openvpn/openvpn.conf
Pagina 19 van 34
Productverslag
Richard van Mansom
s1001962
Plaats in dit bestand de volgende tekst: port 1194 proto tcp dev tap0 ca /root/ca.crt cert /root/gateway.crt key /root/gateway.key dh /root/dh1024.pem server-bridge 192.168.3.1 255.255.255.0 192.168.3.100 192.168.3.150 mode server persist-key persist-tun verb 3 Nogmaals het bestand, ditmaal met uitleg # De port welke gebruikt wordt om naar VPN verkeer te luisteren. In # voorgaande versies van openvpn was is port 5000. port 1194 # Het layer 4 protocol (Transport) dat gebruikt wordt. proto tcp # De interface die gebruikt wordt om de VPN mee te beëindigen dev tap0. # De Certificaten zoals bij Easy-RSA aangemaakt. ca /root/ca.crt cert /root/gateway.crt key /root/gateway.key dh /root/dh1024.pem # Specificeer het ip adres van de server en de range welke uitgedeeld moet. # worden. server-bridge 192.168.3.1 255.255.255.0 192.168.3.100 192.168.3.150 # Specificeer dat VPN in server mode moet draaien. mode server # Maak de sleutel 1 keer aan in het RSA proces (sleutel maken). persist-key # Houdt de tunnel open tijdens het RSA process (zonder wordt de link # instabiel). persist-tun
Pagina 20 van 34
Productverslag
Richard van Mansom
s1001962
# Het log niveau. 3 Is gemiddeld, op basis van debug behoefte kan het # niveau tijdelijk aangepast worden. verb 3 Start OpenVPN, Type hiervoor: /usr/loca/etc/rc.d/openvpn forcestart Geef de zojuist aangemaakt interface (tap0) het ip adres dat overeen komt het configuratiebestand, Type hiervoor: ifconfig tap0 inet 192.168.3.1/24 Start OpenVPN automatisch door de volgende lijn in /etc/rc.conf toe te voegen openvpn_enable=”YES”
5.1.3 Node configureren Maak een bestand aan op /usr/local/etc/openvpn/openvpn.conf (maak indien nodig de map /usr/local/etc/openvpn aan), om het bestand aan te maken type: touch /usr/local/etc/openvpn/openvpn.conf Open het zojuist aangemaakte bestand, Type hiervoor: vi /usr/local/etc/openvpn/openvpn.conf Plaats in dit bestand de volgende tekst client dev tap0 proto udp remote 192.168.2.1 1194 resolv-retry infinite persist-key persist-tun ca /root/ca.crt cert /root /client1.crt key /root/client1.key verb 3
Pagina 21 van 34
Productverslag
Richard van Mansom
s1001962
Nogmaals het bestand, ditmaal met uitleg # Specificeer dat OpenVPN in client mode moet draaien. client # Het layer 4 protocol (Transport) dat gebruikt wordt. proto tcp # De interface die gebruikt wordt om de VPN mee te beëindigen. dev tap0 # Geef het ip adres op van de VPN server. remote 192.168.2.1 1194 # Maak de sleutel 1 keer aan in het RSA proces (sleutel maken). persist-key # Houdt de tunnel open tijdens het RSA process (zonder wordt de link # instabiel). persist-tun # De Certificaten zoals bij Easy-RSA aangemaakt. ca /root/ca.crt cert /root/richard.crt key /root/richard.key # Het log niveau. 3 Is gemiddeld, op basis van debug behoefte kan het # niveau tijdelijk aangepast worden. verb 3
Pagina 22 van 34
Productverslag
Richard van Mansom
s1001962
5.2 IPsec De volgende stappen omschrijven het proces om een IPsec tunnel op te zetten tussen twee punten. De volgende IP configuratie wordt gebruikt Tunnel node IP adres: 192.168.1.1 Tunnel gateway IP adres: 192.168.2.1 Installeer IPsec tools, Type hiervoor: pkg_add –r ipsec-tools De volgende configuratie is voor de node
5.2.1 Tunnel Zet een onbeveiligde gif op (een type tunnel) Maak de gif interface aan, Type hiervoor: ifconfig gif0 create Specificeer de uiteinde van de tunnel op het wireless Leiden netwerk ifconfig gif0 tunnel 192.168.4.22 192.168.3.22 Geef de IP adressen op voor de uiteinden van de tap, welke gebruikt worden om verkeer de gif op te sturen. ifconfig gif0 inet 192.168.1.1 192.168.2.1 Bewerk het bestand /etc/ipsec.conf door het volgende commando in te typen: vi /etc/ipsec.conf Voeg hier de volgende regels toe flush; spdflush; spdadd 192.168.1.1/32 192.168.2.1/32 any -P out ipsec esp/tunnel/172.16.4.22172.16.3.22/require ; spdadd 192.168.2.1/32 192.168.1.1/32 any -P in ipsec esp/tunnel/172.16.3.22172.16.4.22/require ;
Pagina 23 van 34
Productverslag
Richard van Mansom
s1001962
Nogmaals het bestand, ditmaal met uitleg # Reset alle IPsec instellingen flush; spdflush; # Het verkeer dat van de node naar de gateway verzonden wordt. spdadd 192.168.1.1/32 192.168.2.1/32 any -P out ipsec esp/tunnel/172.16.4.22172.16.3.22/require ; # Het verkeer dat van de gateway naar de node verzonden wordt. spdadd 192.168.2.1/32 192.168.1.1/32 any -P in ipsec esp/tunnel/172.16.3.22172.16.4.22/require ;
5.2.2 Racoon Racoon is een daemon welke de sleutel onderhandeling op zich neemt. Als IPsec gebruikt wordt in FreeBSD dan is er standaard nog geen sleutel onderhandeld en is er geen beveiliging. Dit is de reden waarom er na het starten van IPsec nog geen verkeer tussen de twee uiteinden mogelijk is. Nadat er een sleutel onderhandeld is door Racoon is er een beveiligde connectie en is er verkeer nodig. Racoon wordt standaard meegeleverd met ipsec-tools in FreeBSD. Maak een directory aan voor racoon, Type hiervoor: mkdir /usr/local/etc/raccon Kopieer het bestand /usr/local/share/examples/ipsec-tools/raccoon.conf.sample-ggsapi naar /usr/local/etc/racoon/raccoon.conf , Type hiervoor: cp /usr/local/share/examples/ipsec-tools/raccoon.conf.sample-ggsapi /usr/local/etc/raccoon/racoon.conf Open het zojuist gekopieerde bestand, Type hiervoor: vi /usr/local/etc/racoon/racoon.conf Verander de regel welke begint met “authentication_method” in authentication_method pre_shared_key Voeg boven aan het bestand de volgende regel toe path pre_shared_key “/usr/loca/etc/racoon/psk.txt” Sla het bestand op en verlaat de tekstbewerker Maak het bestand /usr/local/etc/racoon/psk.txt aan, Type hiervoor: touch /usr/local/etc/racoon/psk.txt
Pagina 24 van 34
Productverslag
Richard van Mansom
s1001962
Open dit bestand om te bewerken, Type hiervoor: vi /usr/local/etc/racoon/psk.txt Voer hier de volgende regel toe 172.16.3.22 password Geef hier het ip adres op dat gebruikt wordt op het wireless Leiden netwerk door de gateway. De complexiteit van het wachtwoord (in het voorbeeld “password” genoemd) heeft verbant met de veiligheid van de verbinding. Dit voorbeeld dient aan beide kanten van de tunnel gelijk te zijn. Wijzig de rechten van het psk.txt bestand, zodat alleen de eigenaar (root) er toegang tot heeft. Als andere personen rechten hebben tot dit bestand dan de eigenaar dan zal Racoon niet opstarten ivm het veiligheidsrisico. Voer deze wijziging door met het volgende commando. chmod 700 /usr/local/etc/racoon/psk.txt Start IPsec, Type hiervoor: /etc/rc.d/ipsec forcestart Start Racoon, Type hiervoor: /usr/local/etc/rc.d/raccoon forcestart Nadat dit proces aan beide kanten van de tunnel is uitgevoerd dient van 1 kant de andere kant gepingt te worden. De eerste paar pings zullen mislukken omdat de beveiliging niet compleet is. Na 2 a 3 pings die mislukken zal de ping succesvol worden. Dit is een teken dat de beveiliging voltooid is. Voor het pingen type: ping 192.168.2.1 Type Ctrl+C om het ping proces te beëindigen
5.2.3 De gateway Hetzelfde proces (voor IPsec) is van toepassing op de gateway. Vervang hiervoor de ip adressen van de gateway voor de node, en andersom. Dit houdt in dit voorbeeld in: Vervang 192.168.1.1 Vervang 192.168.2.1 Vervang 172.16.3.22 Vervang 172.16.4.22
in in in in
192.168.2.1 192.168.1.1 172.16.4.22 172.16.3.22
Pagina 25 van 34
Productverslag
Richard van Mansom
s1001962
6. MultiSSID Met Multi SSID wordt bedoeld het uitzenden van meerdere BSS’en op 1 fysieke Wireless NIC.
6.1 Alternatieven • •
Extra NIC’s inclusief antenne op de node plaatsen. 1 NIC twee SSID’s laten broadcasten.
6.1.1 Extra Nic Dit zou betekenen dat elke node (die Eduroam gaat gebruiken) omgebouwd moet worden. Er zijn een aantal problemen • Kosten Een NIC en antenne kosten geld. Geld dat ook anders besteed kan worden. • Activiteiten Het ombouwen van de node inclusief software en antenne is erg arbeid intensief. • Soekris Een aantal nodes binnen Wireless Leiden zijn opgebouwd uit Soekrissen. Dit zijn embedded systems. Niet alle Soekrissen hebben ruimte voor een extra Wireless NIC.
6.1.2 Extra SSID Een extra SSID laten broadcasten is in theorie de beste optie, vooral omdat er geen extra hardware nodig is en alle veranderingen softwarematig zijn, wat de genoemde punten voor een extra NIC te niet doen.
6.2 Installatie De volgende stappen zijn getest op een 8.0-current machine van 21 april 2008. Omdat de current versie van FreeBSD in ontwikkeling is bestaat de kans dat deze stappen niet langer valide zijn. Voor dit proces is een internet verbinding nodig voor de computer waar de update op plaats vindt. Met CVSUP kunnen de sources gedownload worden van verschillende FreeBSD versies. Installeer CVSUP, gebruik daarvoor het volgende commando. pkg_add –r cvsup-without-gui Kopieer het configuratiebestand naar een andere directory. Dit zodat het originele bestand als backup gebruikt kan worden. Type hiervoor: cp /usr/share/examples/cvsup/stable-supfile /root
Pagina 26 van 34
Productverslag
Richard van Mansom
s1001962
Bewerk de file door het volgende commando op te geven vi /root/stable-supfile verander de volgende regel *default host=CHANGE_THIS.FreeBSD.org In *default host=cvsup2.FreeBSD.org Verander de volgende regel *default release=cvs tag=RELENG_7 In *default release=cvs tag=. # Let op de punt aan het eind van de regel Zorg dat FreeBSD het commando cvsup kent (indien er geen herstart heeft plaatsgevonden). Type hiervoor: rehash Download de laatste versie van 8.0-Current, Type hiervoor: cvsup /root/stable-supfile De lengte van dit proces is afhankelijk van de beschikbare internetverbinding. Ga naar de /usr/src directory, Type hiervoor: cd /usr/src Start het buildworld proces. Dit zorgt er voor dat alle geïnstalleerde pakketten opnieuw worden gecompileerd. De J4 vier tag zorgt er voor dat het proces in 4 threads wordt uitgevoerd. Op de testapparatuur leverde dit 25% snelheid winst op, al is de J4 optie bedoeld voor een systeem met meerdere procesoren (of cores), heeft dit ook effect op een single core processor. Type make –j4 buildworld Her compileer de kernel, Type hiervoor: make buildkernel Installeer de nieuwe kernel make installkernel Sluit af in singleuser mode. Type hiervoor shutdown now
Pagina 27 van 34
Productverslag
Richard van Mansom
s1001962
Type de volgende commando’s in, deze stappen zijn nodig om wijzigingen door te voeren in single usermode. fsck -p mount -u / mount -a -t ufs swapon -a De volgende commando’s installeren de gecompileerde sources op het bestaande systeem. mergemaster -p make installworld mergemaster Na een herstart is er sprake van een current systeem, Type hiervoor: reboot Zorg dat de volledige harde schijf toegankelijk is vanuit een draaiend systeem. Bij de testen was er sprake van een virtuele machine dus wordt de harde schijf gekoppeld aan een bestaande (andere) virtuele machine. De harde schijf moet overgezet worden op een Flash Card Mount de schijf welke de 8.0-current installatie bevat op /current. Dit commando is afhankelijk van het gekozen systeem en type harde schijf Delete de /usr/ports, /usr/obj en /usr/src directories. Type hiervoor: rm –r /current/usr/ports rm –r /current/usr/obj rm –r /current/usr/src De volgende stap is het maken van een image van de 8.0-current harde schijf. Deze image moet de exacte grootte hebben van de Flashcard. Hiervoor moet het aantal sectors achterhaald worden. da0 is de Flash Card, dit kan afwijken per installatie. Om het aantal sectoren te achterhalen type: bsdlabel -Awn da0 auto | grep sectors/unit Maak een image aan, Type hiervoor: (vervang xxx voor het aantal sectors zoals bij de vorige stap is achterhaald): dd if=/dev/zero of=/usr/node80 bs=512 count=xxx Mount de image, Type hiervoor: mdconfig -a -t vnode -u 0 –f /usr/node80
Pagina 28 van 34
Productverslag
Richard van Mansom
s1001962
De image moet gepartitioneerd worden Type hiervoor: bsdlabel -Bw md0 auto bsdlabel -e md0 Verwijder de regel die begint met c: In de regel die begint met a: verander “unused” in “4.2BSD” Maak een bestandsysteem aan op de image door het volgende commando in te typen newfs -b 8192 -f 1024 -U /dev/md0a Mount de image door het volgende commando in te typen mount /dev/md0a /mnt Kopieer alle bestanden die op de 8.0-current harde schijf staan naar de image. Doet dit door het volgende commando in te typen (cd /current ; tar cPf - .) | (cd /mnt ; tar xf - ); Voer op deze installatie dezelfde veranderingen door als in 2.2 (FreeBSD 7.0 direct op de Flash Card) Plaats de Flashcard in de Soekris en start deze op. Start de node op Het opzetten van een VAP kan gedaan worden door de volgende regel ifconfig wlan0 create wlandev ath0 wlanmode hostap De VAP heet wlan0 en wordt gekoppeld aan ath0. De code voor automatisch opstarten van de VAP bij boottime veranderd regelmatig. Hier is nog geen uitleg voor mogelijk.
Pagina 29 van 34
Productverslag
Richard van Mansom
s1001962
7. Firewall Elke Firewall is geschikt als deze kan filteren op portnummer en protocol type. Er is voor ipfw gekozen door de simpele configuratiemethode. Hercompileer de kernel met de volgende modules. Options Options
IPFIREWALL IPFIREWALL_VERBOSE
Na het doorvoeren van deze wijzigingen maakt de kernel zelf een regel aan welke al het verkeer vangt dat over de netwerk kaarten gaat (virtueel of niet). Al het verkeer krijgt een deny (dit wordt een explicit deny genoemd). Dit betekend dat (inter) netwerk verkeer niet mogelijk is zonder extra regels aan te maken in het firewall regel bestand. Maak een bestand aan op /etc/ipfw.rules, Type hiervoor: touch /etc/ipfw.rules Open dit bestand om te bewerken met vi /etc/ipfw.rules Voeg hier de volgende tekst in toe, dit bestand is toegepast op OpenVPN. ipfw ipfw ipfw ipfw ipfw ipfw ipfw ipfw ipfw ipfw
–q –q –q –q –q –q –q -q –q –q
–f flush add 00010 add 00011 add 00020 add 00021 add 00030 add 00031 add 00040 add 00050 add 00060
allow allow allow allow allow allow allow allow allow
tcp from any to any 1194 in tcp from any to any 1194 out tcp from any to any 22 in tcp from any to any 22 out ip from any to any via bridge0 ip from any to any via tap0 ip from 172.16.3.20/30 to any ip from any to 127.0.0.1/32 icmp from any to any icmptype 8
Pagina 30 van 34
Productverslag
Richard van Mansom
s1001962
Nogmaals het bestand met uitleg # Verwijderd alle regels die bestaan in de firewall ipfw –q –f flush # Laat port 1194 toe in beide richtingen. 1194 is de poort van OpenVPN ipfw –q add 00010 allow tcp from any to any 1194 in ipfw –q add 00011 allow tcp from any to any 1194 out # Laat port 22 toe in beide richtingen, 22 is de poort van SSH. Dit is nodig # als er beheerders van het Wireless Leiden netwerk beheer werkzaamheden # moeten uitvoeren op de gateway. ipfw –q add 00020 allow tcp from any to any 22 in ipfw –q add 00021 allow tcp from any to any 22 out # Laat alle verkeer toe via de bridge0 en tap0. Dit zijn de interfaces voor # verkeer dat over de tunnel heen gaat. ipfw –q add 00030 allow ip from any to any via bridge0 ipfw –q add 00031 allow ip from any to any via tap0 # Het is niet gelukt om een state full firewall op te zetten. Daardoor is al # het verkeer van de servers naar het Wireless Leiden netwerk toegestaan. ipfw- -q add 00040 allow ip from 172.16.3.20/30 to any # Een aantal daemons hebben toegang tot de localhost nodig. Dit is geen # veiligheidrisico dus toegestaan. ipfw –q add 00050 allow ip from any to 127.0.0.1/32 # Op verzoek van Wireless Leiden is het pingen van de server toegestaan. ipfw –q add 00060 allow icmp from any to any icmptype 8 Start de firewall automatisch, voeg de volgende regels toe aan /etc/rc.conf firewall_enable=”YES” firewall_script=”/etc/ipfw.rules” Om dit toe te voegen type de volgende regels vi /etc/rc.conf Voeg de regels toe
Pagina 31 van 34
Productverslag
Richard van Mansom
s1001962
8. Bridge Er is voor gekozen voor een bridge boven een router omdat al het verkeer van de node automatisch naar de gateway wordt verzonden (met behulp van de tunnel). Bij het plaatsen van een router zijn er problemen met de DHCP server. Ook is een bridge lichter voor een node dan een router. Voeg de volgende regel toe aan het kernel configuratiebestand device
if_bridge
Ga naar de home directory van de root (/root) cd /root Download het bestand http://svn.wirelessleiden.nl/svn/projects/802.1x/apps/lagg-0.1.tgz, Type hiervoor: fetch http://svn.wirelessleiden.nl/svn/projects/802.1x/apps/lagg-0.1.tgz pak het zojuist gedownloade uit tar –xf lagg-0.1.tgz Ga naar de /usr/src/sys/net directory. Hier staat een deel van de kernel souche bestanden. cd /usr/src/sys/net Voeg de gedownloade patchen uit op de bestanden in deze directory. cat /root/lagg-0.1/* | patch Hercompileer de kernel Maak een bridge aan, Type hiervoor: ifconfig bridge0 create Voeg leden (members) toe aan de bridge ifconfig bridge Vervang voor de interface welke als lid moet functioneren. Herhaal dit proces voor alle leden van de interface. Geef de bridge een ip adres ifconfig bridge0 inet Vervang voor het adres dat aan de bridge toegekend moet worden. Pagina 32 van 34
Productverslag
Richard van Mansom
s1001962
9. Kernel In de loop van dit verslag is het een aantal keer nodig geweest om de kernel te hercompileren. Het is ook mogelijk om dit in 1 keer te doen. De volgende stappen omschrijven het hercompileer proces. Er wordt vanuit gegaan dat dit proces op een derde computer wordt uitgevoerd (niet de node of de gateway). Er zijn andere mogelijkheden om een kernel te hercompileren. Bij voorkeur voor een andere methode is dat geen probleem. Houd wel de kernel configuratiebestanden wijzigingen aan. Plaats de FreeBSD 7.0-Release CD is de cdrom lade Installeer de kernel source 1. Start sysinstall /usr/sbin/sysinstall 2. Kies Configure 3. Kies Distributions 4. Kies Src 5. Selecteer Base 6. Selecteer Sys 7. Selecteer Lib 8. Kies OK (2x) De kernel source is nu beschikbaar.
9.1 De kernel voor de gateway Kopieer het kernel configuratiebestand cp /usr/src/sys/i386/conf/GENERIC /usr/src/sys/i386/conf/gateway Voeg de volgende regels toe aan dit bestand device device options options options options
tap if_bridge IPSEC IPSEC_FILTERTUNNEL IPFIREWALL IPFIREWALL_VERBOSE
# # # # # #
OpenVPN Bridge interface Geeft FreeBSD IPsec mogelijkheid Geeft FreeBSD IPsec mogelijkheid Installeert een IPFW firewall Installeert een IPFW firewall
Ga naar de directory /usr/src, Type hiervoor cd /usr/src Bouw de kernel
Pagina 33 van 34
Productverslag
Richard van Mansom
s1001962
make buildkernel KERNCONF=gateway Installeer de Kernel make installkernel KERNCONF=gateway Herstart de computer reboot Kopieer de kernel naar de gateway. De kernel is te vinden op. /boot/kernel/kernel Het path dient hetzelfde te blijven.
9.1 De kernel voor de node Kopieer het kernel configuratiebestand cp /usr/src/sys/i386/conf/GENERIC /usr/src/sys/i386/conf/node Voeg de volgende regels toe aan dit bestand device tap # OpenVPN device if_bridge # Bridge interface device wlan_xauth # HostAPD / WPA device wlan_acl # HostAPD / WPA-802.1x Ga naar de directory /usr/src, Type hiervoor cd /usr/src Bouw de kernel make buildkernel KERNCONF=node Installeer de Kernel make installkernel KERNCONF=node Herstart de computer reboot Kopieer de kernel naar de node. Het path dient hetzelfde te blijven De kernel is te vinden op /boot/kernel/kernel
Pagina 34 van 34