GNU/Linux >> Tutoriales Linux >  >> OpenSuse

Cómo instalar y configurar OpenVPN en OpenSUSE Leap 42.1

VPN o red privada virtual es una red privada segura a través de una red pública como Internet. Una VPN es un túnel seguro a través de Internet que protege su tráfico de datos y aumenta la privacidad y seguridad en Internet. El acceso a la VPN está restringido mediante métodos de autenticación seguros.

OpenVPN es un software de código abierto para construir redes privadas virtuales, utiliza la biblioteca OpenSSL para cifrar los datos tunelizados y admite transportes UDP o TCP. OpenVPN puede utilizar claves precompartidas, mecanismos de autenticación basados ​​en certificados y en nombre de usuario/contraseña.

En este tutorial, le mostraré cómo implementar una red privada virtual usando OpenVPNvpn bajo el sistema operativo Linux OpenSUSE Leap 42.1.

Requisitos previos

  • OpenSUSE Leap 42.1 - 64 bits
  • Privilegios de raíz
  • TUN/TAP activado

Paso 1:verificar si TUN/TAP está habilitado

Si desea crear una VPN en su servidor, asegúrese de que TUN/TAP esté instalado y habilitado. Puede comprobarlo con el siguiente comando:

cat /dev/net/tun

El resultado debería ser:

cat: /dev/net/tun: File descriptor in bad state

Paso 2:instalar OpenVPN

OpenVPN está disponible en el repositorio de OpenSUSE. Puede instalarlo usando el comando zypper:

zypper in openvpn

Paso 3:configuración de Easy-RSA

A continuación, descargue easy-rsa para generar un archivo de certificado. easy-rsa es una utilidad para administrar certificados, puede crear la autoridad de certificación raíz con él y solicitar y firmar certificados.

Vaya al directorio de OpenVPN y descargue easy-rsa con el comando wget:

cd /etc/openvpn/
wget https://github.com/OpenVPN/easy-rsa/archive/release/2.x.zip

Extraiga el archivo y mueva el directorio easy-rsa:

unzip 2.x.zip
mv easy-rsa-release-2.x/easy-rsa/ /etc/openvpn/
rm -rf easy-rsa-release-2.x/

Configurar la clave

Vaya al directorio easy-rsa y edite el archivo vars para configurar la clave y el certificado:

cd easy-rsa/2.0/
vim vars

Línea 53:si eres realmente paranoico, puedes aumentar el tamaño de la clave.

export KEY_SIZE=2048

Línea 56 y 59 - En cuántos días caducarán la clave y el certificado.

export CA_EXPIRE=3650
export KEY_EXPIRE=3650

Línea 64 - 72 - Cambie el valor predeterminado de la clave y la información del certificado.

export KEY_COUNTRY="US"
export KEY_PROVINCE="California"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="[email protected]main"
export KEY_OU="MyOrganizationalUnit"
export KEY_NAME="EasyRSA"

Guarde el archivo y salga.

Inicialice la PKI

A continuación, inicialice la PKI (infraestructura de clave pública):

source ./vars && ./clean-all && ./build-ca

Dejaremos el valor predeterminado, solo presione "Enter".

Generar parámetros Diffie Hellman

Ejecute el siguiente comando:

./build-dh

Verá el resultado:

Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
..................................

Generar la clave privada del servidor

Genere la clave privada con el nombre "servidor":

./build-key-server server

Presiona enter y escribe "y" para confirmar y generar la clave.

Generar clave y certificado para el cliente

Genere la clave de cliente y el certificado con el nombre "cliente1":

./build-key client1

Presiona enter y escribe "y" para confirmar la generación de claves.

La clave y el certificado se han generado en el directorio "claves". Ahora haga una copia del directorio "keys" y colóquelo en el directorio "openvpn".

cp -r keys/ /etc/openvpn/

Paso 4:configurar OpenVPN

En este paso, configuraremos OpenVPN para que se ejecute en el protocolo UDP, usando el puerto 2034 para la conexión del cliente. Cree el nuevo archivo de configuración server.conf en el directorio de OpenVPN.

cd /etc/openvpn/
vim server.conf

Pegue la configuración a continuación:

#change with your port
port 2034

#You can use udp or tcp
proto udp

# "dev tun" will create a routed IP tunnel.
dev tun

#Certificate Configuration

#ca certificate
ca /etc/openvpn/keys/ca.crt

#Server Certificate
cert /etc/openvpn/keys/server.crt

#Server Key and keep this is secret
key /etc/openvpn/keys/server.key

#See the size a dh key in /etc/openvpn/keys/
dh /etc/openvpn/keys/dh2048.pem

#Internal IP will get when already connect
server 10.10.2.0 255.255.255.0

#this line will redirect all traffic through our OpenVPN
push "redirect-gateway def1"

#Provide DNS servers to the client, you can use goolge DNS
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

#Enable multiple client to connect with same key
duplicate-cn

keepalive 20 60
comp-lzo
persist-key
persist-tun
daemon

#openvpn status log
status /var/log/openvpn/openvpn-status.log

#enable log
log-append /var/log/openvpn/openvpn.log

#Log Level
verb 3

Guarde el archivo y salga del editor.

A continuación, cree un nuevo directorio y archivo para el registro de openvpn:

mkdir -p /var/log/openvpn/
touch /var/log/openvpn/{openvpn,openvpn-status}.log

Paso 5:configurar SuSEfirewall2

SuSEfirewall2 es un script para generar reglas de iptables basado en el archivo "/etc/sysconfig/SuSEfirewall2". Instalaremos SuSEfirewall2 y luego configuraremos el puerto para acceder a OpenVPN, luego habilitaremos NAT con un script iptables para OpenVPN.

Instale SuSEfirewall2 con el comando zypper:

zypper in SuSEfirewall2

Ahora, vaya al directorio sysconfig y edite el archivo de configuración de SuSEfirewall2:

cd /etc/sysconfig/
vim SuSEfirewall2

Línea 134 - Habilitar ruta.

FW_ROUTE="yes"

Línea 253:habilite el puerto TCP 22 para el acceso SSH desde fuera de la red.

FW_SERVICES_EXT_UDP="22"

Línea 267 - Habilitar puerto udp para acceso de cliente openvpn - puerto 2034.

FW_SERVICES_EXT_UDP="2034"

Línea 877 - Habilitar reglas personalizadas SuSEfirewall2.

FW_CUSTOMRULES="/etc/sysconfig/scripts/SuSEfirewall2-custom"

Guardar y salir.

A continuación, edite las reglas personalizadas de SuSEfirewall2 en el directorio de scripts.

cd /etc/sysconfig/scripts/
vim SuSEfirewall2-custom

Dentro de la directiva "fw_custom_after_chain_creation", pegue las nuevas reglas de iptables para OpenVPN:

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.10.2.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.10.2.0/24 -o eth0 -j MASQUERADE

Guardar y salir.

Nota:

IP 10.10.2.0/24 es la red del archivo de configuración server.conf OpenVPN.

Ahora podemos habilitar el reenvío agregando esta nueva línea de configuración al archivo sysctl.conf.

vim /etc/sysctl.conf

Pegue la configuración a continuación:

net.ipv4.ip_forward = 1

Guardar y salir.

Nota:

Si ya tiene la línea en el archivo, cambie el valor de "0" a "1" en lugar de agregar una nueva línea.

Ahora ejecute el siguiente comando para aplicar el cambio de configuración.

sysctl -p

Inicie SuSEfirewall2 y el servidor OpenVPN:

systemctl start SuSEfirewall2
systemctl start [email protected]

Si tiene un error, puede ver el mensaje de error detallado en el registro de OpenVPN.

Agregue todos los servicios al inicio del sistema:

systemctl enable SuSEfirewall2
systemctl enable [email protected]

Paso 5:configurar el cliente

Descargue la clave de cliente y el certificado del directorio de claves a su computadora local. Puedes usar el comando scp o sftp, estoy aquí usando scp:

Comando que debe ejecutarse en la computadora local.

scp [email protected]:~/etc/openvpn/keys/ca.crt ~/myvpn/
scp [email protected]:~/etc/openvpn/keys/client1.crt ~/myvpn/
scp [email protected]:~/etc/openvpn/keys/client1.key ~/myvpn/

En el directorio myvpn, cree un nuevo archivo de configuración para el cliente "client1.ovpn".

cd ~/myvpn/
vim client1.ovpn

Pegue la configuración a continuación:

client
dev tun
proto udp

#Server IP and Port
remote SERVERIP 2034

resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo

Guardar y salir.

Para conectarse a nuestra VPN, puede instalar un cliente VPN o, si está utilizando Linux, puede usar el "Administrador de red". Si desea probar la VPN con un terminal, puede usar el siguiente comando:

cd ~/myvpn/
sudo openvpn --config client1.ovpn


OpenSuse
  1. Cómo instalar y configurar Postgres 14 en OpenSUSE Leap 15.3

  2. Cómo instalar Mongodb 5 en Opensuse Leap 15.3

  3. Cómo instalar y configurar Redis 6 en OpenSUSE Leap 15.3

  4. Cómo instalar y usar Podman en OpenSUSE Leap 15.3

  5. Cómo instalar Java 17 en OpenSUSE Leap 15.3

Cómo instalar un escritorio KDE OpenSUSE Leap 42.1

Instalar y configurar KVM en OpenSUSE Tumbleweed

Cómo instalar Skype en openSUSE Leap

Cómo instalar TeamViewer 12 en openSUSE Leap 42.2

Cómo instalar Dropbox en openSUSE Leap 42.2

Cómo instalar y configurar Memcached en openSUSE Leap 15