You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

147 lines
4.3 KiB

# FUENTE
https://www.youtube.com/watch?v=P7i-oLe2bHk
# 1. INSTALAR EL SERVIDOR OPENVPN
# ip pública
# Actualizar repositorio
sudo apt update
# instalar OpenVPN y Easy-rsa (para crear la pki)
sudo apt install openvpn easy-rsa -y
openvpn --help
openvpn --version
# 2. CREAR LA PKI Y LA AC
# CA = Autoridad de certificación
# PKI = Infraestructura de cable pública
# copiar el directorio easy-rsa en OpenVPN
sudo cp -r /usr/share/easy-rsa /etc/openvpn
# Ir al directorio
cd /etc/openvpn/easy-rsa
# Crear la PKI
sudo ./easyrsa init-pki
# Crear la CA
sudo ./easyrsa build-ca
# ca.key , ca.cert
# 3. GENERAR CLAVES DEL SERVIDOR
# generar claves .key .req
sudo ./easyrsa gen-req servidor-reymota nopass
# firmar el certificado del servidor (.crt) clave mcecdc
sudo ./easyrsa sign-req server servidor-reymota
# Copiar las claves generadas al directorio de openvpn
sudo cp /etc/openvpn/easy-rsa/pki/issued/servidor-reymota.crt /etc/openvpn/server
sudo cp /etc/openvpn/easy-rsa/pki/ca.crt /etc/openvpn/server
sudo cp /etc/openvpn/easy-rsa/pki/private/servidor-reymota.key /etc/openvpn/server
# 4. CREA LA CLAVE TLS-CRYPT
cd /etc/openvpn/server
sudo openvpn --genkey --secret ta.key
# 5. CREAR CLAVES DEL CLIENTE
# accedemos al directorio
sudo mkdir -p /etc/openvpn/client/keys
# quitamos privilegios a usuarios y grupos
sudo chmod -R 700 /etc/openvpn/client
# vamos al directorio
cd /etc/openvpn/easy-rsa
# generar claves .key .req
sudo ./easyrsa gen-req iphonetino nopass
# firmar el certificado del cliente (.crt)
sudo ./easyrsa sign-req client iphonetino
# copiar las claves generadas al directorio de openvpn
sudo cp /etc/openvpn/easy-rsa/pki/issued/iphonetino.crt /etc/openvpn/client/keys
sudo cp /etc/openvpn/easy-rsa/pki/private/iphonetino.key /etc/openvpn/client/keys
sudo cp /etc/openvpn/easy-rsa/pki/ca.crt /etc/openvpn/client/keys
sudo cp /etc/openvpn/server/ta.key /etc/openvpn/client/keys
# lo anterior se puede hacer usando la script generaClavesCliente.sh
# 6. CONFIGURAR SERVIDOR (server.conf)
# asegurarse que existe el usuario nobody y el grupo nobody, si no, añadirlos
sudo cp ./server.conf /etc/openvpn/server/server.conf
# 7. CONFIGURAR CLIENTE (client.conf)
sudo cp ./client.conf /etc/openvpn/client/client.conf
# 8 ABRIR CORTAFUEGOS Y REINICIAR OPENVPN
# Abrir puerto 1194 de la VPS
# permitir el reenvio de paquetes entre interfaces
sudo vi /etc/sysctl.conf
# buscar estas líneas
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
sudo su
echo 1 > /proc/sys/net/ipv4/ip_forward
exit
root@creylopez-iMac:/etc/openvpn# ip ad
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether c8:2a:14:24:2d:64 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.136/24 brd 192.168.1.255 scope global dynamic noprefixroute enp2s0
valid_lft 50957sec preferred_lft 50957sec
inet6 fe80::a1f8:2602:3fee:4caf/64 scope link noprefixroute
valid_lft forever preferred_lft forever
# Añadir reglas al cortafuego
sudo iptables -t nat -I POSTROUTING 1 -s 10.8.0.0/24 -o enp2s0 -j MASQUERADE
sudo iptables -I INPUT 1 -i tun0 -j ACCEPT
sudo iptables -I FORWARD 1 -i enp2s0 -o tun0 -j ACCEPT
sudo iptables -I FORWARD 1 -i tun0 -o enp2so -j ACCEPT
sudo iptables -I INPUT 1 -i enp2s0 -p udp --dport 1194 -j ACCEPT
# para ver si las reglas del cortafuegos están puestas
sudo iptables -L -nv
# para ver las reglas nat
sudo iptables -t nat -L -nv
# Guardar las reglas permanentemente
sudo apt install iptables-persistent -y
sudo netfilter-persistent save
# Configurar OpenVPN para que se inicie en el arranque
sudo systemctl -f enable openvpn-server@server.service
# iniciar OpenVPN
service openvpn-server@server start
# comprobar
sudo service openvpn-server@server status
# 9. CREAR LOS FICHEROS ovpn
# ver la estructura de los ficheros vpn
# copiar el fichero plantilla.conf
cp ./plantilla.conf /etc/openvpn/client/plantilla.conf
# shell script para crear el ovpn
cp ./make_config.sh /etc/openvpn/client
# Generar el fichero ovpn
sudo ./make_config.sh iphonetino