En l'anterior comesfa vaig explicat com fer un firm a mida per a la nano2. Aqui en teniu un de genèric preparat per a instalar, pensat per a que un usuari de guifi pugui compartir la seva connexió a Internet amb qui vulgui de guifi, fent servir tunels OpenVPN. També serveix com a un client estàndard.
El firmware
Es pràcticament el mateix que explico en el comesfa anterior. Hi he afegit uns exemples de configuracions de client i servidor de OpenVPN. He tingut que fer una petita modificació al Makefile del OpenVPN perquè funciones correctament el OpenVPN com a servidor, esta explicat aqui (http://forum.openwrt.org/viewtopic.php?pid=67828).
El firm no el puc pujar a guifi junt aquest comesfa, diu que pesa massa :-( El podeu descarregar d'aqui.
La contrasenya per defecte és: guifi
OpenVPN, sistema d'autenticació
Hi ha diverses maneres de que el servidor OpenVPN autentiqui als clients. El més segur és el sistema de certificats, però per fer-ho fàcil, he triat un sistema d'usuari i password. El servidor te un fitxer amb una llista d'usuaris i el seu password. Es molt semblant al sistema que vaig explicar a http://guifi.net/ca/node/12373
Tot i no fer servir certificats, el servidor OpenVPN ha de tenir sempre un certificat. Els clients, al connectar, el primer que fan es comprovar que el certificat sigui vàlid. Les nanostation2 amb OpenWRT kamikaze, quan arranquen es posen en 1 de gener de 2000. El firmware incorpora un certificat per si es configura en mode servidor, aquest esta creat en data de 1999 amb una durada de 30 anys. D'aquesta manera, encara que les nanostation2 no tinguin l'hora bé, el donen com a bò.
El servidor de OpenVPN es pot posar tant en un nanostation2 com en un servidor linux.
Configuració de la ràdio i la xarxa
Aquest firm incorpora el panell d'administració webif., es pot fer servir per editar directament els fitxers de configuració (Sistema -> Editor de fitxers). El firm ve preconfigurat amb les dades:
IP: 10.130.1.2
Netmask: 255.255.255.244
ESSID: guifi.net-test
IP AP: 10.130.1.1
DNS: 10.130.100.1 10.130.100.2
S'ha d'editar els fitxers /etc/config/network i /etc/config/wireless per a deixar-los amb els valors que calen per aquell node. Per a saber les que has de posar, pots mirar el unsolclic del trasto. Al final veurem el 0clic, que ho fa automaticament. Farem un exemple amb el node http://guifi.net/ca/node/14728 que té una nanostation2, si mirem el unsolclic (http://guifi.net/ca/guifi/device/9261/view/unsolclic) a les ultimes linees:
## Link to AP info
Ap SSID = guifi.net-LC-Dip-AP1
WAN Ip address = 10.139.19.20
WAN Netmask = 255.255.255.224
WAN Gateway = 10.139.19.1
Primary DNS Server = 10.139.19.35
Secondary DNS Server =
Device HostName = LG-CalMiretRadio1
IEEE 802.11 Mode: = B Only (2,4Ghz 11MB)
Hauriem d'editar el /etc/config/wireless i deixar-lo:
config wifi-device wifi0
option type atheros
# option channel 5
option diversity 0 # 0 disables diversity, 1 enables diversity (default)
option txantenna 1 # 0 for auto (default), 1 for antenna 1, and 2 for antenna 2
option rxantenna 1 # 0 for auto (default), 1 for antenna 1, and 2 for antenna 2
# option distance 1000 # The distance between the ap and the furthest client in meters.
# option disabled 1
config wifi-iface
option device wifi0
option network wan
option mode sta
option ssid guifi.net-LC-Dip-AP1
option encryption none
I el /etc/conf/network seria:
config interface loopback
option ifname lo
option proto static
option ipaddr 127.0.0.1
option netmask 255.0.0.0
config interface lan
option ifname eth0
option proto static
option ipaddr 192.168.1.1
option netmask 255.255.255.0
config interface wan
option ifname ath0
option proto static
option ipaddr 10.139.19.20
option netmask 255.255.255.224
option dns "10.139.19.35"
config route guifi
option interface wan
option target 10.0.0.0
option netmask 255.0.0.0
option gateway 10.139.19.1
Fent un reboot del trasto ja el tindriem funcionant.
Configuració de la nanostation2 com servidor OpenVPN
L'usuari que tingui la connexió a Internet haurà de confgurar el seu nano2 per a que fagi de servidor OpenVPN. Imaginem que te un router ADSL amb la IP 192.168.1.1. En primer lloc s'ha de configruar les dades de radio (/etc/config/wireless) i les de xarxa (/etc/config/network) com hem vist abans.
La nano2 ha de tenir una IP dins de la LAN de la ADSL, suposem que hi posem la 192.168.1.33, i li hem de dir que hi ha un gateway que es el router ADSL (192.168.1.1), ho fem editant /etc/config/network i la part de “interface lan” hauria de quedar:
config interface lan
option ifname eth0
option proto static
option ipaddr 192.168.1.33
option netmask 255.255.255.0
option gateway 192.168.1.1
Suposem que el router ADSL fa de servidor DHCP a la LAN, hem de desactivar el DHCP del nano2, ho fem editant /etc/config/dhcp i afegim un 'option ignore 1' al interface LAN. Hauria de quedar aixi:
config dhcp
option interface lan
option ignore 1
option start 100
option limit 150
option leasetime 12h
config dhcp
option interface wan
option ignore 1
Cal editar el firewall (/etc/firewall.user), i comentar/descomentar algunes de les últimes linees del fitxer de manera que quedi aixi:
####
## Guifi.net
#
# Open WAN ssh & snmp access
#
iptables -t nat -A prerouting_wan -p tcp --dport 22 -j ACCEPT
iptables -A input_wan -p tcp --dport 22 -j ACCEPT
iptables -t nat -A prerouting_wan -p tcp --dport 80 -j ACCEPT
iptables -A input_wan -p tcp --dport 80 -j ACCEPT
iptables -t nat -A prerouting_wan -p udp --dport 161 -j ACCEPT
iptables -A input_wan -p udp --dport 161 -j ACCEPT
####
## OpenVPN Server
#
# Uncomment following lines if router acts as OpenVPN server
#
iptables -t nat -A prerouting_wan -p tcp --dport 1194 -j ACCEPT
iptables -A input_wan -p tcp --dport 1194 -j ACCEPT
iptables -A forwarding_rule -i tun+ -o eth0 -j ACCEPT
# Uncomment following lines if router acts as OpenVPN client
#
#iptables -t nat -A postrouting_rule -o tun+ -j MASQUERADE
#iptables -A forwarding_rule -i eth0 -o tun+ -j ACCEPT
Anem a configurar el servidor OpenVPN.
cd /etc/openvpn
cp openvpn.conf.servidor openvpn.conf
Editem el fitxer /etc/openvpn/users.dat i entrem a cada linea el usuari i contrassenya que donarem als clients openvpn per a que es pugui connectar. Per exemple:
joan:abcd
pere:1234
Ja ho tenim, reenjeguem la nanostation2 i tenim el servidor OpenVPN preparat. Ara podem configurar altres nanostation2 de guifi en mode OpenVPN client i compartir la nostra connexió a Internet.
Configuració d'un servidor OpenVPN en un linux
No hi entraré massa. La configuració de la xarxa i del firewall depen de cada cas. Heu d'instalar el openvpn al servidor, i podeu copiar tota el que hi ha a /etc/openvpn en una nanostation2 amb aquest firmware a la mateixa carpeta del servidor.
Feu servir el openvpn.conf.servidor com a referencia i creeu el vostre openvpn.conf. Poseu la llista d'usuaris a users.dat. També podeu tenir la llista d'usuaris en una taula MySQL i autenticar com vaig explicar en el comesfa dels tunels per als CPEs de Mikrotik. No haurieu de tenir gaires problemes per a fer-ho, son pocs els fitxers a configurar, i s'enten bé.
L'unica rao per fer servir un servidor com a servidor OpenVPN en comptes de una nanostation2 connectada a guifi és el numero de clients que ha de suportar. No ho he provat, però diria que una nanostation2 amb un servidor OpenVPN pot aguantar bé 3-4 clients.
Configuració de la nanostation2 com client OpenVPN
Fàcil. La ràdio i xarxa s'ha de configurar com l'exemple que hem posar primer de tot. Despres l'unic que hem de fer és:
cd /etc/openvpn
cp openvpn.conf.client openvpn.conf
Editem el openvpn.conf i en la linea que comença per 'remote', hem de posar la IP o URL del servidor OpenVPN. Despres hem d'editar el fitxer users.dat, posar en la primera linea el nostre usuari i en la segona la contrasenya. Aquestes han d'estar també el servidor, ja ho sabeu ;-) Exemple de users.dat de client:
pere
1234
Reinicieu la nanostation2. S'establirà automàticament el tunel OpenVPN.
0clic
Tinc fet un formulari web que genera automàticament firmwares per a nanostation2 de guifi, i configura alhora els clients d'un servidor OpenVPN. Ho tinc fer per a SantaFe, però en pot fer ús qui vulgui. Ho teniu a:
http://santafe.guifi.net/nano2
Cal entrar la id del node on hi ha la nanostation2. El 0clic obté les dades del node mitjançant el nodexchange, l'únic que cal entrar a mà son els DNS de la zona, ja que el nodexchange no els proporciona.
Despres entreu l'adreça del servidor OpenVPN i el port. El port per defecte és el 1194, hi tinc el 1196 perque al servidor de santafe ho tinc muntat així. Despres el usuari i la contrasenya que teniu al servidor OpenVPN. Espereu uns segons mentre es construeix, i tindreu un firmware personalitzat amb totes les configuracions.
Comentaris
firm bits 0?
Hola Joan
el firm te bits 0?
http://santafe.guifi.net/nano2/guifi-nano2-OpenWRT-OpenVPN.bin.tar.gz
es correcta?
be Gracies
Funcionarà el firm amb Nanostation5 i nanostation5loco
Bon dia Joan,
Vull compartir ja fa temps que tinc connexió guifi i ara em volia muntar internet adsl perquè necessito utilitzar skype i altres programes que utilitzen ports tancats per guifi.
El que pretenc es compartir el meu adsl amb 2 familiars que tb estan connectats al guifi, em funcionaria la opció que em dones de firmware i configuració si tinc a totes les caes nanosttions5 i nanostation5loco.
Per cert, a cada casa hi tinc un router enganxat al Nanostation que em fa de repartidor wifi per dins a cada casa, creus que seria millor fer el tunel vpn des d'aquests routers o des de la nanostation i si ho faig des dels routers com ho haig de fer (son marca TP-link).
Moltes gràcies!!!