Languages

User login


Nanostation2 amb OpenWRT i servidor/client OpenVPN


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

Opcions de visualització de comentaris

Selecciona la vostra manera preferida de visualitzar els comentaris i feu clic en "Desa la configuració" per activar els canvis.

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!!!