Folkets Hubb WLAN Gateway, Projekt 19. Slutrapport



Relevanta dokument
Installationsanvisningar fiberstream (LAN) Version 1.0

BIPAC-711C2 / 710C2. ADSL Modem / Router. Snabbstart Guide

Startanvisning för Bornets Internet

GIVETVIS. SKA DU HA INTERNET I DIN LÄGENHET! En guide till hur du installerar internet i ditt nya hem.

Läs detta innan du sätter igång!

VÄLKOMMEN TILL OWNIT!

KARLSBORGS ENERGI AB INTERNET KABEL-TV INSTALLATIONSHANDBOK REV

Installation av. Vitec Online

Installationsguide / Användarmanual

GIVETVIS. SKA DU HA INTERNET I DIN LÄGENHET! En guide till hur du installerar internet i ditt nya hem.

Installationsanvisning. ADSLmodem: SpeedTouch 780WL. Bredband ADSL

Installationsanvisning ADSLmodem: SpeedTouch 546v6. Bredband ADSL. Hitta första telefonjacket

Skapa din egen MediaWiki

KTH Programutvecklingsprojekt med mjukvarukonstruktion 2D1362. Projektpresentation

Compose Connect. Hosted Exchange

Hemmanätverk. Av Jan Pihlgren. Innehåll

BIPAC 5102 / 5102S / 5102G. ADSL Modem/Router. Snabbstartsguide

KARLSBORGS ENERGI AB ADSL INSTALLATIONSHANDBOK REV

Instruktion: Trådlöst nätverk för privata enheter

Installationsanvisningar

ELMIA WLAN (INTERNET)

Instruktioner för Internetanslutning

KARLSBORGS ENERGI AB FIBER INSTALLATIONSHANDBOK REV

LAN Port: 4 X RJ45 10/100BASE-TX Fast Ethernet med Auto MDI/MDIX. Resetknapp: Återställer enheten till fabriks inställningar

Installationsmanual för Tyfon ADSL

Handbok för installation av programvara

1. Inkoppling till bredbandsnätet

Konfigurationsdokument M1

Konfigurera Routern manuellt

Installation/uppdatering av Hogia Personal fr.o.m. version 13.1

Flytt av. Vitec Mäklarsystem

Laboration 2 Datorverktyg vid LiU

Handbok för installation av programvara

Snabbguide. till Mini-router

Administrationsmanual ImageBank 2

Installationshandbok

Konfigurera Xenta från Babs

Detta är en guide för snabbinstallation av IP kameran För fullständig programfunktion hänvisar vi till medföljande manual.

Instruktion: Trådlöst utbildningsnät orebro-utbildning

Systemkrav och tekniska förutsättningar

Installationsguide för FAR Komplett Offline 2.1.2

25. Hämta Adobe Reader

BIPAC-7100S / 7100 ADSL Modem/Router

Storegate Pro Backup. Innehåll

Installera din WordPress med 9 enkla steg

BIPAC 7100SG/7100G g ADSL Router. Snabbstartsguide

SkeKraft Bredband Installationsguide

Snabbguide mini-router.

Installation och setup av Net-controller AXCARD DS-202

SKYPE uppkoppling under SAAF årsmötet.

Installationsanvisning För dig som har valt fast IP-Adress

Installationsanvisningar

Installationsanvisningar VISI Klient

DI-624+ AirPlus G+ trådlös 2.4 GHz router

INKOPPLINGSBESKRIVNING KABEL-TV-MODEM

FIBER INSTALLATIONSHANDBOK VERSION 1.0. Felanmälan och support nås på Alla dagar 08:00-22:00

IT-system. BUP Användarmanual

REGION SKÅNE VDI KLIENTINSTALLATION

Innehåll. Installationsguide

Viktigt! Läs igenom hela anvisningen innan du påbörjar inloggningen för första gången.

3.2 1H[W*HQHUDWLRQ6HFXULW\ Användarmanual

Guide för att välja fibertjänst

Konfigurera Routern manuellt

BIPAC 7402G g ADSL VPN Firewall Router. Snabbstartsguide

Prestige 660M. Snabbinstallation. Version 1.0

BIPAC-7402 / 7402W (Trådlös) ADSL VPN Firewall Router med 3DES-accelerator Snabbstartsguide

Kompletterande instruktioner för installation och konfiguration av HMS-server för koppling mot KONTAKT

Kapitel 1 Ansluta Router till Internet

DCS-950G SECURICAM nätverk g trådlös internetkamera med ljud.

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

Xerox Device Agent, XDA-Lite. Installationsguide

OBS! FÖRSÖK INTE INSTALLERA PROGRAMVARAN INNAN DU HAR LÄST DET HÄR DOKUMENTET.

Installationsanvisning För dig som har dynamisk IP-Adress

Årsskiftesrutiner i HogiaLön Plus SQL

Svensk version. Installation av Windows XP och Vista. LW311 Sweex trådlösa LAN Cardbus-adapter 300 Mbps

Dovado Tiny - installationsguide

En felsökningsguide för rcloud Office tjänsterna och lite manualer.

Författare Version Datum. Visi System AB

Internet ombord på våra tåg

Installationsanvisning Bredband

COAX INSTALLATIONSHANDBOK VERSION 1.0. Felanmälan och support nås på Alla dagar 08:00-22:00

Sweex Trådlös bredbandsrouter + 4 portars switch

Installationsanvisningar VisiWeb. Ansvarig: Visi Closetalk AB Version: 2.3 Datum: Mottagare: Visi Web kund

Stiftelsen MHS-Bostäder Instruktioner och felsökningsguide för Internetanslutning

Manual för fjärrinloggning

Startguide för Administratör Kom igång med Microsoft Office 365

Kort-kort om utdelade användarkonton och datormiljön på NADA

Utförande: I exemplet så kommer vi att utgå från att man gör laborationen i en Virtuell miljö (Virtualbox).

Hur man ändrar från statisk till automatisk tilldelning av IP i routern.

3) Routern kontrollerar nu om destinationen återfinns i Routingtabellen av för att se om det finns en väg (route) till denna remote ost.

Installation av Storegate Online Backup.

Innehåll. Dokumentet gäller från och med version

Fråga: Hur ställer jag in min router utan att använda CD skivan? Svar: Du kan ställa in din router manuellt genom att följa stegen nedan.

ÅTVID.NET Startinstruktioner

Hur man införskaffar e-böcker till Reader

Installation och konfiguration av klientprogramvara 2c8 Modeling Tool

För att kunna kommunicera i bredbandsnätet krävs följande:

BIPAC 7100SV VoIP ADSL Modem/Router

iphone/ipad Snabbguide för anställda på HB

1. Inkoppling till bredbandsnätet

Transkript:

Folkets Hubb WLAN Gateway, Projekt 19 Slutrapport Andreas Frey, Dennis Granath, Joakim Jamte Mikko Niiranen, Mikael Pettersson och Johan Sahlén Uppdragsgivare: Mats Erixon, AMT och Tomas Stephanson, Folkets Hubb 1 april 2004

Innehåll 1 Projektpresentation 2 1.1 Ansvarsområden och gruppmedlemmar............... 2 1.2 Sammanfattning av projektet.................... 2 1.3 Bakgrund............................... 3 1.4 Datormiljö och programvara..................... 3 1.5 Programvara............................. 4 1.6 Funktioner i systemet........................ 6 1.7 Körexempel.............................. 6 2 Användarhandledning 8 2.1 Introduktion till tjänsten...................... 8 2.2 Vem kan ansluta sig?......................... 8 2.3 Hur använder man tjänsten?.................... 9 2.4 Figurer................................ 11 3 Installationshandledning 13 3.1 Access-router............................. 14 3.1.1 Hårdvarukrav......................... 14 3.1.2 Installera operativsystem.................. 14 3.1.3 Övrig grundläggande mjukvara............... 14 3.1.4 Mjukvara som medföljer systemet.............. 15 3.1.5 Konfiguration......................... 15 3.2 Serverdator.............................. 16 3.2.1 Hårdvarukrav......................... 16 3.2.2 Installera operativsystem.................. 16 3.2.3 Övrig mjukvara........................ 16 3.2.4 Mjukvara som medföljer systemet.............. 17 3.2.5 Konfiguration......................... 17 3.3 Uppstart av systemet......................... 17 3.4 Länkar................................. 17 4 Systembeskrivning 18 4.1 SQLConnector............................ 19 4.1.1 Detaljerad beskrivning av SQLConnectors metoder.... 20 4.2 IP-login................................ 22 4.2.1 Skript som anropas av IP-login och webbsidor....... 22 4.3 Konfigurationsfiler.......................... 23 4.4 Webbgränssnittet........................... 23 5 Affärsmodell 26 6 Utvärdering 29 6.1 Utvecklingsmöjligheter........................ 30 1

1 Projektpresentation Visst skulle det vara trevligt att kunna koppla upp sig trådlöst mot Internet, utan trasslande kablar, samtidigt som man slipper dyra abbonemang med höga minutavgifter! Istället kan man på några få minuter enkelt och bekvämt koppla upp sig, betala sina räkningar och bara betala för den korta tid man använder nätet! Med vårt system möjliggörs allt detta och mycket därtill! 1.1 Ansvarsområden och gruppmedlemmar Andreas Frey: Databashantering, betalningsmodul, webbserveradministration och databasinitiering Joakim Jamte: Betalningsmodul, databashantering projektledare, webbserveradministration och webbgränssnitt Dennis Granath: DNS- och DHCP-konfigurering, webbserveradministration, rapportansvarig, IP-Login och riskmodulering Mikko Niiranen: DNS- och DHCP-konfigurering, webbserveradministration, systeminitiering och IP-Login Mikael Pettersson: DNS- och DHCP-konfigurering, systemintegrering, webbserveradministration, systeminitiering och IP-Login Johan Sahlén: Affärsmodell Dokumentationen finns tillgänglig på www.nada.kth.se/projects/prom03/wlan/ 1.2 Sammanfattning av projektet Detta projekt har haft som mål att skapa en prototyp för komplett system vilket ska kunna användas av företag som vill kunna erbjuda sina kunder Internetaccess utan några krångliga abonnemang eller annan administration. Med vårt system kan en ny användare som har tillgång till dator, kreditkort och trådlöst nätverkskort komma igång och surfa på några få minuter. Systemet består av två delar; dels en databasserver som hanterar användarnas konton och en accessrouter (i ett system av större skala används flera accessroutrar) som hanterar själva uppkopplingen mellan användarens dator och Internet. Dessutom betalar användaren sina pengar via företaget PayPal vilka tillhandahåller säkra och snabba korttransaktioner. 2

1.3 Bakgrund Vi är en grupp studenter från KTH som går kursen 2D1362, programutveklingsprojekt med mjukvarukonstruktion. I denna kurs har vi fått möjligheten att arbeta med ett riktigt projekt. Vi kommer att vara den enda gruppen som har detta projekt och i vårt fall så finns det riktiga uppdragsgivare. Våra uppdragsgivare är Tomas Stephanson från företaget Folkets Hubb samt Mats Erixon från AMT. Vårt projekt har som mål att skapa en prototyp till ett system som ska hantera inloggning samt administration av kunder som vill använda Internet via en trådlös uppkoppling. Kunderna har inte något abonnemang utan de betalar för den tid de är uppkopplade. Betalning sker i förväg och eventuell resttid sparas till nästa gång kunden kopplar upp sig. Idag finns det ett antal färdiga system för detta, men i dessa fall så är antingen kunden redan abonnent hos Internetleverantören eller så är systemet byggt för att ge Internetaccess utan ta betalt. Med hjälp av vårt system kan alla användare som har ett kreditkort eller ett PayPal -konto få Internetaccess på några minuter. De huvudsakliga problemen i projektet har varit att skapa ett system som inte tillåter någon annan Internetaccess än den nödvändiga för betalningsproceduren samt hantera betalning på ett säkert och snabbt sätt. Användningsområdet för systemet är företag som vill marknadsföra så kallade accesspunkter där människor med tillgång till dator och trådlöst nätverkskort kan få tillgång till Internet. Systemet (som förklaras mer detaljerat nedan) bygger på produkter som licensieras under öppen källkod vilket innebär att det är ett mycket billigt system för det företag som vill sätta upp systemet. Det ska understrykas att vårt system är en prototyp och att vi därför inte tar något ansvar för funktionaliteten eller säkerheten i systemet. Vi har under projekttiden varit i kontakt med vår uppdragsgivare som är en presumtiv användare men vi har också hittat en annan intressent; Sandhamns båtklubb vilka eventuellt skulle kunna tänka sig att använda systemet för att erbjuda Internetaccess till sommargästerna. De användare som uppdragsgivaren har tänkt sig är människor på stan med bärbara datorer vilka vill ha snabb Internetaccess med hög bandbredd men utan att behöva betala en massa pengar för en tjänst som de bara använder ibland. 1.4 Datormiljö och programvara Vårt system bygger på två datorer, dels en server som fungerar som webb och databasserver och dels en dator som fungerar som router och behörighetsserver. Den användare som ansluter till systemet får en IP-adress av routern (via DH- CP) och har därefter tillgång till nätverket. Routern begränsar all trafik ut mot 3

Internet vilket innebär att användaren bara kommer att kunna gå till den sida där betalning och inloggning sker. Användaren kommer sedan att antingen logga in på systemet med ett redan existerande användarnamn (om han/hon varit inloggad på systemet förut) eller betala i förskott (via PayPal ) för den tid han/hon vill ha tillgång till Internet för att sedan logga in till systemet och på så sätt få Internetaccess. I ett färdigt system så kommer både programvara och datormiljö förmodligen att vara förändrad men vår prototyp har vi byggt med hjälp av följande hårdvara: (1) en Dell Optiplex, vanlig PC vilken fungerar som både webb och databasserver. (2) en Shuttle 2.4Ghz, vanlig PC vilken fungerar som router. Tillbehör till datorerna såsom skärmar, tangentbord, möss Om man skulle bygga systemet på riktigt så skulle förmodligen följande ändringar göras: Den första datorn (1) skulle bytas ut mot en riktig server vilken kan hantera fler frågor mot databasen samt webbservern Den andra datorn (2) som fungerar som router skulle bytas ut mot en riktig router som kan köra operativsystemet Linux (BiFrost editionen) vilket skulle möjliggöra utplacering av ett stort antal routrar på många platser till en liten kostnad. 1.5 Programvara Meningen med projektet är att det ska bygga på programvara som bygger på så kallad öppen källkod vilket innebär att källkoden till ett datorprogram är tillgänglig för den som vill läsa eller modifiera. Detta gör att användaren kan försäkra sig om att programmet gör vad det ska och sedan kan anpassa det till sina behov. Detta har vi lyckats uppfylla genom att använda program som bygger på öppen källkod utom i ett fall nämligen operativsystemet för Delldatorn (1) vilket är Windows XP. Det finns dock inget som hindrar ett företag att istället använda Linux på servern istället. Skälet till att vi har valt att köra Windows XP på datorn är att vi känner oss mer vana med detta OS och dessutom vet mer om hur detta fungerar. Förutom operativsystemet Windows XP så använder vi följande programvara: (1) IP-login (2) Apache Webbserver (3) MySQL Databasserver 4

(4) Red Hat Linux (5) JAVA JRE 1.4.2 (6) SQLConnector (7) Ett antal PHP-script (8) Installationsskript samt SQLCreator Iplogin (1) är ett program som kan reglera vilka datorer som får tillåtelse att gå ut på ett nät, detta görs med hjälp av så kallade MAC-adresser. En MAC-adress (Media Access Control Adress) är en hårdvaruadress som unikt identifierar varje nod i ett nätverk. Med hjälp av olika script i IP-login så kan vi kontrollera om en dator får tillåtelse att gå ut på Internet och även kontrollera att ingen går ut på Internet utan tillstånd. Apache Webbserver (2) används som webbserver för de sidor som behövs för inloggning och betalning till systemet. MySQL databasserver (3) används som databas för att registrera användare och deras betalningar. IP-login (1) ovan ställer kontinuerligt frågor till databasen för att se till att ingen användare använder mer tid än han/hon har betalat för. Dessutom skrivs värden in i databasen så fort en användare betalar eller loggar in till systemet. Red Hat Linux (4) används som operativsystem på datorn som fungerar som router. Skälet till detta är att Linux går under öppen källkodslicensiering samt att det är robust. JAVA JRE 1.4.2 (5) är den JAVA miljö som vi kör vårt program SQLConnector i. Till detta använder vi ett JAVA-paket som heter JDBC vilket används för att kunna skapa uppkopplingar samt ställa frågor mot databasen via JAVAprogrammet. SQLConnector (6) är ett program som vi skrivit själva vilket används av skripten i IP-login för att ansluta och skriva till databasen. Dessutom används programmet av oss i testningssyfte. De PHP-script (7) som vi använder är nödvändiga för att betalningen med PayPal ska fungera. Vi kommer till slutredovisningen att ha ett eller flera installationsskript (8) klara vilka kommer att kunna användas av den som sätter upp systemet. Med hjälp av skripten kan vi sätta nödvändiga variabler samt kompilera om filer vid 5

behov. SQLCreator är ett JAVA-program som skapar de tabeller och kolumner i databasen som behövs för att systemet ska fungera. 1.6 Funktioner i systemet De funktioner som systemet tillhandahåller är in och utloggning av användare, betalningsmöjligheter samt kontroll av att användare inte får Internetaccess utan att ha betalat för det. Systemet är ganska komplext uppbyggt vilket beskrivs senare i rapporten men för användaren syns bara de webbsidor som han/hon behöver för att logga in samt betala. Nedan visas ett antal bilder från systemet observera dock att dessa sidor är preliminära och kan komma att ändras i utseende men de kommer att ha samma funktion i den slutgiltiga versionen av systemet. 1.7 Körexempel Eftersom detta projekt har som mål att skapa ett system snarare än en produkt blir det lite annorlunda körexempel där vi visar hur en användare kan använda systemet. Detta är dock bara en liten del av systemet eftersom det händer mycket bakom kulisserna när en användare exempelvis loggar in. Nedan visas hur det ser ut på vissa delar i systemet när en användare loggar in till systemet. (För mer teknisk information om varje steg så hänvisar vi till systembeskrivningen, för fler exempel på hur systemet fungerar så hänvisas till användarhandledningen.) Först och främst får användaren en IP-adress från DHCP-servern (förutsatt att användarens dator är inställd för DHCP vilket är standard idag) detta kan vi se genom att titta i de loggfiler som DHCP-servern och IP-login genererar: Mar 25 17:03:58 localhost IP-login[22905]: Adding forwarding for 192.168.0.5 Ovan ser vi hur den anslutande datorn får en IPadress (192.168.0.5). Från och med nu har användaren tillgång till det lokala nätverket vilket innehåller den startsida som användaren kan gå till, dessutom kan användaren gå till adressen www.paypal.com eftersom användaren ska kunna betala till oss för att få Internetaccess. När användaren kommer till vår startsida så ser det ungefär som i figuren nedan (kommer att ändras till slutredovisningen). 6

Här kan användaren välja att logga in (om han/hon har pengar kvar från tidigare besök) eller välja att ansluta sig. Om användaren väljer att logga in så kommer ett flertal skript att köras (se systembeskrivningen för detaljer) vilka bland annat ser till att användarens anslutningstid skrivs in i databasen samt att IP-login släpper ut användaren på Internet. Från och med nu kontrolleras användarens dator (genom att pinga datorn) varje sekund så att användaren inte kopplar ifrån samt så att användaren inte kan surfa för mer tid än han/hon betalat för. Nedan ser vi i loggfilen hur detta ser ut: Mar 25 17:04:01 localhost IP-login[22905]: 2 Mar 25 17:04:02 localhost IP-login[22905]: 1 Mar 25 17:04:03 localhost IP-login[22905]: 0 Mar 25 17:04:03 localhost IP-login[22905]: Device: 192.168.0.5, cmd: /opt/wlanlogin/bin/getmac 192.168.0.5 Mar 25 17:04:03 localhost IP-login[22905]: Your MAC is: 00:90:F5:0C:7B:32 Mar 25 17:04:04 localhost IP-login[22905]: STAY! Den sista raden är ett svar från IP-login som betyder att användaren får fortsätta att surfa. IP-login har innan detta kontrollerat databasen så att användaren inte försöker surfa längre tid än denne betalat för. Slutligen kommer användaren att koppla från och då ser det ut så här i loggfilen: 7

Mar 25 17:04:42 localhost IP-login[22905]: LOGOUT! Mar 25 17:04:43 localhost IP-login[22905]: Removing forwarding for 192.168.0.5 afy@kth.se monitor pkts sent/rec = 41/41 Mar 25 17:07:33 localhost kernel: e100: eth1 NIC Link is Down När detta sker så kommer ett utloggningskript att köras vilket registrerar användarens sluttid i databasen samt drar av rätt belopp från användarens konto. 2 Användarhandledning 2.1 Introduktion till tjänsten WLAN-tjänsten ger dig möjlighet att, utan långa avtal, få tillgång till Internet. Du kan köpa precis så mycket tid du behöver för att uppfylla dina Internetbehov eftersom tidsintervallen vi tillhandahåller är från en timme upp till en månad åt gången. Dina betalningar sköter du enkelt via PayPal som är ett Internetbaserat företag som specialiserat sig på att sköta säkra betalningar mellan köpare och säljare på via Internet. Om du inte ännu har ett PayPal-konto kan du genom en enkel, helt gratis registrering på www.paypal.com skapa ett sådant (du guidas igenom detta nedan). Detta gör det möjligt för dig att handla surftid av oss. Denna guide kommer att hjälpa dig att ansluta dig till WLAN-tjänsten. Om du följer de enkla anvisningarna nedan kommer du inom några minuter ha ett PayPal-konto och vara ansluten! 2.2 Vem kan ansluta sig? Vem som helst som har en dator med ett WLAN-kort med stöd för 802.11b, ett operativsystem med stöd för DHCP samt en webbläsare installerad kan utnyttja tjänsten. Det krävs dock också att användaren har en e-postadress och ett internationellt kreditkort (Visa, Mastercard etc.) 8

2.3 Hur använder man tjänsten? 1. Kontrollera tillgänglighet av tjänsten För att kunna logga in på WLAN-tjänsten måste du som användare först och främst befinna dig inom ett område där tjänsten är tillgänglig. För det andra måste du kontrollera att ditt WLAN -kort är inställt på att uppdateras med en IP-adress dynamisk. I Windows XP gör du detta genom att titta under: Startmenyn Kontrollpanelen Nätverksinställningar Anslutning till lokalt nätverk Egenskaper Internet Protocol (TCP/IP) Du kommer att få fram rutan i figur 1. Se till att det ser likadant ut i din dator som i figur 1. Du kommer om du slår på din dator även att kunna kontrollera om ditt WLAN-kort har täckning. För exakta anvisningar till hur du gör detta, kontrollera manualen till ditt WLAN-kort. Du kan också helt enkelt prova att ge dig på steg 2 direkt för att kontrollera om du har en anslutning. 2. Gå till inloggningssidan Eftersom tjänsten inte kräver någon extra mjukvara i ditt operativsystem för att fungera kan du om du utfört steg 1 surfa in på http://login.folketshub.com genom att skriva in URL:en i adressfältet i din webbläsare. Du hamnar då på inloggningssidan för tjänsten (Se figur 2). När du nu befinner dig på inloggningssidan ska du skriva in den e-postadress som du vill förknippa, eller redan förknippar, med ditt PayPal-konto (steg 4) och vill använda dig av i denna tjänst. När du fyllt i fältet klickar du Sänd för att gå vidare. 3. Välj Tid Du hamnar nu på en sida där det finns några tider respektive priser angivna. Välj helt enkelt den tid som du tycker är lämplig och tryck Nästa. 4. PayPal Du hamnar nu på en sida som finns hos PayPal. Här visas information om din betalning. Om du redan har ett PayPal-konto så ska du klicka på Login Now (se figur 3). Hoppa nu över steg i nedan och fortsätta läsa på steg ii. Om du inte har ett konto ska du nu läsa steg i. i Längre ner på Internetsidan som du har framför dig finns ett formulär där du kan registrera dig och skapa ett konto (se figur 4). PayPal är, som tidigare nämnts, ett företag som idag har en väldigt stor del av marknaden när det gäller säkra betalningstransaktioner över Internet. Registreringen krävs för att vi ska kunna ta emot dina betalningar på ett säkert sätt utan att du ska känna 9

dig osäker. Genom att fylla i formuläret och följa anvisningarna kommer du att skapa ett PayPal-konto. Du kommer nu att hamna på en sida där du bes logga in. Läs vidare på steg ii. ii Även på denna sida visas information om din betalning. Bland annat betalningsmottagaren som är jamte@hotmail.com och den tid och det belopp som du valt att köpa. Genom att nu skriva in den e-postadress och lösenord du förknippat med ditt PayPal-konto i fälten (se figur 5) och sedan trycka Continue och Make Payment kommer du att genomföra betalningen. Om inga problem uppstår i transaktionen kommer du nu att automatiskt att hamna på inloggningssidan igen. 5. Logga in Genom att skriva in den e-postadress du angivit i din PayPal-registrering i fältet Användaridentitet kommer du nu att logga in på tjänsten. Nu är det bara att surfa! 6. Logga ut Du kan avsluta din uppkoppling på två sätt: 1. Genom att gå till inloggningssidan http://login.folketshubb.com och klicka på knappen Koppla från. Du ser här även hur mycket tid du har kvar att surfa för. 2. Genom att stänga av din dator. Uppkopplingen kommer att avslutas automatiskt när du gör detta. Nackdelen med detta sätt är att du inte får information om kvarvarande tid. Löpande användning När du nästa gång vill använda tjänsten så är det bara att utföra steg 2, 5 och 6, det vill säga först gå till inloggningssidan http://login.folketshubb.com, sedan logga in, surfa och till sist logga ut. Köpa mer tid Om det skulle vara så att din köpta tid tar slut kommer du att märka att du inte kan surfa längre. Då är det bara att utföra samma procedur som beskrivs ovan med undantaget att du inte behöver utföra steg i, det vill säga registreringen på PayPal. När du väl har inhandlat mer tid är det bara att surfa vidare! När du är inloggad på tjänsten kan du när som helst köpa mer tid genom att gå till inloggningssidan http://login.folketshubb.com och där klicka Köp mer tid. 10

2.4 Figurer Figur 1: Internet Protocol 11

Figur 2: Internet Protocol Figur 3: Om du redan har ett PayPal-konto 12

Figur 4: Skapa ett PayPal-konto genom att fylla i information i fälten Figur 5: Logga in på PayPal 3 Installationshandledning Denna guide kommer att hjälpa dig att sätta upp en server och en access-router till WLANtjänsten. Den förutsätter vana med operativsystemen Linux och Windows XP Professional. Eftersom systemet består av komponenter från ett antal olika leverantörer kommer det ofta att hänvisas till deras Internetsidor. Detta på grund av att vi anser att det vore en omöjlighet att fullständigt i denna guide gå in på varje detalj i respektive komponents installationsprocess. Listan 13

av referenser hittas under avsnitt 3.4. Systemet bygger till stor del av ett program som kallas IP-login. Detta har modifierats till att passa en miljö där kunder ansluter via WLAN-förbindelse och betalar för anslutningen. Denna del kommer att köras på access-routern. Servern kommer att köra en databasserver och en httpserver. Till installationen krävs att du har tillgång till de två installationspaketen: Installationspaket1 och installationspaket2. Du behöver även ha tillgång till Internetuppkoppling. 3.1 Access-router Access-routern är den dator som tilldelar, upprätthåller och fråntar användaren anslutningar beroende på om användare har betalad tid kvar i databasen som körs på serverdatorn. 3.1.1 Hårdvarukrav Denna dator måste ha två nätverkskort installerade. Dessutom måste den uppfylla de krav som operativsystemet ställer på den. 3.1.2 Installera operativsystem På access-routern ska Red Hat Linux 9.0 installeras. Detta görs enklast genom att sätta in cd nummer 1 och följa anvisningarna som visas på skärmen. Observera att följande komponenter förutom grundläggande komponenter till operativsystemet måste installeras för att kunna köra systemet: DNS-server http-server PHP-stöd till http-servern DHCP-server IP-tables För närmare detaljer kring installationen, se [1]. 3.1.3 Övrig grundläggande mjukvara När datorn nu har ett operativsystem ska resten av de komponenter som behövs installeras. I access-routern ska Java Runtime Environment 1.4.2 installeras. Detta laddas lättast ner ifrån [2]. Beroende på om du laddade ner RPM-filen eller det självextraherande paketet så ska du gå till väga på olika sätt. Se [3] för instruktioner till installationen. Se till att installera javapaketet till sökvägen: /usr/java/j2re1.4.2 04/. 14

3.1.4 Mjukvara som medföljer systemet Nu kan du börja installera det egentliga systemet som sköter WLAN-tjänsten. Detta innefattar diverse PHP-sidor, script och IP-login. Genom att i ett terminalfönster först gå till den katalog dit du nyss dekomprimerat paketet och sedan köra make och sedan make install kommer mjukvaran att installeras på ditt system. Först måste du dock i lämplig editor öppna filen Makefile och på påvisat ställe ändra sökvägen till din webbservers html och cgi katalog. Ofta finns de i /var/www/. Katalogen dit IP-loginfilerna kopieras är /opt/wlanlogin/. En del filer kommer också att läggas i webbserverns kataloger som du nyss angett i Makefile. När mjukvaran installerats ska du gå till katalogen /opt/wlanlogin/bin/egna/ och köra scriptet setup. Detta script kommer bland annat att ställa in IPtables så att de endast släpper igenom användaren till valda Internetsidor före inloggning och efter inloggning ger full tillgång till Internet. För mer information om IPtables se [4]. Figur 6: Ändra Makefile på detta ställe 3.1.5 Konfiguration Du måste konfigurera nätverksinterfacen. Interface eth0 ska beroende på hur din Internetanslutning ser ut konfigureras antigen till fast eller till en dynamisk adress. Om du har en DHCP-server som delar ut IP-adresser ska du konfigurera den till dynamisk. Om du inte har någon sådan ska du konfigurera den statisk med de parametrar som krävs för att den ska få tillgång till Internet.Eth0 är alltså det interface som inloggade användare slussas ut till Internet på och via vilken systemet ansluter till databasen på serverdatorn. Eth1 ska konfigureras så att det har en statisk IP som är 192.168.0.1.Via eth1 kommunicerar access-routern med WLANbryggan. I Red Hat Linux 9.0 kan man ställa in nätverksinterfacen antingen genom att via det grafiska gränssnittet öppna ett konfigurationsprogram eller genom att i 15

terminalen skriva kommandot: redhat-config-network. Man kan även konfigurera dem genom att med lämplig editor ändra i konfigurationsfilerna till interfacen som ligger i /etc/sysconfig/network-scripts/. För information om de olika inställningssätten, se [5] respektive [6]. 3.2 Serverdator Servern är den dator som kommer att köra den databasserver som access-routern skickar sina förfrågningar till om huruvida kunden har tid kvar att surfa. 3.2.1 Hårdvarukrav Till denna dator behövs ett nätverkskort. För övrigt måste datorn uppfylla de hårdvarukrav som ställs vid installation av Microsoft Windows XP Professional. 3.2.2 Installera operativsystem På denna dator ska alltså Windows XP Professional installeras. För närmare instruktioner angående detta se medföljande manual eller [7]. Även service pack 1 bör installeras. 3.2.3 Övrig mjukvara Även i serverdatorn ska Java Runtime Environment 1.4.2 installeras och detta hämtas också från [3]. För installationsanvisningar se [8]. I serverdatorn ska databasservern MySQL 4.0.18 installeras (se [9] för installationsguide). Denna kan hämtas från [10]. För att slippa onödigt krångel så bör databasservern installeras i C:\mysql. Om du av någon anledning inte vill det, se [11] för anvisningar. Det är även bra att ladda ner och installera ett administreringsprogram till MySQL för att lättare hålla koll på databasen. Det gör du här: [12] För att skapa databasen och tabellerna som behövs så ska du ifrån installationspaketnr2 packa upp SQLCreator.java till katalogen C:\mysql. Du måste även för att kunna köra denna ladda ner och packa upp JDBC drivrutinerna från [13] till samma katalog. När du nu kompilerar och kör SQLCreator kommer databasen att skapas. Serverdatorn behöver även en http-server. En utmärkt sådan är Apache. Som vanligt kan det hämtas via Internet, närmare bestämt här: [14]. Behöver du hjälp med installationen, se [15]. Förutom http-server måste även PHP-stöd till servern installeras. Detta fås från [13] och [14] ger dig en installationsguide. 16

3.2.4 Mjukvara som medföljer systemet När du kommit så här långt är det dags att lägga in de till detta system medföljande filerna på rätt plats i ditt befintliga system. Det enda som egentligen måste göras i detta steg är alltså att dekomprimera installationspaketnr2 till webbserverns html-katalog. 3.2.5 Konfiguration För att få databasservern att startas automatiskt vid uppstart av Windows XP ska du gå in under: Startmenyn Kontrollpanelen Administrationsverktyg Tjänster och där fylla i fälten med dina egna värden i fälten. 3.3 Uppstart av systemet När allt nu är installerat ska du se till att webbservern och databasservern körs på serverdatorn. På access-routern ska du också kontrollera att alla de installerade servrarna körs. Själva IP-login kommer att startas när en användare försöker logga in och behöver därför inte att startas explicit. 3.4 Länkar Access-router Operativsystemrelaterade [1] https://www.redhat.com/docs/manuals/linux/rhl-9-manual/install-guide/ Javarelaterade [2] http://www.java.sun.com/j2se/1.4.2/download.html [3] http://www.java.sun.com/j2se/1.4.2/jre/install-linux.html Nätverksrelaterade [4] http://www.linuxguruz.com/iptables/howto/ [5] http://www.redhat.com/docs/manuals/linux/rhl-9-manual/custom-guide/chnetwork- config.html [6] http://www.redhat.com/docs/manuals/linux/rhl-9-manual/ref-guide/s1-networkscriptsinterfaces. html Serverdator Operatisystemrelaterade [7] http://www.microsoft.com 17

Java-relaterade [8] http://www.java.sun.com/j2se/1.4.2/jre/install-windows.html MySQL-relaterade [9] http://www.mysql.com/doc/en/windows installation.html [10] http://www.mysql.com/downloads/index.html [11] http://www.mysql.com/doc/en/windows prepare environment.html [12] http://www.mysql.com/products/mysqlcc/index.html [13] http://www.mysql.com/downloads/api-jdbc-stable.html Apache-relaterade [14] http://httpd.apache.org/download.cgi [15] http://httpd.apache.org/docs-2.0/platform/windows.html PHP-relaterade [16] http://www.php.net/manual/sv/ [17] http://www.php.net/downloads.php 4 Systembeskrivning Systemet fungerar i korthet genom att använda systemet iptables (finns fr.o.m. Linux 2.4.x) för att blockera åtkomst till Internet och bara öppna upp för vissa datorer. Iptables innehåller som namnet antyder flera tabeller med regler för vad som får och inte får släppas igenom routern. Detta fungerar tillsammans med ett betalnings- och inloggningssystem som, varje gång en användare loggar in på systemet, lägger till rader som öppnar upp en kanal för just den datorn. Dessutom undersöker systemet periodvis om användaren fortfarande ska vara inloggad och utför passande åtgärder om så inte är fallet (återställer routingtabeller o.s.v.). 18

Ansluten, ingen IP-address än Rensa upp, avsluta IP-login Tilldelas IP-address (DHCP) arp-ping misslyckas Blockerad: Endast login.folketshub.com och www.paypal.com går att nå ej tillåten Kontrollera om : - datorn går att nå (arp-ping) - användaren har tid kvar och är inloggad (wlancheck) login.php: klickar på nästa tid kvar time-out misslyckad betalning, login.php?error=1 IP-login-cgi: Kontrollera om användaren har tid kvar (wlanlogin) tid kvar Öppen: Hela Internet går att nå do: count-down (IP-login) ingen tid kvar pay.php: Val av hur mycket tid som ska köpas login.php?autologin=1 Betalning: Paypal.com tar emot betalningen lyckad betalning Tar emot betalningsnotifiering, uppdaterar databasen (ipn.php) 4.1 SQLConnector För att enkelt kunna kommunicera med databasen, har vi låtit ett javaprogram sköta denna bit. De tabeller som programmet arbetar mot är dessa två: connections(username, MAC, connected, ip, disconnected) payment(mac, username, timeleft, totalboughttime) Kolumnen timeleft är den tid i millisekunder som användaren har kvar att surfa för. TotalBoughtTime är summan av all tid som användaren köpt någonsin. Programmet heter SQLConnector och kan göra följande: 19

1. Ansluta en användare. Dennes användarnamn, MAC-adress och IP skrivs in i databasen tillsammans med tidpunkten för anslutandet. Som tidsreferens skriver vi in javas systemtid i millisekunder, dvs. den som returneras av System.currentTimeMillis(). I disconnected skrivs StillConnected in. 2. Koppla ifrån en användare. Användaren identifieras av sitt användarnamn och MAC-adress. Därefter skriver vi in vilken tid användaren kopplades ifrån, samt uppdaterar dennes kontoställning, dvs. drar av den tid han har varit online från den tid han har kvar att surfa för. 3. Kolla om en användare är ansluten, dvs. returnerar sant om disconnected är lila med StillConnected på någon rad med användarens användarnamn och MAC-adress. 4. Kolla om en användare får ansluta, dvs. om denne har någon tid att surfa för. Vår databasserver är en MySQL-server. För att kommunicera med en sådan via Java, måste vi använda ett antal paket: java.sql.connection, java.sql.drivermanager och java.sql.sqlexception. Dessa är alla standardpaket. Dessutom används mysql.com:s MySQL-Connector. Denna laddar man ner från mysql.com och skapar sedan en ny instans av com.mysql.jdbc.driver. Syntaxen för vårt program SQLConnector är följande: java SQLConnector -c username MAC ip java SQLConnector -d username MAC java SQLConnector -a username MAC java SQLConnector -i username MAC Username är användarens e-mailadress. Vi har för enkelhetens skulle valt att låta användaren använda samma adress som denne har eller kommer att registrera sig på PayPal med. MAC är användarens nätverkskorts MAC-adress och IP är den IP-adress som användaren tilldelats av accessroutern. 4.1.1 Detaljerad beskrivning av SQLConnectors metoder main() Läst av argumentarrayen första fält. Är det -c så skickas alla argument med till connected, är det -d anropas disconnect, är det -a kallar vi på isallowed, om det är -i kör vi isconnected och i alla övriga fall körs showfailmessage. För frågemetoderna isallowed och isconnected returneras 0 om svaret är sant, 1 annars. För de andra gäller att vi avslutar med 0 om allt gått som det ska, 1 annars. 20