Instalar y configurar el servidor OpenVPN FreeBSD 12
Para comenzar, debe actualizar su repositorio de paquetes de FreeBSD 12.
pkg update
Instale los paquetes OpenVPN y Easy-RSA
pkg instalar openvpn easy-rsa
Cree un directorio para almacenar los archivos de configuración del servidor, la CA, las claves del servidor y los archivos de certificado.
mkdir -p /usr/local/etc/openvpn/easy-rsa
mkdir /usr/local/etc/openvpn/servidor
Copie los archivos de configuración de ejemplo de OpenVPN y Easy-RSA en los directorios de configuración respectivos creados anteriormente.
cp /usr/local/share/examples/openvpn/sample-config-files/server.conf /usr/local/etc/openvpn/server/
cp -r /usr/local/share/easy-rsa/* /usr/local/etc/openvpn/easy-rsa/
Generar los archivos locales de CA, claves y certificados con EasyRSA
Las variables del certificado se establecen en /usr/local/etc/openvpn/easy-rsa/vars
expediente. Para facilitar la generación del certificado, edite este archivo, descomente y ajuste los valores del certificado de la siguiente manera:
vim /usr/local/etc/openvpn/easy-rsa/vars
set_var EASYRSA_REQ_COUNTRY "KE"set_var EASYRSA_REQ_PROVINCE "Nairobi"set_var EASYRSA_REQ_CITY "Nairobi"set_var EASYRSA_REQ_ORG "Kifarunix"set_var EASYRSA_REQ_EMAIL "[email protected]"set_var EASYRSA_REQ_OU "Infrastructure"set_var EASYRSA_KEY_SIZE 2048set_var EASYRSA_CA_EXPIRE 3650set_var EASYRSA_CERT_EXPIRE 3650
Easy-RSA se envía con un script de generación de certificados llamado easyrsa.real
. Para generar los archivos de certificado, vaya a /usr/local/etc/openvpn/easy-rsa/
directorio y proceda de la siguiente manera;
Inicializa la PKI
cd /usr/local/etc/openvpn/easy-rsa
sh ./easyrsa.real init-pkiNota:usando la configuración de Easy-RSA desde:./varsinit-pki complete; ahora puede crear una CA o solicitudes. Su directorio PKI recién creado es:/usr/local/etc/openvpn/easy-rsa/pki
Cree el certificado de CA ejecutando el siguiente comando. Configure el CN y la contraseña de cifrado cuando se le solicite.
sh ./easyrsa.real build-ca
Genere un archivo de clave y certificado para el servidor y el cliente.
sh ./easyrsa.real build-server-full server nopass
sh ./easyrsa.real build-client-full client nopass
Genere un archivo de clave Diffie-Hellman que se puede usar durante el protocolo de enlace TLS con los clientes que se conectan.
sh ./easyrsa.real gen-dh
En caso de que necesite invalidar un certificado previamente firmado, genere un certificado de revocación.
sh ./easyrsa.real gen-crl
Generar clave de autenticación precompartida TLS/SSL
openvpn --genkey --secret /usr/local/etc/openvpn/easy-rsa/pki/ta.key
Copie todas las claves y certificados del servidor de /usr/local/etc/openvpn/easy-rsa/pki/
al directorio de configuración creado anteriormente. /openvpn/servidor/
Configurar servidor OpenVPN
Edite el archivo de configuración del servidor de manera que se vea a continuación sin comentarios;
vim /usr/local/etc/openvpn/server/server.conf
puerto 1194proto udpdev tunca /usr/local/etc/openvpn/server/ca.crtcert /usr/local/etc/openvpn/server/issued/server.crtkey /usr/local/etc/openvpn/server/private/ server.keydh /usr/local/etc/openvpn/server/dh.pemtopology subnetserver 10.8.0.0 255.255.255.0ifconfig-pool-persist ipp.txtpush "redirect-gateway def1 bypass-dhcp"push "dhcp-option DNS 208.67.222.222 "push" dhcp-option DNS 208.67.220.220"keepalive 10 120tls-auth ta.key 0 # Este archivo es secretcipher AES-256-CBCcomp-lzouser Nobodygroup Nobodypersist-keypersist-tunstatus /var/log/openvpn/openvpn-status.loglog -append /var/log/openvpn/openvpn.logverb 3explicit-exit-notify 1auth sha512remote-cert-tls client
Cree el directorio de registro;
mkdir /var/log/openvpn/
Configurar enrutamiento
Ejecute el siguiente comando para configurar el enrutamiento NAT IPv4. Esto habilita el ipfw
firewall que se necesita para natd
cat <> /etc/rc.conffirewall_enable="SÍ"firewall_type="open"gateway_enable="SÍ"natd_enable="SÍ"natd_interface="em1"natd_flags="-dynamic -m"EOF
Reinicie el servidor para efectuar los cambios realizados anteriormente.
reiniciar
Inicie y configure el inicio de OpenVPN en el arranque.
sysrc openvpn_enable=YESsysrc openvpn_configfile="/usr/local/etc/openvpn/server/server.conf"
inicio del servicio openvpn
Verifique que OpenVPN se esté ejecutando y escuchando en el puerto UDP 1194.
sockstat -4 -l | grep 1194nadie openvpn 2824 6 udp46 *:1194 *:*
Verifique que se haya creado la interfaz.
ifconfig...tun0:flags=8051metric 0 mtu 1500 options=80000 inet6 fe80::a00:27ff:fe06:ec18 %tun0 prefixlen 64 tentative scopeid 0x4 inet 10.8.0.1 --> 10.8.0.2 netmask 0xffffff00 grupos:tun nd6 options=29 Abierto por PID 2824
Configurar el Cliente
Copie el archivo de clave de autenticación de CA, TLS/SSL y la clave de cliente y el archivo de certificado en el cliente. /client.crt/usr/local/etc/openvpn/server/private/client.key/usr/local/etc/openvpn/server/ta.key
Cree el archivo de configuración del cliente
cat <client.ovpnclienttls-clientpulldev tunproto udpremote 192.168.43.12 1194resolv-retry infinitenobinddhcp-option DNS 208.67.222.222user Nobodygroup nogrouppersist-keypersist-tunkey-direction 1tls-auth ta.key 1comp- lzoverb 3ca ca.crtcert client.crtkey client.keyauth SHA512remote-cert-tls serverEOF
Para conectarse al servidor VPN desde un sistema Linux, ejecute el siguiente comando:
sudo openvpn client.ovpn
¡¡Magnífico!! Eso es todo lo que se necesita para instalar y configurar el servidor OpenVPN FreeBSD 12. Gracias por leer.