¿Esto ayuda?
Saludos, Willem M. Poort
StrongSwan mini Howto Debian 5
install strongswan + openssl
apt-get install strongswan openssl
Crea tu archivo CA:
cd /etc/ipsec.d
openssl req -x509 -days 3650 -newkey rsa:2048 -keyout \
private/strongswanKey.pem -out cacerts/strongswanCert.pem
cp cacerts/strongswanCert.pem certs/
Si prefiere que los certificados de CA estén en formato DER binario, el siguiente comando logra esta transformación:
openssl x509 -in cacerts/strongswanCert.pem -outform DER -out \
cacerts/strongswanCert.der
Editar /etc/ssl/openssl.conf
( /usr/lib/ssl/openssl.cnf
es un enlace simbólico):
nano -w /usr/lib/ssl/openssl.cnf
Cambie los parámetros para adaptarse a su entorno strongswan.
[ CA_default ]
dir = /etc/ipsec.d # Where everything is kept
certificate = $dir/cacerts/strongswanCert.pem # The CA certificate
private_key = $dir/private/strongswanKey.pem # The private key
Crear DIR y archivos faltantes:
mkdir newcerts
touch index.txt
echo “00” > serial
Generar un certificado de usuario:
openssl req -newkey rsa:1024 -keyout private/hostKey.pem \
-out reqs/hostReq.pem
Firma por dos años:
openssl ca -in reqs/hostReq.pem -days 730 -out \
certs/hostCert.pem -notext
Por lo general, un cliente VPN basado en Windows necesita su clave privada, su certificado de host o usuario y el certificado de CA. La forma más conveniente de cargar esta información es poner todo en un archivo PKCS # 12:
openssl pkcs12 -export -inkey private/hostKey.pem \
-in certs/hostCert.pem \
-name "host" \
-certfile cacerts/strongswanCert.pem \
-caname "strongSwan Root CA" \
-out host.p12
Editar /etc/ipsec.secrets
:
:RSA strongswanKey.pem “pempassword”
:XAUTH user "secret"
Editar /etc/ipsec.conf
:
config setup
plutodebug=none
uniqueids=yes
nat_traversal=yes
interfaces="%defaultroute"
conn %default
authby=rsasig
leftrsasigkey=%cert
rightrsasigkey=%cert
keyingtries=1
keylife=20m
ikelifetime=240m
conn iphone
auto=add
dpdaction=clear
authby=xauthrsasig
xauth=server
pfs=no
leftcert=strongswanCert.pem
left=<serverip>
leftsubnet=0.0.0.0/0
right=%any
rightsourceip=<virtual client ip> #local VPN virtual subnet
rightcert=hostCert.pem
En el iphone
- Importe el certificado de cliente de iPhone en formato p12
- Importe el certificado de CA en formato pem
- Configure una VPN IPSEC con el Certificado de cliente de iPhone y use como Servidor el Nombre DNS (Nombre DynDNS). Tiene que ser el mismo que el del Certificado de servidor
Para importar los certificados en su iPhone, ¡simplemente envíelos por correo electrónico! Al crear el ipsec vpn en su iphone, puede seleccionar el certificado.
Tenga en cuenta que necesita configurar iptables si desea NAT. (Mira en fwbuilder)