MeOut
27.01.12, 01:22
Hallo Forum.
Folgendes habe ich vor: Ein vServer mit einem Interface und fester öffentlicher IP soll zu einem VPN Gateway werden. Das Gateway selbst hat kein eigenes Subnet es dient lediglich als Verbindung zwischen Road-warrior in Form von Notebooks, Smartphones usw. Auch diese ohne eigenes Subnet dahinter. Außerdem sollen auch noch Road-warrior in Form von UMST Routern verbunden werden. Diese mit Subnetzen dahinter. Und alle sollen sich untereinander erreichen können.
Wenn das denn überhaupt möglich ist.
Erst die configs:
# strongswan.conf - strongSwan configuration file
charon {
# number of worker threads in charon
threads = 16
# plugins to load in charon
#load = aes des sha1 md5 sha2 hmac gmp random pubkey xcbc x509 stroke random curl sqlite attr-sql kernel-netlink
dns1 = 78.46.160.19
nbns1 = 78.46.160.19
plugins {
sql {
# loglevel to log into sql database
loglevel = -1
# URI to the database
database = sqlite:///root/CA/pool.db
# database = mysql://user:password@localhost/database
}
}
# ...
}
pluto {
# plugins to load in pluto
# load = aes des sha1 md5 sha2 hmac gmp random pubkey
}
libstrongswan {
# set to no, the DH exponent size is optimized
# dh_exponent_ansi_x9_42 = no
}
# basic configuration
config setup
cachecrls=yes
charonstart=yes
plutostart=no
strictcrlpolicy=no
uniqueids=no
# Add connections here.
conn %default
keyexchange=ikev2
ikelifetime=3h
keylife=1h
rekeymargin=9m
rekeyfuzz=100%
keyingtries=3
# always use certificates
authby=rsasig
# Left
left=%defaultroute
leftnexthop=%defaultroute
leftsubnet=0.0.0.0/0
leftid="C=DE, ST=SH, O=O, OU=OU, CN=78.46.160.19"
leftcert=local-cert.pem
leftfirewall=yes
# Right
rightrsasigkey=%cert
auto=add
# DPD
dpdaction=clear
dpddelay=30s
dpdtimeout=150s
conn rw
right=%any
rightsourceip=10.1.0.0/24
conn router05
right=%any
rightid="C=DE, ST=SH, O=O, OU=OU, CN=router05"
rightsourceip=172.32.50.1
rightsubnet=172.32.50.0/24
conn router11
right=%any
rightid="C=DE, ST=SH, O=O, OU=OU, CN=router11"
rightsourceip=172.32.110.1
rightsubnet=172.32.110.0/24
Folgendes geht:
Eine CA ist vorhanden und es können Zertifikate für WIN7 und Linux und LCOS erstellt werden. Ein WIN7 Client kann auch verbinden. Einer hinter NAT und ein UMTS Notebook habe ich getestet. Hier gibt es noch ein Problem mit dem "reauthenticate" das bleibt leider aus. Dazu ein Log:
Jan 27 00:29:37 Ubuntu-1004-lucid-32-minimal charon: 15[IKE] initiator did not reauthenticate as requested
Jan 27 00:29:37 Ubuntu-1004-lucid-32-minimal charon: 15[IKE] IKE_SA will timeout in 3 minutes
Jan 27 00:32:37 Ubuntu-1004-lucid-32-minimal charon: 12[IKE] deleting IKE_SA rw[1] between 78.46.160.19[C=DE, ST=SH, O=O, OU=OU, CN=78.46.160.19]...46.142.160.161[C=DE, ST=SH, O=O, OU=OU, CN=ICE]
Jan 27 00:32:37 Ubuntu-1004-lucid-32-minimal charon: 12[IKE] sending DELETE for IKE_SA rw[1]
Jan 27 00:32:37 Ubuntu-1004-lucid-32-minimal charon: 12[ENC] generating INFORMATIONAL request 6 [ D ]
Jan 27 00:32:37 Ubuntu-1004-lucid-32-minimal charon: 12[NET] sending packet: from 78.46.160.19[4500] to 46.142.160.161[55006]
Jan 27 00:32:37 Ubuntu-1004-lucid-32-minimal charon: 14[NET] received packet: from 46.142.160.161[55006] to 78.46.160.19[4500]
Jan 27 00:32:37 Ubuntu-1004-lucid-32-minimal charon: 14[ENC] parsed INFORMATIONAL response 6 [ ]
Jan 27 00:32:37 Ubuntu-1004-lucid-32-minimal charon: 14[IKE] IKE_SA deleted
Jan 27 00:32:37 Ubuntu-1004-lucid-32-minimal vpn: - C=DE, ST=SH, O=O, OU=OU, CN=ICE 10.1.0.1/32 == 46.142.160.161 -- 78.46.160.19 == 0.0.0.0/0
Jan 27 00:32:37 Ubuntu-1004-lucid-32-minimal charon: 14[CFG] lease 10.1.0.1 by 'C=DE, ST=SH, O=O, OU=OU, CN=ICE' went offline
J
Hierzu habe ich noch keinen Ansatz, da ich es eben erst gesehen habe. Setze ich außerdem noch:
iptables -t nat -A POSTROUTING -o eth0 -s 10.1.0.0/24 -j SNAT --to 78.46.160.19
komme ich auch mit einem verbundenen Client weiter durch den Server dann ins Netz. Zur Zeit gibt es keine weiteren FW Regeln außer die durch ipsec beim Verbinden selbst erstellten.
Was noch nicht geht:
Zur Zeit ist es nicht möglich vom 1. RW zum 2. RW zu pingen, obwohl diese alle das gleiche Subnet 10.1.0.0/24 bekommen. Diese IPs werden auch beim Verbinden dynamisch zugewiesen. Ich bin mir nicht sicher, ob es hierbei um Bridging oder Routing geht.
Außerdem kann ich zur Zeit keinen UMTS Router(hier LANCOM(OS: LCOS) und TDT(OS:Linux/OpenSwan) getestet) dazu bringen das GW überhaupt zu erreichen. Soll hießen hier kommt die Meldung im Log:
Jan 27 00:52:56 router05 pluto[12625]: "BlaFasel" #39: initiating Main Mode
Jan 27 00:53:40 router05 Connection_Manager[774]: Connection-Entry 1, Logical-Entry 1: Unable to establish IPSec-connection!
Jan 27 00:53:40 router05 Connection_Manager[774]: Connection-Entry 1, Logical-Entry 1: connection could not be established!
Jan 27 00:53:40 router05 Connection_Manager[774]: Connection-Entry 1, Logical-Entry 1: Disconnecting!
Jan 27 00:53:40 router05 pluto[12625]: "BlaFasel": terminating SAs using this connection
Jan 27 00:53:40 router05 pluto[12625]: "BlaFasel" #39: deleting state (STATE_MAIN_I1)
Jan 27 00:53:40 router05 pluto[12625]: "BlaFasel": deleting connection
Jan 27 00:53:43 router05 pluto[12625]: loading certificate from /etc/certs/certs/router05-cert.pem
Jan 27 00:53:43 router05 pluto[12625]: loaded host cert file '/etc/certs/certs/router05-cert.pem' (1454 bytes)
Jan 27 00:53:43 router05 pluto[12625]: added connection description "BlaFasel"
Jan 27 00:53:43 router05 pluto[12625]: "BlaFasel" #40: initiating Main Mode
Auf dem GW rührt sich nichts. Hier die Konfig eines TDT UMTS Routers mit OpenSwan.
################################################## ###################
# #
# This configuration-file was automatically created by TDT-Webmin #
# Do not edit!!! #
# #
################################################## ###################
#GLOBAL SETTINGS:
version 2.0
config setup
interfaces=%defaultroute
nat_traversal=yes
oe=no
protostack=klips
syslog=daemon.err
virtual_private=%v4:172.32.50.0/24;%v4:172.32.51.0/24
#Default-Connection:
conn %default
aggrmode=no
authby=secret
auto=ignore
compress=no
dpdaction=clear
dpddelay=30
dpdtimeout=120
ike=aes128-sha1-modp1024
ikelifetime=3h
initialcontact=no
keyingtries=3
keylife=1h
left=%ppp0
pfs=yes
phase2=esp
phase2alg=3des-sha1;modp1024
rekey=yes
rekeyfuzz=100%
rekeymargin=3m
type=tunnel
conn BlaFasel
aggrmode=no
authby=rsasig
auto=ignore
compress=no
dpdaction=clear
dpddelay=30
dpdtimeout=120
ike=aes128-sha1-modp1024
ikelifetime=8h
initialcontact=no
keyingtries=3
keylife=8h
left=%ppp0
leftcert="/etc/certs/certs/router05-cert.pem"
leftid="/C=DE/ST=SH/O=O/OU=OU/CN=router05"
leftrsasigkey=%cert
leftsourceip=172.32.50.1
leftsubnet="172.32.50.0/24"
pfs=yes
phase2=esp
phase2alg=3des-sha1;modp1024
rekey=yes
rekeyfuzz=100%
rekeymargin=3m
right=78.46.160.19
rightid="/C=DE/ST=SH/O=O/OU=OU/CN=Certification Authority"
rightrsasigkey=%cert
type=tunnel
#Include All the Templates
Ich hatte mir als nächsten Schritt vorgestellt das Routing auf dem GW zu testen, bzw. zu erstellen. Aber dazu müsste ich es wenigstens mit einem Router mal schaffen darauf zu verbinden. Die Router selbst können das. Das haben diese in der Vergangenheit an einer Cisco PIX gezeigt. Wobei das OpenSwan sich dabei nicht als sehr stabil erwiesen hat. Dennoch funktionierten beide Router.
Hat jemand eine Idee wieso zwei unterschiedliche UMTS Router mit unterschiedlichen Implementierungen von IPSec mit dem gleichen Ergebnis aufwarten? Nämlich, dass in beiden Fällen nicht ein Packet das GW erreicht.
Folgendes habe ich vor: Ein vServer mit einem Interface und fester öffentlicher IP soll zu einem VPN Gateway werden. Das Gateway selbst hat kein eigenes Subnet es dient lediglich als Verbindung zwischen Road-warrior in Form von Notebooks, Smartphones usw. Auch diese ohne eigenes Subnet dahinter. Außerdem sollen auch noch Road-warrior in Form von UMST Routern verbunden werden. Diese mit Subnetzen dahinter. Und alle sollen sich untereinander erreichen können.
Wenn das denn überhaupt möglich ist.
Erst die configs:
# strongswan.conf - strongSwan configuration file
charon {
# number of worker threads in charon
threads = 16
# plugins to load in charon
#load = aes des sha1 md5 sha2 hmac gmp random pubkey xcbc x509 stroke random curl sqlite attr-sql kernel-netlink
dns1 = 78.46.160.19
nbns1 = 78.46.160.19
plugins {
sql {
# loglevel to log into sql database
loglevel = -1
# URI to the database
database = sqlite:///root/CA/pool.db
# database = mysql://user:password@localhost/database
}
}
# ...
}
pluto {
# plugins to load in pluto
# load = aes des sha1 md5 sha2 hmac gmp random pubkey
}
libstrongswan {
# set to no, the DH exponent size is optimized
# dh_exponent_ansi_x9_42 = no
}
# basic configuration
config setup
cachecrls=yes
charonstart=yes
plutostart=no
strictcrlpolicy=no
uniqueids=no
# Add connections here.
conn %default
keyexchange=ikev2
ikelifetime=3h
keylife=1h
rekeymargin=9m
rekeyfuzz=100%
keyingtries=3
# always use certificates
authby=rsasig
# Left
left=%defaultroute
leftnexthop=%defaultroute
leftsubnet=0.0.0.0/0
leftid="C=DE, ST=SH, O=O, OU=OU, CN=78.46.160.19"
leftcert=local-cert.pem
leftfirewall=yes
# Right
rightrsasigkey=%cert
auto=add
# DPD
dpdaction=clear
dpddelay=30s
dpdtimeout=150s
conn rw
right=%any
rightsourceip=10.1.0.0/24
conn router05
right=%any
rightid="C=DE, ST=SH, O=O, OU=OU, CN=router05"
rightsourceip=172.32.50.1
rightsubnet=172.32.50.0/24
conn router11
right=%any
rightid="C=DE, ST=SH, O=O, OU=OU, CN=router11"
rightsourceip=172.32.110.1
rightsubnet=172.32.110.0/24
Folgendes geht:
Eine CA ist vorhanden und es können Zertifikate für WIN7 und Linux und LCOS erstellt werden. Ein WIN7 Client kann auch verbinden. Einer hinter NAT und ein UMTS Notebook habe ich getestet. Hier gibt es noch ein Problem mit dem "reauthenticate" das bleibt leider aus. Dazu ein Log:
Jan 27 00:29:37 Ubuntu-1004-lucid-32-minimal charon: 15[IKE] initiator did not reauthenticate as requested
Jan 27 00:29:37 Ubuntu-1004-lucid-32-minimal charon: 15[IKE] IKE_SA will timeout in 3 minutes
Jan 27 00:32:37 Ubuntu-1004-lucid-32-minimal charon: 12[IKE] deleting IKE_SA rw[1] between 78.46.160.19[C=DE, ST=SH, O=O, OU=OU, CN=78.46.160.19]...46.142.160.161[C=DE, ST=SH, O=O, OU=OU, CN=ICE]
Jan 27 00:32:37 Ubuntu-1004-lucid-32-minimal charon: 12[IKE] sending DELETE for IKE_SA rw[1]
Jan 27 00:32:37 Ubuntu-1004-lucid-32-minimal charon: 12[ENC] generating INFORMATIONAL request 6 [ D ]
Jan 27 00:32:37 Ubuntu-1004-lucid-32-minimal charon: 12[NET] sending packet: from 78.46.160.19[4500] to 46.142.160.161[55006]
Jan 27 00:32:37 Ubuntu-1004-lucid-32-minimal charon: 14[NET] received packet: from 46.142.160.161[55006] to 78.46.160.19[4500]
Jan 27 00:32:37 Ubuntu-1004-lucid-32-minimal charon: 14[ENC] parsed INFORMATIONAL response 6 [ ]
Jan 27 00:32:37 Ubuntu-1004-lucid-32-minimal charon: 14[IKE] IKE_SA deleted
Jan 27 00:32:37 Ubuntu-1004-lucid-32-minimal vpn: - C=DE, ST=SH, O=O, OU=OU, CN=ICE 10.1.0.1/32 == 46.142.160.161 -- 78.46.160.19 == 0.0.0.0/0
Jan 27 00:32:37 Ubuntu-1004-lucid-32-minimal charon: 14[CFG] lease 10.1.0.1 by 'C=DE, ST=SH, O=O, OU=OU, CN=ICE' went offline
J
Hierzu habe ich noch keinen Ansatz, da ich es eben erst gesehen habe. Setze ich außerdem noch:
iptables -t nat -A POSTROUTING -o eth0 -s 10.1.0.0/24 -j SNAT --to 78.46.160.19
komme ich auch mit einem verbundenen Client weiter durch den Server dann ins Netz. Zur Zeit gibt es keine weiteren FW Regeln außer die durch ipsec beim Verbinden selbst erstellten.
Was noch nicht geht:
Zur Zeit ist es nicht möglich vom 1. RW zum 2. RW zu pingen, obwohl diese alle das gleiche Subnet 10.1.0.0/24 bekommen. Diese IPs werden auch beim Verbinden dynamisch zugewiesen. Ich bin mir nicht sicher, ob es hierbei um Bridging oder Routing geht.
Außerdem kann ich zur Zeit keinen UMTS Router(hier LANCOM(OS: LCOS) und TDT(OS:Linux/OpenSwan) getestet) dazu bringen das GW überhaupt zu erreichen. Soll hießen hier kommt die Meldung im Log:
Jan 27 00:52:56 router05 pluto[12625]: "BlaFasel" #39: initiating Main Mode
Jan 27 00:53:40 router05 Connection_Manager[774]: Connection-Entry 1, Logical-Entry 1: Unable to establish IPSec-connection!
Jan 27 00:53:40 router05 Connection_Manager[774]: Connection-Entry 1, Logical-Entry 1: connection could not be established!
Jan 27 00:53:40 router05 Connection_Manager[774]: Connection-Entry 1, Logical-Entry 1: Disconnecting!
Jan 27 00:53:40 router05 pluto[12625]: "BlaFasel": terminating SAs using this connection
Jan 27 00:53:40 router05 pluto[12625]: "BlaFasel" #39: deleting state (STATE_MAIN_I1)
Jan 27 00:53:40 router05 pluto[12625]: "BlaFasel": deleting connection
Jan 27 00:53:43 router05 pluto[12625]: loading certificate from /etc/certs/certs/router05-cert.pem
Jan 27 00:53:43 router05 pluto[12625]: loaded host cert file '/etc/certs/certs/router05-cert.pem' (1454 bytes)
Jan 27 00:53:43 router05 pluto[12625]: added connection description "BlaFasel"
Jan 27 00:53:43 router05 pluto[12625]: "BlaFasel" #40: initiating Main Mode
Auf dem GW rührt sich nichts. Hier die Konfig eines TDT UMTS Routers mit OpenSwan.
################################################## ###################
# #
# This configuration-file was automatically created by TDT-Webmin #
# Do not edit!!! #
# #
################################################## ###################
#GLOBAL SETTINGS:
version 2.0
config setup
interfaces=%defaultroute
nat_traversal=yes
oe=no
protostack=klips
syslog=daemon.err
virtual_private=%v4:172.32.50.0/24;%v4:172.32.51.0/24
#Default-Connection:
conn %default
aggrmode=no
authby=secret
auto=ignore
compress=no
dpdaction=clear
dpddelay=30
dpdtimeout=120
ike=aes128-sha1-modp1024
ikelifetime=3h
initialcontact=no
keyingtries=3
keylife=1h
left=%ppp0
pfs=yes
phase2=esp
phase2alg=3des-sha1;modp1024
rekey=yes
rekeyfuzz=100%
rekeymargin=3m
type=tunnel
conn BlaFasel
aggrmode=no
authby=rsasig
auto=ignore
compress=no
dpdaction=clear
dpddelay=30
dpdtimeout=120
ike=aes128-sha1-modp1024
ikelifetime=8h
initialcontact=no
keyingtries=3
keylife=8h
left=%ppp0
leftcert="/etc/certs/certs/router05-cert.pem"
leftid="/C=DE/ST=SH/O=O/OU=OU/CN=router05"
leftrsasigkey=%cert
leftsourceip=172.32.50.1
leftsubnet="172.32.50.0/24"
pfs=yes
phase2=esp
phase2alg=3des-sha1;modp1024
rekey=yes
rekeyfuzz=100%
rekeymargin=3m
right=78.46.160.19
rightid="/C=DE/ST=SH/O=O/OU=OU/CN=Certification Authority"
rightrsasigkey=%cert
type=tunnel
#Include All the Templates
Ich hatte mir als nächsten Schritt vorgestellt das Routing auf dem GW zu testen, bzw. zu erstellen. Aber dazu müsste ich es wenigstens mit einem Router mal schaffen darauf zu verbinden. Die Router selbst können das. Das haben diese in der Vergangenheit an einer Cisco PIX gezeigt. Wobei das OpenSwan sich dabei nicht als sehr stabil erwiesen hat. Dennoch funktionierten beide Router.
Hat jemand eine Idee wieso zwei unterschiedliche UMTS Router mit unterschiedlichen Implementierungen von IPSec mit dem gleichen Ergebnis aufwarten? Nämlich, dass in beiden Fällen nicht ein Packet das GW erreicht.