Sunteți pe pagina 1din 18

RaspberryPi2comopuntodeacceso

(AP)ycentralprivadadeconmutacin
(PBX)

MiniguaparalapuestaenmarchadeunsistematelefnicoVoIP
basadoenunainfraestructuraWLAN

Autor:
VicenteEscudero

ndice

ndice
1Presentacin
2DistribucinRasPBX.DescargayvolcadoentarjetamicroSD
3Accesoremoto
4PuestaaldadelSOyajustesparatrabajarsinaccesoainternet
5AadireldriverdeladaptadorWiFi
6PruebadecomunicacinWiFi.Conexinaunpuntodeacceso
7RaspberryPi2comopuntodeacceso
7.1ConfigurarelservidorDHCP
7.2ConfigurareladaptadorWiFiconunaIPesttica
7.3Configurarelpuntodeacceso
7.4ConfiguracinNAT
8ConfiguracindelaPBX.Extensionesyenlace

1Presentacin

EstaguarecogelospasosnecesariosparaponerenmarchaunacentralPBXbasadaen
Asteriskcapazdedarservicioaungruporeducidodeterminalesinalmbricos(
softphones
ejecutndoseenunPC,
smartphones
y/o
tablets)
dentrodelmbitodecoberturadeun
adaptadorWiFiUSBconectadodirectamentealequipoqueejecutaelSOconla
distribucinLinuxquetieneel
software
quegestionaeltrficotelefnico.

Loscomponentes
hardware
y
software
utilizadosenestesistemason:

RaspberryPi2modeloB+FuentedeAlimentacin
MemoriamicroSDCARD4GBHCIClass4
AdaptadorWiFiUSB:WLAN11gZaapa(zd1211rw)
RasPBX

raspbx17102015.zip
Driver
propietario(nonfree)paraDebian8(jessie)deladaptadorWiFi
Paquetesadicionalesparalacreacindeunpuntodeaccesoinalmbrico

Aprovechoparaagradeceraaquellosque,desinteresadamente,hanpuestoadisposiciones
detodossuspropiasexperiencias,enformadeblogs,pginaswebodocumentosen
formato.PDF,coninformacinrelativaaloscontenidosqueaquaparecenyquesinsu
ayudanuncahubiesesidoposiblecompletaresteproyecto.Ansindisponerdesu
autorizacinexpresa(pidoperdnporadelantado)harreferenciaalassiguientesfuentes
deinformacinquemefuerontiles:

RasPBX:
AsteriskforRaspberryPi
(documentacin)
TutorialdeinstalacinypuestaenmarchadesdeOSX.
PginadeMike
Tutorial:CmocrearunpuntodeaccesoconRaspberryPi.De
GeekyTheory

2DistribucinRasPBX.Descargayvolcadoen
tarjetamicroSD

Elsistemaoperativoelegidoparaesteproyectoincluyeel
software
encargadodehacer
funcionarunaPBXVoIP,basadaenAsterisk,alencenderelequipo(conectarla
alimentacin).SerladistribucinLinux
RasPBX
,especialmenteadaptadaparafuncionar
dentrodeundispositivoRaspberryPi.

Desdeelsitioweb
http://www.raspberryasterisk.org
accedemosalreadedescargadonde
tomaremoslaversinmsrecientedeesteSO(enestemomentoestdisponiblelaversin:
raspbx17102015.zip
)conlaideadetenercompatibilidadconlavariantemsrecientede
esteordenador(RaspberryPi2modeloB).

Altratarsedeunadistribucinquevienede
Raspbian
(ramaprocedente,asuvez,del
proyectoDebian8Jessie)contamosconlaventajadeteneranuestradisposicinun

montndepaquetescompatiblesconRasPBX.Porejemplolosrelacionadosconlosdrivers
deladaptadorWiFi,elpuntodeaccesoelservidorDHCPqueutilizaremosmsadelante.

Enrealidadloqueacabamosdebajarnoseslaimagen(fichero.IMG)deunaunidadde
almacenamientode4GBytesconelcontenido,enbruto(datos+completaestructurainterna
incluyendoelsectordearranqueyparticiones),deunaunidaddememoriaSDdeesta
capacidadconelsistemaoperativoyprogramas,asteriskyFreePBXentreotros,ya
instalados.

Siguiendolasindicacionesde
Mike
,vuelcoelcontenidodescomprimidodelarchivoenla
unidaddememoriaconlaorden:
#ddif=raspbx17102015.imgof=/dev/disk1bs=2m
desdeeldirectoriodondetengoelarchivo.Aunquesitrabajamosenlinux,lallamadavara
ligeramente:
#ddif=raspbx17102015.imgof=/dev/sdbbs=2M

Amboscomandosseejecutarnconprivilegiosdeadministrador(
root
).

Laubicacindestino(porejemplo,
/dev/sdb
)representa,dentrodelrboldedirectoriosdel
SOdondeestoytrabajando,launidadmicroSDdealmacenamiento.Paraconocersu
localizacinalconectarlaanuestroordenadornosayudaremosdelaordendeconsola:

#diskutillist
(OSX).Ojo!nohayqueolvidardesmontarlaunidadantesde
procederaltrasladodelaimagenalamemoriaSDcon
#unmountdisk/dev/diskN
.

yenlinux:
#fdiskl
(o
#fdiskl/dev/sdX
).Desmontaremoscon
#umount
/dev/sdXN
.

Esperamosaquetermineesteproceso(sueletardarvariosminutos)ypasamoslamemoria
microSDalaraspberrypi.Porltimo,conectamosuncable
ethernet
desdenuestraLAN1y
enchufamossualimentacinparaarrancarelordenadorconeldiscoduroactualizado.

UnservidorDHCPlocalasignarunadireccinIPalaRaspberryPi2.

3Accesoremoto

Conelfindecompletarlainstalacindelrestodelsoftwarenecesarioparanuestroproyecto,
ahoranecesitamosaccederalaconsoladeRasPBXdesdenuestroequipoutilizandoel
protocoloSSH.EnelsistemaoperativoWindowsesfrecuenteusarlaherramientaPuTTY
paraestecometidoaunqueaqusemostrarelprocesodesdelinuxyOSX.

NoesnecesarioconocerladireccinIPrecibidaporeldispositivorecinconectadoyaque
pordefectopodemosreferenciarlocomoraspbx(linux)raspbx.local(OSX).

Alentrarconelperfilderoot(administrador)aadiremossucontrasea(pordefectoes

raspberry
).

4PuestaaldadelSOyajustesparatrabajarsin
accesoainternet

Primero,actualizaremoselsistemaoperativoconlaorden:
#raspbxupgrade

Acontinuacin,conelpropsitodeevitarinestabilidadesdelsistemadurantesu
funcionamiento,llevaremosacaboalgunosajustesrecomendadosenladocumentacin
mostradaenel
sitioweb
deRasPBX(verapartado:
3.RunningRasPBXwithoutInternet
connection
):

#aptgetinstallfakehwclock
Instalaelpaquetefakehwclock
#aptgetinstalldnsmasq
Instalaelpaquetednsmasq
#mv/etc/resolv.conf/etc/resolv.conf.dnsmasq
Renombraresolv.conf
#nano/etc/dnsmasq.conf
Editaelarchivodnsmasq.conf
Cambialareferenciaalficheroresolvfile:
resolvfile=/etc/resolv.conf.dnsmasq
#nano/etc/resolv.conf
Creaelarchivoresolv.conf
Incluyeelcontenido:
nameserver127.0.0.1
#/etc/init.d/dnsmasqrestart
Reiniciaelserviciodnsmasq

5AadireldriverdeladaptadorWiFi

Comoesfcilsuponer,esteapartadoestmuyligadodispositivofsicoconelque
contemos.Obtendremoslosdatosquenecesitamosparalocalizarelmanejadordeeste
elementosconsultandolainformacinsuministradaporelcomando
#lsusb
que
2
necesitaremostenerennuestrosistema :

Conestainformacin,yunpocodepacienciaenlabsquedademsdetallessobreeste
hardwareeninternet,encontramoseldriverparaladistribucinDebian8Jessie,vlido
tambinparanuestradistribucin,aunquesesuministradentrodeunrepositoriode
paquetes3quenovieneinstaladopordefecto.Portanto,primerohayquehacerlesaberal
SOdndeencontrarlaaplicaciny,acontinuacin,procederasuinstalacin.

Enelfichero/etc/sources.listaadimoslalnea:

debhttp://http.debian.net/debian/jessiemaincontribnonfree

coneleditornano:
#nano/etc/apt/sources.list

Sinoexiste,procedemosainstalarlocon:
#aptgetinstallusbutils
(comoadministradorroot).
Librerasordenadasdeprogramas(paquetes,enlinux)desdedondeelSOdescargarlas
aplicacionessolicitadasporeladministrador.
2
3

Actualizamoslalistadepaquetes:

Ypasamosaejecutar:
#aptgetinstallfirmwarezd1211
.ReiniciamoselSOcon
#reboot
y
verificamoselbuenfuncionamientodeltndem
driver
adaptador.

6PruebadecomunicacinWiFi.Conexinaun
puntodeacceso

Enestepuntodelprocesovamosacomprobarqueesposiblecomunicarinalmbricamente
nuestraRaspberryPiconunpuntodeaccesoconocido(ylosdatosdeaccesodisponibles)
confirmando,deestemodo,queyaseencuentracompletamenteoperativoel
stickwireless
.
Antesdenadaaadimosaplicacionesparagestionarlascomunicacionesinalmbricasenel
ordenadorcon
#aptgetinstallwirelesstools

10

Yejecutamoslaherramientaquenosinformadelestadoactualdeladaptadorinalmbrico
recininstalado,
#iwconfig
:

Establecemosahoralaconfiguracinlgicade
wlan0
paradespusconectarelequipo
automticamentealaredatravsdeestemedionoguiado.Paraelloesnecesarioeditarel
fichero
/etc/network/interfaces
yaadirlosdatosrequeridosparaenlazarconelAP,por
ejemplo:

IdentificadorSSID:
Orangefb6c
Contrasea:
A61D1E_My_PASSWORD__9AF31E3C

Conlossiguientesdatosdeconfiguracin:

11

Yhacemossaberalsistemaquedeseamoscargarestaconfiguracinmanualmente
escribiendo:
#ifupwlan0
(recuerdaque
#ifdownwlan0
realizalafuncincontraria).

Sitodosalibien(enocasionesesnecesarioreiniciarelsistemacon
#reboot
),ahora
tendremosunasegundavadeaccesoaRaspberryPiporcableydemanerainalmbrica.

7RaspberryPi2comopuntodeacceso

Laltimaetapadeesteviajeconsisteenconvertirelequipoenunacentralprivadade
conmutacinqueademssecomportecomounpuntodeaccesoWiFialcualsevana
conectarlostelfonos
software
quecorrern,principalmente,endispositivosporttilescomo
tablets
o
smartphones
conaplicacindetelfonoSIP(IAX).

InstalaremoslosprogramasqueampliarnlasposibilidadesdelaRaspberryPi2conla
incorporacindeunservidorDHCPylacapacidadparatrabajarcomoAPenunaredWLAN
usandolaorden
#aptgetinstallhostapdiscdhcpserver
.Reajustaremoslosficherosde
configuracinquedictanelfuncionamientodeldispositivoWiFIadaptndoloalasnuevas
funcionalidades.

12

7.1ConfigurarelservidorDHCP

Entramosconeleditoren
/etc/dhcp/dhcpd.conf
ydejamoscomentadaslaslneas:

#optiondomainname"example.org"
#optiondomainnameserversns1.example.org,ns2.example.org

Aadiendoalfinal:

subnet192.168.88.0netmask255.255.255.0{
range192.168.88.10192.168.88.50
optionbroadcastaddress192.168.88.255
optionrouters192.168.88.1
defaultleasetime600
maxleasetime7200
optiondomainname"local"
optiondomainnameservers8.8.8.8,8.8.4.4
}

Dondeestablecemoslafuturadireccindered,mscaradesubredyrangodedirecciones
IPaasignarademsdeotrosparmetros.

Dentrodelfichero
/etc/default/iscdhcpserver
sustituimos
INTERFACES=
por
INTERFACES=
wlan0

7.2ConfigurareladaptadorWiFiconunaIPesttica

Trasdesactivareladaptadorcon
#ifdownwlan0
,editamosdenuevoelarchivode
configuracindelasinterfacesderedcon
#nano/etc/network/interfaces
ydejamossu
contenidoas:

13

Recuerdaquesiyatuvieraseldispositivoconectado,puedescambiarsuIPmanualmente
con
#ifconfigwlan0192.168.88.1

7.3Configurarelpuntodeacceso

TerminadoelservidorDHCP,nosponemosmanosalaobraconelajustedeloqueser
nuestropuntodeacceso.AquincluiremoslosdatosrelativosalSSID,contrasea,canal,
modoyencriptacindedatos.Todoestoquedarrecogidoenelarchivo
/etc/hostapd/hostapd.conf,
porejemplo:

14

Yacontinuacinhabilitamosestearchivodescomentandolalnea
#DAEMON_CONF=/etc/hostapd/hostapd.conf
delarchivo
/etc/default/hostapd
como
seveenlaimagen:

7.4ConfiguracinNAT

SilacomunicacintelefnicagestionadaporlaPBXqueremosquealcancealgnterminal
telefnicoubicadoeninternet(msalldenuestro
router
.Porejemplo,desdeunacuenta
deunproveedorSIPpresenteenunaredWAN)hayqueestablecerunvnculoentreel
medioguiado
eth0
yelinalmbrico
wlan0
queposibilitealospaquetesdeltrficotelefnico
eltrnsitohaciasudestinoatravsdeladaptadoradecuado.

15

Paraelloprimeroaadimoslalnea
net.ipv4.ip_forward=1
alfinaldelfichero
/etc/sysctl.conf
:

Despusescribimos,comoroot,lasrdenes:

#shc"echo1>/proc/sys/net/ipv4/ip_forward"
#iptablestnatAPOSTROUTINGoeth0jMASQUERADE
#iptablesAFORWARDieth0owlan0mstatestate
RELATED,ESTABLISHEDjACCEPT
#iptablesAFORWARDiwlan0oeth0jACCEPT
#shc"iptablessave>/etc/iptables.ipv4.nat"

Yaadimoslalnea
upiptablesrestore</etc/iptables.ipv4.nat
alfinaldelarchivo
/etc/network/interfaces
:

Comprobamossielpuntodeaccesoarrancasinerrorescon:

#hostapd/etc/hostapd/hostapd.conf

16

Ycorregimosaquelloserroresqueimpidansucorrectofuncionamiento.

Paraterminar,establecemosenelsistemadosnuevosservicios(elpuntodeaccesoy
servidorDHCPconfiguradosanteriormente)paraqueseanarrancadoscadavezqueelSO
sepongaenmarcha:

Losiniciamos:

#servicehostapdstart
#serviceiscdhcpserverstart

Comprobamossuestado:

#servicehostapdstatus
#serviceiscdhcpserverstatus

Yactivamoslacargaalarrancarelequipo:

#updaterc.dhostapdenable
#updaterc.discdhcpserverenable

8ConfiguracindelaPBX.Extensionesyenlace

TrasdejarpreparadonuestropuntodeaccesoyservidorDHCP,pasamosahoraa
establecerunaconfiguracinmuybsicadenuestracentralitaprivadaparacomprobarque
losterminalestelefnicosregistradosenellapuedencomunicarentres.

17

EscribimosennuestronavegadorlalocalizacindelaPBX
http://raspbx.local
(
http://raspbx
enlinuxyWindows)yprocedemosadardealtalasextensionesy/o
troncalparaelaccesoalexterior:

S-ar putea să vă placă și