Wie man eine Site-to-Site VPN-Verbindung unter ASA 8.4(6) einrichtet:

Szenario:

Wir wollen einen Kunden(netcorp) an unsere Aachener-Geschäftstelle via VPN anbinden. Es wurde uns vorgegeben 3des-md5 zu nutzen.

Aachen extern: 10.20.20.60

Aachen intern: 192.168.1.0/24

Netcorp extern: 10.30.30.70

Netcorp intern: 192.168.2.0/24

Zunächst deklarieren wir das transform-set:

asa-aachen-1(config)# crypto ipsec ikev1 transform-set ESP-3DES-MD5 esp-3des esp-md5-hmac

Dann erstellen wir eine access-list mit der wir definieren, welcher Traffic später protected sein soll.

asa-aachen-1(config)# access-list outside_cryptomap_1 extended permit ip 192.168.1.0 255.255.255.0 192.168.2.0 255.255.255.0

Wir definieren nun unseren crypto map-Eintrag(outside_map 1):

Als erstes setzen wir fest, dass die access-list outside_cryptomap_1 für unsere crypto-map genutzt werden soll um wie oben beschrieben zu definieren welcher Traffic über den Tunnel gesendet werden soll.

asa-aachen-1(config)# crypto map outside_map 1 match address outside_cryptomap_1

Konfiguration von PFS:

asa-aachen-1(config)# crypto map outside_map 1 set pfs group1

Setzen der Peer-Adresse:

asa-aachen-1(config)# crypto map outside_map 1 set peer 10.30.30.70

Setzen des transform-sets:

crypto map outside_map 1 set transform-set ESP-3DES-MD5

Zum Abschluss der crypto map-Konfiguration definieren wir, dass die crypto map auf dem outside-Interface aktiviert wird:

asa-aachen-1(config)# crypto map outside_map interface outside

 

Jetzt konfigurieren wir isakmp:

asa-aachen-1(config)# crypto isakmp policy 10

Festlegen, dass ein pre-shared-key genutzt wird:

asa-aachen-1(config-ikev1-policy)# authentication pre-share

Nun definieren wir noch die encryption, den hash, die Diffie-Hellman-group und die lifetime:

asa-aachen-1(config-ikev1-policy)# encryption 3des
asa-aachen-1(config-ikev1-policy)# hash md5
asa-aachen-1(config-ikev1-policy)# group 2
asa-aachen-1(config-ikev1-policy)# lifetime 86400

Die group-policy und die tunnel-group mit pre-shared-key konfigurieren wir auf folgende Art und Weise:

asa-aachen-1(config)# group-policy 10.30.70.70 internal
asa-aachen-1(config)# group-policy 10.30.70.70 attributes
asa-aachen-1(config-group-policy)# vpn-tunnel-protocol ikev1

asa-aachen-1(config)# tunnel-group 10.30.70.70 type ipsec-l2l
asa-aachen-1(config)# tunnel-group 10.30.70.70 general-attributes
asa-aachen-1(config-tunnel-general)# default-group-policy 10.30.30.70

asa-aachen-1(config)# tunnel-group 10.30.30.70 ipsec-attributes
asa-aachen-1(config-tunnel-ipsec)# ikev1 pre-shared-key *****

 

Jetzt aktivieren ikev1 auf dem outside-Interface:

asa-aachen-1(config)# crypto ikev1 enable outside

 

Damit der Traffic von netcorp auch problemlos durchkommt, erlauben wir Ihn zuerst in der Access-List des outside-Interfaces.

access-list outside_access_in extended permit ip 192.168.2.0 255.255.255.0 192.168.1.0 255.255.255.0 log disable

Weiterhin erstellen wir ein NAT-exempt:

Zuerst werden Netzwerk-Objekte angelegt:

asa-aachen-1(config)# object network insidenat
asa-aachen-1(config-network-object)# subnet 192.168.1.0 255.255.255.0
asa-aachen-1(config-network-object)# exit
asa-aachen-1(config)# object network netcorp2
asa-aachen-1(config-network-object)# subnet 192.168.2.0 255.255.255.0

Dann wird die NAT-Regel erstellt und wir sind mit der Konfiguration von asa-aachen-1 fertig:

nat (inside,outside) source static insidenat insidenat destination static netcorp2 netcorp2 no-proxy-arp route-lookup

Das ganze kann man natürlich auch über den VPN-Wizard im ASDM(7.1 für ASA4.6(5)) erledigen.

Auf der Gegenstelle bei netcorp wäre die Konfiguration nahezu identisch bis auf ein paar Kleinigkeiten:

asa-aachen-1(config)# access-list outside_cryptomap_1 extended permit ip 192.168.2.0 255.255.255.0 192.168.1.0 255.255.255.0

asa-aachen-1(config)# crypto map outside_map 1 set peer 10.20.20.60

Bei der group-policy und der tunnel-group muss 10.30.30.70 durch 10.20.20.60 ersetzt werden.

access-list outside_access_in extended permit ip 192.168.1.0 255.255.255.0 192.168.2.0 255.255.255.0 log disable

asa-aachen-1(config)# object network insidenat
asa-aachen-1(config-network-object)# subnet 192.168.2.0 255.255.255.0
asa-aachen-1(config-network-object)# exit
asa-aachen-1(config)# object network fn1
asa-aachen-1(config-network-object)# subnet 192.168.1.0 255.255.255.0

nat (inside,outside) source static insidenat insidenat destination static fn1 fn1 no-proxy-arp route-lookup