You are on page 1of 14

ITRAINONLINEMMTK

INFRASTRUCTURESBASESSURLINUX
Prparpar:TomasKrag,wire.less.dk

ITRAINONLINEMMTK

..............................................................................................................................................

INFRASTRUCTURESBASESSURLINUX

............................................................................................................

Ausujetdecedocument

...........................................................................................................................................

Renseignementssurledroitdauteur

........................................................................................................................

LerledeLinuxdanslesinfrastructuresderseaux

................................................................................................

Introduction

...............................................................................................................................................................

Prrequis

..........................................................................................................................................................

Hypothses

.......................................................................................................................................................

Scnario1:Unepasserellepourleservicesansfilsurlepointdaccs
masquerading

......................................

tape0:Configurationinitiale

...........................................................................................................................

tape1:Configurerlesinterfaces

....................................................................................................................

tape2:configurerlapasserelledanslenoyau
masqueradinginthekernel

.............................................

tape3:ConfigurerleserveurDHCP

...............................................................................................................

tape4:Ajouterdelascurit:configurerunparefeu

.....................................................................................

Scnario2:Pointsdaccspasserellestransparentes

...........................................................................................

tape0:Configurationinitiale

...........................................................................................................................

tape1:Configurerlesinterfaces

....................................................................................................................

tape:Commencerlapasserelle

.....................................................................................................................

Scnario1et2lafaonfacile

...........................................................................................................................

Scnario3:unparefeucentralavecidentification

....................................................................................................

Sommairedelaconfiguration

...........................................................................................................................

Exigencesdquipement

.................................................................................................................................

10

tape0:Installationdulogiciel

.......................................................................................................................

10

tape1:ConfigurerApache2pourSSL

..........................................................................................................

11

tape2:ConfigurerChilliSpot

........................................................................................................................

12

tape3:Configurerlelogiciel

........................................................................................................................

12

Ausujetdecedocument
CesdocumentsfontpartieduItrainOnlineMMTK.LeMMTKestunensembleintgrdedocumentsetde
ressourcesdeformationmultimdiadestinaiderlesmdiascommunautaires,lescentresmultimdia
communautaires,lestlcentresetautresinitiativesquiutilisentlestechnologiesdelinformationetdes
communications(TIC)renforcerlescommunautsetsoutenirletravaildedveloppement.

Renseignementssurledroitdauteur
CetteunitestprsentesouslicenceCreativeCommonsPaternitPartagedesConditionsInitiales
l'Identique2.5.Poursavoircommentutilisercesdocuments,veuillezlireladclarationsurledroitdauteur
accompagnantcetteunitouconsulter
http://creativecommons.org/licenses/bysa/2.5/deed.fr.
18_fr_mmtk_wireless_linuxinfrastructure_handout.odt
DerniremisejourledJuneyyyy
Disponibleenligneladressesuivante:http://www.itrainonline.org/itrainonline/mmtk/

LerledeLinuxdanslesinfrastructuresderseaux
Engnral,lesystmedoprationGNU/Linux(ladiffrencedeWindows)offreladministrateurderseautout
lepotentieldunaccstotallapiledeprotocolesrseaux.Onpeutaccderautantlacouchedonneslien
datalink,lacoucherseauetbiensrlacouchelogicieldapplications.
JumellaflexibilitreconnuedeGNU/Linuxsurtouteunevaritdquipementssurlequelilpeutfonctionner,
cesavantagesfontdeGNU/Linuxunoutiltrspuissantquipeutjouerdiffrentsrlesdanslinfrastructurerseau.
Lediagrammesuivantprsentelescnarioquiestlabasedeceguidemaisilestimportantdenoterquilne
dcritquedesrlesslectionnsdanslerseau.Premirement,touslesrlesdanslediagrammeauraientpu
treintgrsdansunseulordinateurourorganissdiffremment.Poursimplifiercependant,unsommairede
chacundecesrlesatprsentdansletexteplusbas.

Danscediagramme,nousavonsillustrunrseaulocalintgrant2segmentsspars;unsegmentouvertetun
segmentfermavecidentification.Ilyatroisunitsdiffrentesdanscetinfrastructuresansfililssontdiffrentes
danslediagrammeseulementpourillustrerlavaritdansleschoix.Unpointdaccspeuteneffettreuneunit
intgrecommeleLinksysWRT54G,unquipementsansfilfonctionnantsurlabasedunprogrammebassur
linuxcommeMetrixMkIIouencoreunvieilordinateurrecyclfonctionnantsousLinux.
Dansceguide,nousverronscommentconfigurerLinuxdanslessituationssuivantes:

Unpointdaccssansfilavecmasquerading/NAT(aussiappelpasserellesansfil).
Unpointdaccssansfilquiagitcommeunponttransparent.Ilpeuttreutiliscommeunpointdaccs
simpleoucommeunrpteuravecdeuxcartesradio.
Unrouteurcentralavecunsimplesystmedidentification,permettantlidentificationdusagersprovenantde
diverspointdaccs.

18_fr_mmtk_wireless_linuxinfrastructure_handout.odt
DerniremisejourledJuneyyyy
Disponibleenligneladressesuivante:http://www.itrainonline.org/itrainonline/mmtk/

Introduction
Prrequis
Defaonvraimentprofiteraumaximumdeceguide,leslecteursdevraienttrefamilieraveclutilisationdeLinux
ettrecapabledinstallerlaversionLinuxdeleurchoix.Uneconnaissancedebasedeslignesdecommandes
(interfaceterminal)estaussirequise.
Defaonsuivrelapartiesurlaconfigurationdespointsdaccsinclusdanscedocument,unordinateur
fonctionnantsousLinuxestrequisavecaumoinsunecartesansfildjinstalle.Lesexemplesutilisentdes
cartesetpilotesspcifiques,maisilexisteunnombreimportantdecartesdiffrentesquidevraientfonctionnerde
lammefaon.VoyezlemoduleKFMMInstallationsansfilsurLinuxpourdestrucssurcommentinstaller
linterfacesansfilsurLinux.
Finalement,unecomprhensiondurseautagesousTCP/IP(voyezlemodulemiseenrseauavancsi
ncessaire).

Hypothses
Logiciel
Afinderestersimple,cedocumentassumequevousutilisezunmmelogicielsurlemmequipement.Les
commentairesetidesdusagersutilisantdautresversionsdeLinuxoupilotessansfilsontlesbienvenus
(t@wire.less.dk).
CesexemplesdevraientaussifonctionnersousdautresversionsdeLinuxplusrcentes;quoiquenousavons
notquedeschangementsdoiventtrefaitavecMandrakeetFedora.Cependant,ceschangementsnontpast
tests.
LesexemplessontbasssurUbuntu,version5.1(BreezyBadger),avecunecartesansfilutilisantlepilote
madwifi(ouhostap)voyezlesRessourcesadditionnellespourlesliens.
IlestpossibledeconfigurercesressourcesavecdautrespilotesenautantquilssontcompatiblesavecleMaster
mode(AP).Cestaussipossible,maispastoujoursdsirable,defairelesmmesconfigurationsenmodedirect
(Adhoc)lequelestpossibleaveclensembledespilotes.
SousLinux,lesprogrammessuivantssontncessairespourcomplterlinstallation:

Outilssansfil(iwconfig,iwlistcommands)
iptablesfirewall
dnsmasq(serveurdecacheDNSetserveurDHCP)

quipement
Ilyapeudquipementsncessaire.Unordinateurdebureauouunportable,avecuninterfaceEthernetetun
autreavecunoudeuxinterfacessansfil(telsquerequispourlapartiesurlaconfigurationdespasserellespour
lespointsdaccsmasquerading.Pourcesquipements,aucunprocesseurspcifiquenestrequis.Cesont
desordinateursrguliersoudesvieuxquipementsenvoiedtretransformenpointdaccsfonctionnantsous
Linux(LinksysWRT54G).
Ledocumentsurlesressourcesadditionnellesprsentedesliensversdesvendeurssuggrs(pasrecommand)
quipeuventtreutileici.

18_fr_mmtk_wireless_linuxinfrastructure_handout.odt
DerniremisejourledJuneyyyy
Disponibleenligneladressesuivante:http://www.itrainonline.org/itrainonline/mmtk/

Lescnariosurleparefeuavecidentificationdemandeplusdquipementsmaisfonctionnerasousunordinateur
avec500MHzx86avec10Gbdedisquedur(oummeunecartecompacteUSB2Gb),et128MbRAM.Tout
celabiensurdpenddelutilisationprvuedusystme,

Scnario1:Unepasserellepourleservicesansfilsurlepoint
daccsmasquerading
Cestleplussimpledesscnarios,etspcialementutilelorsquevousvoulezunseulpointdaccspourunbureau
ouautre.
1.
2.
3.
4.

Ilexisteunparefeuddi.EtunepasserelletournantsousLinux.Voussouhaitezajouteruninterface
sansfil.
Vousavezsouslamainunvieilordinateurrusinouunportablequevouspouvezutilisercommeun
pointdaccs.
vousvoulezplusdecapacitdesuivi,descuritquecequoffrelaplupartdespointsdaccs
commercial,maisvousnesouhaitezPASpayerpourunpointdaccsdentreprise(voyezaussile
scnario3)
Vousvoulezquuneseulemachineagissecomme2pointsdaccs(etparefeu)afindepouvoiroffrirun
accsInternetscurit(avecidentification)etunaccsouvertpourlesinvits(voyezaussilescnario
3).

tape0:Configurationinitiale
DmarrezvotreordinateurdjconfigursurGNU/Linux.CelapeuttreunserveursousUbuntuouencore
Fedora.Cetordinateurdoitavoiraumoins2interfacespourcetravail,etaumoinsunedecesinterfacedoittre
sansfil.LerestedeladescriptionassumequevotreportEthernet(eeth0)estconnectlInternet(etquilobtient
sonadresseIPdunserveurDHCP)etquilexisteuninterfacesansfil(wlan0)quiseralepointdaccs.Telque
prcdemmentmentionn,lemodemaster(oumodedepointdaccs)aseulementttestaveclespilotes
madwifi(puceAtheros)ethostap(puceIntersilPrism2/2.5/3
).
Poursavoirsivotrepuceoffrelemodemaster,essayezlacommandesuivantecommeroot:
#iwconfigwlan0modeMaster
(remplacezwlan0parlenomdevotreinterface).
SivousnerecevezPasdemessagederreur,votrecartedoitfairelAffaire(maisilnyapasdegarantie).Sivous
recevezunmessagederreur,vouspouvezessayerlammeconfigurationenmodedirecte(adhoc),lequel
fonctionnesurtouteslespuces.Celaexigeracependantquevousconnectiezparlasuitecepointdaccstous
lespostesenmodedirectaussi.ventuellement,celapourranepasfonctionnertelquevouslattendiez.
Avantdecontinuer,assurezvousdinstallerdnsmasqsurvotremachine(utilisezlegestionnairegraphique
dinstallationdevotreversion.SurUbuntu,vouspouvezfairecequisuit(aprsavoirconfigurvotrerpertoirede
nouveauxprogrammesvoyezhttp://www.ubuntuguide.org/):
#sudoaptgetinstalldnsmasq

tape1:Configurerlesinterfaces
Configurezleserveurdefaoncequeeth0soitconnectlInternet(utilisezloutildegestiondevotreversion
ouessayezlacommandesuivanteenmoderoot):
#dhclienteth0
18_fr_mmtk_wireless_linuxinfrastructure_handout.odt
DerniremisejourledJuneyyyy
Disponibleenligneladressesuivante:http://www.itrainonline.org/itrainonline/mmtk/

Configurezvotreinterfacesansfilenmodemasteretdonnezluilenomdevotrechoix:
#iwconfigwlan0essidmonreseaumodeMasterencoff
LeencoffannulelemodedecryptageWEP.Toenableweaddahexkeystingoftherelevantlengthafter
thekeywordencinstead,i.e.iwconfigwlan0essidmynetworkmodeMasterenc1A2B3C4D5E)
DonnezmaintenantuneadresseIPvotreinterfacesansfil,dansunsousrseaupriv.Maisfaitesattentionde
nepasluidonnerlemmesousrseauqueceluideladaptateurEthernet:
#ifconfigwlan010.0.0.1netmask255.255.255.0broadcast10.0.0.255up

tape2:configurerlapasserelledanslenoyaumasqueradinginthekernel
Defaonpouvoirpermettreauxadressesdtretraduitesentrelesdeuxinterfaces,nousdevonsinstaller
masquerading(NAT)auseinmmedunoyaudeLinux.Ilfautdabordouvrirlemoduleenquestion:
#modprobeipt_MASQUERADE
Maintenant,nousallonsliminertouteslesrglesexistantesentermesdeparefeupourtrecertainquecellesci
nempchentpaslacirculationdespaquetsdedonnesentrenosdeuxinterfaces.Sivousavezunparefeuen
activit,soyezcertaindesavoircommentrestaurerlesrglesparlasuite.
#iptablesF
PermettrelesfonctionsNATentrelesdeuxinterfaces
#iptablestnatAPOSTROUTINGoeth0jMASQUERADE
Finalement,nousdevonspermettreaunoyaudetransmettredespaquetsentrelesdeuxinterfaces:
#echo1>/proc/sys/net/ipv4/ip_forward
SurlesversiondeLinuxbassurDebian(tellesqueUbuntu),cechangementpeutaussitrefaitenmodifiantle
fichier:
/etc/network/options
changezlaligne
pour

ip_forward=no
ip_forward=yes

puisredmarrezlesinterfacesderseauxavec:
ou

#/etc/init.d/networkrestart
#/etc/init.d/networkingrestart

tape3:ConfigurerleserveurDHCP
cestade,vousdevriezdjavecunpointdaccsfonctionnel.Celapourrasevrifierenconnectantuneautre
machinesansfiletendonnantcettemachineuneadresseIPcontenudanslemmeventailquecelledenotre
interfacesansfilsurleserveur(10.0.0.0/24sivousavezsuivilesexemples).

18_fr_mmtk_wireless_linuxinfrastructure_handout.odt
DerniremisejourledJuneyyyy
Disponibleenligneladressesuivante:http://www.itrainonline.org/itrainonline/mmtk/

DefaonrendrelaccsplusfacileceuxquineconnaissentpaslventailIP,nouscreronsunserveurDHCP
quidistribueralesadresseIPautomatiquementauxclientssansfil.
Nousutilisonspourcelaleprogrammednsmasq.Commesonnomlindique,ceprogrammeatdvelopp
spcialementpourlaparefeuNATetenplusduDHCP,ilfournitunecacheauserveur.Disposerdunecache
pourleserveurpeuttreparticulirementutilesivotreconnexionInternetestfaibleouimposeunelatencetrop
levecommecestlecasparexempledesVSAToudesconnexionsparmodem.Celasignifiequelesdemandes
deDNSpourronttrersolueslocalement,pargnantbeaucoupdebandepassantesurlInternetetfaisant
paratrelaconnexionpassablementplusrapide.
Installezdnsmasqpartirdevotregestionnairedeprogrammesoutlchargezlecodesourcedirectementdu
Web(voyezlesRessourcesadditionnelles).
Toutcequiestncessairepourfairefonctionnerdnsmasqestdemodifierquelqueslignesdanssonfichierde
configuration.Ceslignessont:
/etc/dnsmasq.conf
Lefichierdeconfigurationestbiencritsetoffreplusieurstypesdeconfiguration.PouravoirleserveurDHCP
lmentairefonctionnel,ifautseulementmodifier2lignes.
Trouvezleslignesquicommencentpar:
interface=
soyezcertaindevoir:
interface=wlan0
Puistrouvezleslignesquicommencentpar:
#dhcprange=
rcrivezlalignepouryinclureladresseIPutilise:
dhcprange=10.0.0.10,10.0.0.110,255.255.255.0,6h
sauvezlefichieretredmarrezdnsmasq:
#/etc/init.d/dnsmasqstart
Voil,vousdevrieztreenmesuredevousconnecterauserveurentantquepointdaccsetrecevoirune
adresseIPduserveurDHCP.VousdevriezparlasuitepouvoirvousconnecterlInternetparceserveur.

tape4:Ajouterdelascurit:configurerunparefeu
Lorsquequelesserveurssontconfigursettests,vouspouvezajouterunparefeuenutilisantnimportequel
outilparefeuinclutdansvotredistribution.
Voiciquelquesoutilsparefeu:

firestarterunprogrammeclientpourGnomequiexigequeleserveurtourneavecGNOME
KNetfilterunprogrammeclientpourKDEquiexigequeleserveurtourneavecKDE
Shorewallunensembledescriptsetfichiersdeconfigurationquifacilitentlamiseenplacedunpare
feuiptablesTherearealsofrontendsforshorewallsuchaswebminshorewall

18_fr_mmtk_wireless_linuxinfrastructure_handout.odt
DerniremisejourledJuneyyyy
Disponibleenligneladressesuivante:http://www.itrainonline.org/itrainonline/mmtk/

fwbuilderunoutilpuissantmaispluttcomplexequivouspermetdecrerdesscriptsiptablessurune
machinespareduserveuretdelestransfrersurleserveurparlasuite.Ilnerequiertpasquevous
installiezunsystmedoprationgraphiquesurleserveur.Cestuneoptionsrieusepourceuxquisont
lesplusconscientsdelascurit.

Pourplusdinformationpourmettreenplacedavantagedesystmedescurit,voyezaussilescnario3.

Scnario2:Pointsdaccspasserellestransparentes
Cescnariopeuttreutilispourunrpteurdeuxcartesradio,oupourunpointdaccsconnectunrseau
Ethernetpourlequelnoussouhaitonsquelesdeuxctsdupointdaccssoientsurlemmesousrseau.Cela
peuttreparticulirementutilelorsquevoussouhaitezconfigurerplusieurspointsdaccstoutenmaintenantun
seulparefeucentralavecpeuttreunserveurdidentification.Puisquetouslesclientssontsurlemmesous
rseau,ilspeuventtoustregrsparlesmmesserveurDHCPetparefeu.
Parexemple,vouspouvezconfigurerunserveurcommedanslescnariono1,maisenutilisant2interfaces
cbleEthernetpluttquunecbleetlautresansfil.UneinterfaceseravotreconnexionInternetetlAutresera
brancheuncommutateur.Puis,connectezautantdepointdaccsquevouslesouhaitezcemme
commutateur.Configurezcespointsdaccscommedespasserellestransparentesettoutlemondeaccderaau
rseauparlemmeparefeuetutilisantlemmeserveurDHCP.Parlasuite,vouspourrezsuivrelescnario3et
ajouterlidentificationauserveurcentral.

tape0:Configurationinitiale
Mispartlefaitquilnencessitepasdsnmasq,laconfigurationinitialedunpointdaccspasserelle
transparenteestsimilaireestcelledunpointdaccspasserellemasquerading(voyeztape0sous
Scnario1).
Enplusdecetteconfiguration,unprogrammepasserelleestncessairepourfairecetravail.Leprogrammeexiste
pourUbuntuetlesautresversionsbasessurDebiantoutcommeFedoraCore.Soyezcertainqueleprogramme
estinstalletquelacommandebrctlestdisponibleavantdeprocder.

tape1:Configurerlesinterfaces
SurUbuntuouDebian,onpeutconfigurerlesinterfacesenmodifiantlefichier
/etc/network/interfaces
Ajoutezunesectioncommecequisuit,maischangezenconsquencelesnomsdesinterfaceetadresseIP.
LadresseIPetlesousrseaudoiventtreassortiaurseau.Cetexempleassumequevousconstruisezun
rpteursansfilavec2interfaces(wlan0etwlan1),maiscelapeuttreaussifaitavecuninterfacecbletun
interfacesansfil(eth0etwlan0).
Ajoutezcequisuitaufichier:

auto br0
iface br0 inet static
pre-up ifconfig wlan 0 0.0.0.0 up
pre-up ifconfig wlan1 0.0.0.0 up
pre-up iwconfig wlan0 essid client
pre-up iwconfig wlan1 essid AP mode Master
address 192.168.1.2
network 192.168.1.0
netmask 255.255.255.0
18_fr_mmtk_wireless_linuxinfrastructure_handout.odt
DerniremisejourledJuneyyyy
Disponibleenligneladressesuivante:http://www.itrainonline.org/itrainonline/mmtk/

broadcast 192.168.1.255
gateway 192.168.1.1
bridge_ports wlan0 wlan1
post-down ifconfig wlan1 down
post-down ifconfig wlan0 down
regardezbientouteslesautressectionsdufichierquirfrentwlan0orwlan1pourtrecertainquerien
ninterfreavecvosnouvellesconfigurations.
Cettesyntaxepourcrerdespasserellesvia/etc/network/interfacesestspcifiqueauxversionsbasessur
Debianetlesdtailspourconfigurercespasserellessontgresparplusieursscripts,notamment:
/etc/network/ifpreup.d/bridge
/etc/network/ifpostdown.d/bridge
Etledocumentpourconfigurerlespasserellessont:
/usr/share/doc/bridgeutils/
Sicesscriptsnexistentpassurvotreversion(commeFedoraCore)voiciunealternativedeconfiguration
/etc/network/interfacesquiparviendraaummersultatavecseulementquelquespetitsproblmesmarginaux
supplmentaires:

ifacebr0inetstatic
preupifconfigwlan00.0.0.0up
preupifconfigwlan10.0.0.0up
preupiwconfigwlan0essidclient
preupiwconfigwlan1essidAPmodeMaster
preupbrctladdbrbr0
preupbrctladdifbr0wlan0
preupbrctladdifbr0wlan1
bridge_portswlan0wlan1
postdownifconfigwlan1down
postdownifconfigwlan0down
postdownbrctldelifbr0wlan0
postdownbrctldelifbr0wlan1
postdownbrctldelbrbr0

tape:Commencerlapasserelle
Quandlapasserelleestdfiniecommeinterface,lancezlaentapant:
#ifupvbr0
levsignifieverboseoutputetvousdonneradelinformationsurcequisepasse.
SurFedoraCore(uneversionnonbasesurDebian)vousaurezbesoindedonnervotreinterfacepasserelle
uneadresseIPetajouterunroutagepardfautaurestedurseau:
#ifconfigbr0192.168.1.2netmask255.255.255.0broadcast192.168.1.255
#routeadddefaultgw192.168.1.1
VousdevriezmaintenantpouvoirconnecterunordinateurportableaurseausansfilpouraccderlInternet(ou
minimalementaurestedurseau).
Sivoussouhaitezavoirplusdinformationausujetdevotrepasserelle,regardezlacommandebrctl.parexemple:
#brctlshowbr0
18_fr_mmtk_wireless_linuxinfrastructure_handout.odt
DerniremisejourledJuneyyyy
Disponibleenligneladressesuivante:http://www.itrainonline.org/itrainonline/mmtk/

devraitvousmontrerdesinformationssurcequefaitvotrepasserelle.

Scnario1et2lafaonfacile
PluttquedinstalleruneversionLinuxetparlasuiteconfigurervotreordinateurpourquilsoitunepasserellepour
votrepointdaccs,vousprfrerezpeuttrejeteruncoupdilauxversionsdeLinuxspcifiquementconues
pourcetravailetquipeuventparfoistreaussisimpledutilisationquedinsrerunCDsurunquipementquip
duneinterfacesansfil.
Parexemple,ilexisteuneversionsurunseulCDappelPeeble.ElleestbassurDebiandveloppparNYC
Wireless.Ilexisteaussiuneversionamliore,dveloppeparMetrixCommunicationsetadaptepourun
ordinateur
m0n0wallestuneversiondeparefeuquirendfacilelaconfigurationdepasserellesmasquerading.Elle
permetaussideroulercertainslogicielsliscommeWRAP.
Linux,etenconsquencecesscnariospeuventaussifonctionnersurdesquipementsddisauxpoints
daccstelsqueLinksysWRT54Gsurlesquelsilestpossibledinstallerdeslmentssupplmentairesceux
dorigine.
Voyezlesressourcesadditionnellespourlesliensddiscesversions.

Scnario3:unparefeucentralavecidentification
LobjectifestdecrerunepasserellequiforceralesusagerssidentifierviaunepageWeboblig.Aprs
configuration,lamachineauradeuxinterfacesrseau(nousutiliseronseth0eteth1danscetexemple).La
premireinterfaceestconnectelInternet(eth0),lasecondeestuneinterfaceinterneparlaquellenousnous
connectonsauxautresmachines(eth1).CelapeuttreunportEthernetavecuncommutateurauquelsont
attachsunnombredautresmachinesoudepointsdaccs(2ecouchepasserelletransparente)oucelapeuttre
uninterfacesansfil,transformantautomatiquementlapasserelleenpointdaccs(voirscnario1)
Danscescnario,nousajouteronsunsystmedidentificationquirequiertdesusagersunnomdidentifiantetmot
depasseavantquilspuissentaccderauxressourcesdurseau(Internet,imprimantes,etc.).

Sommairedelaconfiguration
ChilliSpotcontrlelinterfaceinterne(eth1)utilisantunmodulevtunkernelquifournituneinterfacevirtuelle
(tun0).Danslesfaits,lemodulevtunKernelestutilispourdplacerlespaquetsdedonnesdumodekernelvers
lemodeusagerdefaoncequeChilliSpotpuissefonctionneravectoutessortesdemoduleshorsnorme.
ChilliSpotinstalleunserveurDHCP(celapeuttredfaitvialefichierconfdeChilliSpot)surlinterfacetun0.
Unclientseconnectantsurcetteinterfacevoittoutessesdonnesrejetesjusqucequilsoitidentifipartirde
lapagedidentification.QuandunclientnonidentifiessaiedeseconnecterunepageWeb(parlesports80ou
443),larequteestintercepteparChilliSpotetredirigeunscriptPerlappelhotspotlogin.cgi(fournipar
Apachesurhttps).
Hotspotlogin.cgirenvoiunepagelusagerunepageavecdeschampsnometmotdepasse.Linformation
soumisedansceschampsestparlasuitetransfreauserveurFreeRADIUS,quivrifiedanslinformation
disponiblesonniveau(utilisantPAPorCHAP)Lersultatdanscecasserainitialementunfichiertexte,mais
peutaussitreunnombredeservicescommeLDAP,Kerberos,UnixpasswdfilespoummeActiveDirectory
(probablement).

18_fr_mmtk_wireless_linuxinfrastructure_handout.odt
DerniremisejourledJuneyyyy
Disponibleenligneladressesuivante:http://www.itrainonline.org/itrainonline/mmtk/

LusagerestcemomentrejetouidentifiparFreeRADIUSquidemandehotspotlogin.cgiderenvoyersoitun
messagederejetouunepagedentreavecunliendedconnectionpourlusager.
Dsquenousavonsinstallettestcelaavecunfichiertexte,nousremplaceronsFreeRADIUSparunebasede
donnesMySQLquinouspermettradajouterdesfonctionscommelescartesdeprpayespourlaccsInternet.

Exigencesdquipement
NimportequelPCmunidedeuxinterfacederseaudevraitfonctionner.Maiscontrairementauxscnarios1et2,
cettemachinedevraitavoirundisquedurouminimalementunecartecompactflashpourlespacede
rangementpuisqueMySQLabesoindespace.

tape0:Installationdulogiciel
Essentiellementunerptitiondespremirestapesduscnario1;nousavonsbesoindunordinateuravec2
interfacesfonctionnantsousLinux.Maisnousncessiteronsaussidediffrentsprogrammesquidevronttre
installpourcetravail.
NousavonsdbutparlinstallationdeUbuntuLinux.NousavonsutilislaversionHoarymaisceladevrait
fonctionneraussisurdautresversionsdeGNU/LinuxdistributionstellesqueFedoraCore,Mandrivaetc.
CeciattestautantaveclesversionsserveursqueclientdeUbuntu.Linstallationdebasevaaudeldela
portedecetteunit,maislesitedeUbuntuprsentetouteladocumentationncessairepourinstallerUbuntu
partirdezro.
QuandUbuntuestinstall,nousdevonsajouterquelquesprogrammessupplmentairesquinesontpasprsents
pardfaut.SivousignorezcommentinstallerdesprogrammessousUbuntu,lisezceciAVANTdeprocder.Si
voustesfamilieravecleslignesdecommandesLinux,lisezlapagepourlacommandeaptgetcommand.Il
existeunHowto(comment?)pourlinstallationdurpertoireUniversesurUbuntuetceluiciestrequispour
certainsdesprogrammesquidoiventtreinstalls(voirRessourceAdditionnelles:UnofficialUbuntuGuide).
Vousdevezinstallerlesprogrammessuivantviasynapticoulacommandeaptgetavantdeprocder.Certainsde
cesprogrammespeuventtredjinstallspardfaut.

mysqlserver
apache2
freeradius
freeradiusmysql
phpmyadmin

Finalement,vousdevezpossderleprogrammeChilliSpot(quinefaitpaspartiedelafamilleUbuntu)en
demandantladministrateurdelapageWebdeChilliSpot(voirRessourceAdditionnelles:ChilliSpot)
Quandvousaveztlcharglefichier,ouvrezleterminal,alleraurpertoireouilseretrouveettapez::
$sudodpkgichillispot_1.0RC31_i386.deb
UtilisantlenomdelaversionChilliSpotpackagequevousaveztlcharg.

tape1:ConfigurerApache2pourSSL
Pourdesraisonsdescurit,nousvoulonsprsenterlapagedidentificationviauneconnexioncrypt(https).
Nousavonsdoncbesoindeconfigurerapache2pourlafournituredepagecryptesSSL.Cettesectionest
adapteduncourriersurunforumUbuntu.
18_fr_mmtk_wireless_linuxinfrastructure_handout.odt
DerniremisejourledJuneyyyy
Disponibleenligneladressesuivante:http://www.itrainonline.org/itrainonline/mmtk/

10

http://ubuntuforums.org/showpost.php?p=19832&postcount=4
Premirement,nousdevonsgnreruncertificatSSLpourapache2:
$sudoapache2sslcertificate
Lacommandevousretourneraunesriedequestionssurlenomdevotreorganisation,lecourrielquiserainclus
danslecertificatmontrauxpersonnesseconnectantausite.
PourpermettrelesextensionsSSLpourapache2,tapez:
$sudoa2enmodssl
ConfigurezmaintenantSSLenajoutantunfichierconfigpourlessitesSSL.Crezcenouveaufichierenmode
root.
$sudopico/etc/apache2sitesavailable/ssl
Cequisuitestunexempledefichierquipermetlesslpourlesrpertoirespardfautdeapache2etcgibin:
NameVirtualHost*:443
<VirtualHost*:443>
ServerAdminadmin@domain.com
DocumentRoot/var/www/
SSLEngineOn
SSLCertificateFile/etc/apache2/ssl/apache.pem
<Directory/>
OptionsFollowSymLinks
AllowOverrideNone
</Directory>
<Directory/var/www/>
OptionsFollowSymLinks
AllowOverrideNone
Orderallow,deny
allowfromall
</Directory>
ScriptAlias/cgibin//usr/lib/cgibin/
<Directory"/usr/lib/cgibin">
AllowOverrideNone
OptionsExecCGIMultiViews+SymLinksIfOwnerMatch
Orderallow,deny
Allowfromall
</Directory>
ErrorLog/var/log/apache2/error.log
#Possiblevaluesinclude:debug,info,notice,warn,error,crit,
#alert,emerg.
LogLevelwarn
CustomLog/var/log/apache2/access.logcombined
ServerSignatureOn
18_fr_mmtk_wireless_linuxinfrastructure_handout.odt
DerniremisejourledJuneyyyy
Disponibleenligneladressesuivante:http://www.itrainonline.org/itrainonline/mmtk/

11

</VirtualHost>
Maintenant,nousdevonsdireApachedcouterleport443(https)autantqueleport80(http)
Modifiezlefichier/etc/apache2/ports.confetajoutezunelignecommecelleci:
Listen443
Pourconfirmercettenouvelleconfiguration,nousdevonsdAbordconfirmerlanouvelleconfigurationdusitessl
puisrelancerApache(ouredmarrerleserveurWeb).
$sudoa2ensitessl
$sudo/etc/init.d/apache2forcereload
cestfait!

tape2:ConfigurerChilliSpot
Finalement,copiezlescriptcgideChilliSpotdanslerpertoirecgibindeapache2cgibin:
$sudocp/usr/share/doc/chillispot/hotspotlogin.cgi/usr/lib/cgibin/
$sudochmod+x/usr/lib/cgibin/hotspotlogin.cgi

tape3:Configurerlelogiciel
LessectionsquisuiventsontpourlaplupartadaptesdelinstallationdeChilliSpotpourDebianSarge(eten
partiedesinstructionsdeFedoraCore).
Configurationdurseauetduparefeu
Nousassumons2interfacesrseau,

eth0estconnectlInternetetdevraittreconfigurcettefin(utilisezifconfig,/etc/network/interfaces,ou
loutildeconfigurationsousSystem>Administration>Networking).
eth1estlinterfacepermettantauxautresordinateursdeseconnecter.Cetteinterfacenedevraitpastre
initialementconfigure.
$sudoifconfig0.0.0.0up

defaonpermettreauxpaquetsdtretransfr,vousdevrezchangerlalignequisuitdans/etc/network/options:
ip_forward=yes
etrelancerlerseau:
$sudo/etc/init.d/networkrestart
PourconfigurerleparefeuetNAT,vouspouvezutiliserlescriptdeparefeudans
"/usr/share/doc/chillispot/firewall.iptables"commepointdedpart.Auminimum,vousdevezmodifierlefichierpour
vousassurerquelesdeuxnomsdelinterfacesontidentiquesceuxdevotresystme.Trouvezleslignesqui
dbutentparINTIF=etEXTIF=etmodifiezlespourquilscorrespondentvotresystme.INTIFestlinterface
laquellelesgensseconnectent(eth1)etEXTIFetlinterfaceaveclaconnexionInternet(eth0).Quandvousaurez
revulesrglesduparefeu,vousexcuterezlescriptparlacommande:
$sudosh/usr/share/doc/chillispot/firewall.iptables
18_fr_mmtk_wireless_linuxinfrastructure_handout.odt
DerniremisejourledJuneyyyy
Disponibleenligneladressesuivante:http://www.itrainonline.org/itrainonline/mmtk/

12

LeScriptduparefeudevratreexcutchaquefoisquelordinateurestrelanc.Unefaonsimpledesassurer
quecelaestfaitestdecopierlefichier/etc/init.d/
$sudocp/usr/share/doc/chillispot/firewall.iptables/etc/init.d/chili.iptables
$sudochmodu+x/etc/init.d/chilli.iptables
$lns/etc/init.d/chilli.iptables/etc/rcS.d/S40chilli.iptables
ConfigurerlefichierconfdeChilliSpot
VousdevezdireChilliSpotouseretrouveleserveurdidentification(quidanscescnarioestsurlamme
machinequeChilliSpot).Celaserafaitenmodifiantlaligne"/etc/chilli.conf":
uamserverhttps://192.168.182.1/cgibin/hotspotlogin.cgi
192.168.182.1estladressepardfautqueChilliSpotdonnelinterfacevirtuelletun0,vouspouvezsansrisquele
laissercommetel.Pourplusdescurit,nousdevronsajouterunsecretpartagentrehotspotlogin.cgietchilli.
Trouvezlaligne"/etc/chilli.conf"
#uamsecretht2eb8ej6s4et3rg1ulp
Modifiezcetteligne(enlevezle#)etCHANGEZlesecretpourquelquedaussibizarre,maisdiffrent.Rappelez
vousdecesecretpuisquildoitaussiseretrouverdanslescripthotspotlogin.cgiscript(nousferonscelaplustard).
Puisquenousutilisonsaussileserveurradius(FreeRADIUS)surlammemachine,nousdevonstrouveret
modifierleslignesquipointentversleserveurradius"/etc/chilli.conf".ilfautretrouver:
radiusserver1127.0.0.1
radiusserver2127.0.0.1
Vousdevriezaussichangerlalignedans"/etc/chilli.conf"quicommenceparradiussecret,defaoncequelles
nutilisentpaslesecretpardfautquicrypteletraficentrechillietradius.
radiussecretsquelquechosedetresdifficileadeviner
RappelezvousdecemotsecretpuisquildevratreajoutaussilaconfigurationdeFreeRADIUS.
ConfigurerFreeRADIUS
LesfichiersdeconfigurationdeFreeRADIUSseretrouventtousdanslerpertoire/etc/freeradius/.Pour
commencer(etpourtester),nousutiliseronslefichiertexte"/etc/freeradius/users"quipermetunseulusagerpour
lestest(steve).Parlasuite,nouspouvonschangerlaconfigurationpourutiliserMySQLpourclassifierlesnomset
lesmotsdepasse.Maispremirement,nousvoulonstrecertainquetoutfonctionnedelafaonlaplussimple.
Modifier"/etc/freeradius/clients.conf".
Trouverlasectionquicontient
client127.0.0.1{
Soyezcertainquecelanapastmodifiet,danslasectionentre{etcequisuit},changezleslignessuivantes:
secret=testing123
changeztesting123pourquilcorrespondeausecretradiuschoisipour"/etc/chilli.conf"
(quelquechosedetresdifficileadeviner)
Changez"/etc/freeradius/users"
18_fr_mmtk_wireless_linuxinfrastructure_handout.odt
DerniremisejourledJuneyyyy
Disponibleenligneladressesuivante:http://www.itrainonline.org/itrainonline/mmtk/

13

Modifiezleslignessuivantesdanslefichier:
#steveAuthType:=Local,UserPassword=="testing"
Ceserontlesusageretmotdepassetestpourtrecertainquetoutfonctionne.
AjustezlescriptdidentificationHotspot
Pouramliorerlascurit,nousdevonsajouterleuamsecret"de"/etc/chilli.conf"auscriptdidentificationhotspot.
Modifiez"/usr/lib/cgibin/hotspotlogin.cgi".
Trouverlasectionquicontient
#$uamsecret="ht2eb8ej6s4et3rg1ulp";
Modifiezlesecretpourquilcorrespondeceluidans"/etc/chilli.conf"(leuamsecret,PASleradiussecret).
Retirezlesajoutsdelalignequicommencepar:
#$userpassword=1;
Maintenant,pourtrecertainquetousceschangementsprendronteffet,redmarrezapache2,freeradiusetchilli
$/etc/init.d/apache2forcereload
$/etc/init.d/freeradiusrestart
$/etc/init.d/chillirestart
UtiliserChilliSpot
Vousdevriezmaintenantavoirunserveurdidentificationpermettantunordinateurdeseconnecteretdavoir
accsaurseau.Connectezunordinateurdanslinterfaceeth1surlamachineavecChilliSpot,soitavecun
commutateurouunHub,ouutilisantuncbleUTP(ouenconnectantunepasserelletransparentedanslinterface
eth1).Nousappelleronscettemachineleclient.
Surlamachineclient,faitesvenirlinterfacerseauavecDHCP.ChilliSpotdevraitvousdonneruneadresseIP
danslerseau192.168.182.0/24
OuvrezvotrefureteuretessayezdallersurnimportequellepageInternet.
Vousdevrieztreredirigsurunepagedidentificationavecleschampsnometmotdepasseusername
password.connectezvouscommesteveaveclemotdepassetestingetvousdevriezrecevoirun
messagedisantquevousvoustesconnectavecsuccs.Vousdevriezmaintenantavoirunaccstotal
lInternetmoinsquevousnecliquiezsurleboutondedconnexionsurlapagefournieparChilliSpot.

18_fr_mmtk_wireless_linuxinfrastructure_handout.odt
DerniremisejourledJuneyyyy
Disponibleenligneladressesuivante:http://www.itrainonline.org/itrainonline/mmtk/

14

You might also like