[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
es:howtos:network_services:openvpn [2019/02/17 11:08 (UTC)] – [11.1 Configuración del servidor] pedro.herreroes:howtos:network_services:openvpn [2019/02/19 12:28 (UTC)] (actual) – [11.1 Configuración del servidor] rramp
Línea 1: Línea 1:
-<note important>Traducción en proceso. Tenga paciencia... (pedro.herrero)</note>+
 ====== OpenVPN - Cómo configurar un servidor Slackware y un cliente Slackware ====== ====== OpenVPN - Cómo configurar un servidor Slackware y un cliente Slackware ======
  
Línea 12: Línea 12:
 ===== 2. Ámbito de aplicación y objetivo ===== ===== 2. Ámbito de aplicación y objetivo =====
  
-El objetivo de este artículo es servir como un tutorial para que los lectores configuren un servidor VPN y un cliente Slackware básicos pero funcionales a través de Internet.+El objetivo de este artículo es servir como un tutorial para que los lectores configuren un servidor y un cliente VPN en Slackware básicos pero funcionales a través de Internet.
  
 El énfasis está en proporcionar un método fiable que pueda seguirse fácilmente para configurar OpenVPN en servidores y clientes Slackware. Sin embargo, el proceso no está libre de obstáculos y requiere cierta atención y determinación. El énfasis está en proporcionar un método fiable que pueda seguirse fácilmente para configurar OpenVPN en servidores y clientes Slackware. Sin embargo, el proceso no está libre de obstáculos y requiere cierta atención y determinación.
Línea 20: Línea 20:
 ===== 3. Instalación ===== ===== 3. Instalación =====
  
-Openvpn ya está instalado en Slackware si se ha seguido una instalación por omisión. Si este no fuera el caso, entonces el paquete está disponible en el directorio "n" del DVD de Slackware. Consulte otros documentos específicos de Slackware sobre cómo realizar esta instalación.+OpenVPN ya está instalado en Slackware si se ha seguido una instalación por omisión. Si este no fuera el caso, entonces el paquete está disponible en el directorio "n" del DVD de Slackware. Consulte otros documentos específicos de Slackware sobre cómo realizar esta instalación.
  
-Si desea confirmar que Openvpn está instalado, puede comprobarlo listando el directorio /var/log/packages/:+Si desea confirmar que OpenVPN está instalado, puede comprobarlo listando el directorio /var/log/packages/:
  
 <code> <code>
Línea 30: Línea 30:
 ===== 4. Requisitos ===== ===== 4. Requisitos =====
  
-Se necesitarían ordenadores de servidor y de Cliente. Tendrían que estar conectados a Internet en dos routers y rutas de red diferentes.  Para el propósito de este tutorial, se definen detalles específicos con el fin de mejorar la legibilidad. Por supuesto, es probable que tenga direcciones diferentes, por lo que tendrá que modificarlas en consecuencia.+Se necesitarán dos ordenadores que cumplan la funciones de servidor y de cliente. Tendrían que estar conectados a Internet dos enrutadores con rutas de red diferentes.  Para el propósito de este tutorial, se definen detalles específicos con el fin de mejorar la legibilidad. Por supuesto, es probable que tenga direcciones diferentes, por lo que tendrá que modificarlas en consecuencia.
  
 ==== 4.1. Servidor DNS ==== ==== 4.1. Servidor DNS ====
Línea 55: Línea 55:
 ==== 4.3 Derechos de Administrador ==== ==== 4.3 Derechos de Administrador ====
  
-Necesitará tener derechos de administrador para configurar OpenVPN. Esto se aplica tanto al Servidor como al Cliente. Para simplificar, en este tutorial, se asumirá que todas las acciones serán realizadas por el usuario root. Naturalmente, los usuarios avanzados pueden ser más exigentes.+Necesitará tener derechos de administrador para configurar OpenVPN. Esto se aplica tanto al servidor como al cliente. Para simplificar, en este tutorial, se asumirá que todas las acciones serán realizadas por el usuario root. Naturalmente, los usuarios avanzados pueden ser más exigentes.
  
 ==== 4.4 Posibles limitaciones y soluciones para un cliente equipado con WiFi ==== ==== 4.4 Posibles limitaciones y soluciones para un cliente equipado con WiFi ====
  
-La disponibilidad de dos routers puede ser un reto. Tenga en cuenta que se necesitarán sesiones interactivas tanto en el Servidor como en el Cliente antes de configurar la VPN. Si el Cliente está equipado con una interfaz WiFi puede haber algunas soluciones fáciles que se pueden considerar:+La disponibilidad de dos enutadores puede ser un reto. Tenga en cuenta que se necesitarán sesiones interactivas tanto en el servidor como en el cliente antes de configurar la VPN. Si el cliente está equipado con una interfaz WiFi puede haber algunas soluciones fáciles que se pueden considerar:
  
-  - Utilice la función "Portable Wi-Fi Hot Spot" de un teléfono inteligente 3G para conectar al Cliente como Cliente VPN.  Como el ancho de banda 3G es caro, es posible que desee minimizar el tráfico. Por ejemplo, es posible que desee desactivar servicios que no son absolutamente esenciales durante el curso de este ejercicio, como ntpd, dropbox y tor.+  - Utilice la función "Portable Wi-Fi Hot Spot" de un teléfono inteligente 3G para conectar al cliente como cliente VPN.  Como el ancho de banda 3G es caro, es posible que desee minimizar el tráfico. Por ejemplo, es posible que desee desactivar servicios que no son absolutamente esenciales durante el curso de este ejercicio, como ntpd, dropbox y tor.
   - Conecte el cliente a otra conexión WiFi disponible en las proximidades del servidor. Algunas personas afortunadas viven en áreas donde los vecinos benévolos les proporcionan acceso abierto a Internet WiFi. Se recomienda solicitar permiso antes de aceptar esta solución. En caso de que no exista tal servicio abierto, puede ser conveniente solicitar una contraseña temporal a un vecino amistoso para el servicio WiFi privado encriptado.   - Conecte el cliente a otra conexión WiFi disponible en las proximidades del servidor. Algunas personas afortunadas viven en áreas donde los vecinos benévolos les proporcionan acceso abierto a Internet WiFi. Se recomienda solicitar permiso antes de aceptar esta solución. En caso de que no exista tal servicio abierto, puede ser conveniente solicitar una contraseña temporal a un vecino amistoso para el servicio WiFi privado encriptado.
-  - Hoy en día, muchos locales gubernamentales, como bibliotecas y ayuntamientos, ofrecen servicio gratuito de WiFi. Otros lugares como restaurantes de comida rápida, pubs, cafés, etc. también ofrecen WiFi gratuito desde su ubicación a sus apreciados clientes. Puede acceder al Servidor a través de un servicio disponible como SSH desde un Cliente equipado con WiFi. Si se elige esta opción para esta solución, tenga en cuenta que el Cliente puede tener que pasar a través de algunos cortafuegos. Además, la conexión VPN puede constituir un incumplimiento de los términos de las condiciones que deben aceptarse antes de utilizar el servicio WiFi.+  - Hoy en día, muchos locales gubernamentales, como bibliotecas y ayuntamientos, ofrecen servicio gratuito de WiFi. Otros lugares como restaurantes de comida rápida, pubs, cafés, etc. también ofrecen WiFi gratuito desde su ubicación a sus apreciados clientes. Puede acceder al servidor a través de un servicio disponible como SSH desde un cliente equipado con WiFi. Si se elige esta opción para esta solución, tenga en cuenta que el cliente puede tener que pasar a través de algunos cortafuegos. Además, la conexión VPN puede constituir un incumplimiento de los términos de las condiciones que deben aceptarse antes de utilizar el servicio WiFi.
  
 ===== 5. Creación de una infraestructura de clave pública (PKI) utilizando los scripts easy-rsa ===== ===== 5. Creación de una infraestructura de clave pública (PKI) utilizando los scripts easy-rsa =====
  
-La PKI se puede crear en cualquier ordenador con una instalación VPN, pero probablemente sea más sensato hacerlo tanto en el Servidor como en el Cliente, ya que ambos lo necesitarían. Una forma sencilla de crear la PKI es utilizar los scripts easy-rsa. Estos pueden ser descargados de la siguiente manera:+La PKI se puede crear en cualquier ordenador con una instalación VPN, pero probablemente sea más sensato hacerlo tanto en el servidor como en el cliente, ya que ambos lo necesitarían. Una forma sencilla de crear la PKI es utilizar los scripts easy-rsa. Estos pueden ser descargados de la siguiente manera:
  
 <code> <code>
Línea 82: Línea 82:
 ==== 5.1 Cree las claves y certificados para el servidor ==== ==== 5.1 Cree las claves y certificados para el servidor ====
  
-Siga estos pasos en el Servidor para crear las claves y certificados necesarios:+Siga estos pasos en el servidor para crear las claves y certificados necesarios:
  
 <code> <code>
Línea 120: Línea 120:
 </code> </code>
  
-==== 5.2 Cree las claves y certificados para el Cliente ====+==== 5.2 Cree las claves y certificados para el cliente ====
  
-Siga estos pasos en el Cliente para crear las claves y certificados necesarios:+Siga estos pasos en el cliente para crear las claves y certificados necesarios:
  
-Necesitará los scripts easy-rsa, para poder copiar el tarball easy-rsa del Servidor al Cliente y extraerlo:+Necesitará los scripts easy-rsa, para poder copiar el tarball easy-rsa del servidor al cliente y extraerlo:
  
 <code> <code>
Línea 143: Línea 143:
 Copie pki/reqs/client1.req al servidor. Copie pki/reqs/client1.req al servidor.
  
-=== 5.2.1 Firme la solicitud del Cliente en el Servidor ===+=== 5.2.1 Firme la solicitud del cliente en el servidor ===
  
-Para los fines de este artículo, se asume que el archivo de solicitud del Cliente (client1.req) ha sido transferido al directorio $HOME/openvpn/ del Servidor. Ahora puede proceder a importar y firmar la solicitud de cliente1:+Para los fines de este artículo, se asume que el archivo de solicitud del cliente (client1.req) ha sido transferido al directorio $HOME/openvpn/ del servidor. Ahora puede proceder a importar y firmar la solicitud de cliente1:
  
 <code> <code>
Línea 286: Línea 286:
 </code> </code>
  
-Entonces dele permisos ejecutables:+Entoncesdele permisos de ejecución:
  
 <code> <code>
Línea 298: Línea 298:
 En caso de que haya extraviado dicha documentación, puede buscar en Internet la forma de conseguirlo. Un buen punto de partida es http://portforward.com/. En caso de que haya extraviado dicha documentación, puede buscar en Internet la forma de conseguirlo. Un buen punto de partida es http://portforward.com/.
  
-===== 8. Configuración del Cliente =====+===== 8. Configuración del cliente =====
  
-En el equipo de Cliente, siga las siguientes instrucciones para configurarlo.+En el equipo de cliente, siga las siguientes instrucciones para configurarlo.
  
 Descargue el tarball de código fuente de OpenVPN y extráigalo como se explica en el Capítulo 6, luego proceda a copiar el archivo de configuración incluido para los clientes: Descargue el tarball de código fuente de OpenVPN y extráigalo como se explica en el Capítulo 6, luego proceda a copiar el archivo de configuración incluido para los clientes:
Línea 350: Línea 350:
 <note>Tenga en cuenta que los comentarios en client.conf pueden ser # o ; Los primeros se utilizan para comentar el texto, mientras que los segundos son para las líneas de configuración comentadas. Esto le ayudará mucho en el proceso de configuración.</note> <note>Tenga en cuenta que los comentarios en client.conf pueden ser # o ; Los primeros se utilizan para comentar el texto, mientras que los segundos son para las líneas de configuración comentadas. Esto le ayudará mucho en el proceso de configuración.</note>
  
-Necesitará este archivo generado por los scripts easy-rsa del Cliente:+Necesitará este archivo generado por los scripts easy-rsa del cliente:
  
 <code> <code>
Línea 357: Línea 357:
 </code> </code>
  
-y lo siguiente de los scripts easy-rsa del Servidor:+y lo siguiente de los scripts easy-rsa del servidor:
  
 <code> <code>
Línea 382: Línea 382:
 Introduzca la contraseña PEM del servidor cuando se le solicite. Introduzca la contraseña PEM del servidor cuando se le solicite.
  
-En el Cliente:+En el cliente:
  
 <code> <code>
Línea 388: Línea 388:
 </code> </code>
  
-Introduzca la contraseña PEM del Cliente cuando se le solicite. Para detener OpenVPN en el Cliente, pulse CTRL+C+Introduzca la contraseña PEM del cliente cuando se le solicite. Para detener OpenVPN en el cliente, pulse CTRL+C
  
-En ambos debería ver una nueva interfaz de red llamada tun0. En el Servidor, obtuve lo siguiente:+En ambos debería ver una nueva interfaz de red llamada tun0. En el servidor, obtuve lo siguiente:
  
 <code> <code>
Línea 403: Línea 403:
 </code> </code>
  
-Del mismo modo, en el Cliente:+Del mismo modo, en el cliente:
  
 <code> <code>
Línea 416: Línea 416:
 </code> </code>
  
-Naturalmente, puede hacer ping al servidor desde el Cliente (o viceversa):+Naturalmente, puede hacer ping al servidor desde el cliente (o viceversa):
  
-Por ejemplo, desde el Cliente:+Por ejemplo, desde el cliente:
  
 <code> <code>
Línea 432: Línea 432:
 </code> </code>
  
-===== 10. Almacenamiento de la contraseña PEM en un archivo seguro e Inicio automático del servicio tras el arranque =====+===== 10. Almacenamiento de la contraseña PEM en un archivo seguro e inicio automático del servicio tras el arranque =====
  
 Para iniciar el servicio OpenVPN en el arranque, se necesita una entrada en /etc/rc.d/rc.local, pero tendría que introducir la contraseña del servidor PEM cada vez. Esto podría ser indeseable si el servidor no está localizable. Si este es el caso, cree un archivo que contenga su contraseña PEM en una ubicación segura; por ejemplo, /root/password.ovpn que contenga sólo esta contraseña. Entonces restrinja su permiso: Para iniciar el servicio OpenVPN en el arranque, se necesita una entrada en /etc/rc.d/rc.local, pero tendría que introducir la contraseña del servidor PEM cada vez. Esto podría ser indeseable si el servidor no está localizable. Si este es el caso, cree un archivo que contenga su contraseña PEM en una ubicación segura; por ejemplo, /root/password.ovpn que contenga sólo esta contraseña. Entonces restrinja su permiso:
Línea 440: Línea 440:
 </code> </code>
  
-En el Servidor, edite /etc/openvpn/server.conf con las siguientes líneas:+En el servidor, edite /etc/openvpn/server.conf con las siguientes líneas:
  
 <code> <code>
Línea 449: Línea 449:
 También, descomente la opción 'daemon'. También, descomente la opción 'daemon'.
  
-Esto puede repetirse también en el Cliente, simplemente edite /etc/openvpn/client.conf en lugar de /etc/openvpn/server.conf.+Esto puede repetirse también en el cliente, simplemente edite /etc/openvpn/client.conf en lugar de /etc/openvpn/server.conf.
  
 Para iniciar el servicio OpenVPN automáticamente al arrancar desde el servidor, incluya estas líneas en /etc/rc.d/rc.local Para iniciar el servicio OpenVPN automáticamente al arrancar desde el servidor, incluya estas líneas en /etc/rc.d/rc.local
Línea 472: Línea 472:
 ===== 11. Enrutamiento IP ===== ===== 11. Enrutamiento IP =====
  
-Hasta ahora hemos creado un dispositivo de túnel tanto en el servidor como en el cliente llamado tun0 que sólo es visible para estos dos equipos. Sin embargo, se necesita más trabajo para enrutar la conexión del Cliente a través de tun0 y luego a la WAN que está conectada al Servidor.+Hasta ahora hemos creado un dispositivo de túnel tanto en el servidor como en el cliente llamado tun0 que sólo es visible para estos dos equipos. Sin embargo, se necesita más trabajo para enrutar la conexión del cliente a través de tun0 y luego a la WAN que está conectada al servidor.
  
 ==== 11.1 Configuración del servidor ==== ==== 11.1 Configuración del servidor ====
Línea 497: Línea 497:
 </code> </code>
  
-Sustituya 192.168.1.0 255.255.255.255.0 por la Ruta de red de su Cliente.+Sustituya 192.168.1.0 255.255.255.255.0 por la ruta de red de su cliente.
  
 Del mismo modo, edite /etc/openvpn/server.conf con las siguientes líneas: Del mismo modo, edite /etc/openvpn/server.conf con las siguientes líneas:
Línea 518: Línea 518:
 <note warning>Hasta ahora la configuración de DNS push no ha tenido éxito.</note> <note warning>Hasta ahora la configuración de DNS push no ha tenido éxito.</note>
  
-Puede utilizar los servidores DNS originales del Cliente o puede reescribir /etc/resolv.conf manualmente:+Puede utilizar los servidores DNS originales del cliente o puede reescribir /etc/resolv.conf manualmente:
  
 <code> <code>
Línea 526: Línea 526:
 </code> </code>
  
-De acuerdo con su tabla de enrutamiento, sin embargo, vale la pena intentar usar los servidores DNS listados por el Cliente, encuentro que generalmente todavía están disponibles, por lo que no necesitaría hacer nada. Sin embargo, tenga en cuenta las posibles fugas de DNS si está preocupado por su privacidad.+De acuerdo con su tabla de enrutamiento, sin embargo, vale la pena intentar usar los servidores DNS listados por el cliente, encuentro que generalmente todavía están disponibles, por lo que no necesitaría hacer nada. Sin embargo, tenga en cuenta las posibles fugas de DNS si está preocupado por su privacidad.
  
-Algunos usuarios han comunicado que el administrador de red de su Cliente (o cualquier otra aplicación similar) reescribió el archivo /etc/resolv.conf original después de su edición manual. Esto no ha podido ser reproducido por el autor de este artículo (todavía), pero puede considerar instalar y configurar openresolv(5) si esto le ocurre realmente. Un SlackBuild para openresolv se puede encontrar en http://slackbuilds.org. Openresolv se encuentra actualmente fuera del alcance de este artículo.+Algunos usuarios han comunicado que el administrador de red de su cliente (o cualquier otra aplicación similar) reescribió el archivo /etc/resolv.conf original después de su edición manual. Esto no ha podido ser reproducido por el autor de este artículo (todavía), pero puede considerar instalar y configurar openresolv(5) si esto le ocurre realmente. Un SlackBuild para openresolv se puede encontrar en http://slackbuilds.org. Openresolv se encuentra actualmente fuera del alcance de este artículo.
  
-A continuación tendrá que configurar algunos reenvíos NAT de iptables en el Servidor (solamente). Puede hacer esto primero limpiando las iptables:+A continuación tendrá que configurar algunos reenvíos NAT de iptables en el servidor (solamente). Puede hacer esto primero limpiando las iptables:
  
 <code> <code>
Línea 553: Línea 553:
 </code> </code>
  
-Si por otro lado desea un firewall mejor y tiene al menos una confianza moderada en iptables, le propongo que incluya el siguiente script en su /etc/rc.d/rc.firewall. Los comentarios en el script le ayudarán a entender el impacto que tendrán en el Servidor.+Si por otro lado desea un firewall mejor y tiene al menos una confianza moderada en iptables, le propongo que incluya el siguiente script en su /etc/rc.d/rc.firewall. Los comentarios en el script le ayudarán a entender el impacto que tendrán en el servidor.
  
 <code> <code>
Línea 572: Línea 572:
   $IPT -P FORWARD DROP    $IPT -P FORWARD DROP 
  
-  $IPT -N SERVICES # services is a custom chain +  $IPT -N SERVICES # services es una cadena personalizada.
  
   # salida permitida   # salida permitida
Línea 603: Línea 603:
   echo -e "Stopping the firewall ....\c"   echo -e "Stopping the firewall ....\c"
  
-  # polcies (permissive)+  # políticas (permisivas)
   $IPT -P OUTPUT ACCEPT   $IPT -P OUTPUT ACCEPT
   $IPT -P INPUT ACCEPT    $IPT -P INPUT ACCEPT 
Línea 657: Línea 657:
 </code> </code>
  
-y vuelva a conectarse con el Cliente:+y vuelva a conectarse con el cliente:
  
 <code> <code>
Línea 663: Línea 663:
 </code> </code>
  
-===== 12. Firewalls =====+===== 12. Cortafuegos =====
  
-In the previous chapter we referred to a firewall you may include to protect your OpenVPN Server.  However this chapter refers to firewalls on the Client LAN that may block the VPN connection by blocking traffic on UDP port 1194.+En el capítulo anterior nos referimos un firewall que puede incluir para proteger su servidor OpenVPN.  Sin embargo, este capítulo se refiere a los cortafuegos de la LAN del cliente que pueden bloquear la conexión VPN bloqueando el tráfico en el puerto UDP 1194.
  
-In order to penetrate through the Client firewall your may want to try changing the port to 443 - normally reserved for https. Using TCP instead of UDP will also helpTo make these change you will need to amend /etc/openvpn/server.conf of the Serverfrom+Para penetrar a través del cortafuegos del cliente, puede intentar cambiar el puerto a 443 - normalmente reservado para https. El uso de TCP en lugar de UDP también ayudaráPara hacer estos cambios necesitará modificar /etc/openvpn/server.conf del servidordesde
  
 <code> <code>
Línea 674: Línea 674:
 </code> </code>
  
-to:+a:
  
 <code> <code>
Línea 681: Línea 681:
 </code> </code>
  
-and /etc/openvpn/client.conf of the Clientfrom+/etc/openvpn/client.conf del clientedesde
  
 <code> <code>
Línea 689: Línea 689:
 </code> </code>
  
-to:+a:
  
 <code> <code>
Línea 697: Línea 697:
 </code> </code>
  
-The Server's firewall script would also need to be modifiedChange these lines:+El script del firewall del servidor también necesitaría ser modificadoCambie estas líneas:
  
 <code> <code>
-allow vpn on the default udp port 1194 +permite vpn en el puerto udp predeterminado 1194 
 $IPT -A SERVICES -p udp --dport 1194 -j ACCEPT  $IPT -A SERVICES -p udp --dport 1194 -j ACCEPT 
 </code> </code>
  
-to:+a:
  
 <code> <code>
-allow vpn on the custom tcp port 443 +permite vpn en el puerto udp modificado 443 
 $IPT -A SERVICES -p tcp --dport 443 -j ACCEPT  $IPT -A SERVICES -p tcp --dport 443 -j ACCEPT 
 </code> </code>
  
-You also have to modify your Router's port forwarding to TCP port 443.+También tiene que modificar el redireccionamiento del puerto de su enroutador al puerto TCP 443.
  
-===== 13. Sources =====+===== 13. Fuentes =====
    
 (1) http://en.wikipedia.org/wiki/OpenVPN (1) http://en.wikipedia.org/wiki/OpenVPN
Línea 725: Línea 725:
 (5) http://roy.marples.name/projects/openresolv/index (5) http://roy.marples.name/projects/openresolv/index
  
-  * Written for Slackware 14.2 in April 2018 +  * Escrito para Slackware 14.2 en Abril del 2018 
-  * Originally written by [[wiki:user:chrisabela | Chris Abela]]+  * Escrito originalmente por [[wiki:user:chrisabela | Chris Abela]] 
 +  * Traducido por  --- //[[wiki:user:pedro.herrero|Pedro Herrero García]] 2019/02/17 11:11 (UTC)//
 <!-- Please do not modify anything below, except adding new tags.--> <!-- Please do not modify anything below, except adding new tags.-->
 {{tag>howtos network openvpn}} {{tag>howtos network openvpn}}
  
 es:howtos:network_services:openvpn ()