¿Esto ayuda?
Saludos, Willem M. Poort
StrongSwan mini Cómo Debian 5
install strongswan + openssl
apt-get install strongswan openssl
Cree su 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 CA estén en formato DER binario, el siguiente comando consigue 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 adaptarlos 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 que faltan:
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
Fírmalo por dos años:
openssl ca -in reqs/hostReq.pem -days 730 -out \
certs/hostCert.pem -notext
Normalmente, un cliente VPN basado en Windows necesita su clave privada, su certificado de host o de usuario y el certificado de CA. La forma más cómoda de cargar esta información es ponerlo 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
- Importar el certificado iphone-client en formato p12
- Importar el certificado CA en formato pem
- Configure una IPSEC-VPN con el Certificado iphone-client y utilice como Servidor el Nombre DNS (DynDNS-Name). Tiene que ser el mismo que el del Certificado-Servidor.
Para importar los certificados en tu iphone sólo tienes que enviártelos por correo electrónico. Al crear la vpn ipsec en tu iphone puedes seleccionar el certificado.
Ten en cuenta que necesitas configurar iptables si quieres NAT. (Mira en fwbuilder)