GNU/Linux >> Tutoriales Linux >  >> Panels >> OpenVPN

Configuración de un servidor OpenVPN con DD-WRT y Viscosity

Las redes privadas virtuales (VPN) se pueden utilizar para una serie de aplicaciones muy útiles. Puede conectarse de forma segura a cualquier punto de acceso WiFi público. Puede superar las restricciones de bloqueo geográfico en sus sitios web favoritos. E incluso puede conectarse a la red de su hogar u oficina desde cualquier parte del mundo, como si estuviera sentado en su escritorio. Esta guía lo guiará a través del proceso de configurar su propio servidor OpenVPN y conectarse a él con su copia de Viscosity.

Ejecutar su propio servidor OpenVPN le permitirá encriptar todo lo que hace en Internet, para que pueda realizar sus operaciones bancarias en línea de manera segura en el WiFi gratuito de su café favorito. Todo lo que envíe a través de la conexión VPN se cifrará desde su dispositivo hasta que llegue a su servidor OpenVPN en casa. La configuración de su servidor OpenVPN para acceder a la red de su hogar u oficina le brinda acceso completo a todos sus archivos en su red.

Esta guía lo guiará a través de los pasos necesarios para configurar un servidor OpenVPN en una instancia de DD-WRT que le permita acceder de forma segura a la red de su hogar/oficina desde una ubicación remota y, opcionalmente, enviar todo el tráfico de su red a través de ella para que pueda acceder. Internet de forma segura también.

Debido a que DD-WRT se usa principalmente en el hardware del enrutador, supondremos que la instancia de DD-WRT tiene una conexión directa a Internet y su propia dirección IP. Por lo tanto, no consideraremos ningún problema relacionado con tener su instancia DD-WRT detrás de otro enrutador.

Preparación

Para esta guía, asumimos:

  • Ya ha instalado la versión adecuada de DD-WRT para el hardware de su enrutador
  • DD-WRT se ha configurado con al menos una interfaz WAN y una interfaz LAN
  • Está conectado con su dispositivo cliente al servidor DD-WRT a través de su interfaz LAN durante esta guía
  • Esta instalación de DD-WRT es una instalación nueva
  • Ya tiene una copia de Viscosity instalada en su dispositivo cliente

Si necesita descargar e instalar una copia de DD-WRT, puede encontrar información en http://www.dd-wrt.com/wiki/index.php/Installation. No cubriremos los detalles de la configuración de una instancia de DD-WRT, se pueden encontrar muchas guías en línea. Independientemente de la versión de DD-WRT que esté ejecutando, es muy probable que se apliquen muchos o incluso todos los pasos descritos en esta guía. Si desea configurar un servidor OpenVPN en un sistema operativo diferente, consulte nuestras otras guías.

Su dispositivo cliente debe estar conectado al servidor DD-WRT a través de la interfaz LAN. Esto es necesario para que pueda acceder al panel de control para modificar la configuración de DD-WRT. Los detalles de cómo puede lograr esto dependen de su configuración de red particular.

Si aún no tiene una copia de Viscosity instalada en su cliente, consulte esta guía de configuración para instalar Viscosity (Mac | Windows).

Soporte

Lamentablemente, no podemos brindar asistencia directa para configurar su propio servidor OpenVPN. Brindamos esta guía como cortesía para ayudarlo a comenzar y aprovechar al máximo su copia de Viscosity. Probamos minuciosamente los pasos de esta guía para asegurarnos de que, si sigue las instrucciones que se detallan a continuación, estará bien encaminado para disfrutar de los beneficios de ejecutar su propio servidor OpenVPN.

Para obtener más información o ayuda con DD-WRT, recomendamos consultar https://dd-wrt.com/support/

Generando Certificados y Claves

El siguiente paso es generar sus configuraciones para el servidor y sus clientes, así como los certificados que las acompañan. Puede hacerlo fácilmente siguiendo la Guía de creación de certificados y claves. Genere todo en su PC o Mac y luego tome nota de la ruta a su servidor carpeta que se crea, usaremos los archivos aquí más adelante.

Si usa el servidor DNS predeterminado (10.8.0.1), deberá configurar un servidor DNS usted mismo; las instrucciones se encuentran al final de este artículo. Recomendamos en su lugar usar un servidor DNS existente, un servidor DNS disponible públicamente como el de Google (8.8.8.8 y 8.8.4.4) es el más fácil.

Creando el Servidor OpenVPN

Ahora podemos usar el panel de control basado en la web para configurar el servidor OpenVPN en nuestra instancia DD-WRT. Debe iniciar sesión en el panel de control desde su dispositivo cliente conectado a la interfaz LAN del servidor DD-WRT. Tenga en cuenta que "C:\ruta\a" y "ruta/a/" a continuación deben reemplazarse con la ubicación donde creó su certificado/claves.

  1. Abra un navegador en su cliente y navegue hasta la dirección IP de la interfaz LAN de su servidor DD-WRT (algo así como http://192.168.1.1 ). Si es la primera vez que inicia sesión en su panel de control de DD-WRT, le pedirá que cree nuevas credenciales de inicio de sesión.



  2. Haga clic en Services pestaña y luego VPN pestaña.
  3. En el demonio OpenVPN sección, haga clic en Habilitar . Esto expandirá la sección y le proporcionará áreas para pegar los certificados que creamos anteriormente.
  4. Asegúrese de que el Tipo de inicio el parámetro está establecido en WAN arriba .
  5. En su dispositivo cliente, en la Terminal (Mac) o Símbolo del sistema (Windows), lea el contenido de ca.crt archivo escribiendo:
    Mac
    cat path/to/server/ca.crt
    Windows
    type "C:\path\to\server\ca.crt"
  6. Copie el resultado de este comando (incluidas las partes -----BEGIN CERTIFICATE----- y -----END CERTIFICATE-----) y péguelo en el panel de control de DD-WRT sección denominada Certificado de CA .
  7. Copie el resultado del siguiente comando y péguelo en el Certificado de servidor público sección del panel de control de DD-WRT:
    Mac
    cat path/to/server/server.crt
    Windows
    type "C:\path\to\server\server.crt"
  8. Copie el resultado del siguiente comando y péguelo en la clave del servidor privado del panel de control de DD-WRT.
    Mac
    cat path/to/server/server.key
    Windows
    type "C:\path\to\server\server.key"
  9. Copie la salida de parámetros de Diffie Hellman y péguela en el DH PEM sección del panel de control de DD-WRT:
    Mac
    cat path/to/server/dh.pem
    Windows
    type "C:\path\to\server\dh.pem"

Finalmente, necesitamos insertar la configuración del servidor. Pegue lo siguiente en la Configuración de OpenVPN sección del panel de control de DD-WRT:

# The credential files
dh /tmp/openvpn/dh.pem
ca /tmp/openvpn/ca.crt
cert /tmp/openvpn/cert.pem
key /tmp/openvpn/key.pem

# Our VPN connection will be transported over UDP
proto udp

# The server needs to keep a record of client virtual IP addresses so that they
# can be reassigned if the server goes down
ifconfig-pool-persist /tmp/openvpn/ip-pool.txt

# To ensure that each side of the VPN knows if the connection has been severed,
# we want to ping each side every 10 seconds. If either side fails to recieve a
# ping within 2 minutes, then it will assume the other side is down
keepalive 10 120

# To avoid attempting to access resources that may no longer be accessible on
# restart
persist-key
persist-tun

# To write (and rewrite) a short summary of current VPN connections every minute
# to a file
status /tmp/openvpn/openvpn-status.log

# The verbosity of this connection logging (displayed in the Viscosity 'Details'
# window) can range from 0 (silent) to 9 extremely verbose. We will use the
# default of 3
verb 3

# To prevent more than 10 duplicates of the same log message in a row from
# flooding the Viscosity log
mute 10

# Provide GUI access over port 5002
management 127.0.0.1 5002

# This server will use the default OpenVPN port (1194)
port 1194

# We need the VPN to create a tun network interface through which we can route
# all our traffic
dev tun0

# The VPN requires a private IP subnet. We will use the default OpenVPN IP
# subnet
server 10.8.0.0 255.255.255.0

# We want VPN clients connected to this server to be able to access any hosts
# accessible on your home network. We are assuming that your local network
# subnet is 192.168.0.x/24. If it is something else, you will need to change the
# IP address in the command below
push "route 192.168.0.0 255.255.255.0"

# We want to allow hosts connected to the OpenVPN server to be able to see each
# other
client-to-client

Preste especial atención a la dirección IP en el push "route 192.168.0.0 255.255.255.0" . Asegúrese de que esta subred coincida con la subred IP de la LAN de su hogar/oficina. Si no está configurando este servidor VPN para acceder a la LAN de su hogar/oficina, puede comentar esta línea. Cuando haya terminado, haga clic en Apply Settings botón en la parte inferior. Esto hará que el servidor OpenVPN se inicie con esta configuración.

Configuración del servidor DNS

Si planea cifrar todo el tráfico de red a través de su servidor VPN, se recomienda habilitar su propio servidor DNS.

  1. Haga clic en Setup en el panel de control web y desplácese hacia abajo hasta Configuración del servidor de direcciones de red (DHCP) sección.
  2. Asegúrese de que las tres configuraciones siguientes estén marcadas:
    • Usar DNSMasq para DHCP
    • Usar DNSMasq para DNS
    • DHCP autorizado
  3. Haga clic en Apply Settings botón para guardar estos cambios.
  4. Haga clic en Servicios y luego desplácese hacia abajo hasta DNSMasq sección.
  5. Asegúrese de que las dos configuraciones siguientes estén habilitadas:
    • DNSMasq
    • DNS locales
  6. Debajo de esta configuración, debería ver un cuadro para Opciones adicionales de DNSMasq . Copie las siguientes líneas en ese cuadro:
    domain-needed
    bogus-priv

    interface=tun0
    listen-address=127.0.0.1

    server=8.8.8.8
    server=8.8.4.4
    donde estamos usando los servidores DNS de Google (8.8.8.8 y 8.8.4.4). Si tiene otro proveedor de servicios de DNS de su elección, no dude en utilizar sus servidores aquí.
  7. Haga clic en Apply Settings botón en la parte inferior de la página. Esto reiniciará el servidor DNSMasq con esta configuración.

Servidor de tiempo

Es una buena idea configurar el reloj correctamente en su enrutador DD-WRT.

  1. Haga clic en Setup y desplácese hacia abajo hasta Configuración de hora sección.
  2. Establezca la configuración de la hora según corresponda para su región. Una búsqueda en Google del servidor horario de su región debería proporcionarle una IP/nombre de servidor apropiado (como pool.ntp.org).



  3. Haga clic en Apply Settings botón en la parte inferior de la página.
  4. Para confirmar que se han aplicado los ajustes de tiempo, haga clic en Administration y luego haga clic en Commands subpestaña.
  5. En los Comandos cuadro, escriba:
    date
    y presione Run Commands botón. Esto debería generar la fecha y la hora actuales (muy probablemente en la zona horaria UTC).

Configuración del cortafuegos

  1. Haga clic en Administration y luego haga clic en Commands subpestaña.
  2. Copie lo siguiente en los Comandos box:
    iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
    iptables -I FORWARD -p udp -s 10.8.0.0/24 -j ACCEPT
    iptables -I INPUT -p udp --dport=1194 -j ACCEPT
    iptables -I OUTPUT -p udp --sport=1194 -j ACCEPT

    iptables -I INPUT -p udp -i eth0 -j ACCEPT
    iptables -I FORWARD -i eth0 -o tun0 -j ACCEPT
    iptables -I FORWARD -i tun0 -o eth0 -j ACCEPT

    iptables -I INPUT -p udp -i br0 -j ACCEPT
    iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
    iptables -I FORWARD -i tun0 -o br0 -j ACCEPT
  3. Haga clic en Save Firewall botón.

Configuración de la viscosidad

El último paso es configurar la Viscosidad. Gracias a openvpn-generate, esto es tan fácil como importar y conectarse.

Importando

Copie su archivo *.visz que creó con openvpn-generate a su máquina Mac o Windows con Viscosity instalado y haga doble clic en el archivo. Debería ver un aviso de que la configuración se importó correctamente.

Conectando y usando su conexión VPN

Ahora está listo para conectarse. Haga clic en el ícono Viscosity en la barra de menú de macOS o en la bandeja del sistema de Windows para abrir el menú Viscosity, seleccione la conexión que importó y Viscosity se conectará.

Para verificar que la VPN esté funcionando, puede abrir la ventana Detalles desde el menú Viscosidad. Esto le permitirá ver los detalles de la conexión, el tráfico y el registro de OpenVPN.



Eso es todo, ha configurado su propio servidor OpenVPN. ¡Felicitaciones, ahora puede disfrutar de los beneficios de operar su propio servidor OpenVPN!


OpenVPN
  1. Cómo instalar y configurar un servidor OpenVPN en Ubuntu 22.04

  2. Cómo instalar y alojar un servidor OpenVPN con Docker

  3. Configuración de un servidor de ofuscación con Obfsproxy y Viscosity

  4. Instale y configure el servidor OpenVPN en Ubuntu 20.04

  5. Instalar y configurar el servidor OpenVPN FreeBSD 12

Configuración de un servidor OpenVPN con Sophos XG y Viscosity

Configuración de un servidor OpenVPN con Synology y Viscosity

Configuración de un servidor OpenVPN con enrutador Tomato y Viscosity

Configuración de un servidor OpenVPN con Ubiquiti EdgeRouter (EdgeOS) y Viscosity

Configuración de un servidor OpenVPN con Ubuntu y Viscosity

Configuración de un servidor OpenVPN con VyOS y Viscosity