Herramientas de usuario

Herramientas del sitio


proyectos:multivpnbuster

¡Esta es una revisión vieja del documento!


Varios servicios de VPN en un solo servidor Buster

Instalar herramientas

apt install openvpn easyrsa

Ajustar el reenvío de paquetes

echo 1 > /proc/sys/net/ipv4/ip_forward

En /etc/sysctl.conf descomentar la linea que contiene

net.ipv4.ip_forward=1

Crear espacio de trabajo para red01

mkdir /etc/openvpn/server/red01
mkdir /etc/openvpn/client/red01

Preparar la autoridad certificadora de red01

cp -r /usr/share/easy-rsa/ /etc/openvpn/server/red01/autoridad
cd /etc/openvpn/server/red01/autoridad
cp vars.example vars

Hay que editar las variables para identificar la autoridad de la priemra red

nano vars

Encontrar donde están estas variables

#set_var EASYRSA_REQ_COUNTRY    "US"
#set_var EASYRSA_REQ_PROVINCE   "California"
#set_var EASYRSA_REQ_CITY       "San Francisco"
#set_var EASYRSA_REQ_ORG        "Copyleft Certificate Co"
#set_var EASYRSA_REQ_EMAIL      "me@example.net"
#set_var EASYRSA_REQ_OU         "My Organizational Unit"

Habrá que descomentarlas y modificarlas a su gusto

set_var EASYRSA_REQ_COUNTRY     "SV"
set_var EASYRSA_REQ_PROVINCE    "SanSalvador"
set_var EASYRSA_REQ_CITY        "San Salvador"
set_var EASYRSA_REQ_ORG         "ChonteSV"
set_var EASYRSA_REQ_EMAIL       "chirote@chonte.sv"
set_var EASYRSA_REQ_OU          "vpn 01"

Se inicializa la autoridad certificadora

./easyrsa init-pki
./easyrsa build-ca nopass

Preguntará que nombre desea para la autoridad, pude ponerle lo que se le ocurra, en este ejemplo ChonteSV_vpn_1

Common Name (eg: your user, host, or server name) [Easy-RSA CA]:ChonteSV_vpn_1

Luego se generan los certificados para este primer servicio, primero la solicitud de firma, pedirá un nombre para el servidor que solicita pero este fue pasado por medio del comando, solo basta darle Enter

./easyrsa gen-req "ChonteSV_vpn_1" server nopass

Luego habrá que firmar la solicitud del servidor, pedirá una confirmación de la firma, hay que introducir yes y dar Enter

./easyrsa sign-req server "ChonteSV_vpn_1"

Se crea una llave de intercambio Diffie-Hellman

./easyrsa gen-dh

Y también una firma HMAC

openvpn --genkey --secret ta.key

Lo siguiente es juntar todo lo del servidor ordenadamente

cp ta.key /etc/openvpn/server/red01/ChonteSV_vpn_1-hmac-ta.key
cp pki/ca.crt /etc/openvpn/server/red01/ChonteSV_vpn_1-ca.crt
cp pki/private/ChonteSV_vpn_1.key /etc/openvpn/server/red01/
cp pki/issued/ChonteSV_vpn_1.crt /etc/openvpn/server/red01/
cp pki/dh.pem /etc/openvpn/server/red01/ChonteSV_vpn_1-dh.pem

Para cada cliente que se deba conectar hay que crear certificados, lo cual puede ser incomodo pero es necesario por seguridad, pero depende de la configuración del servicio se puede usar un solo certificado para todos equipos que se conectarán… esto depende mas de sus escenarios, en este caso se creará para un cliente llamado chonte001_vpn_1

./easyrsa build-client-full "chonte001_vpn_1" nopass

Y se pone todo en orden del para el/los cliente/s

cp pki/ca.crt /etc/openvpn/client/red01/ChonteSV_vpn_1-ca.crt
cp pki/issued/chonte001_vpn_1.crt /etc/openvpn/client/red01/
cp pki/private/chonte001_vpn_1.key /etc/openvpn/client/red01/

Después de tanto trabajo para los archivos previos necesarios para el servidor, hay que crear la configuración del primer servicio

cd /etc/openvpn
nano servicio1.conf

Y le llenamos con la siguiente configuración

port 1194
proto tcp
dev tun
# La autoridad del servicio
ca server/red01/ChonteSV_vpn_1-ca.crt
cert server/red01/ChonteSV_vpn_1.crt
# Los chunches del servidor
key server/red01/ChonteSV_vpn_1.key
# La seguridad extra
dh server/red01/ChonteSV_vpn_1-dh.pem
tls-auth  server/red01/ChonteSV_vpn_1-hmac-ta.key 0
# La red privada por lo general la 10.x.x
server 10.19.80.0 255.255.255.0
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
# Algunos parámetros para el cliente
keepalive 10 120
cipher AES-256-CBC
auth SHA256
user nobody
group nogroup
persist-key
persist-tun
client-to-client
comp-lzo adaptive
# Esto se descomenta si se desa usar
# un certificado para muchos clientes
# no es recomendado pero ahi está
;duplicate-cn
# Los venditos logs
status      /var/log/openvpn/openvpn-status-servicio1.log
log         /var/log/openvpn/openvpn-servicio1.log
log-append  /var/log/openvpn/openvpn-servicio1.log
verb 4
explicit-exit-notify 1
proyectos/multivpnbuster.1589788137.txt.gz · Última modificación: por gato