- Creamos certificados para el sercidor VPN y cliente VPN. Los certificados se pueden crear con OpenSSL. Nos conectamos en el router por ssh, (root /admin).
a) Crear certificados en router con USB drive.
Conectamos un USB drive.
#Desmontamos el USB y creamos partición.
umount /dev/sda1
fdisk /dev/sda
Presionamos los siguientes botones como están en orden.
# p # lista de las particiones.
# o # eliminar todas las particiones.
# n # crear nueva partición
# p # colocar la partición como primaria.
# 1 (one) # prmera partición.
# <enter> # el primer bloque por defecto.
# <enter> # el ultimo bloque por defecto, para utilizar el USB drive entero.
# w # crear nueva partición en el USB-drive.
#formater la nueva partición.
umount /dev/sda1
mke2fs -j -L optware /dev/sda1
Instalar Entware (paquete que permita instalar software adicional)
#montar la nueva partición.
cd /opt
wget http://qnapware.zyxmon.org/binaries-armv7/installer/entware_install_arm.sh
sh ./entware_install_arm.sh
Instalaropenvpn-easy-rsa
opkg install openvpn-easy-rsa nano
Configurar la directorio operativa de openvpn-easy-rsa
cp /opt/sbin/sign-req .
cp /opt/sbin/build-req .
cp /opt/sbin/inherit-inter .
cp /opt/sbin/revoke-full .
cp /opt/sbin/clean-all .
cp /opt/sbin/build-ca .
cp /opt/sbin/pkitool .
cp /opt/sbin/build-dh .
cp /opt/sbin/build-key-pass .
cp /opt/sbin/build-key-pkcs12 .
cp /opt/sbin/list-crl .
cp /opt/sbin/whichopensslcnf .
cp /opt/sbin/build-key-server .
cp /opt/sbin/build-key .
cp /opt/etc/easy-rsa/openssl-1.0.0.cnf .
cp /opt/sbin/build-inter .
cp /opt/sbin/build-req-pass .#reducir el tamaño de las claves a 1024 en ficheros.
cd /opt/etc/easy-rsa
sed -i ‘s:KEY_SIZE=2048:KEY_SIZE=1024:’ ./vars#actualizar la ruta correcta de openssl(guardar y reiniciar)
#correct = /opt/bin/openssl
PATH=/opt/bin:$PATH
#Configurar y empezar.
cd /opt/etc/easy-rsa
./clean-all
#Creamos certificado digital, ponemos los datos del cliente. En todos igual.
./build-ca
Generate Diffie Hellman parameters (DH file)
./build-dh
Generate Certificate and Key for the OpenVPN Server router at Site A with Common Name [CN] of «OpenVPNServer».
#generar certificado para Site2SiteServer
./build-key-server OpenVPNServer
Generate Certificate and Key for the OpenVPN Client router Site B with Common Name [CN] of «Site2SiteClient». The «Common Name» isn’t really «common». Make sure its unique for all your clients.
#generar certificado para Site2SiteClient
./build-key Site2SiteClient
Todos los certificador están en directorio: /opt/etc/easy-rsa/keys/
cat ca.crt
cat Site2SiteClient.crt
cat Site2SiteClient.key
OpenVPNServer.key
key /jffs/OpenVPNServer.key