<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://es.wiki.guifi.net/w/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>http://es.wiki.guifi.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Solleric</id>
		<title>Guifi.net - Wiki Hispano - Contribuciones del usuario [es]</title>
		<link rel="self" type="application/atom+xml" href="http://es.wiki.guifi.net/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Solleric"/>
		<link rel="alternate" type="text/html" href="http://es.wiki.guifi.net/wiki/Especial:Contribuciones/Solleric"/>
		<updated>2026-07-29T04:21:12Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.22.0</generator>

	<entry>
		<id>http://es.wiki.guifi.net/wiki/Proyecto_de_Fin_de_Carrera</id>
		<title>Proyecto de Fin de Carrera</title>
		<link rel="alternate" type="text/html" href="http://es.wiki.guifi.net/wiki/Proyecto_de_Fin_de_Carrera"/>
				<updated>2015-09-23T13:46:31Z</updated>
		
		<summary type="html">&lt;p&gt;Solleric: /* Acabados */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Archivo:Graduate_award.svg|right|200px]]&lt;br /&gt;
&lt;br /&gt;
A menudo&amp;lt;ref name=&amp;quot;trastos&amp;quot;&amp;gt;https://lists.guifi.net/pipermail/guifi-rdes/2011-November/022033.html&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://lists.guifi.net/pipermail/guifi-usuaris/2012-March/018092.html&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;https://lists.guifi.net/pipermail/guifi-webdev/2012-March/001769.html&amp;lt;/ref&amp;gt;, estudiantes o investigadores contactan con la comunidad de Guifi.net porque desean realizar proyectos de investigación, '''Proyectos de Fin de Carrera''' (PFC) o de final de ciclo  CFGS relacionados con la red Guifi.net o que puedan ayudar a su expansión.&lt;br /&gt;
&lt;br /&gt;
Los proyectos o trabajos no tienen porqué ser únicamente '''técnicos''', de informática o telecomunicaciones. Dentro de Guifi.net también tienen cabida proyectos y trabajos de carácter '''legal''', '''social''', '''psicológico''', '''publicidad''', de '''contenidos'''..., etc.&lt;br /&gt;
&lt;br /&gt;
Si estás interesado/a, lo mejor es que contactes con nosotros a través de la [[lista de correo]] de desarrollo ('''guifi-dev''').&lt;br /&gt;
&lt;br /&gt;
== Proyectos ==&lt;br /&gt;
&lt;br /&gt;
=== En desarrollo ===&lt;br /&gt;
&amp;lt;!-- Si no hay ninguno incluir la siguiente línea: --&amp;gt;&lt;br /&gt;
&amp;lt;!-- * ''No conocemos ninguno de momento. ¿Te animas a hacer el próximo?'' --&amp;gt;&lt;br /&gt;
* ''No conocemos ninguno de momento. ¿Te animas a hacer el próximo?''&lt;br /&gt;
&lt;br /&gt;
=== Acabados ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; &amp;lt;!-- style=&amp;quot;text-align:right&amp;quot; --&amp;gt;&lt;br /&gt;
|- style=&amp;quot;background:#ececec;&amp;quot;&lt;br /&gt;
! Nombre&lt;br /&gt;
! Autor/a&lt;br /&gt;
! Año&lt;br /&gt;
! Centro de estudios&lt;br /&gt;
! Idioma&lt;br /&gt;
! Descarga&lt;br /&gt;
! Licencia&lt;br /&gt;
! Página web&lt;br /&gt;
! Comentario&lt;br /&gt;
|-&lt;br /&gt;
| La liberación de subjetividades y de relaciones entre sujetos a través de mecanismos tecnológicos, culturales y organizativos&lt;br /&gt;
| [[Usuario:Al|Ál Cano Santana]]&lt;br /&gt;
| 2008&lt;br /&gt;
| UAB, departamento de Psicología Social, Facultad de Psicología&lt;br /&gt;
| Memoria en catalán, castellano e inglés&lt;br /&gt;
| [[bp:Archivo:Al cano santana et al-la liberacion de subjetividades y de relaciones entre sujetos a traves de mecanismos tecnologicos culturales y organizativos-03.pdf|Memoria en PDF]]&lt;br /&gt;
| Creative Commons by-sa y GNU FDL&lt;br /&gt;
| [[bp:La liberación de subjetividades y de relaciones entre sujetos a través de mecanismos tecnológicos, culturales y organizativos|El trabajo se desarrolló a tiempo real en el wiki de Blogx Populi]]&lt;br /&gt;
| Guifi.net no es el centro del trabajo de investigación, si no uno de los ejemplos para uno de los tres campos de análisis.&lt;br /&gt;
|-&lt;br /&gt;
| Gestión Ciudadana de la Tecnología: Una aproximación desde los Science and Technology Studies a las redes wifi y la governance urbana a través de guifi.net&lt;br /&gt;
| Yann Bona Beauvois&lt;br /&gt;
| -&lt;br /&gt;
| UAB, departamento de Psicología Social, Facultad de Psicología&lt;br /&gt;
| Español&lt;br /&gt;
| [[:Archivo:Gestion_Ciudadana_de_la_Tecnologia.pdf|PDF]]&lt;br /&gt;
| -&lt;br /&gt;
| [http://ddd.uab.cat/record/70077?ln=ca] [http://psicologiasocial.uab.es/athenea/index.php/atheneaDigital/article/view/849]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| [[Utilidades Guifi.net]] y [[GuifiManage]]&lt;br /&gt;
| [[Usuario:Ganon|Isidro Manzano Navaza]].&lt;br /&gt;
| 2012&lt;br /&gt;
| [http://www.escoladeltreball.org Escola del Treball de Barcelona]&lt;br /&gt;
| Catalan, castellano e ingles&lt;br /&gt;
| [https://gitorious.org/caixa-d-eines-de-guifi-net/caixa-d-eines-de-guifi-net Repositorio]&lt;br /&gt;
| GPL el código, CC-by los diagramas y GNU FDL la documentación.&lt;br /&gt;
| -&lt;br /&gt;
| Android - Java&lt;br /&gt;
|-&lt;br /&gt;
| PFC para mejorar la gestión y el soporte de nuevos dispositivos&amp;lt;ref name=&amp;quot;trastos&amp;quot;/&amp;gt;&amp;lt;ref&amp;gt;https://lists.guifi.net/pipermail/guifi-rdes/2012-June/024570.html&amp;lt;/ref&amp;gt;[https://lists.guifi.net/pipermail/guifi-rdes/2012-June/024782.html] [http://terrassa.guifi.net/pfc_guifi_albertsarle/exposicio.html].&lt;br /&gt;
| [[Usuario:Albir|Albert Sarle]]&lt;br /&gt;
| 2012&lt;br /&gt;
| UAB&lt;br /&gt;
| Memoria en catalán&lt;br /&gt;
| [https://gitorious.org/~albertsarle/guifi/albertsarle-drupal-guifi_pfc Repositorio] [http://dl.dropbox.com/u/1834023/PFC_guifinet_AlbertSarle.pdf Memoria] [http://terrassa.guifi.net/pfc_guifi_albertsarle/exposicio.html Presentación HTML]&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| PFC sobre el desarrollo del firmware [[Quick Mesh Project]] (QMP)&lt;br /&gt;
| [[Usuario:Hakais|Pau Escrich]]&lt;br /&gt;
| -&lt;br /&gt;
| UPC&lt;br /&gt;
| Memoria en inglés&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| [http://qmp.cat/ Sitio web del proyecto] [http://upcommons.upc.edu/pfc/handle/2099.1/14103] [http://qmp.cat/documents/11 Tesis - Documentación técnica] {{en}}&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Sistema de servidores [[VoIP]] del proyecto guifi.net&lt;br /&gt;
| Tomás Velázquez García&lt;br /&gt;
| -&lt;br /&gt;
| UAB&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| [http://ddd.uab.cat/record/70278?ln=ca]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Millora de la gestió d’una xarxa WiFi: Guifi.net&lt;br /&gt;
| Vilajoliu Galceran, Berenguer&lt;br /&gt;
| 2006&lt;br /&gt;
| UPC&lt;br /&gt;
| Catalán&lt;br /&gt;
| [http://upcommons.upc.edu/pfc/bitstream/2099.1/3798/1/53927-1.pdf Memoria en PDF]&lt;br /&gt;
| -&lt;br /&gt;
| [http://upcommons.upc.edu/pfc/handle/2099.1/3798]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Wifi mesh network nodes on guifi.net &lt;br /&gt;
| Duran Rosich, Eduard&lt;br /&gt;
| 2009&lt;br /&gt;
| UPC&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| [http://upcommons.upc.edu/pfc/handle/2099.1/7383]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Estudi i propostes de millora de la xarxa Guifi.net (I)&lt;br /&gt;
| Serra Pàmies, David&lt;br /&gt;
| 2008&lt;br /&gt;
| UPC&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| [http://upcommons.upc.edu/pfc/handle/2099.1/4622]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Estudio y propuestas de mejora de la red GUIFI.NET (II)&lt;br /&gt;
| Vegas Ayora, Javier&lt;br /&gt;
| 2007&lt;br /&gt;
| UPC&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| [http://upcommons.upc.edu/pfc/handle/2099.1/4623]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Scalability study of Guifi.net and mesh networks&lt;br /&gt;
| García Fernández, Víctor N.&lt;br /&gt;
| 2011&lt;br /&gt;
| UPC&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| [http://upcommons.upc.edu/pfc/handle/2099.1/11580]&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Protocolos de encaminamiento en redes inalámbricas mesh: un estudio teórico y experimental&lt;br /&gt;
| Albert Batiste Troyano&lt;br /&gt;
| 2011&lt;br /&gt;
| UOC / US&lt;br /&gt;
| Español&lt;br /&gt;
| [http://openaccess.uoc.edu/webapps/o2/bitstream/10609/8164/1/abatistet_TFM_0611.pdf]&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Mejora de la aplicación de mapas de Guifi.net&amp;lt;ref&amp;gt;https://lists.guifi.net/pipermail/guifi-webdev/2012-July/001830.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
| David Rubio Miguélez&lt;br /&gt;
| 2012&lt;br /&gt;
| UJI&lt;br /&gt;
| Español&lt;br /&gt;
| [https://www.dropbox.com/s/974exzldfrno1wb/proyecto.pdf Memoria]&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|-&lt;br /&gt;
| Perspectiva psicosocial ecológica del proyecto: la red social virtual abierta, libre y neutral basada en infraestructura&lt;br /&gt;
| Jordi Paradís Medina&lt;br /&gt;
| 2012&lt;br /&gt;
| UAB&lt;br /&gt;
| Catalán&lt;br /&gt;
| [http://generatech.org/sites/default/files/guifinet_social_ecologic.pdf Trabajo de fin de grado en psicología]&lt;br /&gt;
| Creative Commons 3.0 BY-NC-SA&lt;br /&gt;
| [http://psicovirtual.uab.cat/treballgrau/ocs/index.php/tfgpsico/tfg12/paper/view/25]&lt;br /&gt;
| Visió autoetnogràfica i holística d'aquest projecte tecnosocial, que inclou la descripció d'un seguit de dificultats detectades alhora de voler formar-ne part, en general i des de una casa apartada a la muntanya del Montnegre al Maresme Nord.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|[[Monitor|Servei SNPServices amb notificacio]]&lt;br /&gt;
|David Pérez Martorell&lt;br /&gt;
| 2013&lt;br /&gt;
|UOC&lt;br /&gt;
|Català&lt;br /&gt;
| [[Projecte Servei_de_notificació_d'alertes.odt‎]]&lt;br /&gt;
| Creative Commons 3.0 BY-NC-SA&lt;br /&gt;
|Presentacio [http://www.kaltura.com/index.php/kwidget/wid/_403921/uiconf_id/4438451/entry_id/1_hnw62y1i]&lt;br /&gt;
i Demostracio [http://www.kaltura.com/index.php/kwidget/wid/_403921/uiconf_id/4438451/entry_id/1_l68vxblh]&lt;br /&gt;
|Programes que amplien el servei SNPServices. Fa ping als nodes del grup de nodes del servidor d gràfics i informa al servidor web de incidencies. El servidor web envia correus als responsables&lt;br /&gt;
|-&lt;br /&gt;
| Trabajo presentación a estudiantes de la UPC&lt;br /&gt;
| Laura Álvarez, Ferrán Quer, Maite Intxausti&lt;br /&gt;
| 2014&lt;br /&gt;
| UPC&lt;br /&gt;
| Inglés &amp;amp; español&lt;br /&gt;
|&lt;br /&gt;
| Creative Commons 4.0 BY-SA&lt;br /&gt;
| https://guifi.net/ca/node/73683&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Estudi i muntatge d'una illa de guifi.net&lt;br /&gt;
|Joan Francesc Arbona&lt;br /&gt;
| 2015&lt;br /&gt;
|UIB&lt;br /&gt;
|Català&lt;br /&gt;
| [http://guifisoller.qui.guifi.net:8000/TFG_IllaGuifinet_JoanArbona_Memoria.pdf Estudi i muntatge d'una illa de guifi.net]&lt;br /&gt;
| -&lt;br /&gt;
| -&lt;br /&gt;
|Recull de les experiències i coneixements rebuts en la construcció d'una nova illa de guifi.net a Mallorca.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ideas &amp;lt;ref&amp;gt;{{MM|url=https://lists.guifi.net/pipermail/guifi-usuaris/2012-March/018102.html|list=Usuaris}}&amp;lt;/ref&amp;gt; ==&lt;br /&gt;
* Repetir algo de http://upcommons.upc.edu/pfc/handle/2099.1/11081 (sobre el orden &amp;quot;de entrada&amp;quot; de los paquetes ad-hoc vs infraestructura en un mismo canal)&lt;br /&gt;
* Plugins BGP-(OLSR/BATMAN/BMX)&lt;br /&gt;
* Comparación rendimiento wifi del AP-AP wds vs AP-cliente wds&lt;br /&gt;
&lt;br /&gt;
=== Personas del guifibages a finales de 2009 propusieron ===&lt;br /&gt;
* Evaluar el rendimiento de OLSR y compararlo con otros protocolos de enrutamiento dinámico. Buscar qué significan todos los parámetros de configuración y optimizar el rendimiento en guifibages.&lt;br /&gt;
* Estudiar el driver madwifi y optimizar el rendimiento en las condiciones guifibages (iría ligado con el anterior en un posible proyecto: &amp;quot;Optimización de guifibages: madwifi + OLSR&amp;quot;.&lt;br /&gt;
* Sistema de visualización en tiempo real de la calidad del enlace integrado en los mapas de Guifi.net a partir del plugin olsr-dot-draw/olsr-txtinfo.&lt;br /&gt;
* Creación de un testbed openwrt + mesh en la UPC: que el proyectista monte en la universidad una serie de radios dispersos por los edificios que se puedan poner en marcha, para y configurar desde un servidor &amp;quot;central&amp;quot;.&lt;br /&gt;
* Es un tipo de &amp;quot;encargo&amp;quot; que nos hemos tomado de la [[Open Spectrum Alliance]]. Se trataría de evaluar la ocupación de las frecuencias de TV (analógica y TDT) para averiguar los &amp;quot;espacios en blanco&amp;quot; de una zona.&lt;br /&gt;
* [https://lists.guifi.net/pipermail/guifi-rdes/2011-November/022064.html] [https://lists.guifi.net/pipermail/guifi-rdes/2011-November/022066.html]&lt;br /&gt;
&lt;br /&gt;
== Véase también ==&lt;br /&gt;
* [[Google Summer of Code]]&lt;br /&gt;
* [[Publicaciones]]&lt;br /&gt;
&lt;br /&gt;
== Referencias ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Enlaces externos ==&lt;br /&gt;
* http://guifi.net/ca/node/3496 {{ca}}&lt;br /&gt;
* http://guifi.net/ca/ProjectesInvestigacio {{ca}}&lt;br /&gt;
* [http://ddd.uab.cat/search?ln=ca&amp;amp;as=1&amp;amp;m1=a&amp;amp;p1=guifi&amp;amp;f1=title&amp;amp;op1=a&amp;amp;m2=a&amp;amp;p2=&amp;amp;f2=codititulacio&amp;amp;op2=a&amp;amp;m3=a&amp;amp;p3=&amp;amp;f3=year&amp;amp;action_search=Cerca&amp;amp;c=Dip%C3%B2sit+Digital+de+Documents+de+la+UAB&amp;amp;sf=&amp;amp;so=a&amp;amp;rm=&amp;amp;rg=10&amp;amp;sc=1&amp;amp;of=hb Depósito Digital de Documentos de la UAB: guifi]&lt;br /&gt;
* [http://upcommons.upc.edu/pfc/simple-search?query=guifi Trabajos académicos UPC: guifi], upcommons&lt;br /&gt;
&lt;br /&gt;
[[Categoría:Material académico]]&lt;/div&gt;</summary>
		<author><name>Solleric</name></author>	</entry>

	<entry>
		<id>http://es.wiki.guifi.net/wiki/Alternativa_al_proxy_con_VPN</id>
		<title>Alternativa al proxy con VPN</title>
		<link rel="alternate" type="text/html" href="http://es.wiki.guifi.net/wiki/Alternativa_al_proxy_con_VPN"/>
				<updated>2014-09-12T11:33:09Z</updated>
		
		<summary type="html">&lt;p&gt;Solleric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aunque no es muy conveniente aplicar el argumento del Internet Gratis para que la gente se interese por guifi.net, es cierto que para algunos usuarios el principal atractivo de la red es la posibilidad de conectarse a Internet. La idea de utilizar un servidor proxy para conectarse puede resultar algo complicada y puede hacer que los usuarios menos convencidos desistan, especialmente si quieren conectarse con sus dispositivos móviles o utilizan aplicaciones que no permiten el uso de proxies.&lt;br /&gt;
&lt;br /&gt;
El objetivo de este artículo es, por lo tanto, encontrar una manera de compartir la conexión ADSL con quien el responsable de la conexión quiera. A la vez, estando seguros de que sólo utiliza la conexión quien el responsable quiere y con la posibilidad de limitar y controlar las conexiones de los usuarios (por ejemplo, no permitir que se visiten según que sitios). La condición es que el usuario final no tenga la necesidad de configurar nada en su terminal, y que la configuración de los routers y APs de los clientes sea sencilla y replicable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La Idea ==&lt;br /&gt;
La idea consiste en usar un servidor VPN en uno de los nodos, conectado tanto al ADSL como a guifi.net, y que enrute el tráfico de los clientes VPN hacia fuera. Al otro extremo de la red guifi.net, los clientes VPN pueden ser tanto dispositivos finales (portátiles) como APs domésticos. En el caso de los APs domésticos, éstos emiten dos SSIDs: &lt;br /&gt;
# Uno abierto, que sólo permite acceder a las rutas de guifi.net e impide el tránsito por la VPN.&lt;br /&gt;
# uno privado, que enruta el tráfico que no va a ninguna IP de guifi.net a través del túnel VPN.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Nodesvpn.jpeg|center|thumb|upright=2.5|Esquema de la infraestructura de un servidor VPN con múltiples clientes dentro de guifi.net ]]&lt;br /&gt;
&lt;br /&gt;
=== Suposiciones ===&lt;br /&gt;
Antes de empezar, esta documentación supone que la red de '''clientes''' tiene las siguientes características:&lt;br /&gt;
&lt;br /&gt;
# Hay una antena que se conecta a la red guifi.net, y que funciona sin bridge entre eth0 y wlan0: Es decir, hace de router entre la red privada interna (192.168.1.0/24) y la red pública de guifi.net que hace el radioenlace con el supornodo (10.0.0.0/8)&lt;br /&gt;
# La antena hace NAT o MASQUERADING con el tráfico que sale por la interfície wlan0 (generalmente, el radioenlace al supernodo).&lt;br /&gt;
# El servidor DHCP de la antena està DESACTIVADO.&lt;br /&gt;
# Se dispone de un router, del que se explicará la configuración en los siguientes apartados, que está conectado a la red privada interna (192.168.1.0/24). Este router funciona de punto de acceso WiFi, de servidor DHCP y de enrutador.&lt;br /&gt;
&lt;br /&gt;
=== La red de los routers clientes ===&lt;br /&gt;
&lt;br /&gt;
Los routers clientes tendrán en cuenta tres redes:&lt;br /&gt;
&lt;br /&gt;
* La red abierta, rango 192.168.0.0/24, con WiFi abierta sin acceso a Internet, pero con acceso a guifi.net. IPs 192.168.0.1/24.&lt;br /&gt;
* La red privada, rango 192.168.1.0/24, con WiFi cerrada con acceso a Internet y a guifi.net. La red incluirá también la antena con IP 192.168.1.1/24.&lt;br /&gt;
* La red pública de guifi.net, de rango 10.0.0.0/8.&lt;br /&gt;
* La red VPN.&lt;br /&gt;
&lt;br /&gt;
La infraestructura de los nodos híbridos suele ser bastante sencilla y bastante parecida entre todos ellos, especialmente si la configuración de la antena está preparada con el ''One Click''. En el apartado anterior quedan reflejadas las suposiciones que tomamos antes de comenzar con la instalación.&lt;br /&gt;
&lt;br /&gt;
Nuestro router cliente de VPN, sin embargo, no será la antena porque ésta no puede proveer WiFi dentro de casa. En este nuevo router tendrá que ir conectado directamente a la antena a la red privada interna 192.168.1.0/24 con la IP 192.168.1.2 y dispondrá de las dos WiFis especificadas anteriormente. Para no tener que crear más redes la WiFi privada también estará dentro de la red 192.168.1.0/24.&lt;br /&gt;
&lt;br /&gt;
De esta forma, cualquier usuario tendría que tener como puerta de enlace por defecto el router cliente VPN. El propio router cliente VPN tendrá como ruta por defecto la interfaz tun de la VPN, pero también tiene que redirigir toda IP 10.0.0.0/8 y 172.16.0.0/16 hacia la antena (192.168.1.1). Así mismo, el Firewall permite el acceso de la WiFi privada hacia la VPN, mientras que no permite el acceso por la WiFi abierta. La WiFi abierta sólo permitirá el enrutamiento por la antena, y va a impedir que su tráfico pueda ir por la VPN. De esta forma, evitamos que los usuarios conectados a la WiFi abierta puedan utilizar Internet.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Nodeinternvpn.png|thumb|center|upright=2.5|Esquema d'un node client de guifi.net amb un client VPN.]]&lt;br /&gt;
&lt;br /&gt;
=== La red del servidor ===&lt;br /&gt;
&lt;br /&gt;
El servidor deberá tener en cuenta tres redes:&lt;br /&gt;
&lt;br /&gt;
* La red interna de casa: Nuestra red de casa en dónde se encuentra el servidor y el router/modem ADSL. Suponemos que es la red 192.168.1.0/24.&lt;br /&gt;
* La red pública de guifi.net: La red de guifi.net.&lt;br /&gt;
* Internet.&lt;br /&gt;
&lt;br /&gt;
La red del servidor VPN tendrá que ser exactamente la misma que la de un servidor proxy: Deberá tener dos NICs: Uno conectado a la LAN de casa con acceso a Internet y otro NIC conectado a la red pública de guifi.net con una IP pública del rango 10.0.0.0/8. Este servidor deberá enrutar todo el tráfico que vaya a la 10.0.0.0/8 y a la 172.16.0.0/16 por la interfaz de guifi.net, mientra que el tráfico por defecto deberá ir por la interfaz con acceso a Internet.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
&lt;br /&gt;
==== Instalación ====&lt;br /&gt;
La instalación se hará sobre un servidor Ubuntu Server 14.04. Como todos los proxies, este servidor necesita dos interfaces: Una a guifi.net y otra a Internet. La interfaz de guifi.net está en la red que tiene acceso a Internet, detrás del clásico NAT de un router normal.&lt;br /&gt;
&lt;br /&gt;
Deben instalarse los siguientes paquetes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   $ sudo apt-get install openvpn&lt;br /&gt;
   $ sudo apt-get install openssl&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configuración del servicio====&lt;br /&gt;
&lt;br /&gt;
Mirad el fichero /etc/openvpn/openvpn.conf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    dev tun #Tun o Tap, Tap es para tunnels a L2&lt;br /&gt;
    proto udp #UDP o TCP&lt;br /&gt;
    port 1194 #Defines the port to connect&lt;br /&gt;
    ca /etc/openvpn/easy-rsa/keys/ca.crt #This defines where keys and cert are kept&lt;br /&gt;
    cert /etc/openvpn/easy-rsa/keys/server.crt&lt;br /&gt;
    key /etc/openvpn/easy-rsa/keys/server.key&lt;br /&gt;
    dh /etc/openvpn/easy-rsa/keys/dh2048.pem&lt;br /&gt;
    server 10.8.0.0 255.255.255.0 #Rango de Ips de los clientes VPN&lt;br /&gt;
    status /var/log/openvpn-status.log # fichero de log&lt;br /&gt;
    verb 3 # cantidad de missatges de log&lt;br /&gt;
    push “redirect-gateway” # MUY IMPORTANTE para que los clientes asignen el servicio VPN como default gw.&lt;br /&gt;
    push “dhcp-option DNS 10.91.9.66″ # IMPORTANTE para que los clientes tengan como DNS el servidor VPN.&lt;br /&gt;
    log-append /var/log/openvpn #log&lt;br /&gt;
    comp-lzo # Compressión lzo&lt;br /&gt;
    management 127.0.0.1 1194 # Para management&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El push del redirect-gateway y del DNS son muy importantes, y es condición necesaria porque los clientes puedan conectarse con la VPN correctamente.&lt;br /&gt;
&lt;br /&gt;
==== Configuración de la red ====&lt;br /&gt;
&lt;br /&gt;
Nuestro servidor enrutará todo el tránsito 10.0.0.0/8 y 172.16.0.0/16 por la interfaz eth0 (guifi.net), y todo el resto por la interfaz eth1 (LAN de casa con acceso a Internet). El firewall tendrá que aplicar un NAT o MASQUERADING de todo el tránsito que salga por la interfaz eth1 para que el router ADSL sepa cómo contestarnos. &lt;br /&gt;
&lt;br /&gt;
Por último, pero para nada menos importante, el firewall también deberá evitar que los usuarios de los clientes VPN puedan acceder a las IPs de dentro de casa. Habrá, por lo tanto, que hacer un drop de los paquetes que vayan a nuestras IPs privadas. En el ejemplo, 192.168.1.0/24, pero pueden variar en cada caso.&lt;br /&gt;
&lt;br /&gt;
La configuración de las interfaces de /etc/network/interfaces es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    auto lo&lt;br /&gt;
    iface lo inet loopback&lt;br /&gt;
    auto eth0&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
    address 10.91.9.66&lt;br /&gt;
    netmask 255.255.255.224&lt;br /&gt;
    up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.91.9.65&lt;br /&gt;
    up route add -net 172.16.0.0 netmask 255.255.0.0 gw 10.91.9.65&lt;br /&gt;
    down route del 10.0.0.0 netmask 255.0.0.0 gw 10.91.9.65&lt;br /&gt;
    down route del 172.16.0.0 netmask 255.255.0.0 gw 10.91.9.65&lt;br /&gt;
    # The primary network interface&lt;br /&gt;
    auto eth1&lt;br /&gt;
    iface eth1 inet static&lt;br /&gt;
    address 192.168.1.2&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.1.1&lt;br /&gt;
    up iptables -t nat -A POSTROUTING -o eth1 -j SNAT –to-source 192.168.1.2 # hacemos snat del que sale del router hacia Internet&lt;br /&gt;
    up iptables -A FORWARD -i tun0 -d 192.168.1.0/24 -j DROP # Esto es muy importante porque sino los clientes VPN podrán acceder a las IPs de nuestra LAN interna de casa.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Creación de certificados====&lt;br /&gt;
&lt;br /&gt;
El paquete openvpn incluye la utilidad easy-rsa, que sirve para crear y mantener llaves y certificados entre clientes y servidores.&lt;br /&gt;
&lt;br /&gt;
Una vez los paquetes openvpn y openssl estén instalados, hacemos lo siguiente para dejarlo listo para empezar a distribuir certificados a los clientes:&lt;br /&gt;
&lt;br /&gt;
* Copiamos la configuración por defecto del easy-rsa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Modificamos el fichero&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; vim /etc/openvpn/easy-rsa/vars &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I en la línia 15 cambiamos &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export EASY_RSA=”`pwd`”&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export EASY_RSA=”/etc/openvpn/easy-rsa”&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Cargamos las variables de entorno del easy-rsa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;source /etc/openvpn/easy-rsa/vars&amp;lt;/code&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
* Limpiamos la base de datos de certificados&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /etc/openvpn/easy-rsa/clean-all &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''CUIDADO! No ejecutéis esto una vez distribuidos los certificados o los revocaréis todos y tendréis que volverlos a distribuir!'''&lt;br /&gt;
&lt;br /&gt;
* Creamos los certificados de la CA y del servidor&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
   cd /etc/openvpn/&lt;br /&gt;
  ./easy-rsa/build-ca &amp;lt;nom_CA&amp;gt;&lt;br /&gt;
  ./easy-rsa/build-key-server &amp;lt;nom_server&amp;gt;&lt;br /&gt;
  ./easy-rsa/build-dh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tanto a &amp;lt;nombre_CA&amp;gt; como en &amp;lt;nom_server&amp;gt; como a todo lo que se pida puede ponerse cualquier cosa, que el efecto será el mismo. El campo de contraseña también puede estar vacío.&lt;br /&gt;
&lt;br /&gt;
Las llaves están todas contenidas al directorio /etc/openvpn/easy-rsa/keys.&lt;br /&gt;
&lt;br /&gt;
A partir de ahora podréis crear certificados para los usuarios ejecutando lo siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   source /etc/openvpn/easy-rsa/vars&lt;br /&gt;
   cd /etc/openvpn/&lt;br /&gt;
   ./easy-rsa/build-key &amp;lt;nom_certificat_client&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conviene asignar nombres diferentes a certificados de clientes diferentes, aunque cuando se copien al router cliente todos tendrán el mismo nombre (client1).&lt;br /&gt;
&lt;br /&gt;
====Control del ancho de banda de los clientes al servidor====&lt;br /&gt;
Seguramente será muy necesario para poder limitar el ancho de banda que el responsable del servidor quiera dar a la red guifi.net. Con la comanda tc podemos limitar el ancho de banda de eth0 (la interfaz de red que está dentro guifi.net).&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;code&amp;gt;tc qdisc add dev eth0 root handle 1: htb&lt;br /&gt;
    tc class add dev eth0 parent 1: classid 1:512 htb rate 512kbit&lt;br /&gt;
    tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip dst 0.0.0.0/0 flowid 1:512&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
También puede crearse un script a /etc/init.d que lo ejecute de forma automática.&lt;br /&gt;
&lt;br /&gt;
La limitación es que esta restricción de ancho de banda también se aplicará en hacer peticiones de cualquier tipo al servidor. Es decir, también se aplicará la restricción en hacer peticiones HTTP, DNS, FTP...&lt;br /&gt;
&lt;br /&gt;
=== Clientes ===&lt;br /&gt;
&lt;br /&gt;
El hardware recomendado para los clientes es el router TP-LINK WR841N v9, por su bajo coste y porque permite la instalación del firmware OpenWRT de forma sencilla. Adjunto en esta página se encuentra una imagen para este modelo de router con todos los paquetes necesarios ya instalados y preconfigurados.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Instalación del firmware y del software correspondiente====&lt;br /&gt;
&lt;br /&gt;
Para configurar el router de fábrica tenemos que:&lt;br /&gt;
&lt;br /&gt;
# Conectarse al servidor web que nos ofrece el router de fábrica.&lt;br /&gt;
# Cargar una imagen de firmware adjunta. [https://jfdeu.files.wordpress.com/2014/07/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory-bin-zip.odt] Recordad que una vez descargado hay que cambiar el nombre del fichero a openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory.bin.zip para que pueda descomprimirse bien la imagen.&lt;br /&gt;
# Una vez la imagen esté cargada, hay que conectarse al router mediante telnet a la IP 192.168.1.2, y se os abrirá un sencillo programa de configuración.&lt;br /&gt;
# Cambiad la contraseña de root y reiniciad el router.&lt;br /&gt;
# Solicitad un certificado del servidor VPN contactando con el administrador. Copiad los ficheros con extensión &amp;lt;nom_cert_client&amp;gt;.crt y &amp;lt;nom_cert_client&amp;gt;.key al directorio /etc/openvpn. En este directorio también tendréis que copiar el certificado de la CA (ca.crt). Es probable que tengáis que cambiar también el nombre de los certificados del cliente, es decir, que los ficheros de los certificados del cliente tienen que llamarse client1.crt y client1.key.&lt;br /&gt;
# Es importante tener un servidor NTP dentro la red guifi.net para no tener problemas con los certificados. Hay que poner el nombre o la IP del servidor NTP en /etc/config/system&lt;br /&gt;
&lt;br /&gt;
== Administración ==&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
Si al fichero /etc/config/openvpn ponemos la línea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;management 127.0.0.1 1194 # Per management&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nos podremos conectar al daemon del OpenVPN con telnet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;telnet 127.0.0.1 1194&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Log ====&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   telnet 127.0.0.1 1194&lt;br /&gt;
   &amp;gt; log ON&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O bien /var/log/openvpn&lt;br /&gt;
=== Cliente ===&lt;br /&gt;
&lt;br /&gt;
==== Instalación de programario al TP-LINK WR841N ====&lt;br /&gt;
&lt;br /&gt;
Aunque el router escogido permite la instalación de OpenWRT, su memoria flash es muy pequeña (4 MB) y no permite que se instalen paquetes con el opkg.&lt;br /&gt;
&lt;br /&gt;
Para instalar el paquete OpenVPN, hay que crear una imagen nueva con este paquete preinstalado. Puede hacerse compilando el código desde 0 o con el Image Builder, que es más cómodo [http://wiki.openwrt.org/doc/howto/obtain.firmware.generate]. Con el Image Builder tiene que usarse el PROFILE=TLWR841 e añadir el paquete PACKAGES=&amp;quot;openvpn-openssl&amp;quot;. La comanda feta servir és:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make image PROFILE=TLWR841 PACKAGES=&amp;quot;openvpn-openssl&amp;quot; FILES=files/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Log ====&lt;br /&gt;
Para tener un log al cliente VPN hay que descomentar la línea correspondiente a /etc/config/openvpn. Conviene tenerlo activo sólo de forma puntual o vamos a llenar toda la memoria flash.&lt;br /&gt;
&lt;br /&gt;
== Actualización ==&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
El mantenimiento y la actualización de los paquetes corresponde a la distribución.&lt;br /&gt;
&lt;br /&gt;
== Resolución de problemas habituales ==&lt;br /&gt;
=== Pérdida de conexión del cliente VPN con el servidor ===&lt;br /&gt;
&lt;br /&gt;
El motivo más habitual de este error se debe a que el reloj del cliente se desconfigura y es probable que en comprobar los certificados las horas sean incorrectas.&lt;br /&gt;
&lt;br /&gt;
Hay que comprobar la conexión con el servidor NTP o bien modificar la hora manualmente, aunque en este último caso es probable que el error se repita eventualmente.&lt;br /&gt;
&lt;br /&gt;
=== Enrutamiento ===&lt;br /&gt;
&lt;br /&gt;
El enrutamiento en los clientes es bastante complicado, por eso de aquí vendrán la mayoría de los problemas. Una tabla de encaminamiento típica sería la siguiente:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   $ route -n&lt;br /&gt;
   Kernel IP routing table&lt;br /&gt;
   Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
   0.0.0.0         10.8.0.9        0.0.0.0         UG    0      0        0 tun0&lt;br /&gt;
   10.0.0.0        192.168.1.1     255.0.0.0       UG    0      0        0 br-lan&lt;br /&gt;
   10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0&lt;br /&gt;
   10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0&lt;br /&gt;
   10.91.9.66      192.168.1.1     255.255.255.255 UGH   0      0        0 br-lan&lt;br /&gt;
   172.16.0.0      192.168.1.1     255.255.0.0     UG    0      0        0 br-lan&lt;br /&gt;
   192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0-1&lt;br /&gt;
   192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br-lan&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hay que tener en cuenta que al firewall se hace masquerading a la tun0 para que el servidor sepa responder, y a la LAN para que des de la interfaz de guest (wlan0-1) se pueda acceder a fuera. La interfaz eth1 (WAN) no se utiliza.&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
Es importante desactivar el DHCP de la antena, ya que el único que puede proporcionar el DHCP es el router.&lt;br /&gt;
La default route de los terminales es la 192.168.1.2 (el router). Se supone que la antena tiene la IP 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
== Ejemplos reales en servidores autogestionados ==&lt;br /&gt;
La zona de Sóller dispone de un servidor VPN con dos clientes funcionando, uno en Can Palou 6 y el otro en el Casal La Victòria. El servidor se encuentra en Alqueria40.&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
[[VPN]]&lt;br /&gt;
&lt;br /&gt;
== Enlaces externos ==&lt;br /&gt;
&lt;br /&gt;
Imagen del firmware para TP-LINK WR841 V9 preconfigurada https://jfdeu.files.wordpress.com/2014/07/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory-bin-zip.odt]&lt;br /&gt;
&lt;br /&gt;
Página de OpenVPN [https://openvpn.net/]&lt;br /&gt;
&lt;br /&gt;
''How to create an OpenVPN Server'', perfectamente explicado[http://raspguide.wordpress.com/2014/03/26/how-to-create-an-openvpn-server/]&lt;br /&gt;
&lt;br /&gt;
Página de TP-Link WR841 OpenWRT [http://wiki.openwrt.org/toh/tp-link/tl-wr841nd]&lt;br /&gt;
&lt;br /&gt;
Instal·lación de LuCi y OpenVPN al TP-Link WR841 [http://coderazzi.net/howto/openwrt/tl841n/install.htm]&lt;br /&gt;
&lt;br /&gt;
Image Generator de OpenWRT [http://wiki.openwrt.org/doc/howto/obtain.firmware.generate]&lt;/div&gt;</summary>
		<author><name>Solleric</name></author>	</entry>

	<entry>
		<id>http://es.wiki.guifi.net/wiki/Alternativa_al_proxy_con_VPN</id>
		<title>Alternativa al proxy con VPN</title>
		<link rel="alternate" type="text/html" href="http://es.wiki.guifi.net/wiki/Alternativa_al_proxy_con_VPN"/>
				<updated>2014-09-12T08:01:57Z</updated>
		
		<summary type="html">&lt;p&gt;Solleric: /* La red de los routers clientes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aunque no es muy conveniente aplicar el argumento del Internet Gratis para que la gente se interese por guifi.net, es cierto que para algunos usuarios el principal atractivo de la red es la posibilidad de conectarse a Internet. La idea de utilizar un servidor proxy para conectarse puede resultar algo complicada y puede hacer que los usuarios menos convencidos desistan, especialmente si quieren conectarse con sus dispositivos móviles o utilizan aplicaciones que no permiten el uso de proxies.&lt;br /&gt;
&lt;br /&gt;
El objetivo de este artículo es, por lo tanto, encontrar una manera de compartir la conexión ADSL con quien el responsable de la conexión quiera. A la vez, estando seguros de que sólo utiliza la conexión quien el responsable quiere y con la posibilidad de limitar y controlar las conexiones de los usuarios (por ejemplo, no permitir que se visiten según que sitios). La condición es que el usuario final no tenga la necesidad de configurar nada en su terminal, y que la configuración de los routers y APs de los clientes sea sencilla y replicable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La Idea ==&lt;br /&gt;
La idea consiste en usar un servidor VPN en uno de los nodos, conectado tanto al ADSL como a guifi.net, y que enrute el tráfico de los clientes VPN hacia fuera. Al otro extremo de la red guifi.net, los clientes VPN pueden ser tanto dispositivos finales (portátiles) como APs domésticos. En el caso de los APs domésticos, éstos emiten dos SSIDs: &lt;br /&gt;
· Uno abierto, que sólo permite acceder a las rutas de guifi.net e impide el tránsito por la VPN.&lt;br /&gt;
· uno privado, que enruta el tráfico que no va a ninguna IP de guifi.net a través del túnel VPN.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Nodesvpn.jpeg|center|thumb|upright=2.5|Esquema de la infraestructura de un servidor VPN con múltiples clientes dentro de guifi.net ]]&lt;br /&gt;
&lt;br /&gt;
=== Suposiciones ===&lt;br /&gt;
Antes de empezar, esta documentación supone que la red de '''clientes''' tiene las siguientes características:&lt;br /&gt;
&lt;br /&gt;
1. Hay una antena que se conecta a la red guifi.net, y que funciona sin bridge entre eth0 y wlan0: Es decir, hace de router entre la red privada interna (192.168.1.0/24) y la red pública de guifi.net que hace el radioenlace con el supornodo (10.0.0.0/8)&lt;br /&gt;
&lt;br /&gt;
2. La antena hace NAT o MASQUERADING con el tráfico que sale por la interfície wlan0 (generalmente, el radioenlace al supernodo).&lt;br /&gt;
&lt;br /&gt;
3. El servidor DHCP de la antena està DESACTIVADO.&lt;br /&gt;
&lt;br /&gt;
4. Se dispone de un router, del que se explicará la configuración en los siguientes apartados, que está conectado a la red privada interna (192.168.1.0/24). Este router funciona de punto de acceso WiFi, de servidor DHCP y de enrutador.&lt;br /&gt;
&lt;br /&gt;
=== La red de los routers clientes ===&lt;br /&gt;
&lt;br /&gt;
Los routers clientes tendrán en cuenta tres redes:&lt;br /&gt;
&lt;br /&gt;
· La red abierta, rango 192.168.0.0/24, con WiFi abierta sin acceso a Internet, pero con acceso a guifi.net. IPs 192.168.0.1/24.&lt;br /&gt;
&lt;br /&gt;
· La red privada, rango 192.168.1.0/24, con WiFi cerrada con acceso a Internet y a guifi.net. La red incluirá también la antena con IP 192.168.1.1/24.&lt;br /&gt;
&lt;br /&gt;
· La red pública de guifi.net, de rango 10.0.0.0/8.&lt;br /&gt;
&lt;br /&gt;
· La red VPN.&lt;br /&gt;
&lt;br /&gt;
La infraestructura de los nodos híbridos suele ser bastante sencilla y bastante parecida entre todos ellos, especialmente si la configuración de la antena está preparada con el ''One Click''. En el apartado anterior quedan reflejadas las suposiciones que tomamos antes de comenzar con la instalación.&lt;br /&gt;
&lt;br /&gt;
Nuestro router cliente de VPN, sin embargo, no será la antena porque ésta no puede proveer WiFi dentro de casa. En este nuevo router tendrá que ir conectado directamente a la antena a la red privada interna 192.168.1.0/24 con la IP 192.168.1.2 y dispondrá de las dos WiFis especificadas anteriormente. Para no tener que crear más redes la WiFi privada también estará dentro de la red 192.168.1.0/24.&lt;br /&gt;
&lt;br /&gt;
De esta forma, cualquier usuario tendría que tener como puerta de enlace por defecto el router cliente VPN. El propio router cliente VPN tendrá como ruta por defecto la interfaz tun de la VPN, pero también tiene que redirigir toda IP 10.0.0.0/8 y 172.16.0.0/16 hacia la antena (192.168.1.1). Así mismo, el Firewall permite el acceso de la WiFi privada hacia la VPN, mientras que no permite el acceso por la WiFi abierta. La WiFi abierta sólo permitirá el enrutamiento por la antena, y va a impedir que su tráfico pueda ir por la VPN. De esta forma, evitamos que los usuarios conectados a la WiFi abierta puedan utilizar Internet.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Nodeinternvpn.png|thumb|center|upright=2.5|Esquema d'un node client de guifi.net amb un client VPN.]]&lt;br /&gt;
&lt;br /&gt;
=== La red del servidor ===&lt;br /&gt;
&lt;br /&gt;
El servidor deberá tener en cuenta tres redes:&lt;br /&gt;
&lt;br /&gt;
· La red interna de casa: Nuestra red de casa en dónde se encuentra el servidor y el router/modem ADSL. Suponemos que es la red 192.168.1.0/24.&lt;br /&gt;
&lt;br /&gt;
· La red pública de guifi.net: La red de guifi.net.&lt;br /&gt;
&lt;br /&gt;
· Internet.&lt;br /&gt;
&lt;br /&gt;
La red del servidor VPN tendrá que ser exactamente la misma que la de un servidor proxy: Deberá tener dos NICs: Uno conectado a la LAN de casa con acceso a Internet y otro NIC conectado a la red pública de guifi.net con una IP pública del rango 10.0.0.0/8. Este servidor deberá enrutar todo el tráfico que vaya a la 10.0.0.0/8 y a la 172.16.0.0/16 por la interfaz de guifi.net, mientra que el tráfico por defecto deberá ir por la interfaz con acceso a Internet.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
&lt;br /&gt;
==== Instalación ====&lt;br /&gt;
La instalación se hará sobre un servidor Ubuntu Server 14.04. Como todos los proxies, este servidor necesita dos interfaces: Una a guifi.net y otra a Internet. La interfaz de guifi.net está en la red que tiene acceso a Internet, detrás del clásico NAT de un router normal.&lt;br /&gt;
&lt;br /&gt;
Deben instalarse los siguientes paquetes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   $ sudo apt-get install openvpn&lt;br /&gt;
   $ sudo apt-get install openssl&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configuración del servicio====&lt;br /&gt;
&lt;br /&gt;
Mirad el fichero /etc/openvpn/openvpn.conf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    dev tun #Tun o Tap, Tap es para tunnels a L2&lt;br /&gt;
    proto udp #UDP o TCP&lt;br /&gt;
    port 1194 #Defines the port to connect&lt;br /&gt;
    ca /etc/openvpn/easy-rsa/keys/ca.crt #This defines where keys and cert are kept&lt;br /&gt;
    cert /etc/openvpn/easy-rsa/keys/server.crt&lt;br /&gt;
    key /etc/openvpn/easy-rsa/keys/server.key&lt;br /&gt;
    dh /etc/openvpn/easy-rsa/keys/dh2048.pem&lt;br /&gt;
    server 10.8.0.0 255.255.255.0 #Rango de Ips de los clientes VPN&lt;br /&gt;
    status /var/log/openvpn-status.log # fichero de log&lt;br /&gt;
    verb 3 # cantidad de missatges de log&lt;br /&gt;
    push “redirect-gateway” # MUY IMPORTANTE para que los clientes asignen el servicio VPN como default gw.&lt;br /&gt;
    push “dhcp-option DNS 10.91.9.66″ # IMPORTANTE para que los clientes tengan como DNS el servidor VPN.&lt;br /&gt;
    log-append /var/log/openvpn #log&lt;br /&gt;
    comp-lzo # Compressión lzo&lt;br /&gt;
    management 127.0.0.1 1194 # Para management&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El push del redirect-gateway y del DNS son muy importantes, y es condición necesaria porque los clientes puedan conectarse con la VPN correctamente.&lt;br /&gt;
&lt;br /&gt;
==== Configuración de la red ====&lt;br /&gt;
&lt;br /&gt;
Nuestro servidor enrutará todo el tránsito 10.0.0.0/8 y 172.16.0.0/16 por la interfaz eth0 (guifi.net), y todo el resto por la interfaz eth1 (LAN de casa con acceso a Internet). El firewall tendrá que aplicar un NAT o MASQUERADING de todo el tránsito que salga por la interfaz eth1 para que el router ADSL sepa cómo contestarnos. &lt;br /&gt;
&lt;br /&gt;
Por último, pero para nada menos importante, el firewall también deberá evitar que los usuarios de los clientes VPN puedan acceder a las IPs de dentro de casa. Habrá, por lo tanto, que hacer un drop de los paquetes que vayan a nuestras IPs privadas. En el ejemplo, 192.168.1.0/24, pero pueden variar en cada caso.&lt;br /&gt;
&lt;br /&gt;
La configuración de las interfaces de /etc/network/interfaces es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    auto lo&lt;br /&gt;
    iface lo inet loopback&lt;br /&gt;
    auto eth0&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
    address 10.91.9.66&lt;br /&gt;
    netmask 255.255.255.224&lt;br /&gt;
    up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.91.9.65&lt;br /&gt;
    up route add -net 172.16.0.0 netmask 255.255.0.0 gw 10.91.9.65&lt;br /&gt;
    down route del 10.0.0.0 netmask 255.0.0.0 gw 10.91.9.65&lt;br /&gt;
    down route del 172.16.0.0 netmask 255.255.0.0 gw 10.91.9.65&lt;br /&gt;
    # The primary network interface&lt;br /&gt;
    auto eth1&lt;br /&gt;
    iface eth1 inet static&lt;br /&gt;
    address 192.168.1.2&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.1.1&lt;br /&gt;
    up iptables -t nat -A POSTROUTING -o eth1 -j SNAT –to-source 192.168.1.2 # hacemos snat del que sale del router hacia Internet&lt;br /&gt;
    up iptables -A FORWARD -i tun0 -d 192.168.1.0/24 -j DROP # Esto es muy importante porque sino los clientes VPN podrán acceder a las IPs de nuestra LAN interna de casa.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Creación de certificados====&lt;br /&gt;
&lt;br /&gt;
El paquete openvpn incluye la utilidad easy-rsa, que sirve para crear y mantener llaves y certificados entre clientes y servidores.&lt;br /&gt;
&lt;br /&gt;
Una vez los paquetes openvpn y openssl estén instalados, hacemos lo siguiente para dejarlo listo para empezar a distribuir certificados a los clientes:&lt;br /&gt;
&lt;br /&gt;
1. Copiamos la configuración por defecto del easy-rsa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Modificamos el fichero&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; vim /etc/openvpn/easy-rsa/vars &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I en la línia 15 cambiamos &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export EASY_RSA=”`pwd`”&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export EASY_RSA=”/etc/openvpn/easy-rsa”&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Cargamos las variables de entorno del easy-rsa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;source /etc/openvpn/easy-rsa/vars&amp;lt;/code&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
4. Limpiamos la base de datos de certificados&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /etc/openvpn/easy-rsa/clean-all &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''CUIDADO! No ejecutéis esto una vez distribuidos los certificados o los revocaréis todos y tendréis que volverlos a distribuir!'''&lt;br /&gt;
&lt;br /&gt;
5. Creamos los certificados de la CA y del servidor&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
   cd /etc/openvpn/&lt;br /&gt;
  ./easy-rsa/build-ca &amp;lt;nom_CA&amp;gt;&lt;br /&gt;
  ./easy-rsa/build-key-server &amp;lt;nom_server&amp;gt;&lt;br /&gt;
  ./easy-rsa/build-dh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tanto a &amp;lt;nombre_CA&amp;gt; como en &amp;lt;nom_server&amp;gt; como a todo lo que se pida puede ponerse cualquier cosa, que el efecto será el mismo. El campo de contraseña también puede estar vacío.&lt;br /&gt;
&lt;br /&gt;
Las llaves están todas contenidas al directorio /etc/openvpn/easy-rsa/keys.&lt;br /&gt;
&lt;br /&gt;
A partir de ahora podréis crear certificados para los usuarios ejecutando lo siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   source /etc/openvpn/easy-rsa/vars&lt;br /&gt;
   cd /etc/openvpn/&lt;br /&gt;
   ./easy-rsa/build-key &amp;lt;nom_certificat_client&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conviene asignar nombres diferentes a certificados de clientes diferentes, aunque cuando se copien al router cliente todos tendrán el mismo nombre (client1).&lt;br /&gt;
&lt;br /&gt;
====Control del ancho de banda de los clientes al servidor====&lt;br /&gt;
Seguramente será muy necesario para poder limitar el ancho de banda que el responsable del servidor quiera dar a la red guifi.net. Con la comanda tc podemos limitar el ancho de banda de eth0 (la interfaz de red que está dentro guifi.net).&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;code&amp;gt;tc qdisc add dev eth0 root handle 1: htb&lt;br /&gt;
    tc class add dev eth0 parent 1: classid 1:512 htb rate 512kbit&lt;br /&gt;
    tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip dst 0.0.0.0/0 flowid 1:512&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
También puede crearse un script a /etc/init.d que lo ejecute de forma automática.&lt;br /&gt;
&lt;br /&gt;
La limitación es que esta restricción de ancho de banda también se aplicará en hacer peticiones de cualquier tipo al servidor. Es decir, también se aplicará la restricción en hacer peticiones HTTP, DNS, FTP...&lt;br /&gt;
&lt;br /&gt;
=== Clientes ===&lt;br /&gt;
&lt;br /&gt;
El hardware recomendado para los clientes es el router TP-LINK WR841N v9, por su bajo coste y porque permite la instalación del firmware OpenWRT de forma sencilla. Adjunto en esta página se encuentra una imagen para este modelo de router con todos los paquetes necesarios ya instalados y preconfigurados.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Instalación del firmware y del software correspondiente====&lt;br /&gt;
&lt;br /&gt;
Para configurar el router de fábrica tenemos que:&lt;br /&gt;
&lt;br /&gt;
1. Conectarse al servidor web que nos ofrece el router de fábrica.&lt;br /&gt;
&lt;br /&gt;
2. Cargar una imagen de firmware adjunta. [https://jfdeu.files.wordpress.com/2014/07/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory-bin-zip.odt] Recordad que una vez descargado hay que cambiar el nombre del fichero a openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory.bin.zip para que pueda descomprimirse bien la imagen.&lt;br /&gt;
&lt;br /&gt;
3. Una vez la imagen esté cargada, hay que conectarse al router mediante telnet a la IP 192.168.1.2, y se os abrirá un sencillo programa de configuración.&lt;br /&gt;
&lt;br /&gt;
4. Cambiad la contraseña de root y reiniciad el router.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   passwd &lt;br /&gt;
   reboot&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Solicitad un certificado del servidor VPN contactando con el administrador. Copiad los ficheros con extensión &amp;lt;nom_cert_client&amp;gt;.crt y &amp;lt;nom_cert_client&amp;gt;.key al directorio /etc/openvpn. En este directorio también tendréis que copiar el certificado de la CA (ca.crt). Es probable que tengáis que cambiar también el nombre de los certificados del cliente, es decir, que los ficheros de los certificados del cliente tienen que llamarse client1.crt y client1.key.&lt;br /&gt;
&lt;br /&gt;
6. Es importante tener un servidor NTP dentro la red guifi.net para no tener problemas con los certificados. Hay que poner el nombre o la IP del servidor NTP en /etc/config/system&lt;br /&gt;
&lt;br /&gt;
== Administración ==&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
Si al fichero /etc/config/openvpn ponemos la línea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;management 127.0.0.1 1194 # Per management&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nos podremos conectar al daemon del OpenVPN con telnet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;telnet 127.0.0.1 1194&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Log ====&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   telnet 127.0.0.1 1194&lt;br /&gt;
   &amp;gt; log ON&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O bien /var/log/openvpn&lt;br /&gt;
=== Cliente ===&lt;br /&gt;
&lt;br /&gt;
==== Instalación de programario al TP-LINK WR841N ====&lt;br /&gt;
&lt;br /&gt;
Aunque el router escogido permite la instalación de OpenWRT, su memoria flash es muy pequeña (4 MB) y no permite que se instalen paquetes con el opkg.&lt;br /&gt;
&lt;br /&gt;
Para instalar el paquete OpenVPN, hay que crear una imagen nueva con este paquete preinstalado. Puede hacerse compilando el código desde 0 o con el Image Builder, que es más cómodo [http://wiki.openwrt.org/doc/howto/obtain.firmware.generate]. Con el Image Builder tiene que usarse el PROFILE=TLWR841 e añadir el paquete PACKAGES=&amp;quot;openvpn-openssl&amp;quot;. La comanda feta servir és:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make image PROFILE=TLWR841 PACKAGES=&amp;quot;openvpn-openssl&amp;quot; FILES=files/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Log ====&lt;br /&gt;
Para tener un log al cliente VPN hay que descomentar la línea correspondiente a /etc/config/openvpn. Conviene tenerlo activo sólo de forma puntual o vamos a llenar toda la memoria flash.&lt;br /&gt;
&lt;br /&gt;
== Actualización ==&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
El mantenimiento y la actualización de los paquetes corresponde a la distribución.&lt;br /&gt;
&lt;br /&gt;
== Resolución de problemas habituales ==&lt;br /&gt;
=== Pérdida de conexión del cliente VPN con el servidor ===&lt;br /&gt;
&lt;br /&gt;
El motivo más habitual de este error se debe a que el reloj del cliente se desconfigura y es probable que en comprobar los certificados las horas sean incorrectas.&lt;br /&gt;
&lt;br /&gt;
Hay que comprobar la conexión con el servidor NTP o bien modificar la hora manualmente, aunque en este último caso es probable que el error se repita eventualmente.&lt;br /&gt;
&lt;br /&gt;
=== Enrutamiento ===&lt;br /&gt;
&lt;br /&gt;
El enrutamiento en los clientes es bastante complicado, por eso de aquí vendrán la mayoría de los problemas. Una tabla de encaminamiento típica sería la siguiente:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   $ route -n&lt;br /&gt;
   Kernel IP routing table&lt;br /&gt;
   Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
   0.0.0.0         10.8.0.9        0.0.0.0         UG    0      0        0 tun0&lt;br /&gt;
   10.0.0.0        192.168.1.1     255.0.0.0       UG    0      0        0 br-lan&lt;br /&gt;
   10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0&lt;br /&gt;
   10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0&lt;br /&gt;
   10.91.9.66      192.168.1.1     255.255.255.255 UGH   0      0        0 br-lan&lt;br /&gt;
   172.16.0.0      192.168.1.1     255.255.0.0     UG    0      0        0 br-lan&lt;br /&gt;
   192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0-1&lt;br /&gt;
   192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br-lan&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hay que tener en cuenta que al firewall se hace masquerading a la tun0 para que el servidor sepa responder, y a la LAN para que des de la interfaz de guest (wlan0-1) se pueda acceder a fuera. La interfaz eth1 (WAN) no se utiliza.&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
Es importante desactivar el DHCP de la antena, ya que el único que puede proporcionar el DHCP es el router.&lt;br /&gt;
La default route de los terminales es la 192.168.1.2 (el router). Se supone que la antena tiene la IP 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
== Ejemplos reales en servidores autogestionados ==&lt;br /&gt;
La zona de Sóller dispone de un servidor VPN con dos clientes funcionando, uno en Can Palou 6 y el otro en el Casal La Victòria. El servidor se encuentra en Alqueria40.&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
[[VPN]]&lt;br /&gt;
&lt;br /&gt;
== Enlaces externos ==&lt;br /&gt;
&lt;br /&gt;
Imagen del firmware para TP-LINK WR841 V9 preconfigurada https://jfdeu.files.wordpress.com/2014/07/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory-bin-zip.odt]&lt;br /&gt;
&lt;br /&gt;
Página de OpenVPN [https://openvpn.net/]&lt;br /&gt;
&lt;br /&gt;
''How to create an OpenVPN Server'', perfectamente explicado[http://raspguide.wordpress.com/2014/03/26/how-to-create-an-openvpn-server/]&lt;br /&gt;
&lt;br /&gt;
Página de TP-Link WR841 OpenWRT [http://wiki.openwrt.org/toh/tp-link/tl-wr841nd]&lt;br /&gt;
&lt;br /&gt;
Instal·lación de LuCi y OpenVPN al TP-Link WR841 [http://coderazzi.net/howto/openwrt/tl841n/install.htm]&lt;br /&gt;
&lt;br /&gt;
Image Generator de OpenWRT [http://wiki.openwrt.org/doc/howto/obtain.firmware.generate]&lt;/div&gt;</summary>
		<author><name>Solleric</name></author>	</entry>

	<entry>
		<id>http://es.wiki.guifi.net/wiki/Alternativa_al_proxy_con_VPN</id>
		<title>Alternativa al proxy con VPN</title>
		<link rel="alternate" type="text/html" href="http://es.wiki.guifi.net/wiki/Alternativa_al_proxy_con_VPN"/>
				<updated>2014-09-12T08:00:53Z</updated>
		
		<summary type="html">&lt;p&gt;Solleric: /* La red de los routers clientes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aunque no es muy conveniente aplicar el argumento del Internet Gratis para que la gente se interese por guifi.net, es cierto que para algunos usuarios el principal atractivo de la red es la posibilidad de conectarse a Internet. La idea de utilizar un servidor proxy para conectarse puede resultar algo complicada y puede hacer que los usuarios menos convencidos desistan, especialmente si quieren conectarse con sus dispositivos móviles o utilizan aplicaciones que no permiten el uso de proxies.&lt;br /&gt;
&lt;br /&gt;
El objetivo de este artículo es, por lo tanto, encontrar una manera de compartir la conexión ADSL con quien el responsable de la conexión quiera. A la vez, estando seguros de que sólo utiliza la conexión quien el responsable quiere y con la posibilidad de limitar y controlar las conexiones de los usuarios (por ejemplo, no permitir que se visiten según que sitios). La condición es que el usuario final no tenga la necesidad de configurar nada en su terminal, y que la configuración de los routers y APs de los clientes sea sencilla y replicable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La Idea ==&lt;br /&gt;
La idea consiste en usar un servidor VPN en uno de los nodos, conectado tanto al ADSL como a guifi.net, y que enrute el tráfico de los clientes VPN hacia fuera. Al otro extremo de la red guifi.net, los clientes VPN pueden ser tanto dispositivos finales (portátiles) como APs domésticos. En el caso de los APs domésticos, éstos emiten dos SSIDs: &lt;br /&gt;
· Uno abierto, que sólo permite acceder a las rutas de guifi.net e impide el tránsito por la VPN.&lt;br /&gt;
· uno privado, que enruta el tráfico que no va a ninguna IP de guifi.net a través del túnel VPN.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Nodesvpn.jpeg|center|thumb|upright=2.5|Esquema de la infraestructura de un servidor VPN con múltiples clientes dentro de guifi.net ]]&lt;br /&gt;
&lt;br /&gt;
=== Suposiciones ===&lt;br /&gt;
Antes de empezar, esta documentación supone que la red de '''clientes''' tiene las siguientes características:&lt;br /&gt;
&lt;br /&gt;
1. Hay una antena que se conecta a la red guifi.net, y que funciona sin bridge entre eth0 y wlan0: Es decir, hace de router entre la red privada interna (192.168.1.0/24) y la red pública de guifi.net que hace el radioenlace con el supornodo (10.0.0.0/8)&lt;br /&gt;
&lt;br /&gt;
2. La antena hace NAT o MASQUERADING con el tráfico que sale por la interfície wlan0 (generalmente, el radioenlace al supernodo).&lt;br /&gt;
&lt;br /&gt;
3. El servidor DHCP de la antena està DESACTIVADO.&lt;br /&gt;
&lt;br /&gt;
4. Se dispone de un router, del que se explicará la configuración en los siguientes apartados, que está conectado a la red privada interna (192.168.1.0/24). Este router funciona de punto de acceso WiFi, de servidor DHCP y de enrutador.&lt;br /&gt;
&lt;br /&gt;
=== La red de los routers clientes ===&lt;br /&gt;
&lt;br /&gt;
Los routers clientes tendrán en cuenta tres redes:&lt;br /&gt;
&lt;br /&gt;
· La red abierta, con WiFi abierta sin acceso a Internet, pero con acceso a guifi.net. IPs 192.168.0.1/24.&lt;br /&gt;
&lt;br /&gt;
· La red privada, con WiFi cerrada con acceso a Internet y a guifi.net. La red incluirá también la antena con IPs 192.168.1.1/24.&lt;br /&gt;
&lt;br /&gt;
· La red pública de guifi.net.&lt;br /&gt;
&lt;br /&gt;
· La red VPN.&lt;br /&gt;
&lt;br /&gt;
La infraestructura de los nodos híbridos suele ser bastante sencilla y bastante parecida entre todos ellos, especialmente si la configuración de la antena está preparada con el ''One Click''. En el apartado anterior quedan reflejadas las suposiciones que tomamos antes de comenzar con la instalación.&lt;br /&gt;
&lt;br /&gt;
Nuestro router cliente de VPN, sin embargo, no será la antena porque ésta no puede proveer WiFi dentro de casa. En este nuevo router tendrá que ir conectado directamente a la antena a la red privada interna 192.168.1.0/24 con la IP 192.168.1.2 y dispondrá de las dos WiFis especificadas anteriormente. Para no tener que crear más redes la WiFi privada también estará dentro de la red 192.168.1.0/24.&lt;br /&gt;
&lt;br /&gt;
De esta forma, cualquier usuario tendría que tener como puerta de enlace por defecto el router cliente VPN. El propio router cliente VPN tendrá como ruta por defecto la interfaz tun de la VPN, pero también tiene que redirigir toda IP 10.0.0.0/8 y 172.16.0.0/16 hacia la antena (192.168.1.1). Así mismo, el Firewall permite el acceso de la WiFi privada hacia la VPN, mientras que no permite el acceso por la WiFi abierta. La WiFi abierta sólo permitirá el enrutamiento por la antena, y va a impedir que su tráfico pueda ir por la VPN. De esta forma, evitamos que los usuarios conectados a la WiFi abierta puedan utilizar Internet.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Nodeinternvpn.png|thumb|center|upright=2.5|Esquema d'un node client de guifi.net amb un client VPN.]]&lt;br /&gt;
&lt;br /&gt;
=== La red del servidor ===&lt;br /&gt;
&lt;br /&gt;
El servidor deberá tener en cuenta tres redes:&lt;br /&gt;
&lt;br /&gt;
· La red interna de casa: Nuestra red de casa en dónde se encuentra el servidor y el router/modem ADSL. Suponemos que es la red 192.168.1.0/24.&lt;br /&gt;
&lt;br /&gt;
· La red pública de guifi.net: La red de guifi.net.&lt;br /&gt;
&lt;br /&gt;
· Internet.&lt;br /&gt;
&lt;br /&gt;
La red del servidor VPN tendrá que ser exactamente la misma que la de un servidor proxy: Deberá tener dos NICs: Uno conectado a la LAN de casa con acceso a Internet y otro NIC conectado a la red pública de guifi.net con una IP pública del rango 10.0.0.0/8. Este servidor deberá enrutar todo el tráfico que vaya a la 10.0.0.0/8 y a la 172.16.0.0/16 por la interfaz de guifi.net, mientra que el tráfico por defecto deberá ir por la interfaz con acceso a Internet.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
&lt;br /&gt;
==== Instalación ====&lt;br /&gt;
La instalación se hará sobre un servidor Ubuntu Server 14.04. Como todos los proxies, este servidor necesita dos interfaces: Una a guifi.net y otra a Internet. La interfaz de guifi.net está en la red que tiene acceso a Internet, detrás del clásico NAT de un router normal.&lt;br /&gt;
&lt;br /&gt;
Deben instalarse los siguientes paquetes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   $ sudo apt-get install openvpn&lt;br /&gt;
   $ sudo apt-get install openssl&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configuración del servicio====&lt;br /&gt;
&lt;br /&gt;
Mirad el fichero /etc/openvpn/openvpn.conf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    dev tun #Tun o Tap, Tap es para tunnels a L2&lt;br /&gt;
    proto udp #UDP o TCP&lt;br /&gt;
    port 1194 #Defines the port to connect&lt;br /&gt;
    ca /etc/openvpn/easy-rsa/keys/ca.crt #This defines where keys and cert are kept&lt;br /&gt;
    cert /etc/openvpn/easy-rsa/keys/server.crt&lt;br /&gt;
    key /etc/openvpn/easy-rsa/keys/server.key&lt;br /&gt;
    dh /etc/openvpn/easy-rsa/keys/dh2048.pem&lt;br /&gt;
    server 10.8.0.0 255.255.255.0 #Rango de Ips de los clientes VPN&lt;br /&gt;
    status /var/log/openvpn-status.log # fichero de log&lt;br /&gt;
    verb 3 # cantidad de missatges de log&lt;br /&gt;
    push “redirect-gateway” # MUY IMPORTANTE para que los clientes asignen el servicio VPN como default gw.&lt;br /&gt;
    push “dhcp-option DNS 10.91.9.66″ # IMPORTANTE para que los clientes tengan como DNS el servidor VPN.&lt;br /&gt;
    log-append /var/log/openvpn #log&lt;br /&gt;
    comp-lzo # Compressión lzo&lt;br /&gt;
    management 127.0.0.1 1194 # Para management&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El push del redirect-gateway y del DNS son muy importantes, y es condición necesaria porque los clientes puedan conectarse con la VPN correctamente.&lt;br /&gt;
&lt;br /&gt;
==== Configuración de la red ====&lt;br /&gt;
&lt;br /&gt;
Nuestro servidor enrutará todo el tránsito 10.0.0.0/8 y 172.16.0.0/16 por la interfaz eth0 (guifi.net), y todo el resto por la interfaz eth1 (LAN de casa con acceso a Internet). El firewall tendrá que aplicar un NAT o MASQUERADING de todo el tránsito que salga por la interfaz eth1 para que el router ADSL sepa cómo contestarnos. &lt;br /&gt;
&lt;br /&gt;
Por último, pero para nada menos importante, el firewall también deberá evitar que los usuarios de los clientes VPN puedan acceder a las IPs de dentro de casa. Habrá, por lo tanto, que hacer un drop de los paquetes que vayan a nuestras IPs privadas. En el ejemplo, 192.168.1.0/24, pero pueden variar en cada caso.&lt;br /&gt;
&lt;br /&gt;
La configuración de las interfaces de /etc/network/interfaces es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    auto lo&lt;br /&gt;
    iface lo inet loopback&lt;br /&gt;
    auto eth0&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
    address 10.91.9.66&lt;br /&gt;
    netmask 255.255.255.224&lt;br /&gt;
    up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.91.9.65&lt;br /&gt;
    up route add -net 172.16.0.0 netmask 255.255.0.0 gw 10.91.9.65&lt;br /&gt;
    down route del 10.0.0.0 netmask 255.0.0.0 gw 10.91.9.65&lt;br /&gt;
    down route del 172.16.0.0 netmask 255.255.0.0 gw 10.91.9.65&lt;br /&gt;
    # The primary network interface&lt;br /&gt;
    auto eth1&lt;br /&gt;
    iface eth1 inet static&lt;br /&gt;
    address 192.168.1.2&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.1.1&lt;br /&gt;
    up iptables -t nat -A POSTROUTING -o eth1 -j SNAT –to-source 192.168.1.2 # hacemos snat del que sale del router hacia Internet&lt;br /&gt;
    up iptables -A FORWARD -i tun0 -d 192.168.1.0/24 -j DROP # Esto es muy importante porque sino los clientes VPN podrán acceder a las IPs de nuestra LAN interna de casa.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Creación de certificados====&lt;br /&gt;
&lt;br /&gt;
El paquete openvpn incluye la utilidad easy-rsa, que sirve para crear y mantener llaves y certificados entre clientes y servidores.&lt;br /&gt;
&lt;br /&gt;
Una vez los paquetes openvpn y openssl estén instalados, hacemos lo siguiente para dejarlo listo para empezar a distribuir certificados a los clientes:&lt;br /&gt;
&lt;br /&gt;
1. Copiamos la configuración por defecto del easy-rsa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Modificamos el fichero&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; vim /etc/openvpn/easy-rsa/vars &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I en la línia 15 cambiamos &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export EASY_RSA=”`pwd`”&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export EASY_RSA=”/etc/openvpn/easy-rsa”&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Cargamos las variables de entorno del easy-rsa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;source /etc/openvpn/easy-rsa/vars&amp;lt;/code&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
4. Limpiamos la base de datos de certificados&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /etc/openvpn/easy-rsa/clean-all &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''CUIDADO! No ejecutéis esto una vez distribuidos los certificados o los revocaréis todos y tendréis que volverlos a distribuir!'''&lt;br /&gt;
&lt;br /&gt;
5. Creamos los certificados de la CA y del servidor&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
   cd /etc/openvpn/&lt;br /&gt;
  ./easy-rsa/build-ca &amp;lt;nom_CA&amp;gt;&lt;br /&gt;
  ./easy-rsa/build-key-server &amp;lt;nom_server&amp;gt;&lt;br /&gt;
  ./easy-rsa/build-dh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tanto a &amp;lt;nombre_CA&amp;gt; como en &amp;lt;nom_server&amp;gt; como a todo lo que se pida puede ponerse cualquier cosa, que el efecto será el mismo. El campo de contraseña también puede estar vacío.&lt;br /&gt;
&lt;br /&gt;
Las llaves están todas contenidas al directorio /etc/openvpn/easy-rsa/keys.&lt;br /&gt;
&lt;br /&gt;
A partir de ahora podréis crear certificados para los usuarios ejecutando lo siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   source /etc/openvpn/easy-rsa/vars&lt;br /&gt;
   cd /etc/openvpn/&lt;br /&gt;
   ./easy-rsa/build-key &amp;lt;nom_certificat_client&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conviene asignar nombres diferentes a certificados de clientes diferentes, aunque cuando se copien al router cliente todos tendrán el mismo nombre (client1).&lt;br /&gt;
&lt;br /&gt;
====Control del ancho de banda de los clientes al servidor====&lt;br /&gt;
Seguramente será muy necesario para poder limitar el ancho de banda que el responsable del servidor quiera dar a la red guifi.net. Con la comanda tc podemos limitar el ancho de banda de eth0 (la interfaz de red que está dentro guifi.net).&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;code&amp;gt;tc qdisc add dev eth0 root handle 1: htb&lt;br /&gt;
    tc class add dev eth0 parent 1: classid 1:512 htb rate 512kbit&lt;br /&gt;
    tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip dst 0.0.0.0/0 flowid 1:512&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
También puede crearse un script a /etc/init.d que lo ejecute de forma automática.&lt;br /&gt;
&lt;br /&gt;
La limitación es que esta restricción de ancho de banda también se aplicará en hacer peticiones de cualquier tipo al servidor. Es decir, también se aplicará la restricción en hacer peticiones HTTP, DNS, FTP...&lt;br /&gt;
&lt;br /&gt;
=== Clientes ===&lt;br /&gt;
&lt;br /&gt;
El hardware recomendado para los clientes es el router TP-LINK WR841N v9, por su bajo coste y porque permite la instalación del firmware OpenWRT de forma sencilla. Adjunto en esta página se encuentra una imagen para este modelo de router con todos los paquetes necesarios ya instalados y preconfigurados.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Instalación del firmware y del software correspondiente====&lt;br /&gt;
&lt;br /&gt;
Para configurar el router de fábrica tenemos que:&lt;br /&gt;
&lt;br /&gt;
1. Conectarse al servidor web que nos ofrece el router de fábrica.&lt;br /&gt;
&lt;br /&gt;
2. Cargar una imagen de firmware adjunta. [https://jfdeu.files.wordpress.com/2014/07/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory-bin-zip.odt] Recordad que una vez descargado hay que cambiar el nombre del fichero a openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory.bin.zip para que pueda descomprimirse bien la imagen.&lt;br /&gt;
&lt;br /&gt;
3. Una vez la imagen esté cargada, hay que conectarse al router mediante telnet a la IP 192.168.1.2, y se os abrirá un sencillo programa de configuración.&lt;br /&gt;
&lt;br /&gt;
4. Cambiad la contraseña de root y reiniciad el router.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   passwd &lt;br /&gt;
   reboot&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Solicitad un certificado del servidor VPN contactando con el administrador. Copiad los ficheros con extensión &amp;lt;nom_cert_client&amp;gt;.crt y &amp;lt;nom_cert_client&amp;gt;.key al directorio /etc/openvpn. En este directorio también tendréis que copiar el certificado de la CA (ca.crt). Es probable que tengáis que cambiar también el nombre de los certificados del cliente, es decir, que los ficheros de los certificados del cliente tienen que llamarse client1.crt y client1.key.&lt;br /&gt;
&lt;br /&gt;
6. Es importante tener un servidor NTP dentro la red guifi.net para no tener problemas con los certificados. Hay que poner el nombre o la IP del servidor NTP en /etc/config/system&lt;br /&gt;
&lt;br /&gt;
== Administración ==&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
Si al fichero /etc/config/openvpn ponemos la línea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;management 127.0.0.1 1194 # Per management&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nos podremos conectar al daemon del OpenVPN con telnet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;telnet 127.0.0.1 1194&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Log ====&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   telnet 127.0.0.1 1194&lt;br /&gt;
   &amp;gt; log ON&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O bien /var/log/openvpn&lt;br /&gt;
=== Cliente ===&lt;br /&gt;
&lt;br /&gt;
==== Instalación de programario al TP-LINK WR841N ====&lt;br /&gt;
&lt;br /&gt;
Aunque el router escogido permite la instalación de OpenWRT, su memoria flash es muy pequeña (4 MB) y no permite que se instalen paquetes con el opkg.&lt;br /&gt;
&lt;br /&gt;
Para instalar el paquete OpenVPN, hay que crear una imagen nueva con este paquete preinstalado. Puede hacerse compilando el código desde 0 o con el Image Builder, que es más cómodo [http://wiki.openwrt.org/doc/howto/obtain.firmware.generate]. Con el Image Builder tiene que usarse el PROFILE=TLWR841 e añadir el paquete PACKAGES=&amp;quot;openvpn-openssl&amp;quot;. La comanda feta servir és:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make image PROFILE=TLWR841 PACKAGES=&amp;quot;openvpn-openssl&amp;quot; FILES=files/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Log ====&lt;br /&gt;
Para tener un log al cliente VPN hay que descomentar la línea correspondiente a /etc/config/openvpn. Conviene tenerlo activo sólo de forma puntual o vamos a llenar toda la memoria flash.&lt;br /&gt;
&lt;br /&gt;
== Actualización ==&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
El mantenimiento y la actualización de los paquetes corresponde a la distribución.&lt;br /&gt;
&lt;br /&gt;
== Resolución de problemas habituales ==&lt;br /&gt;
=== Pérdida de conexión del cliente VPN con el servidor ===&lt;br /&gt;
&lt;br /&gt;
El motivo más habitual de este error se debe a que el reloj del cliente se desconfigura y es probable que en comprobar los certificados las horas sean incorrectas.&lt;br /&gt;
&lt;br /&gt;
Hay que comprobar la conexión con el servidor NTP o bien modificar la hora manualmente, aunque en este último caso es probable que el error se repita eventualmente.&lt;br /&gt;
&lt;br /&gt;
=== Enrutamiento ===&lt;br /&gt;
&lt;br /&gt;
El enrutamiento en los clientes es bastante complicado, por eso de aquí vendrán la mayoría de los problemas. Una tabla de encaminamiento típica sería la siguiente:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   $ route -n&lt;br /&gt;
   Kernel IP routing table&lt;br /&gt;
   Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
   0.0.0.0         10.8.0.9        0.0.0.0         UG    0      0        0 tun0&lt;br /&gt;
   10.0.0.0        192.168.1.1     255.0.0.0       UG    0      0        0 br-lan&lt;br /&gt;
   10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0&lt;br /&gt;
   10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0&lt;br /&gt;
   10.91.9.66      192.168.1.1     255.255.255.255 UGH   0      0        0 br-lan&lt;br /&gt;
   172.16.0.0      192.168.1.1     255.255.0.0     UG    0      0        0 br-lan&lt;br /&gt;
   192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0-1&lt;br /&gt;
   192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br-lan&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hay que tener en cuenta que al firewall se hace masquerading a la tun0 para que el servidor sepa responder, y a la LAN para que des de la interfaz de guest (wlan0-1) se pueda acceder a fuera. La interfaz eth1 (WAN) no se utiliza.&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
Es importante desactivar el DHCP de la antena, ya que el único que puede proporcionar el DHCP es el router.&lt;br /&gt;
La default route de los terminales es la 192.168.1.2 (el router). Se supone que la antena tiene la IP 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
== Ejemplos reales en servidores autogestionados ==&lt;br /&gt;
La zona de Sóller dispone de un servidor VPN con dos clientes funcionando, uno en Can Palou 6 y el otro en el Casal La Victòria. El servidor se encuentra en Alqueria40.&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
[[VPN]]&lt;br /&gt;
&lt;br /&gt;
== Enlaces externos ==&lt;br /&gt;
&lt;br /&gt;
Imagen del firmware para TP-LINK WR841 V9 preconfigurada https://jfdeu.files.wordpress.com/2014/07/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory-bin-zip.odt]&lt;br /&gt;
&lt;br /&gt;
Página de OpenVPN [https://openvpn.net/]&lt;br /&gt;
&lt;br /&gt;
''How to create an OpenVPN Server'', perfectamente explicado[http://raspguide.wordpress.com/2014/03/26/how-to-create-an-openvpn-server/]&lt;br /&gt;
&lt;br /&gt;
Página de TP-Link WR841 OpenWRT [http://wiki.openwrt.org/toh/tp-link/tl-wr841nd]&lt;br /&gt;
&lt;br /&gt;
Instal·lación de LuCi y OpenVPN al TP-Link WR841 [http://coderazzi.net/howto/openwrt/tl841n/install.htm]&lt;br /&gt;
&lt;br /&gt;
Image Generator de OpenWRT [http://wiki.openwrt.org/doc/howto/obtain.firmware.generate]&lt;/div&gt;</summary>
		<author><name>Solleric</name></author>	</entry>

	<entry>
		<id>http://es.wiki.guifi.net/wiki/Alternativa_al_proxy_con_VPN</id>
		<title>Alternativa al proxy con VPN</title>
		<link rel="alternate" type="text/html" href="http://es.wiki.guifi.net/wiki/Alternativa_al_proxy_con_VPN"/>
				<updated>2014-09-11T10:19:27Z</updated>
		
		<summary type="html">&lt;p&gt;Solleric: /* La red del servidor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aunque no es muy conveniente aplicar el argumento del Internet Gratis para que la gente se interese por guifi.net, es cierto que para algunos usuarios el principal atractivo de la red es la posibilidad de conectarse a Internet. La idea de utilizar un servidor proxy para conectarse puede resultar algo complicada y puede hacer que los usuarios menos convencidos desistan, especialmente si quieren conectarse con sus dispositivos móviles o utilizan aplicaciones que no permiten el uso de proxies.&lt;br /&gt;
&lt;br /&gt;
El objetivo de este artículo es, por lo tanto, encontrar una manera de compartir la conexión ADSL con quien el responsable de la conexión quiera. A la vez, estando seguros de que sólo utiliza la conexión quien el responsable quiere y con la posibilidad de limitar y controlar las conexiones de los usuarios (por ejemplo, no permitir que se visiten según que sitios). La condición es que el usuario final no tenga la necesidad de configurar nada en su terminal, y que la configuración de los routers y APs de los clientes sea sencilla y replicable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La Idea ==&lt;br /&gt;
La idea consiste en usar un servidor VPN en uno de los nodos, conectado tanto al ADSL como a guifi.net, y que enrute el tráfico de los clientes VPN hacia fuera. Al otro extremo de la red guifi.net, los clientes VPN pueden ser tanto dispositivos finales (portátiles) como APs domésticos. En el caso de los APs domésticos, éstos emiten dos SSIDs: &lt;br /&gt;
· Uno abierto, que sólo permite acceder a las rutas de guifi.net e impide el tránsito por la VPN.&lt;br /&gt;
· uno privado, que enruta el tráfico que no va a ninguna IP de guifi.net a través del túnel VPN.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Nodesvpn.jpeg|center|thumb|upright=2.5|Esquema de la infraestructura de un servidor VPN con múltiples clientes dentro de guifi.net ]]&lt;br /&gt;
&lt;br /&gt;
=== Suposiciones ===&lt;br /&gt;
Antes de empezar, esta documentación supone que la red de '''clientes''' tiene las siguientes características:&lt;br /&gt;
&lt;br /&gt;
1. Hay una antena que se conecta a la red guifi.net, y que funciona sin bridge entre eth0 y wlan0: Es decir, hace de router entre la red privada interna (192.168.1.0/24) y la red pública de guifi.net que hace el radioenlace con el supornodo (10.0.0.0/8)&lt;br /&gt;
&lt;br /&gt;
2. La antena hace NAT o MASQUERADING con el tráfico que sale por la interfície wlan0 (generalmente, el radioenlace al supernodo).&lt;br /&gt;
&lt;br /&gt;
3. El servidor DHCP de la antena està DESACTIVADO.&lt;br /&gt;
&lt;br /&gt;
4. Se dispone de un router, del que se explicará la configuración en los siguientes apartados, que está conectado a la red privada interna (192.168.1.0/24). Este router funciona de punto de acceso WiFi, de servidor DHCP y de enrutador.&lt;br /&gt;
&lt;br /&gt;
=== La red de los routers clientes ===&lt;br /&gt;
&lt;br /&gt;
Los routers clientes tendrán en cuenta tres redes:&lt;br /&gt;
&lt;br /&gt;
· La red abierta, con WiFi abierta sin acceso a Internet, pero con acceso a guifi.net. IPs 192.168.0.1/24.&lt;br /&gt;
&lt;br /&gt;
· La red privada, con WiFi cerrada con acceso a Internet y a guifi.net. La red incluirá también la antena. IPs 192.168.1.1/24.&lt;br /&gt;
&lt;br /&gt;
· La red pública de guifi.net.&lt;br /&gt;
&lt;br /&gt;
· La red VPN.&lt;br /&gt;
&lt;br /&gt;
La infraestructura de los nodos híbridos suele ser bastante sencilla y bastante parecida entre todos ellos, especialmente si la configuración de la antena está preparada con el ''One Click''. En el apartado anterior quedan reflejadas las suposiciones que tomamos antes de comenzar con la instalación.&lt;br /&gt;
&lt;br /&gt;
Nuestro router cliente de VPN, sin embargo, no será la antena porque ésta no puede proveer WiFi dentro de casa. En este nuevo router tendrá que ir conectado directamente a la antena a la red privada interna 192.168.1.0/24 con la IP 192.168.1.2 y dispondrá de las dos WiFis especificadas anteriormente. Para no tener que crear más redes la WiFi privada también estará dentro de la red 192.168.1.0/24.&lt;br /&gt;
&lt;br /&gt;
De esta forma, cualquier usuario tendría que tener como puerta de enlace por defecto el router cliente VPN. El propio router cliente VPN tendrá como ruta por defecto la interfaz tun de la VPN, pero también tiene que redirigir toda IP 10.0.0.0/8 y 172.16.0.0/16 hacia la antena (192.168.1.1). Así mismo, el Firewall permite el acceso de la WiFi privada hacia la VPN, mientras que no permite el acceso por la WiFi abierta. La WiFi abierta sólo permitirá el enrutamiento por la antena, y va a impedir que su tráfico pueda ir por la VPN. De esta forma, evitamos que los usuarios conectados a la WiFi abierta puedan utilizar Internet.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Nodeinternvpn.png|thumb|center|upright=2.5|Esquema d'un node client de guifi.net amb un client VPN.]]&lt;br /&gt;
&lt;br /&gt;
=== La red del servidor ===&lt;br /&gt;
&lt;br /&gt;
El servidor deberá tener en cuenta tres redes:&lt;br /&gt;
&lt;br /&gt;
· La red interna de casa: Nuestra red de casa en dónde se encuentra el servidor y el router/modem ADSL. Suponemos que es la red 192.168.1.0/24.&lt;br /&gt;
&lt;br /&gt;
· La red pública de guifi.net: La red de guifi.net.&lt;br /&gt;
&lt;br /&gt;
· Internet.&lt;br /&gt;
&lt;br /&gt;
La red del servidor VPN tendrá que ser exactamente la misma que la de un servidor proxy: Deberá tener dos NICs: Uno conectado a la LAN de casa con acceso a Internet y otro NIC conectado a la red pública de guifi.net con una IP pública del rango 10.0.0.0/8. Este servidor deberá enrutar todo el tráfico que vaya a la 10.0.0.0/8 y a la 172.16.0.0/16 por la interfaz de guifi.net, mientra que el tráfico por defecto deberá ir por la interfaz con acceso a Internet.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
&lt;br /&gt;
==== Instalación ====&lt;br /&gt;
La instalación se hará sobre un servidor Ubuntu Server 14.04. Como todos los proxies, este servidor necesita dos interfaces: Una a guifi.net y otra a Internet. La interfaz de guifi.net está en la red que tiene acceso a Internet, detrás del clásico NAT de un router normal.&lt;br /&gt;
&lt;br /&gt;
Deben instalarse los siguientes paquetes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   $ sudo apt-get install openvpn&lt;br /&gt;
   $ sudo apt-get install openssl&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configuración del servicio====&lt;br /&gt;
&lt;br /&gt;
Mirad el fichero /etc/openvpn/openvpn.conf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    dev tun #Tun o Tap, Tap es para tunnels a L2&lt;br /&gt;
    proto udp #UDP o TCP&lt;br /&gt;
    port 1194 #Defines the port to connect&lt;br /&gt;
    ca /etc/openvpn/easy-rsa/keys/ca.crt #This defines where keys and cert are kept&lt;br /&gt;
    cert /etc/openvpn/easy-rsa/keys/server.crt&lt;br /&gt;
    key /etc/openvpn/easy-rsa/keys/server.key&lt;br /&gt;
    dh /etc/openvpn/easy-rsa/keys/dh2048.pem&lt;br /&gt;
    server 10.8.0.0 255.255.255.0 #Rango de Ips de los clientes VPN&lt;br /&gt;
    status /var/log/openvpn-status.log # fichero de log&lt;br /&gt;
    verb 3 # cantidad de missatges de log&lt;br /&gt;
    push “redirect-gateway” # MUY IMPORTANTE para que los clientes asignen el servicio VPN como default gw.&lt;br /&gt;
    push “dhcp-option DNS 10.91.9.66″ # IMPORTANTE para que los clientes tengan como DNS el servidor VPN.&lt;br /&gt;
    log-append /var/log/openvpn #log&lt;br /&gt;
    comp-lzo # Compressión lzo&lt;br /&gt;
    management 127.0.0.1 1194 # Para management&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El push del redirect-gateway y del DNS son muy importantes, y es condición necesaria porque los clientes puedan conectarse con la VPN correctamente.&lt;br /&gt;
&lt;br /&gt;
==== Configuración de la red ====&lt;br /&gt;
&lt;br /&gt;
Nuestro servidor enrutará todo el tránsito 10.0.0.0/8 y 172.16.0.0/16 por la interfaz eth0 (guifi.net), y todo el resto por la interfaz eth1 (LAN de casa con acceso a Internet). El firewall tendrá que aplicar un NAT o MASQUERADING de todo el tránsito que salga por la interfaz eth1 para que el router ADSL sepa cómo contestarnos. &lt;br /&gt;
&lt;br /&gt;
Por último, pero para nada menos importante, el firewall también deberá evitar que los usuarios de los clientes VPN puedan acceder a las IPs de dentro de casa. Habrá, por lo tanto, que hacer un drop de los paquetes que vayan a nuestras IPs privadas. En el ejemplo, 192.168.1.0/24, pero pueden variar en cada caso.&lt;br /&gt;
&lt;br /&gt;
La configuración de las interfaces de /etc/network/interfaces es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    auto lo&lt;br /&gt;
    iface lo inet loopback&lt;br /&gt;
    auto eth0&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
    address 10.91.9.66&lt;br /&gt;
    netmask 255.255.255.224&lt;br /&gt;
    up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.91.9.65&lt;br /&gt;
    up route add -net 172.16.0.0 netmask 255.255.0.0 gw 10.91.9.65&lt;br /&gt;
    down route del 10.0.0.0 netmask 255.0.0.0 gw 10.91.9.65&lt;br /&gt;
    down route del 172.16.0.0 netmask 255.255.0.0 gw 10.91.9.65&lt;br /&gt;
    # The primary network interface&lt;br /&gt;
    auto eth1&lt;br /&gt;
    iface eth1 inet static&lt;br /&gt;
    address 192.168.1.2&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.1.1&lt;br /&gt;
    up iptables -t nat -A POSTROUTING -o eth1 -j SNAT –to-source 192.168.1.2 # hacemos snat del que sale del router hacia Internet&lt;br /&gt;
    up iptables -A FORWARD -i tun0 -d 192.168.1.0/24 -j DROP # Esto es muy importante porque sino los clientes VPN podrán acceder a las IPs de nuestra LAN interna de casa.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Creación de certificados====&lt;br /&gt;
&lt;br /&gt;
El paquete openvpn incluye la utilidad easy-rsa, que sirve para crear y mantener llaves y certificados entre clientes y servidores.&lt;br /&gt;
&lt;br /&gt;
Una vez los paquetes openvpn y openssl estén instalados, hacemos lo siguiente para dejarlo listo para empezar a distribuir certificados a los clientes:&lt;br /&gt;
&lt;br /&gt;
1. Copiamos la configuración por defecto del easy-rsa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Modificamos el fichero&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; vim /etc/openvpn/easy-rsa/vars &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I en la línia 15 cambiamos &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export EASY_RSA=”`pwd`”&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export EASY_RSA=”/etc/openvpn/easy-rsa”&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Cargamos las variables de entorno del easy-rsa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;source /etc/openvpn/easy-rsa/vars&amp;lt;/code&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
4. Limpiamos la base de datos de certificados&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /etc/openvpn/easy-rsa/clean-all &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''CUIDADO! No ejecutéis esto una vez distribuidos los certificados o los revocaréis todos y tendréis que volverlos a distribuir!'''&lt;br /&gt;
&lt;br /&gt;
5. Creamos los certificados de la CA y del servidor&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
   cd /etc/openvpn/&lt;br /&gt;
  ./easy-rsa/build-ca &amp;lt;nom_CA&amp;gt;&lt;br /&gt;
  ./easy-rsa/build-key-server &amp;lt;nom_server&amp;gt;&lt;br /&gt;
  ./easy-rsa/build-dh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tanto a &amp;lt;nombre_CA&amp;gt; como en &amp;lt;nom_server&amp;gt; como a todo lo que se pida puede ponerse cualquier cosa, que el efecto será el mismo. El campo de contraseña también puede estar vacío.&lt;br /&gt;
&lt;br /&gt;
Las llaves están todas contenidas al directorio /etc/openvpn/easy-rsa/keys.&lt;br /&gt;
&lt;br /&gt;
A partir de ahora podréis crear certificados para los usuarios ejecutando lo siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   source /etc/openvpn/easy-rsa/vars&lt;br /&gt;
   cd /etc/openvpn/&lt;br /&gt;
   ./easy-rsa/build-key &amp;lt;nom_certificat_client&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conviene asignar nombres diferentes a certificados de clientes diferentes, aunque cuando se copien al router cliente todos tendrán el mismo nombre (client1).&lt;br /&gt;
&lt;br /&gt;
====Control del ancho de banda de los clientes al servidor====&lt;br /&gt;
Seguramente será muy necesario para poder limitar el ancho de banda que el responsable del servidor quiera dar a la red guifi.net. Con la comanda tc podemos limitar el ancho de banda de eth0 (la interfaz de red que está dentro guifi.net).&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;code&amp;gt;tc qdisc add dev eth0 root handle 1: htb&lt;br /&gt;
    tc class add dev eth0 parent 1: classid 1:512 htb rate 512kbit&lt;br /&gt;
    tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip dst 0.0.0.0/0 flowid 1:512&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
También puede crearse un script a /etc/init.d que lo ejecute de forma automática.&lt;br /&gt;
&lt;br /&gt;
La limitación es que esta restricción de ancho de banda también se aplicará en hacer peticiones de cualquier tipo al servidor. Es decir, también se aplicará la restricción en hacer peticiones HTTP, DNS, FTP...&lt;br /&gt;
&lt;br /&gt;
=== Clientes ===&lt;br /&gt;
&lt;br /&gt;
El hardware recomendado para los clientes es el router TP-LINK WR841N v9, por su bajo coste y porque permite la instalación del firmware OpenWRT de forma sencilla. Adjunto en esta página se encuentra una imagen para este modelo de router con todos los paquetes necesarios ya instalados y preconfigurados.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Instalación del firmware y del software correspondiente====&lt;br /&gt;
&lt;br /&gt;
Para configurar el router de fábrica tenemos que:&lt;br /&gt;
&lt;br /&gt;
1. Conectarse al servidor web que nos ofrece el router de fábrica.&lt;br /&gt;
&lt;br /&gt;
2. Cargar una imagen de firmware adjunta. [https://jfdeu.files.wordpress.com/2014/07/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory-bin-zip.odt] Recordad que una vez descargado hay que cambiar el nombre del fichero a openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory.bin.zip para que pueda descomprimirse bien la imagen.&lt;br /&gt;
&lt;br /&gt;
3. Una vez la imagen esté cargada, hay que conectarse al router mediante telnet a la IP 192.168.1.2, y se os abrirá un sencillo programa de configuración.&lt;br /&gt;
&lt;br /&gt;
4. Cambiad la contraseña de root y reiniciad el router.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   passwd &lt;br /&gt;
   reboot&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Solicitad un certificado del servidor VPN contactando con el administrador. Copiad los ficheros con extensión &amp;lt;nom_cert_client&amp;gt;.crt y &amp;lt;nom_cert_client&amp;gt;.key al directorio /etc/openvpn. En este directorio también tendréis que copiar el certificado de la CA (ca.crt). Es probable que tengáis que cambiar también el nombre de los certificados del cliente, es decir, que los ficheros de los certificados del cliente tienen que llamarse client1.crt y client1.key.&lt;br /&gt;
&lt;br /&gt;
6. Es importante tener un servidor NTP dentro la red guifi.net para no tener problemas con los certificados. Hay que poner el nombre o la IP del servidor NTP en /etc/config/system&lt;br /&gt;
&lt;br /&gt;
== Administración ==&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
Si al fichero /etc/config/openvpn ponemos la línea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;management 127.0.0.1 1194 # Per management&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nos podremos conectar al daemon del OpenVPN con telnet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;telnet 127.0.0.1 1194&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Log ====&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   telnet 127.0.0.1 1194&lt;br /&gt;
   &amp;gt; log ON&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O bien /var/log/openvpn&lt;br /&gt;
=== Cliente ===&lt;br /&gt;
&lt;br /&gt;
==== Instalación de programario al TP-LINK WR841N ====&lt;br /&gt;
&lt;br /&gt;
Aunque el router escogido permite la instalación de OpenWRT, su memoria flash es muy pequeña (4 MB) y no permite que se instalen paquetes con el opkg.&lt;br /&gt;
&lt;br /&gt;
Para instalar el paquete OpenVPN, hay que crear una imagen nueva con este paquete preinstalado. Puede hacerse compilando el código desde 0 o con el Image Builder, que es más cómodo [http://wiki.openwrt.org/doc/howto/obtain.firmware.generate]. Con el Image Builder tiene que usarse el PROFILE=TLWR841 e añadir el paquete PACKAGES=&amp;quot;openvpn-openssl&amp;quot;. La comanda feta servir és:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make image PROFILE=TLWR841 PACKAGES=&amp;quot;openvpn-openssl&amp;quot; FILES=files/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Log ====&lt;br /&gt;
Para tener un log al cliente VPN hay que descomentar la línea correspondiente a /etc/config/openvpn. Conviene tenerlo activo sólo de forma puntual o vamos a llenar toda la memoria flash.&lt;br /&gt;
&lt;br /&gt;
== Actualización ==&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
El mantenimiento y la actualización de los paquetes corresponde a la distribución.&lt;br /&gt;
&lt;br /&gt;
== Resolución de problemas habituales ==&lt;br /&gt;
=== Pérdida de conexión del cliente VPN con el servidor ===&lt;br /&gt;
&lt;br /&gt;
El motivo más habitual de este error se debe a que el reloj del cliente se desconfigura y es probable que en comprobar los certificados las horas sean incorrectas.&lt;br /&gt;
&lt;br /&gt;
Hay que comprobar la conexión con el servidor NTP o bien modificar la hora manualmente, aunque en este último caso es probable que el error se repita eventualmente.&lt;br /&gt;
&lt;br /&gt;
=== Enrutamiento ===&lt;br /&gt;
&lt;br /&gt;
El enrutamiento en los clientes es bastante complicado, por eso de aquí vendrán la mayoría de los problemas. Una tabla de encaminamiento típica sería la siguiente:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   $ route -n&lt;br /&gt;
   Kernel IP routing table&lt;br /&gt;
   Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
   0.0.0.0         10.8.0.9        0.0.0.0         UG    0      0        0 tun0&lt;br /&gt;
   10.0.0.0        192.168.1.1     255.0.0.0       UG    0      0        0 br-lan&lt;br /&gt;
   10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0&lt;br /&gt;
   10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0&lt;br /&gt;
   10.91.9.66      192.168.1.1     255.255.255.255 UGH   0      0        0 br-lan&lt;br /&gt;
   172.16.0.0      192.168.1.1     255.255.0.0     UG    0      0        0 br-lan&lt;br /&gt;
   192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0-1&lt;br /&gt;
   192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br-lan&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hay que tener en cuenta que al firewall se hace masquerading a la tun0 para que el servidor sepa responder, y a la LAN para que des de la interfaz de guest (wlan0-1) se pueda acceder a fuera. La interfaz eth1 (WAN) no se utiliza.&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
Es importante desactivar el DHCP de la antena, ya que el único que puede proporcionar el DHCP es el router.&lt;br /&gt;
La default route de los terminales es la 192.168.1.2 (el router). Se supone que la antena tiene la IP 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
== Ejemplos reales en servidores autogestionados ==&lt;br /&gt;
La zona de Sóller dispone de un servidor VPN con dos clientes funcionando, uno en Can Palou 6 y el otro en el Casal La Victòria. El servidor se encuentra en Alqueria40.&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
[[VPN]]&lt;br /&gt;
&lt;br /&gt;
== Enlaces externos ==&lt;br /&gt;
&lt;br /&gt;
Imagen del firmware para TP-LINK WR841 V9 preconfigurada https://jfdeu.files.wordpress.com/2014/07/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory-bin-zip.odt]&lt;br /&gt;
&lt;br /&gt;
Página de OpenVPN [https://openvpn.net/]&lt;br /&gt;
&lt;br /&gt;
''How to create an OpenVPN Server'', perfectamente explicado[http://raspguide.wordpress.com/2014/03/26/how-to-create-an-openvpn-server/]&lt;br /&gt;
&lt;br /&gt;
Página de TP-Link WR841 OpenWRT [http://wiki.openwrt.org/toh/tp-link/tl-wr841nd]&lt;br /&gt;
&lt;br /&gt;
Instal·lación de LuCi y OpenVPN al TP-Link WR841 [http://coderazzi.net/howto/openwrt/tl841n/install.htm]&lt;br /&gt;
&lt;br /&gt;
Image Generator de OpenWRT [http://wiki.openwrt.org/doc/howto/obtain.firmware.generate]&lt;/div&gt;</summary>
		<author><name>Solleric</name></author>	</entry>

	<entry>
		<id>http://es.wiki.guifi.net/wiki/Alternativa_al_proxy_con_VPN</id>
		<title>Alternativa al proxy con VPN</title>
		<link rel="alternate" type="text/html" href="http://es.wiki.guifi.net/wiki/Alternativa_al_proxy_con_VPN"/>
				<updated>2014-09-11T10:19:21Z</updated>
		
		<summary type="html">&lt;p&gt;Solleric: /* La red de los routers clientes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aunque no es muy conveniente aplicar el argumento del Internet Gratis para que la gente se interese por guifi.net, es cierto que para algunos usuarios el principal atractivo de la red es la posibilidad de conectarse a Internet. La idea de utilizar un servidor proxy para conectarse puede resultar algo complicada y puede hacer que los usuarios menos convencidos desistan, especialmente si quieren conectarse con sus dispositivos móviles o utilizan aplicaciones que no permiten el uso de proxies.&lt;br /&gt;
&lt;br /&gt;
El objetivo de este artículo es, por lo tanto, encontrar una manera de compartir la conexión ADSL con quien el responsable de la conexión quiera. A la vez, estando seguros de que sólo utiliza la conexión quien el responsable quiere y con la posibilidad de limitar y controlar las conexiones de los usuarios (por ejemplo, no permitir que se visiten según que sitios). La condición es que el usuario final no tenga la necesidad de configurar nada en su terminal, y que la configuración de los routers y APs de los clientes sea sencilla y replicable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La Idea ==&lt;br /&gt;
La idea consiste en usar un servidor VPN en uno de los nodos, conectado tanto al ADSL como a guifi.net, y que enrute el tráfico de los clientes VPN hacia fuera. Al otro extremo de la red guifi.net, los clientes VPN pueden ser tanto dispositivos finales (portátiles) como APs domésticos. En el caso de los APs domésticos, éstos emiten dos SSIDs: &lt;br /&gt;
· Uno abierto, que sólo permite acceder a las rutas de guifi.net e impide el tránsito por la VPN.&lt;br /&gt;
· uno privado, que enruta el tráfico que no va a ninguna IP de guifi.net a través del túnel VPN.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Nodesvpn.jpeg|center|thumb|upright=2.5|Esquema de la infraestructura de un servidor VPN con múltiples clientes dentro de guifi.net ]]&lt;br /&gt;
&lt;br /&gt;
=== Suposiciones ===&lt;br /&gt;
Antes de empezar, esta documentación supone que la red de '''clientes''' tiene las siguientes características:&lt;br /&gt;
&lt;br /&gt;
1. Hay una antena que se conecta a la red guifi.net, y que funciona sin bridge entre eth0 y wlan0: Es decir, hace de router entre la red privada interna (192.168.1.0/24) y la red pública de guifi.net que hace el radioenlace con el supornodo (10.0.0.0/8)&lt;br /&gt;
&lt;br /&gt;
2. La antena hace NAT o MASQUERADING con el tráfico que sale por la interfície wlan0 (generalmente, el radioenlace al supernodo).&lt;br /&gt;
&lt;br /&gt;
3. El servidor DHCP de la antena està DESACTIVADO.&lt;br /&gt;
&lt;br /&gt;
4. Se dispone de un router, del que se explicará la configuración en los siguientes apartados, que está conectado a la red privada interna (192.168.1.0/24). Este router funciona de punto de acceso WiFi, de servidor DHCP y de enrutador.&lt;br /&gt;
&lt;br /&gt;
=== La red de los routers clientes ===&lt;br /&gt;
&lt;br /&gt;
Los routers clientes tendrán en cuenta tres redes:&lt;br /&gt;
&lt;br /&gt;
· La red abierta, con WiFi abierta sin acceso a Internet, pero con acceso a guifi.net. IPs 192.168.0.1/24.&lt;br /&gt;
&lt;br /&gt;
· La red privada, con WiFi cerrada con acceso a Internet y a guifi.net. La red incluirá también la antena. IPs 192.168.1.1/24.&lt;br /&gt;
&lt;br /&gt;
· La red pública de guifi.net.&lt;br /&gt;
&lt;br /&gt;
· La red VPN.&lt;br /&gt;
&lt;br /&gt;
La infraestructura de los nodos híbridos suele ser bastante sencilla y bastante parecida entre todos ellos, especialmente si la configuración de la antena está preparada con el ''One Click''. En el apartado anterior quedan reflejadas las suposiciones que tomamos antes de comenzar con la instalación.&lt;br /&gt;
&lt;br /&gt;
Nuestro router cliente de VPN, sin embargo, no será la antena porque ésta no puede proveer WiFi dentro de casa. En este nuevo router tendrá que ir conectado directamente a la antena a la red privada interna 192.168.1.0/24 con la IP 192.168.1.2 y dispondrá de las dos WiFis especificadas anteriormente. Para no tener que crear más redes la WiFi privada también estará dentro de la red 192.168.1.0/24.&lt;br /&gt;
&lt;br /&gt;
De esta forma, cualquier usuario tendría que tener como puerta de enlace por defecto el router cliente VPN. El propio router cliente VPN tendrá como ruta por defecto la interfaz tun de la VPN, pero también tiene que redirigir toda IP 10.0.0.0/8 y 172.16.0.0/16 hacia la antena (192.168.1.1). Así mismo, el Firewall permite el acceso de la WiFi privada hacia la VPN, mientras que no permite el acceso por la WiFi abierta. La WiFi abierta sólo permitirá el enrutamiento por la antena, y va a impedir que su tráfico pueda ir por la VPN. De esta forma, evitamos que los usuarios conectados a la WiFi abierta puedan utilizar Internet.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Nodeinternvpn.png|thumb|center|upright=2.5|Esquema d'un node client de guifi.net amb un client VPN.]]&lt;br /&gt;
&lt;br /&gt;
=== La red del servidor ===&lt;br /&gt;
&lt;br /&gt;
El servidor deberá tener en cuenta tres redes:&lt;br /&gt;
&lt;br /&gt;
· La red interna de casa: Nuestra red de casa en dónde se encuentra el servidor y el router/modem ADSL. Suponemos que es la red 192.168.1.0/24.&lt;br /&gt;
&lt;br /&gt;
· La red pública de guifi.net: La red de guifi.net.&lt;br /&gt;
&lt;br /&gt;
· Internet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La red del servidor VPN tendrá que ser exactamente la misma que la de un servidor proxy: Deberá tener dos NICs: Uno conectado a la LAN de casa con acceso a Internet y otro NIC conectado a la red pública de guifi.net con una IP pública del rango 10.0.0.0/8. Este servidor deberá enrutar todo el tráfico que vaya a la 10.0.0.0/8 y a la 172.16.0.0/16 por la interfaz de guifi.net, mientra que el tráfico por defecto deberá ir por la interfaz con acceso a Internet.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
&lt;br /&gt;
==== Instalación ====&lt;br /&gt;
La instalación se hará sobre un servidor Ubuntu Server 14.04. Como todos los proxies, este servidor necesita dos interfaces: Una a guifi.net y otra a Internet. La interfaz de guifi.net está en la red que tiene acceso a Internet, detrás del clásico NAT de un router normal.&lt;br /&gt;
&lt;br /&gt;
Deben instalarse los siguientes paquetes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   $ sudo apt-get install openvpn&lt;br /&gt;
   $ sudo apt-get install openssl&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configuración del servicio====&lt;br /&gt;
&lt;br /&gt;
Mirad el fichero /etc/openvpn/openvpn.conf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    dev tun #Tun o Tap, Tap es para tunnels a L2&lt;br /&gt;
    proto udp #UDP o TCP&lt;br /&gt;
    port 1194 #Defines the port to connect&lt;br /&gt;
    ca /etc/openvpn/easy-rsa/keys/ca.crt #This defines where keys and cert are kept&lt;br /&gt;
    cert /etc/openvpn/easy-rsa/keys/server.crt&lt;br /&gt;
    key /etc/openvpn/easy-rsa/keys/server.key&lt;br /&gt;
    dh /etc/openvpn/easy-rsa/keys/dh2048.pem&lt;br /&gt;
    server 10.8.0.0 255.255.255.0 #Rango de Ips de los clientes VPN&lt;br /&gt;
    status /var/log/openvpn-status.log # fichero de log&lt;br /&gt;
    verb 3 # cantidad de missatges de log&lt;br /&gt;
    push “redirect-gateway” # MUY IMPORTANTE para que los clientes asignen el servicio VPN como default gw.&lt;br /&gt;
    push “dhcp-option DNS 10.91.9.66″ # IMPORTANTE para que los clientes tengan como DNS el servidor VPN.&lt;br /&gt;
    log-append /var/log/openvpn #log&lt;br /&gt;
    comp-lzo # Compressión lzo&lt;br /&gt;
    management 127.0.0.1 1194 # Para management&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El push del redirect-gateway y del DNS son muy importantes, y es condición necesaria porque los clientes puedan conectarse con la VPN correctamente.&lt;br /&gt;
&lt;br /&gt;
==== Configuración de la red ====&lt;br /&gt;
&lt;br /&gt;
Nuestro servidor enrutará todo el tránsito 10.0.0.0/8 y 172.16.0.0/16 por la interfaz eth0 (guifi.net), y todo el resto por la interfaz eth1 (LAN de casa con acceso a Internet). El firewall tendrá que aplicar un NAT o MASQUERADING de todo el tránsito que salga por la interfaz eth1 para que el router ADSL sepa cómo contestarnos. &lt;br /&gt;
&lt;br /&gt;
Por último, pero para nada menos importante, el firewall también deberá evitar que los usuarios de los clientes VPN puedan acceder a las IPs de dentro de casa. Habrá, por lo tanto, que hacer un drop de los paquetes que vayan a nuestras IPs privadas. En el ejemplo, 192.168.1.0/24, pero pueden variar en cada caso.&lt;br /&gt;
&lt;br /&gt;
La configuración de las interfaces de /etc/network/interfaces es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    auto lo&lt;br /&gt;
    iface lo inet loopback&lt;br /&gt;
    auto eth0&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
    address 10.91.9.66&lt;br /&gt;
    netmask 255.255.255.224&lt;br /&gt;
    up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.91.9.65&lt;br /&gt;
    up route add -net 172.16.0.0 netmask 255.255.0.0 gw 10.91.9.65&lt;br /&gt;
    down route del 10.0.0.0 netmask 255.0.0.0 gw 10.91.9.65&lt;br /&gt;
    down route del 172.16.0.0 netmask 255.255.0.0 gw 10.91.9.65&lt;br /&gt;
    # The primary network interface&lt;br /&gt;
    auto eth1&lt;br /&gt;
    iface eth1 inet static&lt;br /&gt;
    address 192.168.1.2&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.1.1&lt;br /&gt;
    up iptables -t nat -A POSTROUTING -o eth1 -j SNAT –to-source 192.168.1.2 # hacemos snat del que sale del router hacia Internet&lt;br /&gt;
    up iptables -A FORWARD -i tun0 -d 192.168.1.0/24 -j DROP # Esto es muy importante porque sino los clientes VPN podrán acceder a las IPs de nuestra LAN interna de casa.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Creación de certificados====&lt;br /&gt;
&lt;br /&gt;
El paquete openvpn incluye la utilidad easy-rsa, que sirve para crear y mantener llaves y certificados entre clientes y servidores.&lt;br /&gt;
&lt;br /&gt;
Una vez los paquetes openvpn y openssl estén instalados, hacemos lo siguiente para dejarlo listo para empezar a distribuir certificados a los clientes:&lt;br /&gt;
&lt;br /&gt;
1. Copiamos la configuración por defecto del easy-rsa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Modificamos el fichero&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; vim /etc/openvpn/easy-rsa/vars &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I en la línia 15 cambiamos &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export EASY_RSA=”`pwd`”&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export EASY_RSA=”/etc/openvpn/easy-rsa”&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Cargamos las variables de entorno del easy-rsa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;source /etc/openvpn/easy-rsa/vars&amp;lt;/code&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
4. Limpiamos la base de datos de certificados&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /etc/openvpn/easy-rsa/clean-all &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''CUIDADO! No ejecutéis esto una vez distribuidos los certificados o los revocaréis todos y tendréis que volverlos a distribuir!'''&lt;br /&gt;
&lt;br /&gt;
5. Creamos los certificados de la CA y del servidor&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
   cd /etc/openvpn/&lt;br /&gt;
  ./easy-rsa/build-ca &amp;lt;nom_CA&amp;gt;&lt;br /&gt;
  ./easy-rsa/build-key-server &amp;lt;nom_server&amp;gt;&lt;br /&gt;
  ./easy-rsa/build-dh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tanto a &amp;lt;nombre_CA&amp;gt; como en &amp;lt;nom_server&amp;gt; como a todo lo que se pida puede ponerse cualquier cosa, que el efecto será el mismo. El campo de contraseña también puede estar vacío.&lt;br /&gt;
&lt;br /&gt;
Las llaves están todas contenidas al directorio /etc/openvpn/easy-rsa/keys.&lt;br /&gt;
&lt;br /&gt;
A partir de ahora podréis crear certificados para los usuarios ejecutando lo siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   source /etc/openvpn/easy-rsa/vars&lt;br /&gt;
   cd /etc/openvpn/&lt;br /&gt;
   ./easy-rsa/build-key &amp;lt;nom_certificat_client&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conviene asignar nombres diferentes a certificados de clientes diferentes, aunque cuando se copien al router cliente todos tendrán el mismo nombre (client1).&lt;br /&gt;
&lt;br /&gt;
====Control del ancho de banda de los clientes al servidor====&lt;br /&gt;
Seguramente será muy necesario para poder limitar el ancho de banda que el responsable del servidor quiera dar a la red guifi.net. Con la comanda tc podemos limitar el ancho de banda de eth0 (la interfaz de red que está dentro guifi.net).&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;code&amp;gt;tc qdisc add dev eth0 root handle 1: htb&lt;br /&gt;
    tc class add dev eth0 parent 1: classid 1:512 htb rate 512kbit&lt;br /&gt;
    tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip dst 0.0.0.0/0 flowid 1:512&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
También puede crearse un script a /etc/init.d que lo ejecute de forma automática.&lt;br /&gt;
&lt;br /&gt;
La limitación es que esta restricción de ancho de banda también se aplicará en hacer peticiones de cualquier tipo al servidor. Es decir, también se aplicará la restricción en hacer peticiones HTTP, DNS, FTP...&lt;br /&gt;
&lt;br /&gt;
=== Clientes ===&lt;br /&gt;
&lt;br /&gt;
El hardware recomendado para los clientes es el router TP-LINK WR841N v9, por su bajo coste y porque permite la instalación del firmware OpenWRT de forma sencilla. Adjunto en esta página se encuentra una imagen para este modelo de router con todos los paquetes necesarios ya instalados y preconfigurados.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Instalación del firmware y del software correspondiente====&lt;br /&gt;
&lt;br /&gt;
Para configurar el router de fábrica tenemos que:&lt;br /&gt;
&lt;br /&gt;
1. Conectarse al servidor web que nos ofrece el router de fábrica.&lt;br /&gt;
&lt;br /&gt;
2. Cargar una imagen de firmware adjunta. [https://jfdeu.files.wordpress.com/2014/07/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory-bin-zip.odt] Recordad que una vez descargado hay que cambiar el nombre del fichero a openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory.bin.zip para que pueda descomprimirse bien la imagen.&lt;br /&gt;
&lt;br /&gt;
3. Una vez la imagen esté cargada, hay que conectarse al router mediante telnet a la IP 192.168.1.2, y se os abrirá un sencillo programa de configuración.&lt;br /&gt;
&lt;br /&gt;
4. Cambiad la contraseña de root y reiniciad el router.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   passwd &lt;br /&gt;
   reboot&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Solicitad un certificado del servidor VPN contactando con el administrador. Copiad los ficheros con extensión &amp;lt;nom_cert_client&amp;gt;.crt y &amp;lt;nom_cert_client&amp;gt;.key al directorio /etc/openvpn. En este directorio también tendréis que copiar el certificado de la CA (ca.crt). Es probable que tengáis que cambiar también el nombre de los certificados del cliente, es decir, que los ficheros de los certificados del cliente tienen que llamarse client1.crt y client1.key.&lt;br /&gt;
&lt;br /&gt;
6. Es importante tener un servidor NTP dentro la red guifi.net para no tener problemas con los certificados. Hay que poner el nombre o la IP del servidor NTP en /etc/config/system&lt;br /&gt;
&lt;br /&gt;
== Administración ==&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
Si al fichero /etc/config/openvpn ponemos la línea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;management 127.0.0.1 1194 # Per management&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nos podremos conectar al daemon del OpenVPN con telnet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;telnet 127.0.0.1 1194&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Log ====&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   telnet 127.0.0.1 1194&lt;br /&gt;
   &amp;gt; log ON&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O bien /var/log/openvpn&lt;br /&gt;
=== Cliente ===&lt;br /&gt;
&lt;br /&gt;
==== Instalación de programario al TP-LINK WR841N ====&lt;br /&gt;
&lt;br /&gt;
Aunque el router escogido permite la instalación de OpenWRT, su memoria flash es muy pequeña (4 MB) y no permite que se instalen paquetes con el opkg.&lt;br /&gt;
&lt;br /&gt;
Para instalar el paquete OpenVPN, hay que crear una imagen nueva con este paquete preinstalado. Puede hacerse compilando el código desde 0 o con el Image Builder, que es más cómodo [http://wiki.openwrt.org/doc/howto/obtain.firmware.generate]. Con el Image Builder tiene que usarse el PROFILE=TLWR841 e añadir el paquete PACKAGES=&amp;quot;openvpn-openssl&amp;quot;. La comanda feta servir és:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make image PROFILE=TLWR841 PACKAGES=&amp;quot;openvpn-openssl&amp;quot; FILES=files/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Log ====&lt;br /&gt;
Para tener un log al cliente VPN hay que descomentar la línea correspondiente a /etc/config/openvpn. Conviene tenerlo activo sólo de forma puntual o vamos a llenar toda la memoria flash.&lt;br /&gt;
&lt;br /&gt;
== Actualización ==&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
El mantenimiento y la actualización de los paquetes corresponde a la distribución.&lt;br /&gt;
&lt;br /&gt;
== Resolución de problemas habituales ==&lt;br /&gt;
=== Pérdida de conexión del cliente VPN con el servidor ===&lt;br /&gt;
&lt;br /&gt;
El motivo más habitual de este error se debe a que el reloj del cliente se desconfigura y es probable que en comprobar los certificados las horas sean incorrectas.&lt;br /&gt;
&lt;br /&gt;
Hay que comprobar la conexión con el servidor NTP o bien modificar la hora manualmente, aunque en este último caso es probable que el error se repita eventualmente.&lt;br /&gt;
&lt;br /&gt;
=== Enrutamiento ===&lt;br /&gt;
&lt;br /&gt;
El enrutamiento en los clientes es bastante complicado, por eso de aquí vendrán la mayoría de los problemas. Una tabla de encaminamiento típica sería la siguiente:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   $ route -n&lt;br /&gt;
   Kernel IP routing table&lt;br /&gt;
   Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
   0.0.0.0         10.8.0.9        0.0.0.0         UG    0      0        0 tun0&lt;br /&gt;
   10.0.0.0        192.168.1.1     255.0.0.0       UG    0      0        0 br-lan&lt;br /&gt;
   10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0&lt;br /&gt;
   10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0&lt;br /&gt;
   10.91.9.66      192.168.1.1     255.255.255.255 UGH   0      0        0 br-lan&lt;br /&gt;
   172.16.0.0      192.168.1.1     255.255.0.0     UG    0      0        0 br-lan&lt;br /&gt;
   192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0-1&lt;br /&gt;
   192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br-lan&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hay que tener en cuenta que al firewall se hace masquerading a la tun0 para que el servidor sepa responder, y a la LAN para que des de la interfaz de guest (wlan0-1) se pueda acceder a fuera. La interfaz eth1 (WAN) no se utiliza.&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
Es importante desactivar el DHCP de la antena, ya que el único que puede proporcionar el DHCP es el router.&lt;br /&gt;
La default route de los terminales es la 192.168.1.2 (el router). Se supone que la antena tiene la IP 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
== Ejemplos reales en servidores autogestionados ==&lt;br /&gt;
La zona de Sóller dispone de un servidor VPN con dos clientes funcionando, uno en Can Palou 6 y el otro en el Casal La Victòria. El servidor se encuentra en Alqueria40.&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
[[VPN]]&lt;br /&gt;
&lt;br /&gt;
== Enlaces externos ==&lt;br /&gt;
&lt;br /&gt;
Imagen del firmware para TP-LINK WR841 V9 preconfigurada https://jfdeu.files.wordpress.com/2014/07/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory-bin-zip.odt]&lt;br /&gt;
&lt;br /&gt;
Página de OpenVPN [https://openvpn.net/]&lt;br /&gt;
&lt;br /&gt;
''How to create an OpenVPN Server'', perfectamente explicado[http://raspguide.wordpress.com/2014/03/26/how-to-create-an-openvpn-server/]&lt;br /&gt;
&lt;br /&gt;
Página de TP-Link WR841 OpenWRT [http://wiki.openwrt.org/toh/tp-link/tl-wr841nd]&lt;br /&gt;
&lt;br /&gt;
Instal·lación de LuCi y OpenVPN al TP-Link WR841 [http://coderazzi.net/howto/openwrt/tl841n/install.htm]&lt;br /&gt;
&lt;br /&gt;
Image Generator de OpenWRT [http://wiki.openwrt.org/doc/howto/obtain.firmware.generate]&lt;/div&gt;</summary>
		<author><name>Solleric</name></author>	</entry>

	<entry>
		<id>http://es.wiki.guifi.net/wiki/Alternativa_al_proxy_con_VPN</id>
		<title>Alternativa al proxy con VPN</title>
		<link rel="alternate" type="text/html" href="http://es.wiki.guifi.net/wiki/Alternativa_al_proxy_con_VPN"/>
				<updated>2014-09-11T10:19:12Z</updated>
		
		<summary type="html">&lt;p&gt;Solleric: /* La red del servidor */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aunque no es muy conveniente aplicar el argumento del Internet Gratis para que la gente se interese por guifi.net, es cierto que para algunos usuarios el principal atractivo de la red es la posibilidad de conectarse a Internet. La idea de utilizar un servidor proxy para conectarse puede resultar algo complicada y puede hacer que los usuarios menos convencidos desistan, especialmente si quieren conectarse con sus dispositivos móviles o utilizan aplicaciones que no permiten el uso de proxies.&lt;br /&gt;
&lt;br /&gt;
El objetivo de este artículo es, por lo tanto, encontrar una manera de compartir la conexión ADSL con quien el responsable de la conexión quiera. A la vez, estando seguros de que sólo utiliza la conexión quien el responsable quiere y con la posibilidad de limitar y controlar las conexiones de los usuarios (por ejemplo, no permitir que se visiten según que sitios). La condición es que el usuario final no tenga la necesidad de configurar nada en su terminal, y que la configuración de los routers y APs de los clientes sea sencilla y replicable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La Idea ==&lt;br /&gt;
La idea consiste en usar un servidor VPN en uno de los nodos, conectado tanto al ADSL como a guifi.net, y que enrute el tráfico de los clientes VPN hacia fuera. Al otro extremo de la red guifi.net, los clientes VPN pueden ser tanto dispositivos finales (portátiles) como APs domésticos. En el caso de los APs domésticos, éstos emiten dos SSIDs: &lt;br /&gt;
· Uno abierto, que sólo permite acceder a las rutas de guifi.net e impide el tránsito por la VPN.&lt;br /&gt;
· uno privado, que enruta el tráfico que no va a ninguna IP de guifi.net a través del túnel VPN.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Nodesvpn.jpeg|center|thumb|upright=2.5|Esquema de la infraestructura de un servidor VPN con múltiples clientes dentro de guifi.net ]]&lt;br /&gt;
&lt;br /&gt;
=== Suposiciones ===&lt;br /&gt;
Antes de empezar, esta documentación supone que la red de '''clientes''' tiene las siguientes características:&lt;br /&gt;
&lt;br /&gt;
1. Hay una antena que se conecta a la red guifi.net, y que funciona sin bridge entre eth0 y wlan0: Es decir, hace de router entre la red privada interna (192.168.1.0/24) y la red pública de guifi.net que hace el radioenlace con el supornodo (10.0.0.0/8)&lt;br /&gt;
&lt;br /&gt;
2. La antena hace NAT o MASQUERADING con el tráfico que sale por la interfície wlan0 (generalmente, el radioenlace al supernodo).&lt;br /&gt;
&lt;br /&gt;
3. El servidor DHCP de la antena està DESACTIVADO.&lt;br /&gt;
&lt;br /&gt;
4. Se dispone de un router, del que se explicará la configuración en los siguientes apartados, que está conectado a la red privada interna (192.168.1.0/24). Este router funciona de punto de acceso WiFi, de servidor DHCP y de enrutador.&lt;br /&gt;
&lt;br /&gt;
=== La red de los routers clientes ===&lt;br /&gt;
&lt;br /&gt;
Los routers clientes tendrán en cuenta tres redes:&lt;br /&gt;
&lt;br /&gt;
· La red abierta, con WiFi abierta sin acceso a Internet, pero con acceso a guifi.net. IPs 192.168.0.1/24.&lt;br /&gt;
· La red privada, con WiFi cerrada con acceso a Internet y a guifi.net. La red incluirá también la antena. IPs 192.168.1.1/24.&lt;br /&gt;
· La red pública de guifi.net.&lt;br /&gt;
· La red VPN.&lt;br /&gt;
&lt;br /&gt;
La infraestructura de los nodos híbridos suele ser bastante sencilla y bastante parecida entre todos ellos, especialmente si la configuración de la antena está preparada con el ''One Click''. En el apartado anterior quedan reflejadas las suposiciones que tomamos antes de comenzar con la instalación.&lt;br /&gt;
&lt;br /&gt;
Nuestro router cliente de VPN, sin embargo, no será la antena porque ésta no puede proveer WiFi dentro de casa. En este nuevo router tendrá que ir conectado directamente a la antena a la red privada interna 192.168.1.0/24 con la IP 192.168.1.2 y dispondrá de las dos WiFis especificadas anteriormente. Para no tener que crear más redes la WiFi privada también estará dentro de la red 192.168.1.0/24.&lt;br /&gt;
&lt;br /&gt;
De esta forma, cualquier usuario tendría que tener como puerta de enlace por defecto el router cliente VPN. El propio router cliente VPN tendrá como ruta por defecto la interfaz tun de la VPN, pero también tiene que redirigir toda IP 10.0.0.0/8 y 172.16.0.0/16 hacia la antena (192.168.1.1). Así mismo, el Firewall permite el acceso de la WiFi privada hacia la VPN, mientras que no permite el acceso por la WiFi abierta. La WiFi abierta sólo permitirá el enrutamiento por la antena, y va a impedir que su tráfico pueda ir por la VPN. De esta forma, evitamos que los usuarios conectados a la WiFi abierta puedan utilizar Internet.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Nodeinternvpn.png|thumb|center|upright=2.5|Esquema d'un node client de guifi.net amb un client VPN.]]&lt;br /&gt;
&lt;br /&gt;
=== La red del servidor ===&lt;br /&gt;
&lt;br /&gt;
El servidor deberá tener en cuenta tres redes:&lt;br /&gt;
&lt;br /&gt;
· La red interna de casa: Nuestra red de casa en dónde se encuentra el servidor y el router/modem ADSL. Suponemos que es la red 192.168.1.0/24.&lt;br /&gt;
&lt;br /&gt;
· La red pública de guifi.net: La red de guifi.net.&lt;br /&gt;
&lt;br /&gt;
· Internet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La red del servidor VPN tendrá que ser exactamente la misma que la de un servidor proxy: Deberá tener dos NICs: Uno conectado a la LAN de casa con acceso a Internet y otro NIC conectado a la red pública de guifi.net con una IP pública del rango 10.0.0.0/8. Este servidor deberá enrutar todo el tráfico que vaya a la 10.0.0.0/8 y a la 172.16.0.0/16 por la interfaz de guifi.net, mientra que el tráfico por defecto deberá ir por la interfaz con acceso a Internet.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
&lt;br /&gt;
==== Instalación ====&lt;br /&gt;
La instalación se hará sobre un servidor Ubuntu Server 14.04. Como todos los proxies, este servidor necesita dos interfaces: Una a guifi.net y otra a Internet. La interfaz de guifi.net está en la red que tiene acceso a Internet, detrás del clásico NAT de un router normal.&lt;br /&gt;
&lt;br /&gt;
Deben instalarse los siguientes paquetes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   $ sudo apt-get install openvpn&lt;br /&gt;
   $ sudo apt-get install openssl&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configuración del servicio====&lt;br /&gt;
&lt;br /&gt;
Mirad el fichero /etc/openvpn/openvpn.conf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    dev tun #Tun o Tap, Tap es para tunnels a L2&lt;br /&gt;
    proto udp #UDP o TCP&lt;br /&gt;
    port 1194 #Defines the port to connect&lt;br /&gt;
    ca /etc/openvpn/easy-rsa/keys/ca.crt #This defines where keys and cert are kept&lt;br /&gt;
    cert /etc/openvpn/easy-rsa/keys/server.crt&lt;br /&gt;
    key /etc/openvpn/easy-rsa/keys/server.key&lt;br /&gt;
    dh /etc/openvpn/easy-rsa/keys/dh2048.pem&lt;br /&gt;
    server 10.8.0.0 255.255.255.0 #Rango de Ips de los clientes VPN&lt;br /&gt;
    status /var/log/openvpn-status.log # fichero de log&lt;br /&gt;
    verb 3 # cantidad de missatges de log&lt;br /&gt;
    push “redirect-gateway” # MUY IMPORTANTE para que los clientes asignen el servicio VPN como default gw.&lt;br /&gt;
    push “dhcp-option DNS 10.91.9.66″ # IMPORTANTE para que los clientes tengan como DNS el servidor VPN.&lt;br /&gt;
    log-append /var/log/openvpn #log&lt;br /&gt;
    comp-lzo # Compressión lzo&lt;br /&gt;
    management 127.0.0.1 1194 # Para management&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El push del redirect-gateway y del DNS son muy importantes, y es condición necesaria porque los clientes puedan conectarse con la VPN correctamente.&lt;br /&gt;
&lt;br /&gt;
==== Configuración de la red ====&lt;br /&gt;
&lt;br /&gt;
Nuestro servidor enrutará todo el tránsito 10.0.0.0/8 y 172.16.0.0/16 por la interfaz eth0 (guifi.net), y todo el resto por la interfaz eth1 (LAN de casa con acceso a Internet). El firewall tendrá que aplicar un NAT o MASQUERADING de todo el tránsito que salga por la interfaz eth1 para que el router ADSL sepa cómo contestarnos. &lt;br /&gt;
&lt;br /&gt;
Por último, pero para nada menos importante, el firewall también deberá evitar que los usuarios de los clientes VPN puedan acceder a las IPs de dentro de casa. Habrá, por lo tanto, que hacer un drop de los paquetes que vayan a nuestras IPs privadas. En el ejemplo, 192.168.1.0/24, pero pueden variar en cada caso.&lt;br /&gt;
&lt;br /&gt;
La configuración de las interfaces de /etc/network/interfaces es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    auto lo&lt;br /&gt;
    iface lo inet loopback&lt;br /&gt;
    auto eth0&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
    address 10.91.9.66&lt;br /&gt;
    netmask 255.255.255.224&lt;br /&gt;
    up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.91.9.65&lt;br /&gt;
    up route add -net 172.16.0.0 netmask 255.255.0.0 gw 10.91.9.65&lt;br /&gt;
    down route del 10.0.0.0 netmask 255.0.0.0 gw 10.91.9.65&lt;br /&gt;
    down route del 172.16.0.0 netmask 255.255.0.0 gw 10.91.9.65&lt;br /&gt;
    # The primary network interface&lt;br /&gt;
    auto eth1&lt;br /&gt;
    iface eth1 inet static&lt;br /&gt;
    address 192.168.1.2&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.1.1&lt;br /&gt;
    up iptables -t nat -A POSTROUTING -o eth1 -j SNAT –to-source 192.168.1.2 # hacemos snat del que sale del router hacia Internet&lt;br /&gt;
    up iptables -A FORWARD -i tun0 -d 192.168.1.0/24 -j DROP # Esto es muy importante porque sino los clientes VPN podrán acceder a las IPs de nuestra LAN interna de casa.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Creación de certificados====&lt;br /&gt;
&lt;br /&gt;
El paquete openvpn incluye la utilidad easy-rsa, que sirve para crear y mantener llaves y certificados entre clientes y servidores.&lt;br /&gt;
&lt;br /&gt;
Una vez los paquetes openvpn y openssl estén instalados, hacemos lo siguiente para dejarlo listo para empezar a distribuir certificados a los clientes:&lt;br /&gt;
&lt;br /&gt;
1. Copiamos la configuración por defecto del easy-rsa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Modificamos el fichero&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; vim /etc/openvpn/easy-rsa/vars &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I en la línia 15 cambiamos &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export EASY_RSA=”`pwd`”&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export EASY_RSA=”/etc/openvpn/easy-rsa”&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Cargamos las variables de entorno del easy-rsa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;source /etc/openvpn/easy-rsa/vars&amp;lt;/code&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
4. Limpiamos la base de datos de certificados&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /etc/openvpn/easy-rsa/clean-all &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''CUIDADO! No ejecutéis esto una vez distribuidos los certificados o los revocaréis todos y tendréis que volverlos a distribuir!'''&lt;br /&gt;
&lt;br /&gt;
5. Creamos los certificados de la CA y del servidor&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
   cd /etc/openvpn/&lt;br /&gt;
  ./easy-rsa/build-ca &amp;lt;nom_CA&amp;gt;&lt;br /&gt;
  ./easy-rsa/build-key-server &amp;lt;nom_server&amp;gt;&lt;br /&gt;
  ./easy-rsa/build-dh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tanto a &amp;lt;nombre_CA&amp;gt; como en &amp;lt;nom_server&amp;gt; como a todo lo que se pida puede ponerse cualquier cosa, que el efecto será el mismo. El campo de contraseña también puede estar vacío.&lt;br /&gt;
&lt;br /&gt;
Las llaves están todas contenidas al directorio /etc/openvpn/easy-rsa/keys.&lt;br /&gt;
&lt;br /&gt;
A partir de ahora podréis crear certificados para los usuarios ejecutando lo siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   source /etc/openvpn/easy-rsa/vars&lt;br /&gt;
   cd /etc/openvpn/&lt;br /&gt;
   ./easy-rsa/build-key &amp;lt;nom_certificat_client&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conviene asignar nombres diferentes a certificados de clientes diferentes, aunque cuando se copien al router cliente todos tendrán el mismo nombre (client1).&lt;br /&gt;
&lt;br /&gt;
====Control del ancho de banda de los clientes al servidor====&lt;br /&gt;
Seguramente será muy necesario para poder limitar el ancho de banda que el responsable del servidor quiera dar a la red guifi.net. Con la comanda tc podemos limitar el ancho de banda de eth0 (la interfaz de red que está dentro guifi.net).&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;code&amp;gt;tc qdisc add dev eth0 root handle 1: htb&lt;br /&gt;
    tc class add dev eth0 parent 1: classid 1:512 htb rate 512kbit&lt;br /&gt;
    tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip dst 0.0.0.0/0 flowid 1:512&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
También puede crearse un script a /etc/init.d que lo ejecute de forma automática.&lt;br /&gt;
&lt;br /&gt;
La limitación es que esta restricción de ancho de banda también se aplicará en hacer peticiones de cualquier tipo al servidor. Es decir, también se aplicará la restricción en hacer peticiones HTTP, DNS, FTP...&lt;br /&gt;
&lt;br /&gt;
=== Clientes ===&lt;br /&gt;
&lt;br /&gt;
El hardware recomendado para los clientes es el router TP-LINK WR841N v9, por su bajo coste y porque permite la instalación del firmware OpenWRT de forma sencilla. Adjunto en esta página se encuentra una imagen para este modelo de router con todos los paquetes necesarios ya instalados y preconfigurados.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Instalación del firmware y del software correspondiente====&lt;br /&gt;
&lt;br /&gt;
Para configurar el router de fábrica tenemos que:&lt;br /&gt;
&lt;br /&gt;
1. Conectarse al servidor web que nos ofrece el router de fábrica.&lt;br /&gt;
&lt;br /&gt;
2. Cargar una imagen de firmware adjunta. [https://jfdeu.files.wordpress.com/2014/07/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory-bin-zip.odt] Recordad que una vez descargado hay que cambiar el nombre del fichero a openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory.bin.zip para que pueda descomprimirse bien la imagen.&lt;br /&gt;
&lt;br /&gt;
3. Una vez la imagen esté cargada, hay que conectarse al router mediante telnet a la IP 192.168.1.2, y se os abrirá un sencillo programa de configuración.&lt;br /&gt;
&lt;br /&gt;
4. Cambiad la contraseña de root y reiniciad el router.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   passwd &lt;br /&gt;
   reboot&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Solicitad un certificado del servidor VPN contactando con el administrador. Copiad los ficheros con extensión &amp;lt;nom_cert_client&amp;gt;.crt y &amp;lt;nom_cert_client&amp;gt;.key al directorio /etc/openvpn. En este directorio también tendréis que copiar el certificado de la CA (ca.crt). Es probable que tengáis que cambiar también el nombre de los certificados del cliente, es decir, que los ficheros de los certificados del cliente tienen que llamarse client1.crt y client1.key.&lt;br /&gt;
&lt;br /&gt;
6. Es importante tener un servidor NTP dentro la red guifi.net para no tener problemas con los certificados. Hay que poner el nombre o la IP del servidor NTP en /etc/config/system&lt;br /&gt;
&lt;br /&gt;
== Administración ==&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
Si al fichero /etc/config/openvpn ponemos la línea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;management 127.0.0.1 1194 # Per management&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nos podremos conectar al daemon del OpenVPN con telnet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;telnet 127.0.0.1 1194&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Log ====&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   telnet 127.0.0.1 1194&lt;br /&gt;
   &amp;gt; log ON&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O bien /var/log/openvpn&lt;br /&gt;
=== Cliente ===&lt;br /&gt;
&lt;br /&gt;
==== Instalación de programario al TP-LINK WR841N ====&lt;br /&gt;
&lt;br /&gt;
Aunque el router escogido permite la instalación de OpenWRT, su memoria flash es muy pequeña (4 MB) y no permite que se instalen paquetes con el opkg.&lt;br /&gt;
&lt;br /&gt;
Para instalar el paquete OpenVPN, hay que crear una imagen nueva con este paquete preinstalado. Puede hacerse compilando el código desde 0 o con el Image Builder, que es más cómodo [http://wiki.openwrt.org/doc/howto/obtain.firmware.generate]. Con el Image Builder tiene que usarse el PROFILE=TLWR841 e añadir el paquete PACKAGES=&amp;quot;openvpn-openssl&amp;quot;. La comanda feta servir és:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make image PROFILE=TLWR841 PACKAGES=&amp;quot;openvpn-openssl&amp;quot; FILES=files/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Log ====&lt;br /&gt;
Para tener un log al cliente VPN hay que descomentar la línea correspondiente a /etc/config/openvpn. Conviene tenerlo activo sólo de forma puntual o vamos a llenar toda la memoria flash.&lt;br /&gt;
&lt;br /&gt;
== Actualización ==&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
El mantenimiento y la actualización de los paquetes corresponde a la distribución.&lt;br /&gt;
&lt;br /&gt;
== Resolución de problemas habituales ==&lt;br /&gt;
=== Pérdida de conexión del cliente VPN con el servidor ===&lt;br /&gt;
&lt;br /&gt;
El motivo más habitual de este error se debe a que el reloj del cliente se desconfigura y es probable que en comprobar los certificados las horas sean incorrectas.&lt;br /&gt;
&lt;br /&gt;
Hay que comprobar la conexión con el servidor NTP o bien modificar la hora manualmente, aunque en este último caso es probable que el error se repita eventualmente.&lt;br /&gt;
&lt;br /&gt;
=== Enrutamiento ===&lt;br /&gt;
&lt;br /&gt;
El enrutamiento en los clientes es bastante complicado, por eso de aquí vendrán la mayoría de los problemas. Una tabla de encaminamiento típica sería la siguiente:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   $ route -n&lt;br /&gt;
   Kernel IP routing table&lt;br /&gt;
   Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
   0.0.0.0         10.8.0.9        0.0.0.0         UG    0      0        0 tun0&lt;br /&gt;
   10.0.0.0        192.168.1.1     255.0.0.0       UG    0      0        0 br-lan&lt;br /&gt;
   10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0&lt;br /&gt;
   10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0&lt;br /&gt;
   10.91.9.66      192.168.1.1     255.255.255.255 UGH   0      0        0 br-lan&lt;br /&gt;
   172.16.0.0      192.168.1.1     255.255.0.0     UG    0      0        0 br-lan&lt;br /&gt;
   192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0-1&lt;br /&gt;
   192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br-lan&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hay que tener en cuenta que al firewall se hace masquerading a la tun0 para que el servidor sepa responder, y a la LAN para que des de la interfaz de guest (wlan0-1) se pueda acceder a fuera. La interfaz eth1 (WAN) no se utiliza.&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
Es importante desactivar el DHCP de la antena, ya que el único que puede proporcionar el DHCP es el router.&lt;br /&gt;
La default route de los terminales es la 192.168.1.2 (el router). Se supone que la antena tiene la IP 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
== Ejemplos reales en servidores autogestionados ==&lt;br /&gt;
La zona de Sóller dispone de un servidor VPN con dos clientes funcionando, uno en Can Palou 6 y el otro en el Casal La Victòria. El servidor se encuentra en Alqueria40.&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
[[VPN]]&lt;br /&gt;
&lt;br /&gt;
== Enlaces externos ==&lt;br /&gt;
&lt;br /&gt;
Imagen del firmware para TP-LINK WR841 V9 preconfigurada https://jfdeu.files.wordpress.com/2014/07/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory-bin-zip.odt]&lt;br /&gt;
&lt;br /&gt;
Página de OpenVPN [https://openvpn.net/]&lt;br /&gt;
&lt;br /&gt;
''How to create an OpenVPN Server'', perfectamente explicado[http://raspguide.wordpress.com/2014/03/26/how-to-create-an-openvpn-server/]&lt;br /&gt;
&lt;br /&gt;
Página de TP-Link WR841 OpenWRT [http://wiki.openwrt.org/toh/tp-link/tl-wr841nd]&lt;br /&gt;
&lt;br /&gt;
Instal·lación de LuCi y OpenVPN al TP-Link WR841 [http://coderazzi.net/howto/openwrt/tl841n/install.htm]&lt;br /&gt;
&lt;br /&gt;
Image Generator de OpenWRT [http://wiki.openwrt.org/doc/howto/obtain.firmware.generate]&lt;/div&gt;</summary>
		<author><name>Solleric</name></author>	</entry>

	<entry>
		<id>http://es.wiki.guifi.net/wiki/Alternativa_al_proxy_con_VPN</id>
		<title>Alternativa al proxy con VPN</title>
		<link rel="alternate" type="text/html" href="http://es.wiki.guifi.net/wiki/Alternativa_al_proxy_con_VPN"/>
				<updated>2014-09-11T10:18:26Z</updated>
		
		<summary type="html">&lt;p&gt;Solleric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aunque no es muy conveniente aplicar el argumento del Internet Gratis para que la gente se interese por guifi.net, es cierto que para algunos usuarios el principal atractivo de la red es la posibilidad de conectarse a Internet. La idea de utilizar un servidor proxy para conectarse puede resultar algo complicada y puede hacer que los usuarios menos convencidos desistan, especialmente si quieren conectarse con sus dispositivos móviles o utilizan aplicaciones que no permiten el uso de proxies.&lt;br /&gt;
&lt;br /&gt;
El objetivo de este artículo es, por lo tanto, encontrar una manera de compartir la conexión ADSL con quien el responsable de la conexión quiera. A la vez, estando seguros de que sólo utiliza la conexión quien el responsable quiere y con la posibilidad de limitar y controlar las conexiones de los usuarios (por ejemplo, no permitir que se visiten según que sitios). La condición es que el usuario final no tenga la necesidad de configurar nada en su terminal, y que la configuración de los routers y APs de los clientes sea sencilla y replicable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La Idea ==&lt;br /&gt;
La idea consiste en usar un servidor VPN en uno de los nodos, conectado tanto al ADSL como a guifi.net, y que enrute el tráfico de los clientes VPN hacia fuera. Al otro extremo de la red guifi.net, los clientes VPN pueden ser tanto dispositivos finales (portátiles) como APs domésticos. En el caso de los APs domésticos, éstos emiten dos SSIDs: &lt;br /&gt;
· Uno abierto, que sólo permite acceder a las rutas de guifi.net e impide el tránsito por la VPN.&lt;br /&gt;
· uno privado, que enruta el tráfico que no va a ninguna IP de guifi.net a través del túnel VPN.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Nodesvpn.jpeg|center|thumb|upright=2.5|Esquema de la infraestructura de un servidor VPN con múltiples clientes dentro de guifi.net ]]&lt;br /&gt;
&lt;br /&gt;
=== Suposiciones ===&lt;br /&gt;
Antes de empezar, esta documentación supone que la red de '''clientes''' tiene las siguientes características:&lt;br /&gt;
&lt;br /&gt;
1. Hay una antena que se conecta a la red guifi.net, y que funciona sin bridge entre eth0 y wlan0: Es decir, hace de router entre la red privada interna (192.168.1.0/24) y la red pública de guifi.net que hace el radioenlace con el supornodo (10.0.0.0/8)&lt;br /&gt;
&lt;br /&gt;
2. La antena hace NAT o MASQUERADING con el tráfico que sale por la interfície wlan0 (generalmente, el radioenlace al supernodo).&lt;br /&gt;
&lt;br /&gt;
3. El servidor DHCP de la antena està DESACTIVADO.&lt;br /&gt;
&lt;br /&gt;
4. Se dispone de un router, del que se explicará la configuración en los siguientes apartados, que está conectado a la red privada interna (192.168.1.0/24). Este router funciona de punto de acceso WiFi, de servidor DHCP y de enrutador.&lt;br /&gt;
&lt;br /&gt;
=== La red de los routers clientes ===&lt;br /&gt;
&lt;br /&gt;
Los routers clientes tendrán en cuenta tres redes:&lt;br /&gt;
&lt;br /&gt;
· La red abierta, con WiFi abierta sin acceso a Internet, pero con acceso a guifi.net. IPs 192.168.0.1/24.&lt;br /&gt;
· La red privada, con WiFi cerrada con acceso a Internet y a guifi.net. La red incluirá también la antena. IPs 192.168.1.1/24.&lt;br /&gt;
· La red pública de guifi.net.&lt;br /&gt;
· La red VPN.&lt;br /&gt;
&lt;br /&gt;
La infraestructura de los nodos híbridos suele ser bastante sencilla y bastante parecida entre todos ellos, especialmente si la configuración de la antena está preparada con el ''One Click''. En el apartado anterior quedan reflejadas las suposiciones que tomamos antes de comenzar con la instalación.&lt;br /&gt;
&lt;br /&gt;
Nuestro router cliente de VPN, sin embargo, no será la antena porque ésta no puede proveer WiFi dentro de casa. En este nuevo router tendrá que ir conectado directamente a la antena a la red privada interna 192.168.1.0/24 con la IP 192.168.1.2 y dispondrá de las dos WiFis especificadas anteriormente. Para no tener que crear más redes la WiFi privada también estará dentro de la red 192.168.1.0/24.&lt;br /&gt;
&lt;br /&gt;
De esta forma, cualquier usuario tendría que tener como puerta de enlace por defecto el router cliente VPN. El propio router cliente VPN tendrá como ruta por defecto la interfaz tun de la VPN, pero también tiene que redirigir toda IP 10.0.0.0/8 y 172.16.0.0/16 hacia la antena (192.168.1.1). Así mismo, el Firewall permite el acceso de la WiFi privada hacia la VPN, mientras que no permite el acceso por la WiFi abierta. La WiFi abierta sólo permitirá el enrutamiento por la antena, y va a impedir que su tráfico pueda ir por la VPN. De esta forma, evitamos que los usuarios conectados a la WiFi abierta puedan utilizar Internet.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Nodeinternvpn.png|thumb|center|upright=2.5|Esquema d'un node client de guifi.net amb un client VPN.]]&lt;br /&gt;
&lt;br /&gt;
=== La red del servidor ===&lt;br /&gt;
&lt;br /&gt;
El servidor deberá tener en cuenta tres redes:&lt;br /&gt;
&lt;br /&gt;
· La red interna de casa: Nuestra red de casa en dónde se encuentra el servidor y el router/modem ADSL. Suponemos que es la red 192.168.1.0/24.&lt;br /&gt;
· La red pública de guifi.net: La red de guifi.net.&lt;br /&gt;
· Internet.&lt;br /&gt;
&lt;br /&gt;
La red del servidor VPN tendrá que ser exactamente la misma que la de un servidor proxy: Deberá tener dos NICs: Uno conectado a la LAN de casa con acceso a Internet y otro NIC conectado a la red pública de guifi.net con una IP pública del rango 10.0.0.0/8. Este servidor deberá enrutar todo el tráfico que vaya a la 10.0.0.0/8 y a la 172.16.0.0/16 por la interfaz de guifi.net, mientra que el tráfico por defecto deberá ir por la interfaz con acceso a Internet. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
&lt;br /&gt;
==== Instalación ====&lt;br /&gt;
La instalación se hará sobre un servidor Ubuntu Server 14.04. Como todos los proxies, este servidor necesita dos interfaces: Una a guifi.net y otra a Internet. La interfaz de guifi.net está en la red que tiene acceso a Internet, detrás del clásico NAT de un router normal.&lt;br /&gt;
&lt;br /&gt;
Deben instalarse los siguientes paquetes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   $ sudo apt-get install openvpn&lt;br /&gt;
   $ sudo apt-get install openssl&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configuración del servicio====&lt;br /&gt;
&lt;br /&gt;
Mirad el fichero /etc/openvpn/openvpn.conf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    dev tun #Tun o Tap, Tap es para tunnels a L2&lt;br /&gt;
    proto udp #UDP o TCP&lt;br /&gt;
    port 1194 #Defines the port to connect&lt;br /&gt;
    ca /etc/openvpn/easy-rsa/keys/ca.crt #This defines where keys and cert are kept&lt;br /&gt;
    cert /etc/openvpn/easy-rsa/keys/server.crt&lt;br /&gt;
    key /etc/openvpn/easy-rsa/keys/server.key&lt;br /&gt;
    dh /etc/openvpn/easy-rsa/keys/dh2048.pem&lt;br /&gt;
    server 10.8.0.0 255.255.255.0 #Rango de Ips de los clientes VPN&lt;br /&gt;
    status /var/log/openvpn-status.log # fichero de log&lt;br /&gt;
    verb 3 # cantidad de missatges de log&lt;br /&gt;
    push “redirect-gateway” # MUY IMPORTANTE para que los clientes asignen el servicio VPN como default gw.&lt;br /&gt;
    push “dhcp-option DNS 10.91.9.66″ # IMPORTANTE para que los clientes tengan como DNS el servidor VPN.&lt;br /&gt;
    log-append /var/log/openvpn #log&lt;br /&gt;
    comp-lzo # Compressión lzo&lt;br /&gt;
    management 127.0.0.1 1194 # Para management&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El push del redirect-gateway y del DNS son muy importantes, y es condición necesaria porque los clientes puedan conectarse con la VPN correctamente.&lt;br /&gt;
&lt;br /&gt;
==== Configuración de la red ====&lt;br /&gt;
&lt;br /&gt;
Nuestro servidor enrutará todo el tránsito 10.0.0.0/8 y 172.16.0.0/16 por la interfaz eth0 (guifi.net), y todo el resto por la interfaz eth1 (LAN de casa con acceso a Internet). El firewall tendrá que aplicar un NAT o MASQUERADING de todo el tránsito que salga por la interfaz eth1 para que el router ADSL sepa cómo contestarnos. &lt;br /&gt;
&lt;br /&gt;
Por último, pero para nada menos importante, el firewall también deberá evitar que los usuarios de los clientes VPN puedan acceder a las IPs de dentro de casa. Habrá, por lo tanto, que hacer un drop de los paquetes que vayan a nuestras IPs privadas. En el ejemplo, 192.168.1.0/24, pero pueden variar en cada caso.&lt;br /&gt;
&lt;br /&gt;
La configuración de las interfaces de /etc/network/interfaces es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    auto lo&lt;br /&gt;
    iface lo inet loopback&lt;br /&gt;
    auto eth0&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
    address 10.91.9.66&lt;br /&gt;
    netmask 255.255.255.224&lt;br /&gt;
    up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.91.9.65&lt;br /&gt;
    up route add -net 172.16.0.0 netmask 255.255.0.0 gw 10.91.9.65&lt;br /&gt;
    down route del 10.0.0.0 netmask 255.0.0.0 gw 10.91.9.65&lt;br /&gt;
    down route del 172.16.0.0 netmask 255.255.0.0 gw 10.91.9.65&lt;br /&gt;
    # The primary network interface&lt;br /&gt;
    auto eth1&lt;br /&gt;
    iface eth1 inet static&lt;br /&gt;
    address 192.168.1.2&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.1.1&lt;br /&gt;
    up iptables -t nat -A POSTROUTING -o eth1 -j SNAT –to-source 192.168.1.2 # hacemos snat del que sale del router hacia Internet&lt;br /&gt;
    up iptables -A FORWARD -i tun0 -d 192.168.1.0/24 -j DROP # Esto es muy importante porque sino los clientes VPN podrán acceder a las IPs de nuestra LAN interna de casa.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Creación de certificados====&lt;br /&gt;
&lt;br /&gt;
El paquete openvpn incluye la utilidad easy-rsa, que sirve para crear y mantener llaves y certificados entre clientes y servidores.&lt;br /&gt;
&lt;br /&gt;
Una vez los paquetes openvpn y openssl estén instalados, hacemos lo siguiente para dejarlo listo para empezar a distribuir certificados a los clientes:&lt;br /&gt;
&lt;br /&gt;
1. Copiamos la configuración por defecto del easy-rsa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Modificamos el fichero&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; vim /etc/openvpn/easy-rsa/vars &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I en la línia 15 cambiamos &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export EASY_RSA=”`pwd`”&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export EASY_RSA=”/etc/openvpn/easy-rsa”&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Cargamos las variables de entorno del easy-rsa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;source /etc/openvpn/easy-rsa/vars&amp;lt;/code&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
4. Limpiamos la base de datos de certificados&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /etc/openvpn/easy-rsa/clean-all &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''CUIDADO! No ejecutéis esto una vez distribuidos los certificados o los revocaréis todos y tendréis que volverlos a distribuir!'''&lt;br /&gt;
&lt;br /&gt;
5. Creamos los certificados de la CA y del servidor&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
   cd /etc/openvpn/&lt;br /&gt;
  ./easy-rsa/build-ca &amp;lt;nom_CA&amp;gt;&lt;br /&gt;
  ./easy-rsa/build-key-server &amp;lt;nom_server&amp;gt;&lt;br /&gt;
  ./easy-rsa/build-dh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tanto a &amp;lt;nombre_CA&amp;gt; como en &amp;lt;nom_server&amp;gt; como a todo lo que se pida puede ponerse cualquier cosa, que el efecto será el mismo. El campo de contraseña también puede estar vacío.&lt;br /&gt;
&lt;br /&gt;
Las llaves están todas contenidas al directorio /etc/openvpn/easy-rsa/keys.&lt;br /&gt;
&lt;br /&gt;
A partir de ahora podréis crear certificados para los usuarios ejecutando lo siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   source /etc/openvpn/easy-rsa/vars&lt;br /&gt;
   cd /etc/openvpn/&lt;br /&gt;
   ./easy-rsa/build-key &amp;lt;nom_certificat_client&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conviene asignar nombres diferentes a certificados de clientes diferentes, aunque cuando se copien al router cliente todos tendrán el mismo nombre (client1).&lt;br /&gt;
&lt;br /&gt;
====Control del ancho de banda de los clientes al servidor====&lt;br /&gt;
Seguramente será muy necesario para poder limitar el ancho de banda que el responsable del servidor quiera dar a la red guifi.net. Con la comanda tc podemos limitar el ancho de banda de eth0 (la interfaz de red que está dentro guifi.net).&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;code&amp;gt;tc qdisc add dev eth0 root handle 1: htb&lt;br /&gt;
    tc class add dev eth0 parent 1: classid 1:512 htb rate 512kbit&lt;br /&gt;
    tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip dst 0.0.0.0/0 flowid 1:512&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
También puede crearse un script a /etc/init.d que lo ejecute de forma automática.&lt;br /&gt;
&lt;br /&gt;
La limitación es que esta restricción de ancho de banda también se aplicará en hacer peticiones de cualquier tipo al servidor. Es decir, también se aplicará la restricción en hacer peticiones HTTP, DNS, FTP...&lt;br /&gt;
&lt;br /&gt;
=== Clientes ===&lt;br /&gt;
&lt;br /&gt;
El hardware recomendado para los clientes es el router TP-LINK WR841N v9, por su bajo coste y porque permite la instalación del firmware OpenWRT de forma sencilla. Adjunto en esta página se encuentra una imagen para este modelo de router con todos los paquetes necesarios ya instalados y preconfigurados.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Instalación del firmware y del software correspondiente====&lt;br /&gt;
&lt;br /&gt;
Para configurar el router de fábrica tenemos que:&lt;br /&gt;
&lt;br /&gt;
1. Conectarse al servidor web que nos ofrece el router de fábrica.&lt;br /&gt;
&lt;br /&gt;
2. Cargar una imagen de firmware adjunta. [https://jfdeu.files.wordpress.com/2014/07/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory-bin-zip.odt] Recordad que una vez descargado hay que cambiar el nombre del fichero a openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory.bin.zip para que pueda descomprimirse bien la imagen.&lt;br /&gt;
&lt;br /&gt;
3. Una vez la imagen esté cargada, hay que conectarse al router mediante telnet a la IP 192.168.1.2, y se os abrirá un sencillo programa de configuración.&lt;br /&gt;
&lt;br /&gt;
4. Cambiad la contraseña de root y reiniciad el router.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   passwd &lt;br /&gt;
   reboot&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Solicitad un certificado del servidor VPN contactando con el administrador. Copiad los ficheros con extensión &amp;lt;nom_cert_client&amp;gt;.crt y &amp;lt;nom_cert_client&amp;gt;.key al directorio /etc/openvpn. En este directorio también tendréis que copiar el certificado de la CA (ca.crt). Es probable que tengáis que cambiar también el nombre de los certificados del cliente, es decir, que los ficheros de los certificados del cliente tienen que llamarse client1.crt y client1.key.&lt;br /&gt;
&lt;br /&gt;
6. Es importante tener un servidor NTP dentro la red guifi.net para no tener problemas con los certificados. Hay que poner el nombre o la IP del servidor NTP en /etc/config/system&lt;br /&gt;
&lt;br /&gt;
== Administración ==&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
Si al fichero /etc/config/openvpn ponemos la línea:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;management 127.0.0.1 1194 # Per management&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nos podremos conectar al daemon del OpenVPN con telnet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;telnet 127.0.0.1 1194&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Log ====&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   telnet 127.0.0.1 1194&lt;br /&gt;
   &amp;gt; log ON&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O bien /var/log/openvpn&lt;br /&gt;
=== Cliente ===&lt;br /&gt;
&lt;br /&gt;
==== Instalación de programario al TP-LINK WR841N ====&lt;br /&gt;
&lt;br /&gt;
Aunque el router escogido permite la instalación de OpenWRT, su memoria flash es muy pequeña (4 MB) y no permite que se instalen paquetes con el opkg.&lt;br /&gt;
&lt;br /&gt;
Para instalar el paquete OpenVPN, hay que crear una imagen nueva con este paquete preinstalado. Puede hacerse compilando el código desde 0 o con el Image Builder, que es más cómodo [http://wiki.openwrt.org/doc/howto/obtain.firmware.generate]. Con el Image Builder tiene que usarse el PROFILE=TLWR841 e añadir el paquete PACKAGES=&amp;quot;openvpn-openssl&amp;quot;. La comanda feta servir és:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make image PROFILE=TLWR841 PACKAGES=&amp;quot;openvpn-openssl&amp;quot; FILES=files/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Log ====&lt;br /&gt;
Para tener un log al cliente VPN hay que descomentar la línea correspondiente a /etc/config/openvpn. Conviene tenerlo activo sólo de forma puntual o vamos a llenar toda la memoria flash.&lt;br /&gt;
&lt;br /&gt;
== Actualización ==&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
El mantenimiento y la actualización de los paquetes corresponde a la distribución.&lt;br /&gt;
&lt;br /&gt;
== Resolución de problemas habituales ==&lt;br /&gt;
=== Pérdida de conexión del cliente VPN con el servidor ===&lt;br /&gt;
&lt;br /&gt;
El motivo más habitual de este error se debe a que el reloj del cliente se desconfigura y es probable que en comprobar los certificados las horas sean incorrectas.&lt;br /&gt;
&lt;br /&gt;
Hay que comprobar la conexión con el servidor NTP o bien modificar la hora manualmente, aunque en este último caso es probable que el error se repita eventualmente.&lt;br /&gt;
&lt;br /&gt;
=== Enrutamiento ===&lt;br /&gt;
&lt;br /&gt;
El enrutamiento en los clientes es bastante complicado, por eso de aquí vendrán la mayoría de los problemas. Una tabla de encaminamiento típica sería la siguiente:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   $ route -n&lt;br /&gt;
   Kernel IP routing table&lt;br /&gt;
   Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
   0.0.0.0         10.8.0.9        0.0.0.0         UG    0      0        0 tun0&lt;br /&gt;
   10.0.0.0        192.168.1.1     255.0.0.0       UG    0      0        0 br-lan&lt;br /&gt;
   10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0&lt;br /&gt;
   10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0&lt;br /&gt;
   10.91.9.66      192.168.1.1     255.255.255.255 UGH   0      0        0 br-lan&lt;br /&gt;
   172.16.0.0      192.168.1.1     255.255.0.0     UG    0      0        0 br-lan&lt;br /&gt;
   192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0-1&lt;br /&gt;
   192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br-lan&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hay que tener en cuenta que al firewall se hace masquerading a la tun0 para que el servidor sepa responder, y a la LAN para que des de la interfaz de guest (wlan0-1) se pueda acceder a fuera. La interfaz eth1 (WAN) no se utiliza.&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
Es importante desactivar el DHCP de la antena, ya que el único que puede proporcionar el DHCP es el router.&lt;br /&gt;
La default route de los terminales es la 192.168.1.2 (el router). Se supone que la antena tiene la IP 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
== Ejemplos reales en servidores autogestionados ==&lt;br /&gt;
La zona de Sóller dispone de un servidor VPN con dos clientes funcionando, uno en Can Palou 6 y el otro en el Casal La Victòria. El servidor se encuentra en Alqueria40.&lt;br /&gt;
&lt;br /&gt;
== Ver también ==&lt;br /&gt;
[[VPN]]&lt;br /&gt;
&lt;br /&gt;
== Enlaces externos ==&lt;br /&gt;
&lt;br /&gt;
Imagen del firmware para TP-LINK WR841 V9 preconfigurada https://jfdeu.files.wordpress.com/2014/07/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory-bin-zip.odt]&lt;br /&gt;
&lt;br /&gt;
Página de OpenVPN [https://openvpn.net/]&lt;br /&gt;
&lt;br /&gt;
''How to create an OpenVPN Server'', perfectamente explicado[http://raspguide.wordpress.com/2014/03/26/how-to-create-an-openvpn-server/]&lt;br /&gt;
&lt;br /&gt;
Página de TP-Link WR841 OpenWRT [http://wiki.openwrt.org/toh/tp-link/tl-wr841nd]&lt;br /&gt;
&lt;br /&gt;
Instal·lación de LuCi y OpenVPN al TP-Link WR841 [http://coderazzi.net/howto/openwrt/tl841n/install.htm]&lt;br /&gt;
&lt;br /&gt;
Image Generator de OpenWRT [http://wiki.openwrt.org/doc/howto/obtain.firmware.generate]&lt;/div&gt;</summary>
		<author><name>Solleric</name></author>	</entry>

	<entry>
		<id>http://es.wiki.guifi.net/wiki/Alternativa_al_proxy_con_VPN</id>
		<title>Alternativa al proxy con VPN</title>
		<link rel="alternate" type="text/html" href="http://es.wiki.guifi.net/wiki/Alternativa_al_proxy_con_VPN"/>
				<updated>2014-09-11T09:05:49Z</updated>
		
		<summary type="html">&lt;p&gt;Solleric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aunque no es muy conveniente aplicar el argumento del Internet Gratis para que la gente se interese por guifi.net, es cierto que para algunos usuarios el principal atractivo de la red es la posibilidad de conectarse a Internet. La idea de utilizar un servidor proxy para conectarse puede resultar algo complicada y puede hacer que los usuarios menos convencidos desistan, especialmente si quieren conectarse con sus dispositivos móviles o utilizan aplicaciones que no permiten el uso de proxies.&lt;br /&gt;
&lt;br /&gt;
El objetivo de este artículo es, por lo tanto, encontrar una manera de compartir la conexión ADSL con quien el responsable de la conexión quiera. A la vez, estando seguros de que sólo utiliza la conexión quien el responsable quiere y con la posibilidad de limitar y controlar las conexiones de los usuarios (por ejemplo, no permitir que se visiten según que sitios). La condición es que el usuario final no tenga la necesidad de configurar nada en su terminal, y que la configuración de los routers y APs de los clientes sea sencilla y replicable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La Idea ==&lt;br /&gt;
La idea consiste en usar un servidor VPN en uno de los nodos, conectado tanto al ADSL como a guifi.net, y que enrute el tráfico de los clientes VPN hacia fuera. Al otro extremo de la red guifi.net, los clientes VPN pueden ser tanto dispositivos finales (portátiles) como APs domésticos. En el caso de los APs domésticos, éstos emiten dos SSIDs: &lt;br /&gt;
· Uno abierto, que sólo permite acceder a las rutas de guifi.net e impide el tránsito por la VPN.&lt;br /&gt;
· uno privado, que enruta el tráfico que no va a ninguna IP de guifi.net a través del túnel VPN.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Nodesvpn.jpeg|center|thumb|upright=2.5|Esquema de la infraestructura de un servidor VPN con múltiples clientes dentro de guifi.net ]]&lt;br /&gt;
&lt;br /&gt;
=== Suposiciones ===&lt;br /&gt;
Antes de empezar, esta documentación supone que la red de '''clientes''' tiene las siguientes características:&lt;br /&gt;
&lt;br /&gt;
1. Hay una antena que se conecta a la red guifi.net, y que funciona sin bridge entre eth0 y wlan0: Es decir, hace de router entre la red privada interna (192.168.1.0/24) y la red pública de guifi.net que hace el radioenlace con el supornodo (10.0.0.0/8)&lt;br /&gt;
&lt;br /&gt;
2. La antena hace NAT o MASQUERADING con el tráfico que sale por la interfície wlan0 (generalmente, el radioenlace al supernodo).&lt;br /&gt;
&lt;br /&gt;
3. El servidor DHCP de la antena està DESACTIVADO.&lt;br /&gt;
&lt;br /&gt;
4. Se dispone de un router, del que se explicará la configuración en los siguientes apartados, que está conectado a la red privada interna (192.168.1.0/24). Este router funciona de punto de acceso WiFi, de servidor DHCP y de enrutador.&lt;br /&gt;
&lt;br /&gt;
=== La red de los routers clientes ===&lt;br /&gt;
&lt;br /&gt;
Los routers clientes tendrán en cuenta tres redes:&lt;br /&gt;
&lt;br /&gt;
· La red abierta, con WiFi abierta sin acceso a Internet, pero con acceso a guifi.net. IPs 192.168.0.1/24.&lt;br /&gt;
· La red privada, con WiFi cerrada con acceso a Internet y a guifi.net. La red incluirá también la antena. IPs 192.168.1.1/24.&lt;br /&gt;
· La red pública de guifi.net.&lt;br /&gt;
· La red VPN.&lt;br /&gt;
&lt;br /&gt;
La infraestructura de los nodos híbridos suele ser bastante sencilla y bastante parecida entre todos ellos, especialmente si la configuración de la antena está preparada con el ''One Click''. En el apartado anterior quedan reflejadas las suposiciones que tomamos antes de comenzar con la instalación.&lt;br /&gt;
&lt;br /&gt;
Nuestro router cliente de VPN, sin embargo, no será la antena porque ésta no puede proveer WiFi dentro de casa. En este nuevo router tendrá que ir conectado directamente a la antena a la red privada interna 192.168.1.0/24 con la IP 192.168.1.2 y dispondrá de las dos WiFis especificadas anteriormente. Para no tener que crear más redes la WiFi privada también estará dentro de la red 192.168.1.0/24.&lt;br /&gt;
&lt;br /&gt;
De esta forma, cualquier usuario tendría que tener como puerta de enlace por defecto el router cliente VPN. El propio router cliente VPN tendrá como ruta por defecto la interfaz tun de la VPN, pero también tiene que redirigir toda IP 10.0.0.0/8 y 172.16.0.0/16 hacia la antena (192.168.1.1). Así mismo, el Firewall permite el acceso de la WiFi privada hacia la VPN, mientras que no permite el acceso por la WiFi abierta. La WiFi abierta sólo permitirá el enrutamiento por la antena, y va a impedir que su tráfico pueda ir por la VPN. De esta forma, evitamos que los usuarios conectados a la WiFi abierta puedan utilizar Internet.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Nodeinternvpn.png|thumb|center|upright=2.5|Esquema d'un node client de guifi.net amb un client VPN.]]&lt;br /&gt;
&lt;br /&gt;
=== La red del servidor ===&lt;br /&gt;
&lt;br /&gt;
El servidor deberá tener en cuenta tres redes:&lt;br /&gt;
&lt;br /&gt;
· La red interna de casa: Nuestra red de casa en dónde se encuentra el servidor y el router/modem ADSL. Suponemos que es la red 192.168.1.0/24.&lt;br /&gt;
· La red pública de guifi.net: La red de guifi.net.&lt;br /&gt;
· Internet.&lt;br /&gt;
&lt;br /&gt;
La red del servidor VPN tendrá que ser exactamente la misma que la de un servidor proxy: Deberá tener dos NICs: Uno conectado a la LAN de casa con acceso a Internet y otro NIC conectado a la red pública de guifi.net con una IP pública del rango 10.0.0.0/8. Este servidor deberá enrutar todo el tráfico que vaya a la 10.0.0.0/8 y a la 172.16.0.0/16 por la interfaz de guifi.net, mientra que el tráfico por defecto deberá ir por la interfaz con acceso a Internet. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
&lt;br /&gt;
==== Instalación ====&lt;br /&gt;
La instalación se hará sobre un servidor Ubuntu Server 14.04. Como todos los proxies, este servidor necesita dos interfaces: Una a guifi.net y otra a Internet. La interfaz de guifi.net está en la red que tiene acceso a Internet, detrás del clásico NAT de un router normal.&lt;br /&gt;
&lt;br /&gt;
Deben instalarse los siguientes paquetes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   $ sudo apt-get install openvpn&lt;br /&gt;
   $ sudo apt-get install openssl&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configuración del servicio====&lt;br /&gt;
&lt;br /&gt;
Mirad el fichero /etc/openvpn/openvpn.conf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    dev tun #Tun o Tap, Tap es para tunnels a L2&lt;br /&gt;
    proto udp #UDP o TCP&lt;br /&gt;
    port 1194 #Defines the port to connect&lt;br /&gt;
    ca /etc/openvpn/easy-rsa/keys/ca.crt #This defines where keys and cert are kept&lt;br /&gt;
    cert /etc/openvpn/easy-rsa/keys/server.crt&lt;br /&gt;
    key /etc/openvpn/easy-rsa/keys/server.key&lt;br /&gt;
    dh /etc/openvpn/easy-rsa/keys/dh2048.pem&lt;br /&gt;
    server 10.8.0.0 255.255.255.0 #Rango de Ips de los clientes VPN&lt;br /&gt;
    status /var/log/openvpn-status.log # fichero de log&lt;br /&gt;
    verb 3 # cantidad de missatges de log&lt;br /&gt;
    push “redirect-gateway” # MUY IMPORTANTE para que los clientes asignen el servicio VPN como default gw.&lt;br /&gt;
    push “dhcp-option DNS 10.91.9.66″ # IMPORTANTE para que los clientes tengan como DNS el servidor VPN.&lt;br /&gt;
    log-append /var/log/openvpn #log&lt;br /&gt;
    comp-lzo # Compressión lzo&lt;br /&gt;
    management 127.0.0.1 1194 # Para management&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El push del redirect-gateway y del DNS son muy importantes, y es condición necesaria porque los clientes puedan conectarse con la VPN correctamente.&lt;br /&gt;
&lt;br /&gt;
==== Configuración de la red ====&lt;br /&gt;
&lt;br /&gt;
Nuestro servidor enrutará todo el tránsito 10.0.0.0/8 y 172.16.0.0/16 por la interfaz eth0 (guifi.net), y todo el resto por la interfaz eth1 (LAN de casa con acceso a Internet). El firewall tendrá que aplicar un NAT o MASQUERADING de todo el tránsito que salga por la interfaz eth1 para que el router ADSL sepa cómo contestarnos. &lt;br /&gt;
&lt;br /&gt;
Por último, pero para nada menos importante, el firewall también deberá evitar que los usuarios de los clientes VPN puedan acceder a las IPs de dentro de casa. Habrá, por lo tanto, que hacer un drop de los paquetes que vayan a nuestras IPs privadas. En el ejemplo, 192.168.1.0/24, pero pueden variar en cada caso.&lt;br /&gt;
&lt;br /&gt;
La configuración de las interfaces de /etc/network/interfaces es:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    auto lo&lt;br /&gt;
    iface lo inet loopback&lt;br /&gt;
    auto eth0&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
    address 10.91.9.66&lt;br /&gt;
    netmask 255.255.255.224&lt;br /&gt;
    up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.91.9.65&lt;br /&gt;
    up route add -net 172.16.0.0 netmask 255.255.0.0 gw 10.91.9.65&lt;br /&gt;
    down route del 10.0.0.0 netmask 255.0.0.0 gw 10.91.9.65&lt;br /&gt;
    down route del 172.16.0.0 netmask 255.255.0.0 gw 10.91.9.65&lt;br /&gt;
    # The primary network interface&lt;br /&gt;
    auto eth1&lt;br /&gt;
    iface eth1 inet static&lt;br /&gt;
    address 192.168.1.2&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.1.1&lt;br /&gt;
    up iptables -t nat -A POSTROUTING -o eth1 -j SNAT –to-source 192.168.1.2 # hacemos snat del que sale del router hacia Internet&lt;br /&gt;
    up iptables -A FORWARD -i tun0 -d 192.168.1.0/24 -j DROP # Esto es muy importante porque sino los clientes VPN podrán acceder a las IPs de nuestra LAN interna de casa.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Creación de certificados====&lt;br /&gt;
&lt;br /&gt;
El paquete openvpn incluye la utilidad easy-rsa, que sirve para crear y mantener llaves y certificados entre clientes y servidores.&lt;br /&gt;
&lt;br /&gt;
Una vez los paquetes openvpn y openssl estén instalados, hacemos lo siguiente para dejarlo listo para empezar a distribuir certificados a los clientes:&lt;br /&gt;
&lt;br /&gt;
1. Copiamos la configuración por defecto del easy-rsa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Modificamos el fichero&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; vim /etc/openvpn/easy-rsa/vars &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I en la línia 15 cambiamos &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export EASY_RSA=”`pwd`”&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
por&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export EASY_RSA=”/etc/openvpn/easy-rsa”&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Cargamos las variables de entorno del easy-rsa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;source /etc/openvpn/easy-rsa/vars&amp;lt;/code&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
4. Limpiamos la base de datos de certificados&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /etc/openvpn/easy-rsa/clean-all &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''CUIDADO! No ejecutéis esto una vez distribuidos los certificados o los revocaréis todos y tendréis que volverlos a distribuir!'''&lt;br /&gt;
&lt;br /&gt;
5. Creamos los certificados de la CA y del servidor&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
   cd /etc/openvpn/&lt;br /&gt;
  ./easy-rsa/build-ca &amp;lt;nom_CA&amp;gt;&lt;br /&gt;
  ./easy-rsa/build-key-server &amp;lt;nom_server&amp;gt;&lt;br /&gt;
  ./easy-rsa/build-dh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tanto a &amp;lt;nombre_CA&amp;gt; como en &amp;lt;nom_server&amp;gt; como a todo lo que se pida puede ponerse cualquier cosa, que el efecto será el mismo. El campo de contraseña también puede estar vacío.&lt;br /&gt;
&lt;br /&gt;
Las llaves están todas contenidas al directorio /etc/openvpn/easy-rsa/keys.&lt;br /&gt;
&lt;br /&gt;
A partir de ahora podréis crear certificados para los usuarios ejecutando lo siguiente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   source /etc/openvpn/easy-rsa/vars&lt;br /&gt;
   cd /etc/openvpn/&lt;br /&gt;
   ./easy-rsa/build-key &amp;lt;nom_certificat_client&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Conviene asignar nombres diferentes a certificados de clientes diferentes, aunque cuando se copien al router cliente todos tendrán el mismo nombre (client1).&lt;br /&gt;
&lt;br /&gt;
====Control del ancho de banda de los clientes al servidor====&lt;br /&gt;
Seguramente será muy necesario para poder limitar el ancho de banda que el responsable del servidor quiera dar a la red guifi.net. Con la comanda tc podemos limitar el ancho de banda de eth0 (la interfaz de red que está dentro guifi.net).&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;code&amp;gt;tc qdisc add dev eth0 root handle 1: htb&lt;br /&gt;
    tc class add dev eth0 parent 1: classid 1:512 htb rate 512kbit&lt;br /&gt;
    tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip dst 0.0.0.0/0 flowid 1:512&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
También puede crearse un script a /etc/init.d que lo ejecute de forma automática.&lt;br /&gt;
&lt;br /&gt;
La limitación es que esta restricción de ancho de banda también se aplicará en hacer peticiones de cualquier tipo al servidor. Es decir, también se aplicará la restricción en hacer peticiones HTTP, DNS, FTP...&lt;br /&gt;
&lt;br /&gt;
=== Clientes ===&lt;br /&gt;
&lt;br /&gt;
El hardware recomendado para los clientes es el router TP-LINK WR841N v9, por su bajo coste y porque permite la instalación del firmware OpenWRT de forma sencilla. Adjunto en esta página se encuentra una imagen para este modelo de router con todos los paquetes necesarios ya instalados y preconfigurados.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Instalación del firmware y del software correspondiente====&lt;br /&gt;
&lt;br /&gt;
Para configurar el router de fábrica tenemos que:&lt;br /&gt;
&lt;br /&gt;
1. Conectarse al servidor web que nos ofrece el router de fábrica.&lt;br /&gt;
&lt;br /&gt;
2. Cargar una imagen de firmware adjunta. [https://jfdeu.files.wordpress.com/2014/07/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory-bin-zip.odt] Recordad que una vez descargado hay que cambiar el nombre del fichero a openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory.bin.zip para que pueda descomprimirse bien la imagen.&lt;br /&gt;
&lt;br /&gt;
3. Una vez la imagen esté cargada, hay que conectarse al router mediante telnet a la IP 192.168.1.2, y se os abrirá un sencillo programa de configuración.&lt;br /&gt;
&lt;br /&gt;
4. Cambiad la contraseña de root y reiniciad el router.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   passwd &lt;br /&gt;
   reboot&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Solicitad un certificado del servidor VPN contactando con el administrador. Copiad los ficheros con extensión &amp;lt;nom_cert_client&amp;gt;.crt y &amp;lt;nom_cert_client&amp;gt;.key al directorio /etc/openvpn. En este directorio también tendréis que copiar el certificado de la CA (ca.crt). Es probable que tengáis que cambiar también el nombre de los certificados del cliente, es decir, que los ficheros de los certificados del cliente tienen que llamarse client1.crt y client1.key.&lt;br /&gt;
&lt;br /&gt;
6. Es importante tener un servidor NTP dentro la red guifi.net para no tener problemas con los certificados. Hay que poner el nombre o la IP del servidor NTP en /etc/config/system&lt;br /&gt;
&lt;br /&gt;
== Administració ==&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
Si al fitxer /etc/config/openvpn posam la línia&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;management 127.0.0.1 1194 # Per management&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
podrem connectar-nos al dimoni del OpenVPN amb telnet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;telnet 127.0.0.1 1194&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Log ====&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   telnet 127.0.0.1 1194&lt;br /&gt;
   &amp;gt; log ON&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O bé /var/log/openvpn&lt;br /&gt;
=== Client ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Instal·lació de programari al TP-LINK WR841N ====&lt;br /&gt;
&lt;br /&gt;
Tot i que el router escollit permet la instal·lació de OpenWRT, la seva memòria flash és molt petita (4 MB) i no permet que s'hi instal·lin paquets amb l'opkg. &lt;br /&gt;
&lt;br /&gt;
Per instal·lar el paquet OpenWRT, s'ha de crear una image nova amb aquest paquet preinstal·lat. Es pot fer compilant el codi des de 0 o amb l'Image Builder, que és més còmode [http://wiki.openwrt.org/doc/howto/obtain.firmware.generate]. Amb l'Image Builder, s'ha de fer servir el PROFILE=TLWR841 i incloure el paquet PACKAGES=&amp;quot;openvpn-openssl&amp;quot;. La comanda feta servir és:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make image PROFILE=TLWR841 PACKAGES=&amp;quot;openvpn-openssl&amp;quot; FILES=files/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Log ====&lt;br /&gt;
Per tenir un log al client VPN, cal descomentar la línia corresopnent a /etc/config/openvpn. Convé tenir-lo actiu només de manera puntual, o omplirà tota la memòria flash.&lt;br /&gt;
&lt;br /&gt;
== Actualizació ==&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
El manteniment i actualització dels paquets correspon a la distribució.&lt;br /&gt;
&lt;br /&gt;
== Resolució de problemes habituals ==&lt;br /&gt;
&lt;br /&gt;
=== Pèrdua de connexió del client VPN amb el servidor ===&lt;br /&gt;
El motiu més habitual d'aquest error es deu a què el rellotge del client és desbarata i és probable que en comprovar els certificats les hores siguin incorrectes.&lt;br /&gt;
&lt;br /&gt;
S'ha de comprovar la connexió amb el servidor NTP o bé modificar l'hora manualment, tot i que en aquest darrer cas és probable&lt;br /&gt;
que l'error es repeteixi.&lt;br /&gt;
&lt;br /&gt;
=== Encaminament ===&lt;br /&gt;
&lt;br /&gt;
L'encaminament als clients és prou complicat, d'aquí que seran la majoria de problemes que trobarem. Una taula d'encaminament típica seria la següent:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   $ route -n&lt;br /&gt;
   Kernel IP routing table&lt;br /&gt;
   Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
   0.0.0.0         10.8.0.9        0.0.0.0         UG    0      0        0 tun0&lt;br /&gt;
   10.0.0.0        192.168.1.1     255.0.0.0       UG    0      0        0 br-lan&lt;br /&gt;
   10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0&lt;br /&gt;
   10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0&lt;br /&gt;
   10.91.9.66      192.168.1.1     255.255.255.255 UGH   0      0        0 br-lan&lt;br /&gt;
   172.16.0.0      192.168.1.1     255.255.0.0     UG    0      0        0 br-lan&lt;br /&gt;
   192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0-1&lt;br /&gt;
   192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br-lan&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teniu en compte que al firewall es fa masquerading a la tun0, perquè el servidor pugui respondre, i a la LAN, perquè des de la interfície de guest (wlan0-1) es pugui accedir a fora. La interfície eth1 (WAN) no es fa servir.&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
És important desactivar el DHCP de l'antena, ja que l'únic que ha de proporcionar el DHCP és el router.&lt;br /&gt;
La default route dels terminals és la 192.168.1.2 (el router). Se suposa que l'antena té la IP 192.168.1.1 o alguna altra.&lt;br /&gt;
&lt;br /&gt;
== Exemples reals en servidors autogestionats ==&lt;br /&gt;
A la zona de Sóller tenim ara mateix un servidor VPN amb dos clients funcionant, un a Can Palou 6 i l'altre al Casal La Victòria. El servidor es troba a Alqueria 40.&lt;br /&gt;
&lt;br /&gt;
== Veure també ==&lt;br /&gt;
[[VPN]]&lt;br /&gt;
&lt;br /&gt;
== Enllaços externs ==&lt;br /&gt;
&lt;br /&gt;
Imatge del firmware pel TP-LINK WR841 preconfigurada [https://jfdeu.files.wordpress.com/2014/07/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory-bin-zip.odt]&lt;br /&gt;
&lt;br /&gt;
Pàgina d'OpenVPN [https://openvpn.net/]&lt;br /&gt;
&lt;br /&gt;
''How to create an OpenVPN Server'', perfectament explicat[http://raspguide.wordpress.com/2014/03/26/how-to-create-an-openvpn-server/]&lt;br /&gt;
&lt;br /&gt;
Pàgina de TP-Link WR841 d'OpenWRT [http://wiki.openwrt.org/toh/tp-link/tl-wr841nd]&lt;br /&gt;
&lt;br /&gt;
Instal·lació de LuCi i OpenVPN al TP-Link WR841 [http://coderazzi.net/howto/openwrt/tl841n/install.htm]&lt;br /&gt;
&lt;br /&gt;
Image Generator de OpenWRT [http://wiki.openwrt.org/doc/howto/obtain.firmware.generate]&lt;/div&gt;</summary>
		<author><name>Solleric</name></author>	</entry>

	<entry>
		<id>http://es.wiki.guifi.net/wiki/Alternativa_al_proxy_con_VPN</id>
		<title>Alternativa al proxy con VPN</title>
		<link rel="alternate" type="text/html" href="http://es.wiki.guifi.net/wiki/Alternativa_al_proxy_con_VPN"/>
				<updated>2014-09-11T07:31:03Z</updated>
		
		<summary type="html">&lt;p&gt;Solleric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aunque no es muy conveniente aplicar el argumento del Internet Gratis para que la gente se interese por guifi.net, es cierto que para algunos usuarios el principal atractivo de la red es la posibilidad de conectarse a Internet. La idea de utilizar un servidor proxy para conectarse puede resultar algo complicada y puede hacer que los usuarios menos convencidos desistan, especialmente si quieren conectarse con sus dispositivos móviles o utilizan aplicaciones que no permiten el uso de proxies.&lt;br /&gt;
&lt;br /&gt;
El objetivo de este artículo es, por lo tanto, encontrar una manera de compartir la conexión ADSL con quien el responsable de la conexión quiera. A la vez, estando seguros de que sólo utiliza la conexión quien el responsable quiere y con la posibildad de limitar y controlar las conexiones de los usuarios (por ejemplo, no permitir que se visiten según que sitios). La condición es que el usuario final no tenga la necesidad de configurar nada en su terminal, y que la configuración de los routers y APs de los clientes sea sencilla y replicable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La Idea ==&lt;br /&gt;
La idea consiste en usar un servidor VPN en uno de los nodos, conectado tanto al ADSL como a guifi.net, y que enrute el tráfico de los clientes VPN hacia fuera. Al otro extremo de la red guifi.net, los clientes VPN pueden ser tanto dispositivos finales (portátiles) como APs domésticos. En el caso de los APs domésticos, éstos emiten dos SSIDs: &lt;br /&gt;
· Uno abierto, que sólo permite acceder a las rutas de guifi.net e impide el tránsito por la VPN.&lt;br /&gt;
· uno privado, que enruta el tráfico que no va a ninguna IP de guifi.net a través del túnel VPN.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Nodesvpn.jpeg|center|thumb|upright=2.5|Esquema de la infraestructura de un servidor VPN con múltiples clientes dentro de guifi.net ]]&lt;br /&gt;
&lt;br /&gt;
=== Suposiciones ===&lt;br /&gt;
Antes de empezar, esta documentación supone que la red de '''clientes''' tiene las siguientes características:&lt;br /&gt;
&lt;br /&gt;
1. Hay una antena que se conecta a la red guifi.net, y que funciona sin bridge entre eth0 y wlan0: Es decir, hace de router entre la red privada interna (192.168.1.0/24) y la red pública de guifi.net que hace el radioenlace con el supornodo (10.0.0.0/8)&lt;br /&gt;
&lt;br /&gt;
2. La antena hace NAT o MASQUERADING con el tráfico que sale por la interfície wlan0 (generalmente, el radioenlace al supernodo).&lt;br /&gt;
&lt;br /&gt;
3. El servidor DHCP de la antena està DESACTIVADO.&lt;br /&gt;
&lt;br /&gt;
4. Se dispone de un router, del que se explicará la configuración en los siguientes apartados, que está conectado a la red privada interna (192.168.1.0/24). Este router funciona de punto de acceso WiFi, de servidor DHCP y de enrutador.&lt;br /&gt;
&lt;br /&gt;
=== Configuración de la red a los routers clientes ===&lt;br /&gt;
&lt;br /&gt;
La infraestructura de los nodos híbridos suele ser bastante sencilla y bastante parecida entre todos ellos, especialmente si la configuración de la antena está preparada con el ''One Click''. En el apartado anterior quedan reflejadas las suposiciones que tomamos antes de comenzar con la instalación.&lt;br /&gt;
&lt;br /&gt;
Nuestro router cliente de VPN, sin embargo, no será la antena &lt;br /&gt;
&lt;br /&gt;
El nostre router client d’VPN, però, no serà l’antena, perquè aquesta no ens pot proveir d’una WiFi dins la casa. Aquest nou router haurà d’anar connectat directament a l’antena, a la xarxa 192.168.1.0/24, amb la IP 192.168.1.2. Per no haver de crear més xarxes, més NATs i més IPs, la WiFi privada també està dins la xarxa 192.168.1.0/24, mentre que la pública es troba a la xarxa 192.168.0.0/24 amb IP 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
D’aquesta manera, qualsevol usuari hauria de tenir com a porta d’enllaç per defecte el router client VPN. El propi router client VPN ha de tenir com a ruta per defecte la interfície tun de la VPN, però també ha de redirigir tota IP 10.0.0.0/8 i 172.16.0.0/16 cap a l’antena (192.168.1.1).&lt;br /&gt;
&lt;br /&gt;
Així mateix, el Firewall permet l’accés de la WiFi tancada cap a la VPN, mentre que no en permet l’accés per la WiFi oberta, la qual només podria enrutar-se per l’antena 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Nodeinternvpn.png|thumb|center|upright=2.5|Esquema d'un node client de guifi.net amb un client VPN.]]&lt;br /&gt;
&lt;br /&gt;
== Instal·lació ==&lt;br /&gt;
&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
==== Instal·lació ====&lt;br /&gt;
La instal·lació es farà sobre un Ubuntu Server 14.04. Com tots els proxies, aquest servidor necessita de dues interfícies: Una a guifi.net i una a Internet. La interfície de guifi.net està dins la xarxa que té accés a Internet, darrere el clàssic NAT d’un router normal i corrent.&lt;br /&gt;
&lt;br /&gt;
S'han d'instal·lar els següents paquets:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   $ sudo apt-get install openvpn&lt;br /&gt;
   $ sudo apt-get install openssl&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configuració ====&lt;br /&gt;
&lt;br /&gt;
Vegeu el fitxer /etc/openvpn/openvpn.conf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    dev tun #Tun o Tap, Tap és per tunnels a L2&lt;br /&gt;
    proto udp #UDP o TCP&lt;br /&gt;
    port 1194 #Defines the port to connect&lt;br /&gt;
    ca /etc/openvpn/easy-rsa/keys/ca.crt #This defines where keys and cert are kept&lt;br /&gt;
    cert /etc/openvpn/easy-rsa/keys/server.crt&lt;br /&gt;
    key /etc/openvpn/easy-rsa/keys/server.key&lt;br /&gt;
    dh /etc/openvpn/easy-rsa/keys/dh2048.pem&lt;br /&gt;
    server 10.8.0.0 255.255.255.0 #Rang d’Ips dels clients VPN&lt;br /&gt;
    status /var/log/openvpn-status.log # fitxer de log&lt;br /&gt;
    verb 3 # Quantitat de missatges de log&lt;br /&gt;
    push “redirect-gateway” # MOLT IMPORTANT perquè els clients assignin el serv. VPN com a def. gw.&lt;br /&gt;
    push “dhcp-option DNS 10.91.9.66″ # IMPORTANT perquè els clients tenguin com a DNS el serv. VPN&lt;br /&gt;
    log-append /var/log/openvpn #log&lt;br /&gt;
    comp-lzo # Compressió lzo&lt;br /&gt;
    management 127.0.0.1 1194 # Per management&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El push del redirect-gateway i del DNS són molt importants, i és condició necessària perquè els clients puguin connectar-se a la VPN correctament.&lt;br /&gt;
&lt;br /&gt;
I la configuració de les interfícies de /etc/network/interfaces:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    auto lo&lt;br /&gt;
    iface lo inet loopback&lt;br /&gt;
    auto eth0&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
    address 10.91.9.66&lt;br /&gt;
    netmask 255.255.255.224&lt;br /&gt;
    up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.91.9.65&lt;br /&gt;
    up route add -net 172.16.0.0 netmask 255.255.0.0 gw 10.91.9.65&lt;br /&gt;
    down route del 10.0.0.0 netmask 255.0.0.0 gw 10.91.9.65&lt;br /&gt;
    down route del 172.16.0.0 netmask 255.255.0.0 gw 10.91.9.65&lt;br /&gt;
    # The primary network interface&lt;br /&gt;
    auto eth1&lt;br /&gt;
    iface eth1 inet static&lt;br /&gt;
    address 192.168.1.2&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.1.1&lt;br /&gt;
    up iptables -t nat -A POSTROUTING -o eth1 -j SNAT –to-source 192.168.1.2 # feim snat del que surt per la LAN de casa nostra.&lt;br /&gt;
    up iptables -A FORWARD -i tun0 -d 192.168.1.0/24 -j DROP # És MOLT important això perquè sinó els clients de guifi.net podrien accedir a les IPs de la nostra LAN interna de casa.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Creació de certificats====&lt;br /&gt;
El paquet openvpn inclou la utilitat easy-rsa, que serveix per crear i mantenir claus i certificats entre clients i servidors.&lt;br /&gt;
&lt;br /&gt;
Una vegada el paquet openvpn i openssl estiguin instal·lats, feim el següent per deixar-lo apunt per començar a distribuir certificats als clients:&lt;br /&gt;
&lt;br /&gt;
1. Copiam la configuració per defecte de l'easy-rsa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Modificam el fitxer&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; vim /etc/openvpn/easy-rsa/vars &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I a la línia 15 canviam &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export EASY_RSA=”`pwd`”&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
per&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export EASY_RSA=”/etc/openvpn/easy-rsa”&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Carregam les variables de l'easy-rsa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;source /etc/openvpn/easy-rsa/vars&amp;lt;/code&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
4. Netejam la base de dades de claus i certificats.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /etc/openvpn/easy-rsa/clean-all &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''COMPTE! No executeu això una vegada hàgiu distribuit claus o les revocareu totes i haureu de tornar-les a distribuir!'''&lt;br /&gt;
&lt;br /&gt;
5. Cream els certificats de la CA i del servidor&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
   cd /etc/openvpn/&lt;br /&gt;
  ./easy-rsa/build-ca &amp;lt;nom_CA&amp;gt;&lt;br /&gt;
  ./easy-rsa/build-key-server &amp;lt;nom_server&amp;gt;&lt;br /&gt;
  ./easy-rsa/build-dh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tant a &amp;lt;nom_CA&amp;gt; com a &amp;lt;nom_server&amp;gt; com a tot el que demani es pot posar qualsevol cosa, que l'efecte serà el mateix. El camp de contrasenya també pot estar buit.&lt;br /&gt;
&lt;br /&gt;
Les claus estan totes contingudes al directori /etc/openvpn/easy-rsa/keys.&lt;br /&gt;
&lt;br /&gt;
A partir d'ara podeu crear certificats pels usuaris executant el següent:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   source /etc/openvpn/easy-rsa/vars&lt;br /&gt;
   cd /etc/openvpn/&lt;br /&gt;
   ./easy-rsa/build-key &amp;lt;nom_certificat_client&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
És convenient assignar noms diferents a clients diferents, encara que quan es copiïn al router client tendran totes el mateix nom (client 1).&lt;br /&gt;
&lt;br /&gt;
====Control de l’ample de banda dels clients al servidor====&lt;br /&gt;
Segurament serà molt necessari poder limitar l’ample de banda que el responsable del servidor vol donar a la xarxa guifi.net. Amb la comanda tc podem limitar l’ample de banda de eth0 (la interfície de xarxa que està dins guifi.net).&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;code&amp;gt;tc qdisc add dev eth0 root handle 1: htb&lt;br /&gt;
    tc class add dev eth0 parent 1: classid 1:512 htb rate 512kbit&lt;br /&gt;
    tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip dst 0.0.0.0/0 flowid 1:512&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
També podem crear un script a /etc/init.d que ho executi automàticament.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La limitació és que no aquesta restricció d'ample de banda també s'aplicarà en fer peticions de qualsevol tipus al servidor. És a dir, també s'aplicarà la restricció en fer peticions HTTPs, DNS, FTP...&lt;br /&gt;
&lt;br /&gt;
=== Clients ===&lt;br /&gt;
El hardware recomanat pels clients és un router tp-link wr841n v9, pel seu baix cost i perquè permet la instal·lació del firmware OpenWRT de forma molt senzilla. Adjunt en aquesta pàgina s'hi troba una imatge per aquest model de router amb tots els paquets necessaris ja instal·lats i preconfigurats.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Instal·lació del firmware i del programari corresponent====&lt;br /&gt;
&lt;br /&gt;
Per configurar el router de fàbrica cal:&lt;br /&gt;
&lt;br /&gt;
1. Connectar-se al servidor web que ens ofereix el router de fàbrica.&lt;br /&gt;
&lt;br /&gt;
2. Carregar la imatge del firmware adjunta. [https://jfdeu.files.wordpress.com/2014/07/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory-bin-zip.odt] Recordau que una baixada descarregat cal canviar el nom del fitxer a openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory.bin.zip per poder descomprimir bé la imatge.&lt;br /&gt;
&lt;br /&gt;
3. Una vegada la imatge estigui carregada, connectau-vos al router mitjançant telnet a la IP 192.168.1.2, i se vos obrirà un senzill programa de configuració.&lt;br /&gt;
&lt;br /&gt;
4. Canviau la contrasenya de root i reiniciau el router:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   passwd &lt;br /&gt;
   reboot&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Sol·licitau un certificat del servidor VPN contactant amb l'administrador i copiau els fitxers amb l'extensió &amp;lt;nom_clau_client&amp;gt;.crt i &amp;lt;nom_clau_client&amp;gt;.key al directori /etc/openvpn. En aquest directori també hi haureu de copiar el certificat de la CA (ca.crt). És probable que hàgiu de canviar el nom també de les claus del client, és a dir, que els fitxers de la clau del client s'han d'anomenar client1.crt i client1.key.&lt;br /&gt;
&lt;br /&gt;
6. És important tenir un servidor NTP dins la xarxa guifi.net per no tenir problemes amb els certificats. Posau el nom o la IP del servidor NTP a /etc/config/system.&lt;br /&gt;
&lt;br /&gt;
== Administració ==&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
Si al fitxer /etc/config/openvpn posam la línia&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;management 127.0.0.1 1194 # Per management&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
podrem connectar-nos al dimoni del OpenVPN amb telnet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;telnet 127.0.0.1 1194&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Log ====&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   telnet 127.0.0.1 1194&lt;br /&gt;
   &amp;gt; log ON&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O bé /var/log/openvpn&lt;br /&gt;
=== Client ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Instal·lació de programari al TP-LINK WR841N ====&lt;br /&gt;
&lt;br /&gt;
Tot i que el router escollit permet la instal·lació de OpenWRT, la seva memòria flash és molt petita (4 MB) i no permet que s'hi instal·lin paquets amb l'opkg. &lt;br /&gt;
&lt;br /&gt;
Per instal·lar el paquet OpenWRT, s'ha de crear una image nova amb aquest paquet preinstal·lat. Es pot fer compilant el codi des de 0 o amb l'Image Builder, que és més còmode [http://wiki.openwrt.org/doc/howto/obtain.firmware.generate]. Amb l'Image Builder, s'ha de fer servir el PROFILE=TLWR841 i incloure el paquet PACKAGES=&amp;quot;openvpn-openssl&amp;quot;. La comanda feta servir és:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make image PROFILE=TLWR841 PACKAGES=&amp;quot;openvpn-openssl&amp;quot; FILES=files/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Log ====&lt;br /&gt;
Per tenir un log al client VPN, cal descomentar la línia corresopnent a /etc/config/openvpn. Convé tenir-lo actiu només de manera puntual, o omplirà tota la memòria flash.&lt;br /&gt;
&lt;br /&gt;
== Actualizació ==&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
El manteniment i actualització dels paquets correspon a la distribució.&lt;br /&gt;
&lt;br /&gt;
== Resolució de problemes habituals ==&lt;br /&gt;
&lt;br /&gt;
=== Pèrdua de connexió del client VPN amb el servidor ===&lt;br /&gt;
El motiu més habitual d'aquest error es deu a què el rellotge del client és desbarata i és probable que en comprovar els certificats les hores siguin incorrectes.&lt;br /&gt;
&lt;br /&gt;
S'ha de comprovar la connexió amb el servidor NTP o bé modificar l'hora manualment, tot i que en aquest darrer cas és probable&lt;br /&gt;
que l'error es repeteixi.&lt;br /&gt;
&lt;br /&gt;
=== Encaminament ===&lt;br /&gt;
&lt;br /&gt;
L'encaminament als clients és prou complicat, d'aquí que seran la majoria de problemes que trobarem. Una taula d'encaminament típica seria la següent:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   $ route -n&lt;br /&gt;
   Kernel IP routing table&lt;br /&gt;
   Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
   0.0.0.0         10.8.0.9        0.0.0.0         UG    0      0        0 tun0&lt;br /&gt;
   10.0.0.0        192.168.1.1     255.0.0.0       UG    0      0        0 br-lan&lt;br /&gt;
   10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0&lt;br /&gt;
   10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0&lt;br /&gt;
   10.91.9.66      192.168.1.1     255.255.255.255 UGH   0      0        0 br-lan&lt;br /&gt;
   172.16.0.0      192.168.1.1     255.255.0.0     UG    0      0        0 br-lan&lt;br /&gt;
   192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0-1&lt;br /&gt;
   192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br-lan&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teniu en compte que al firewall es fa masquerading a la tun0, perquè el servidor pugui respondre, i a la LAN, perquè des de la interfície de guest (wlan0-1) es pugui accedir a fora. La interfície eth1 (WAN) no es fa servir.&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
És important desactivar el DHCP de l'antena, ja que l'únic que ha de proporcionar el DHCP és el router.&lt;br /&gt;
La default route dels terminals és la 192.168.1.2 (el router). Se suposa que l'antena té la IP 192.168.1.1 o alguna altra.&lt;br /&gt;
&lt;br /&gt;
== Exemples reals en servidors autogestionats ==&lt;br /&gt;
A la zona de Sóller tenim ara mateix un servidor VPN amb dos clients funcionant, un a Can Palou 6 i l'altre al Casal La Victòria. El servidor es troba a Alqueria 40.&lt;br /&gt;
&lt;br /&gt;
== Veure també ==&lt;br /&gt;
[[VPN]]&lt;br /&gt;
&lt;br /&gt;
== Enllaços externs ==&lt;br /&gt;
&lt;br /&gt;
Imatge del firmware pel TP-LINK WR841 preconfigurada [https://jfdeu.files.wordpress.com/2014/07/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory-bin-zip.odt]&lt;br /&gt;
&lt;br /&gt;
Pàgina d'OpenVPN [https://openvpn.net/]&lt;br /&gt;
&lt;br /&gt;
''How to create an OpenVPN Server'', perfectament explicat[http://raspguide.wordpress.com/2014/03/26/how-to-create-an-openvpn-server/]&lt;br /&gt;
&lt;br /&gt;
Pàgina de TP-Link WR841 d'OpenWRT [http://wiki.openwrt.org/toh/tp-link/tl-wr841nd]&lt;br /&gt;
&lt;br /&gt;
Instal·lació de LuCi i OpenVPN al TP-Link WR841 [http://coderazzi.net/howto/openwrt/tl841n/install.htm]&lt;br /&gt;
&lt;br /&gt;
Image Generator de OpenWRT [http://wiki.openwrt.org/doc/howto/obtain.firmware.generate]&lt;/div&gt;</summary>
		<author><name>Solleric</name></author>	</entry>

	<entry>
		<id>http://es.wiki.guifi.net/wiki/Alternativa_al_proxy_con_VPN</id>
		<title>Alternativa al proxy con VPN</title>
		<link rel="alternate" type="text/html" href="http://es.wiki.guifi.net/wiki/Alternativa_al_proxy_con_VPN"/>
				<updated>2014-09-10T14:52:27Z</updated>
		
		<summary type="html">&lt;p&gt;Solleric: Página creada con «Aunque no es muy conveniente aplicar el argumento del Internet Gratis para que la gente se interese por guifi.net, es cierto que para algunos usuaris el principal atractivo...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aunque no es muy conveniente aplicar el argumento del Internet Gratis para que la gente se interese por guifi.net, es cierto que para algunos usuaris el principal atractivo de la red es la posibilidad de conectarse a Internet. La idea de utilizar un servidor proxy para conectarse puede resultar algo complicada y puede hacer que los usuaris menos convencidos desistan, especialmente si quieren conectarse con sus dispositivos móviles o utilizan aplicaciones que no permiten el uso de proxies.&lt;br /&gt;
&lt;br /&gt;
El objetivo de este artículo es, por lo tanto, encontrar una manera de compartir la conexión ADSL con quien el responsable de la conexión quiera. A la vez, estando seguros de que sólo utiliza la conexión quien el responsable quiere y con la posibildad de limitar y controlar las conexiones de los usuarios (por ejemplo, no permitir que se visiten según que sitios). La condición es que el usuario final no tenga la necesidad de configurar nada en su terminal, y que la configuracion de los routers y APs de los clientes sea sencilla y replicable&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== La Idea ==&lt;br /&gt;
La idea consiste en usar un servidor VPN en uno de los nodos, conectado tanto al ADSL como a guifi.net, y que enrute el tráfico de los clientes VPN hacia fuera. Al otro extremo de la red guifi.net, los clientes VPN pueden ser tanto dispositivos finales (portátiles) como APs domésticos. En el caso de los APs domésticos, éstos emiten dos SSIDs: &lt;br /&gt;
· Uno abierto, que sólo permite acceder a las rutas de guifi.net e impide el tránsito por la VPN.&lt;br /&gt;
· uno privado, que enruta el tráfico que no va a ninguna IP de guifi.net a través del túnel VPN.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Nodesvpn.jpeg|center|thumb|upright=2.5|Esquema de la infraestructura de un servidor VPN con múltiples clientes dentro de guifi.net ]]&lt;br /&gt;
&lt;br /&gt;
=== Suposiciones ===&lt;br /&gt;
Antes de empezar, esta documentación supone que la red de '''clientes''' tiene las siguientes características:&lt;br /&gt;
&lt;br /&gt;
1. Hay una antena que se conecta a la red guifi.net, y que funciona sin bridge entre eth0 y wlan0: Es decir, hace de router entre la red privada interna (192.168.1.0/24) y la red pública de guifi.net que hace el radioenlace con el supornodo (10.0.0.0/8)&lt;br /&gt;
&lt;br /&gt;
2. La antena hace NAT o MASQUERADING con el tráfico que sale por la interfície wlan0 (generalmente, el radioenlace al supernodo).&lt;br /&gt;
&lt;br /&gt;
3. El servidor DHCP de la antena està DESACTIVADO.&lt;br /&gt;
&lt;br /&gt;
4. Se dispone de un router, del que se explicará la configuración en los siguientes apartados, que está conectado a la red privada interna (192.168.1.0/24). Este router funciona de punto de acceso WiFi, de servidor DHCP y de enrutador.&lt;br /&gt;
&lt;br /&gt;
=== Configuración de la red a los routers clientes ===&lt;br /&gt;
&lt;br /&gt;
__*** EN CONSTRUCCIÓN ***__&lt;br /&gt;
&lt;br /&gt;
La infraestructura dels nodes híbrids hauria de ser, en gairebé tots els casos, idèntica, especialment si la configuració de l'antena està feta amb el ''One Click''. A l'apartat anterior queden reflectits les suposicions que prenem abans de començar amb la instal·lació.&lt;br /&gt;
&lt;br /&gt;
El nostre router client d’VPN, però, no serà l’antena, perquè aquesta no ens pot proveir d’una WiFi dins la casa. Aquest nou router haurà d’anar connectat directament a l’antena, a la xarxa 192.168.1.0/24, amb la IP 192.168.1.2. Per no haver de crear més xarxes, més NATs i més IPs, la WiFi privada també està dins la xarxa 192.168.1.0/24, mentre que la pública es troba a la xarxa 192.168.0.0/24 amb IP 192.168.0.1.&lt;br /&gt;
&lt;br /&gt;
D’aquesta manera, qualsevol usuari hauria de tenir com a porta d’enllaç per defecte el router client VPN. El propi router client VPN ha de tenir com a ruta per defecte la interfície tun de la VPN, però també ha de redirigir tota IP 10.0.0.0/8 i 172.16.0.0/16 cap a l’antena (192.168.1.1).&lt;br /&gt;
&lt;br /&gt;
Així mateix, el Firewall permet l’accés de la WiFi tancada cap a la VPN, mentre que no en permet l’accés per la WiFi oberta, la qual només podria enrutar-se per l’antena 192.168.1.1.&lt;br /&gt;
&lt;br /&gt;
[[Archivo:Nodeinternvpn.png|thumb|center|upright=2.5|Esquema d'un node client de guifi.net amb un client VPN.]]&lt;br /&gt;
&lt;br /&gt;
== Instal·lació ==&lt;br /&gt;
&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
==== Instal·lació ====&lt;br /&gt;
La instal·lació es farà sobre un Ubuntu Server 14.04. Com tots els proxies, aquest servidor necessita de dues interfícies: Una a guifi.net i una a Internet. La interfície de guifi.net està dins la xarxa que té accés a Internet, darrere el clàssic NAT d’un router normal i corrent.&lt;br /&gt;
&lt;br /&gt;
S'han d'instal·lar els següents paquets:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   $ sudo apt-get install openvpn&lt;br /&gt;
   $ sudo apt-get install openssl&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configuració ====&lt;br /&gt;
&lt;br /&gt;
Vegeu el fitxer /etc/openvpn/openvpn.conf:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    dev tun #Tun o Tap, Tap és per tunnels a L2&lt;br /&gt;
    proto udp #UDP o TCP&lt;br /&gt;
    port 1194 #Defines the port to connect&lt;br /&gt;
    ca /etc/openvpn/easy-rsa/keys/ca.crt #This defines where keys and cert are kept&lt;br /&gt;
    cert /etc/openvpn/easy-rsa/keys/server.crt&lt;br /&gt;
    key /etc/openvpn/easy-rsa/keys/server.key&lt;br /&gt;
    dh /etc/openvpn/easy-rsa/keys/dh2048.pem&lt;br /&gt;
    server 10.8.0.0 255.255.255.0 #Rang d’Ips dels clients VPN&lt;br /&gt;
    status /var/log/openvpn-status.log # fitxer de log&lt;br /&gt;
    verb 3 # Quantitat de missatges de log&lt;br /&gt;
    push “redirect-gateway” # MOLT IMPORTANT perquè els clients assignin el serv. VPN com a def. gw.&lt;br /&gt;
    push “dhcp-option DNS 10.91.9.66″ # IMPORTANT perquè els clients tenguin com a DNS el serv. VPN&lt;br /&gt;
    log-append /var/log/openvpn #log&lt;br /&gt;
    comp-lzo # Compressió lzo&lt;br /&gt;
    management 127.0.0.1 1194 # Per management&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El push del redirect-gateway i del DNS són molt importants, i és condició necessària perquè els clients puguin connectar-se a la VPN correctament.&lt;br /&gt;
&lt;br /&gt;
I la configuració de les interfícies de /etc/network/interfaces:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
    auto lo&lt;br /&gt;
    iface lo inet loopback&lt;br /&gt;
    auto eth0&lt;br /&gt;
    iface eth0 inet static&lt;br /&gt;
    address 10.91.9.66&lt;br /&gt;
    netmask 255.255.255.224&lt;br /&gt;
    up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.91.9.65&lt;br /&gt;
    up route add -net 172.16.0.0 netmask 255.255.0.0 gw 10.91.9.65&lt;br /&gt;
    down route del 10.0.0.0 netmask 255.0.0.0 gw 10.91.9.65&lt;br /&gt;
    down route del 172.16.0.0 netmask 255.255.0.0 gw 10.91.9.65&lt;br /&gt;
    # The primary network interface&lt;br /&gt;
    auto eth1&lt;br /&gt;
    iface eth1 inet static&lt;br /&gt;
    address 192.168.1.2&lt;br /&gt;
    netmask 255.255.255.0&lt;br /&gt;
    gateway 192.168.1.1&lt;br /&gt;
    up iptables -t nat -A POSTROUTING -o eth1 -j SNAT –to-source 192.168.1.2 # feim snat del que surt per la LAN de casa nostra.&lt;br /&gt;
    up iptables -A FORWARD -i tun0 -d 192.168.1.0/24 -j DROP # És MOLT important això perquè sinó els clients de guifi.net podrien accedir a les IPs de la nostra LAN interna de casa.&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Creació de certificats====&lt;br /&gt;
El paquet openvpn inclou la utilitat easy-rsa, que serveix per crear i mantenir claus i certificats entre clients i servidors.&lt;br /&gt;
&lt;br /&gt;
Una vegada el paquet openvpn i openssl estiguin instal·lats, feim el següent per deixar-lo apunt per començar a distribuir certificats als clients:&lt;br /&gt;
&lt;br /&gt;
1. Copiam la configuració per defecte de l'easy-rsa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Modificam el fitxer&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; vim /etc/openvpn/easy-rsa/vars &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I a la línia 15 canviam &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export EASY_RSA=”`pwd`”&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
per&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;export EASY_RSA=”/etc/openvpn/easy-rsa”&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Carregam les variables de l'easy-rsa&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;source /etc/openvpn/easy-rsa/vars&amp;lt;/code&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
4. Netejam la base de dades de claus i certificats.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; /etc/openvpn/easy-rsa/clean-all &amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
'''COMPTE! No executeu això una vegada hàgiu distribuit claus o les revocareu totes i haureu de tornar-les a distribuir!'''&lt;br /&gt;
&lt;br /&gt;
5. Cream els certificats de la CA i del servidor&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt; &lt;br /&gt;
   cd /etc/openvpn/&lt;br /&gt;
  ./easy-rsa/build-ca &amp;lt;nom_CA&amp;gt;&lt;br /&gt;
  ./easy-rsa/build-key-server &amp;lt;nom_server&amp;gt;&lt;br /&gt;
  ./easy-rsa/build-dh&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tant a &amp;lt;nom_CA&amp;gt; com a &amp;lt;nom_server&amp;gt; com a tot el que demani es pot posar qualsevol cosa, que l'efecte serà el mateix. El camp de contrasenya també pot estar buit.&lt;br /&gt;
&lt;br /&gt;
Les claus estan totes contingudes al directori /etc/openvpn/easy-rsa/keys.&lt;br /&gt;
&lt;br /&gt;
A partir d'ara podeu crear certificats pels usuaris executant el següent:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   source /etc/openvpn/easy-rsa/vars&lt;br /&gt;
   cd /etc/openvpn/&lt;br /&gt;
   ./easy-rsa/build-key &amp;lt;nom_certificat_client&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
És convenient assignar noms diferents a clients diferents, encara que quan es copiïn al router client tendran totes el mateix nom (client 1).&lt;br /&gt;
&lt;br /&gt;
====Control de l’ample de banda dels clients al servidor====&lt;br /&gt;
Segurament serà molt necessari poder limitar l’ample de banda que el responsable del servidor vol donar a la xarxa guifi.net. Amb la comanda tc podem limitar l’ample de banda de eth0 (la interfície de xarxa que està dins guifi.net).&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;code&amp;gt;tc qdisc add dev eth0 root handle 1: htb&lt;br /&gt;
    tc class add dev eth0 parent 1: classid 1:512 htb rate 512kbit&lt;br /&gt;
    tc filter add dev eth0 protocol ip parent 1: prio 1 u32 match ip dst 0.0.0.0/0 flowid 1:512&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
També podem crear un script a /etc/init.d que ho executi automàticament.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La limitació és que no aquesta restricció d'ample de banda també s'aplicarà en fer peticions de qualsevol tipus al servidor. És a dir, també s'aplicarà la restricció en fer peticions HTTPs, DNS, FTP...&lt;br /&gt;
&lt;br /&gt;
=== Clients ===&lt;br /&gt;
El hardware recomanat pels clients és un router tp-link wr841n v9, pel seu baix cost i perquè permet la instal·lació del firmware OpenWRT de forma molt senzilla. Adjunt en aquesta pàgina s'hi troba una imatge per aquest model de router amb tots els paquets necessaris ja instal·lats i preconfigurats.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Instal·lació del firmware i del programari corresponent====&lt;br /&gt;
&lt;br /&gt;
Per configurar el router de fàbrica cal:&lt;br /&gt;
&lt;br /&gt;
1. Connectar-se al servidor web que ens ofereix el router de fàbrica.&lt;br /&gt;
&lt;br /&gt;
2. Carregar la imatge del firmware adjunta. [https://jfdeu.files.wordpress.com/2014/07/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory-bin-zip.odt] Recordau que una baixada descarregat cal canviar el nom del fitxer a openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory.bin.zip per poder descomprimir bé la imatge.&lt;br /&gt;
&lt;br /&gt;
3. Una vegada la imatge estigui carregada, connectau-vos al router mitjançant telnet a la IP 192.168.1.2, i se vos obrirà un senzill programa de configuració.&lt;br /&gt;
&lt;br /&gt;
4. Canviau la contrasenya de root i reiniciau el router:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   passwd &lt;br /&gt;
   reboot&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Sol·licitau un certificat del servidor VPN contactant amb l'administrador i copiau els fitxers amb l'extensió &amp;lt;nom_clau_client&amp;gt;.crt i &amp;lt;nom_clau_client&amp;gt;.key al directori /etc/openvpn. En aquest directori també hi haureu de copiar el certificat de la CA (ca.crt). És probable que hàgiu de canviar el nom també de les claus del client, és a dir, que els fitxers de la clau del client s'han d'anomenar client1.crt i client1.key.&lt;br /&gt;
&lt;br /&gt;
6. És important tenir un servidor NTP dins la xarxa guifi.net per no tenir problemes amb els certificats. Posau el nom o la IP del servidor NTP a /etc/config/system.&lt;br /&gt;
&lt;br /&gt;
== Administració ==&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
Si al fitxer /etc/config/openvpn posam la línia&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;management 127.0.0.1 1194 # Per management&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
podrem connectar-nos al dimoni del OpenVPN amb telnet:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;telnet 127.0.0.1 1194&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Log ====&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   telnet 127.0.0.1 1194&lt;br /&gt;
   &amp;gt; log ON&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O bé /var/log/openvpn&lt;br /&gt;
=== Client ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Instal·lació de programari al TP-LINK WR841N ====&lt;br /&gt;
&lt;br /&gt;
Tot i que el router escollit permet la instal·lació de OpenWRT, la seva memòria flash és molt petita (4 MB) i no permet que s'hi instal·lin paquets amb l'opkg. &lt;br /&gt;
&lt;br /&gt;
Per instal·lar el paquet OpenWRT, s'ha de crear una image nova amb aquest paquet preinstal·lat. Es pot fer compilant el codi des de 0 o amb l'Image Builder, que és més còmode [http://wiki.openwrt.org/doc/howto/obtain.firmware.generate]. Amb l'Image Builder, s'ha de fer servir el PROFILE=TLWR841 i incloure el paquet PACKAGES=&amp;quot;openvpn-openssl&amp;quot;. La comanda feta servir és:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
make image PROFILE=TLWR841 PACKAGES=&amp;quot;openvpn-openssl&amp;quot; FILES=files/&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Log ====&lt;br /&gt;
Per tenir un log al client VPN, cal descomentar la línia corresopnent a /etc/config/openvpn. Convé tenir-lo actiu només de manera puntual, o omplirà tota la memòria flash.&lt;br /&gt;
&lt;br /&gt;
== Actualizació ==&lt;br /&gt;
=== Servidor ===&lt;br /&gt;
El manteniment i actualització dels paquets correspon a la distribució.&lt;br /&gt;
&lt;br /&gt;
== Resolució de problemes habituals ==&lt;br /&gt;
&lt;br /&gt;
=== Pèrdua de connexió del client VPN amb el servidor ===&lt;br /&gt;
El motiu més habitual d'aquest error es deu a què el rellotge del client és desbarata i és probable que en comprovar els certificats les hores siguin incorrectes.&lt;br /&gt;
&lt;br /&gt;
S'ha de comprovar la connexió amb el servidor NTP o bé modificar l'hora manualment, tot i que en aquest darrer cas és probable&lt;br /&gt;
que l'error es repeteixi.&lt;br /&gt;
&lt;br /&gt;
=== Encaminament ===&lt;br /&gt;
&lt;br /&gt;
L'encaminament als clients és prou complicat, d'aquí que seran la majoria de problemes que trobarem. Una taula d'encaminament típica seria la següent:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
   $ route -n&lt;br /&gt;
   Kernel IP routing table&lt;br /&gt;
   Destination     Gateway         Genmask         Flags Metric Ref    Use Iface&lt;br /&gt;
   0.0.0.0         10.8.0.9        0.0.0.0         UG    0      0        0 tun0&lt;br /&gt;
   10.0.0.0        192.168.1.1     255.0.0.0       UG    0      0        0 br-lan&lt;br /&gt;
   10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0&lt;br /&gt;
   10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0&lt;br /&gt;
   10.91.9.66      192.168.1.1     255.255.255.255 UGH   0      0        0 br-lan&lt;br /&gt;
   172.16.0.0      192.168.1.1     255.255.0.0     UG    0      0        0 br-lan&lt;br /&gt;
   192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0-1&lt;br /&gt;
   192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br-lan&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Teniu en compte que al firewall es fa masquerading a la tun0, perquè el servidor pugui respondre, i a la LAN, perquè des de la interfície de guest (wlan0-1) es pugui accedir a fora. La interfície eth1 (WAN) no es fa servir.&lt;br /&gt;
&lt;br /&gt;
=== DHCP ===&lt;br /&gt;
És important desactivar el DHCP de l'antena, ja que l'únic que ha de proporcionar el DHCP és el router.&lt;br /&gt;
La default route dels terminals és la 192.168.1.2 (el router). Se suposa que l'antena té la IP 192.168.1.1 o alguna altra.&lt;br /&gt;
&lt;br /&gt;
== Exemples reals en servidors autogestionats ==&lt;br /&gt;
A la zona de Sóller tenim ara mateix un servidor VPN amb dos clients funcionant, un a Can Palou 6 i l'altre al Casal La Victòria. El servidor es troba a Alqueria 40.&lt;br /&gt;
&lt;br /&gt;
== Veure també ==&lt;br /&gt;
[[VPN]]&lt;br /&gt;
&lt;br /&gt;
== Enllaços externs ==&lt;br /&gt;
&lt;br /&gt;
Imatge del firmware pel TP-LINK WR841 preconfigurada [https://jfdeu.files.wordpress.com/2014/07/openwrt-ar71xx-generic-tl-wr841n-v9-squashfs-factory-bin-zip.odt]&lt;br /&gt;
&lt;br /&gt;
Pàgina d'OpenVPN [https://openvpn.net/]&lt;br /&gt;
&lt;br /&gt;
''How to create an OpenVPN Server'', perfectament explicat[http://raspguide.wordpress.com/2014/03/26/how-to-create-an-openvpn-server/]&lt;br /&gt;
&lt;br /&gt;
Pàgina de TP-Link WR841 d'OpenWRT [http://wiki.openwrt.org/toh/tp-link/tl-wr841nd]&lt;br /&gt;
&lt;br /&gt;
Instal·lació de LuCi i OpenVPN al TP-Link WR841 [http://coderazzi.net/howto/openwrt/tl841n/install.htm]&lt;br /&gt;
&lt;br /&gt;
Image Generator de OpenWRT [http://wiki.openwrt.org/doc/howto/obtain.firmware.generate]&lt;/div&gt;</summary>
		<author><name>Solleric</name></author>	</entry>

	<entry>
		<id>http://es.wiki.guifi.net/wiki/Archivo:Nodesvpn.jpeg</id>
		<title>Archivo:Nodesvpn.jpeg</title>
		<link rel="alternate" type="text/html" href="http://es.wiki.guifi.net/wiki/Archivo:Nodesvpn.jpeg"/>
				<updated>2014-09-10T14:49:52Z</updated>
		
		<summary type="html">&lt;p&gt;Solleric: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Solleric</name></author>	</entry>

	</feed>