LinuxParty
El objetivo de este tutorial es configurar una VPN que le permitirá hacer muchas cosas -pero mi objetivo principal se trata de conseguir que esto funcione para permitir que yo y mi amigo (que se encuentra detrás de una red de un cortafuegos en la Universidad) podamos jugar los nuevos juegos que no iban a funcionar sobre Hamachi porque no se encuentran en la misma LAN y requiere una conexión a Internet siempre activa (DRM). Su red también utiliza la modulación del tráfico y bloquea los paquetes UDP, lo que hace imposible los juegos en línea.
Usted necesitará
Un servidor VPS Linux o Linux - aunque este tutorial está dirigido específicamente a distribuciones basadas en Debian, las configuraciones OpenVPN serán iguales en todas las distribuciones - sólo tendrá que ajustar algunos de los comandos y directorios. He probado esto en OpenVZ pero debería funcionar en otras plataformas de virtualización.
Un par de módulos del núcleo habilitado - Tendrá que ser capaz de utilizar la funcionalidad de tabla NAT de IP Tables. También tendrá que tener el dispositivo Tap / Tun habilitado. Si utiliza un VPS usted deberá ponerse en contacto con su proveedor de hosting para permitir a estos si no están disponibles - señalo durante el tutorial donde podrá averiguar si estos no han sido habilitadas.
Una cliente - Usted necesitará por lo menos un cliente para conectarse a su VPN - esto puede ser con un cliente de Windows o Linux.
El servidor
Instalar OpenVPN - también necesitamos openssl, así que también podría instalar aquí:
(Debian / Ubuntu)
apt-get install openvpn openssl
o
(Fedora / CentOS)
yum -y install openvpn openssl
Abra el archivo /etc/default/openvpn y comente todo lo que fuera -esto significa que OpenVPN iniciará automáticamente cualquier VPN para que encuentre una configuración. Las configuraciones se almacenan en /etc/openvpn y tienen la extensión .conf
Ahora necesitamos crear algunos certificados.
cd /etc/openvpn
cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 ./easy-rsa
Ahora tenemos que editar las variables de los certificados que vamos a crear.
nano easy-rsa/vars
Ahora tiene que cambiar esta línea (en algún lugar cerca de la parte superior)
export EASY_RSA="`pwd`" por export EASY_RSA="/etc/openvpn/easy-rsa"
Entonces usted debe editar el siguiente para reflejar su información:
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo."
Sin embargo, dejaré todo igual, porque realmente no me importa la seguridad de mi red local de juego. Si no te importa ni entonces déjelo todo como predeterminado.
Guardar y salir.
Ahora lo que necesita para ejecutar este comando - el comando es un punto seguido por un espacio seguido de un punto seguido de /easy-rsa/vars - si usted no incluye el espacio no va a funcionar
. ./easy-rsa/vars
Se podría decir algo como NOTA: Si ejecuta ./clean-all, yo haré "rm -rf" en "/etc/openvpn/easy-rsa/keys" - Esto es normal.
A continuación, ejecute este comando que no le dará ninguna salida.
./easy-rsa/clean-all
Ahora corremos build-ca para obtener la autoridad de certificación (CA) de archivos. Puede utilizar todas las variables que se acaban de establecer en el archivo vars, basta con pulsar enter para todas las preguntas, debe consultar a OpenVPN como el nombre común.
./easy-rsa/build-ca OpenVPN
Una vez hecho esto vamos a construir las claves de servidor. Se le pedirá un montón de preguntas de nuevo, simplemente pulse intro a través de ellas, asegurarse de que el servidor es el valor predeterminado para el nombre común. La mayorías de las preguntas son del tipo (si) o (no) bastará con dejar las respuestas predeterminadas pulsando intro
./easy-rsa/build-key-server server
Ahora vamos a crear las claves de cliente - Repita este paso para cada cliente, cada vez que desea permitir en su VPN - 1 para cada cliente. Sólo cambie al cliente1 a client2, client3 ... etc y ejecute el comando tantas veces como sea necesario. Igual que el anterior acuerdo, simplemente repase a través de las preguntas y asegúrese de que el nombre común es la misma que la variable pasada en la línea de comando y nada más. Diga que sí a las dos últimas preguntas.
./easy-rsa/build-key client1
Ahora vamos a crear parámetros Diffie Hellman:
./easy-rsa/build-dh
Ahora hecho todo, debe tener un nuevo directorio llamado keys ubicado en: /etc/openvpn/easy-rsa/keys
Necesitaremos crear el archivo de configuración del servidor. Lo puede llamar como quiera, Lo llamaremos OpenVPN para cargar todas las configuraciones que encuentre.
nano /etc/openvpn/openvpn.conf
Y poner todo lo que se quiera que haga con los siguientes - la configuración por defecto debería funcionar directamente de la caja, sin embargo:
- He puesto el puerto 8080. El puerto predeterminado es 1194. He hecho este cambio porque algunos servidores de seguridad no permitirá conexiones a números de puerto distintos. Usted puede usar cualquier cosa, pero asegúrese de que usted lo cambie tanto en los clientes y el servidor.
- Yo también uso de proto tcp. UDP es probable que le de un mejor rendimiento, pero de nuevo, tuve que configurar las direcciones TCP como UDP fue bloqueado por el firewall. Se puede cambiar a udp si lo desea, pero asegúrese de hacerlo en tanto los clientes y el servidor.
- Puede cambiar las dos líneas en las que fijamos los servidores DNS si lo desea. Estos deben ser accesibles para los servidores de resolución de nombres en la VPN. Los que están en el archivo de configuración son público de Google DNS servidores de nombres así que debe estar bien a menos que tengas tu propio que tiene que utilizar.
- Es posible que desee desactivar la compresión del flujo de datos para exprimir ese rendimiento extra. No he tenido ningún problema ya que todos los clientes y el servidor es bastante alta potencia. Sólo descomente comp-lzo si usted nota un problema, asegúrese de hacerlo en el servidor y las configuraciones de cliente!
- Es posible que desee cambiar la configuración de usuario y de grupo si desea ejecutar el servidor como un usuario diferente o eliminarlos por completo para ejecutarse como root.
dev tun proto tcp port 8080 ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/server.crt key /etc/openvpn/easy-rsa/keys/server.key dh /etc/openvpn/easy-rsa/keys/dh1024.pem user nobody group nogroup server 10.8.0.0 255.255.255.0 persist-key persist-tun status /var/log/openvpn-status.log verb 3 client-to-client push "redirect-gateway def1" #set the dns servers push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" log-append /var/log/openvpn comp-lzo
Una vez que haya guardado todo eso y hecho los cambios que necesitamos decirle a nuestro servidor cómo manejar los paquetes de Internet de los diferentes clientes en la red:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Para asegurarse de que el reenvío de IP se activará después de que el servidor se reinicie, habrá que editar "/etc/sysctl.conf" y descomentar "net.ipv4.ip_forward = 1".
El comando iptables se supone que el dispositivo con acceso a Internet es eth0. Si usted está usando un VPS OpenVZ a continuación, reemplace eth0 con venet0. Para obtener una lista de todos los dispositivos de tipo ifconfig y cambiar el orden cuando sea necesario. Este comando no funcionará si usted no tiene los módulos del kernel adecuados habilitados con algo como esto:
WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.
FATAL: Module ip_tables not found.
iptables v1.4.10: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
Usted puede verificar el estado se han escrito correctamente con este comando:
sudo iptables -L -t nat
Y, si usted comete un error y desea eliminar todas las reglas de IPTables ofensivos:
sudo iptables -F -t nat
Ahora que hemos terminado con el servidor y listo para iniciarlo.
/etc/init.d/openvpn start
Usted debe recibir un mensaje de éxito. Si no, revise el registro de errores al escribir
cat /var/log/openvpn
Aquí es donde usted puede encontrar lo que necesita el tun / tap habilitación túnel módulo del kernel. Si usted consigue un montón de basura sobre el adaptador tun / tap no esté disponible o protegido contra escritura, entonces este es el caso más probable. Debe google otros errores.
El Cliente
¿Te acuerdas de todos los certificados de seguridad que hemos hecho, es necesario enviar a algunos de ellos hacia el cliente. Ahora, usted realmente debe enviar en una especie de forma segura, así que recomiendo ssh transferencia de archivos.
Tiene que transferir los archivos siguientes:
ca.crt
client1.crt
client1.key
Si usted tiene más de un cliente, tienen que obtener su clave personal y los archivos crt, así como el archivo de ca.crt.
Copie los 3 archivos que acaba de recibir desde el servidor al directorio openvpn / config. A continuación, deberá crear un archivo de configuración en este directorio. En Windows el archivo tiene la extensión OVPN. Llamé gamevpn.ovpn mío pero no importa realmente.
El contenido del archivo que sigue, usted tendrá que hacer ningún cambio en este confugiration para reflejar los cambios en la configuración del servidor que hayas hecho antes. Si no se realiza algún cambio en el servidor entonces lo único que necesita para preocuparse son.
- La opción de configuración remota se debe cambiar a la ip y el puerto del servidor host.
- Los archivos cert y la clave que coinciden con los que ha descargado desde el servidor.
dev tun client proto tcp remote w.x.y.z 8080 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client1.crt key client1.key comp-lzo verb 3
Guarde el archivo.
No hay instrucciones de Linux más después de este punto para el cliente.
En Windows ahora tiene que ejecutar la aplicación OpenVPN GUI, un acceso directo para el que estará en su escritorio si usted no lo ha eliminado. Asegúrese de ejecutar esta aplicación como un administrador o no será capaz de añadir los bits correspondientes de enrutamiento y piezas para la tabla de enrutamiento.
Una vez que esta aplicación se inicia, haga clic en el icono de la bandeja y haga clic en conectar - Nota: Si después de la conexión a internet que acaba de desconectar y suelta la tabla de enrutamiento normal se restablecerá.
Usted debe recibir una dirección IP y todo debe estar bien. Para comprobarlo, abra una ventana de comandos (inicio, cmd) y escriba ping 10.8.0.1 - si usted consigue respuestas entonces todo está bien. También debe poder hacer ping a la computadora del servidor y haga ping a otros clientes en la nueva VPN. No es el fin del mundo si usted no puede hacer ping a TODOS los demás clientes de la red - si usted puede hacer ping al menos unos pocos entonces la red está funcionando y es sólo a los clientes individuales que están configurados para no responder a un ping peticiones. Si no hay ningún cliente de la red puede hacer ping a cualquier otro cliente entonces usted podría tener un problema.
Ahora tenemos que probar la conectividad a Internet - pero antes de hacerlo hay que configurar Windows para usar la conexión VPN por defecto - se trata de Windows Vista / 7 instrucciones pero algo parecido funcionará en XP.
- Ir a Panel de control> Red de Redes e Internet> Centro y compartir> Cambiar configuración del adaptador
- Tienes que hacer clic derecho en el adaptador que se muestra en esta ventana que tiene la información "Tap-Win32 (o 64) ....." debajo. Haga clic en Cambiar nombre. Cambiar el nombre a GameVPN, OpenVPN o similar.
- Haga clic en la conexión de red recién cambiado de nombre y seleccione Propiedades
- Desmarque la casilla situada junto al Programador de paquetes QoS y Protocolo de Internet versión 6.
- Una vez hecho esto se puede hacer clic.
- Ahora debe presionar alt para mostrar el menú en la parte superior de la ventana de conexiones.
- Haga clic en Avanzadas> Configuración avanzada
- En el cuadro superior, habrá una lista de sus conexiones, es necesario utilizar las flechas de la derecha para mover GameVPN o como se denomina a la parte superior de la lista y haga clic en Aceptar.
- Ir a http://www.whatsmyip.org/
Su dirección IP debería ser ahora de que el servidor.
Esto debe ser, usted debería ser capaz de jugar juegos, navegar por Internet, descargar etc torrentes a través de la VPN. Usted debe ser capaz de ejecutar juegos en modo LAN y conectar con los demás clientes a través de su IP interna o conectarse a los juegos en Internet.
Es posible que algunas aplicaciones de ignorar sus mejores esfuerzos y utilizar su conexión a Internet por defecto de todos modos, en cuyo caso buscar una aplicación llamada ForceBindIP
Espero que esto ayudó a alguien porque me tomó años para encontrar una manera de conseguir que esto funcione!
Yo ya había leído en algún otro lugar que el 90% de los problemas con OpenVPN están relacionados con firewall - ¡buena suerte!
-
Seguridad
- Conexión Segura NFS en Linux, Tunelizar NFS sobre SSH y Configuración de NFS sobre SSH para Mayor Seguridad
- Utilizar ssh sin contraseña con ssh-keygen y ssh-copy-id
- Millones de teléfonos móviles podrían ser vulnerables a la vigilancia del gobierno chino
- Cómo limitar las conexiones SSH a la red local en Linux
- Los televisores inteligentes son como un «caballo de Troya digital» en los hogares
- Snort para Windows, detección de Intrusos y seguridad.
- Detección de Intrusiones con las herramientas: BASE y Snort.
- El Sistema de Detección de Intrusos: Snort. ( Windows y Linux )
- Configuración con Ejemplos de Snort para Windows, detección de intrusiones
- ¿El gobierno de EE. UU. ignoró la oportunidad de hacer que TikTok fuera más seguro?
- ¿Qué es SSH y cómo se utiliza? Los conceptos básicos de Secure Shell que necesitas saber
- Asegurar memcached del servidor, para evitar amplificar ataques DDoS
- Consejos de Seguridad para Pagos Móviles en España: Protege tus Transacciones con Estos Consejos Prácticos
- 22 herramientas de seguridad de servidores Linux de código abierto en 2023
- 8 hábitos que deben tomar los teletrabajadores altamente seguros