VPN zwischen Astaro ASG und LiSS
Mit einem Site-to-Site VPN lassen sich die IP-Netzwerke von zwei Standorten mitander verbinden.
Geräte wie Server, Netzwerkfestplatten und Telefonanlagen sind damit aus beiden vernetzten Standorten
erreichbar.
Zum Aufbau eines Site-to-Site VPN dürfen sich die IP-Netze der Standorte nicht überlappen.
Jeder Standort benötigt einen VPN-Router.
Dieses Tutorial beschreibt den Aufbau einer LAN-LAN-Kopplung mit einer Astaro ASG
und einer Telco-Tech LiSS 1000 Series. Jeder Router benötigt eine statische WAN-IP oder einen Hostnamen (z.B. von DynDNS).
Im Beipiel kommt IPSec mit ESP im Main Mode zum Einsatz.
Das Astaro Security Gateway AGS erlaubt den Aufbau von Firewalls, Proxys und VPN-Gateways.
Die ASG ist als Appliance und als Software erhältlich. Für diese Tutorial kam
die mit der Firmware Version 7.401 zum Einsatz.
Telco-Tech bietet mit seiner LiSS-Serie Sicherheits-Lösungen für SOHO und SMB an. Das kleinste Modell LiSS 700
eignet sich für die Netzanbindung des Heimbüros. Die LiSS 5000 verfügt über vier Gigabit Interface und eignet sich
auch zum Schutz großer Netzwerke. Diese Anleitung basiert auf einer LiSS 1000 mit der Firmware 3.18.2-1902.
VPN Netzwerkaufbau
In unserem Beispiel verbindet der VPN-Tunnel die beiden Standorte Karlsruhe und Teltow. Als IP-Adressen kommen private Adressen
entsprechend RFC 1918 zum Einsatz. Das IP-Netz 172.16.0.0/24 aus Karlsruhe soll mit dem Netz 192.168.1.0/24 in Teltow
verbunden werden.
VPN Parameter
Der VPN-Tunnel wird mit den folgenden Parametern aufgebaut.
|
1
|
2
|
Standort
|
|
Karlsruhe
|
Teltow
|
Gerät
|
|
Astaro ASG
|
LiSS 1000 series
|
Rolle
|
|
VPN-Gateway
|
VPN-Gateway
|
WAN-IP oder Hostname
|
A
|
192.168.178.39
|
192.168.178.31
|
Lokales IP-Netz / Maske
|
B
|
172.32.16.0/24
|
192.168.1.0/24
|
Pre Shared Key PSK
|
C
|
verys3cret+key
|
Austauschverfahren
|
D
|
Main Mode
|
Dead Peer Detection (DPD)
|
E
|
aktiviert
|
Identifier Type
|
F
|
IP-Adresse
|
IP-Adresse
|
Identifier
|
G
|
192.168.178.39
|
192.168.178.31
|
|
|
|
|
Phase 1
|
Lifetime
|
H
|
3600 sec
|
Verschlüsselung
|
I
|
AES-256
|
Hashalgorithmus
|
J
|
SHA2-256
|
Diffie-Hellman-Gruppe
|
K
|
DH-Group 14 MODP 2048
|
|
Phase 2
|
Lebensdauer
|
L
|
3600 sec
|
Verschlüsselung
|
M
|
AES-256
|
Hashalgorithmus
|
N
|
SHA2-256
|
Perfect Forward Secrecy
|
O
|
DH-Group 14 MODP 2048
|
Bitte wählen Sie für den produktiven Einsatz einen möglichst starken PSK oder setzen Sie Zertifikate ein.
Astaro VPN konfigurieren
Astaro realisiert IPsec unter Einsatz von strongSwan.
Auf der Astaro müssen eine Policy, ein Remote Gateway und die eigenliche IPSec-Verbindung eingerichtet werden.
IPSec Policy
Legen Sie unter:
Site-to-Site VPN >> IPSec >> Policies >> New IPSec Policy
eine neue Policy mit AES 256, SHA 256, DH-Group 14 und PFS an.
Remote Gateway
Die LiSSmuss auf der Astaro als Remote Gateway angelegt werden.
Als Remote Network tragen Sie das LAN der LiSS (Zelle B2 aus der Konfig-Tabelle)
ein.
Site-to-Site VPN >> IPSec >> Remote Gateway >> New Remote Gateway
IPSec Connection
Als dritter Schritt wird die IPSec-Verbindung mit der vorbereiteten Policy und den Gateway eine IPSec-Verbindung erstellt.
Site-to-Site VPN >> IPSec >> connections >> New IPSec connection
Als Local Network geben Sie das LAN der Astaro (Zelle B1 aus der Konfig-Tabelle) an.
Die funktionierende VPN-Verbindung sollte dann in etwa so aussehen.
VPN auf der LiSS einrichten
Telco-Tech setzt für die Implementierung von IPsec auf Openswan.
Um VPN mit der LiSS nutzen zu können, müssen Sie unter VPN :: Einstellungen den VPN-Dienst aktivieren.
Da beide VPN-Router in diesem Beispiel direkt mit dem Internet verbunden sind, wird kein NAT-Traversal benötigt.
NAT-T ist für den Zugriff von mobilen Benutzern auf die LiSS notwendig.
Stellen Sie unter VPN :: Profile das Profil default auf AES 256, SHA 256, DH-Group 14 und PFS. Aktivieren
Sie DPD (Dead Peer Detection).
Für VPN-Tunnel mit abweichenden IPSec-Parametern können Sie auch neue Profile erstellen.
Gehen Sie auf VPN :: Überblick und erstellen Sie eine neue VPN-Verbindung.
Tragen Sie die WAN-IP oder den DNS-Namen der Astaro ein. Für den Aufbau des Tunnels nutzen wir IKE im Main Mode.
Tragen Sie die beiden durch den VPN-Tunnel zu verbindenden IP-Netzwerke ein.
Als ID kommen die beiden WAN-IPs zum Einsatz. Der PSK muss auf beiden VPN-Routern übereinstimmen.
Damit ist der VPN-Tunnel fertig konfiguriert.
Fehlersuche
Bei Problemen mit dem VPN-Tunnel lohnt sich ein Blick in die Logs der beiden Router.
IPSec VPN Log der Astaro
So sieht das IPsec VPN Log der Astaro bei einem erfolgreichen Aufbau des Tunnels aus:
astaro pluto[3520]: added connection description "S_REF_SyVDqsMHjK_0"
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #23: initiating Main Mode
astaro pluto[3520]: forgetting secrets
astaro pluto[3520]: loading secrets from "/etc/ipsec.secrets"
astaro pluto[3520]: loaded shared key for 0.0.0.0 192.168.178.39
astaro pluto[3520]: loaded shared key for 0.0.0.0 192.168.178.39
astaro pluto[3520]: loaded shared key for 192.168.178.31 192.168.178.39
astaro pluto[3520]: Changing to directory '/etc/ipsec.d/cacerts'
astaro pluto[3520]: loaded CA cert file 'REF_filZKshokw.pem' (3003 bytes)
astaro pluto[3520]: Changing to directory '/etc/ipsec.d/aacerts'
astaro pluto[3520]: Changing to directory '/etc/ipsec.d/ocspcerts'
astaro pluto[3520]: Changing to directory '/etc/ipsec.d/crls'
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #23: ignoring Vendor ID payload [4f454b427a64597b774d5d40]
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #23: received Vendor ID payload [Dead Peer Detection]
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #23: Peer ID is ID_IPV4_ADDR: '192.168.178.31'
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #23: ISAKMP SA established
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #24: initiating Quick Mode PSK+ENCRYPT+TUNNEL+PFS+UP {using isakmp#23}
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #24: up-client output: grep: /proc/15028/stat: No such file or directory
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #24: up-client output: grep: /proc/15051/stat: No such file or directory
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #24: up-client output: grep: /proc/15060/stat: No such file or directory
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #24: up-client output: grep: /proc/15064/stat: No such file or directory
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #24: Dead Peer Detection (RFC 3706) enabled
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #24: sent QI2, IPsec SA established {ESP=>0x0398b1a0 <0x90ae1e0b DPD}
Im folgenden Log stimmen die PSKs der beiden Gateways nicht überein.
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #26: max number of retransmissions (2) reached STATE_MAIN_I3. Possible authentication failure: no acceptable response to our first encrypted message
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #26: starting keying attempt 2 of an unlimited number
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #27: initiating Main Mode to replace #26
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #27: ignoring Vendor ID payload [4f454b427a64597b774d5d40]
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #27: received Vendor ID payload [Dead Peer Detection]
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #27: Informational Exchange message must be encrypted
Fehler in den IP-Definitionen.
code>
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #56: starting keying attempt 12 of an unlimited number
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #57: initiating Quick Mode PSK+ENCRYPT+TUNNEL+PFS+UP to replace #56 {using isakmp#45}
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #45: ignoring informational payload, type INVALID_ID_INFORMATION
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #45: ignoring informational payload, type INVALID_MESSAGE_ID
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #45: ignoring informational payload, type INVALID_MESSAGE_ID
astaro pluto[3520]: "S_REF_SyVDqsMHjK_0" #57: max number of retransmissions (2) reached STATE_QUICK_I1. No acceptable response to our first Quick Mode message: perhaps peer likes no proposal
IPSec VPN Log der LiSS
Zuerst ein erfolgreicher Aufbau des Tunnels im Main Mode:
pluto[5355]: "astaro_1" #23: STATE_QUICK_R2: IPsec SA established {ESP=>0x90ae1e0c <0x2b5b6756 xfrm=AES_256-HMAC_SHA2_256 NATD=none DPD=enabled}
pluto[5355]: "astaro_1" #23: transition from state STATE_QUICK_R1 to state STATE_QUICK_R2
pluto[5355]: "astaro_1" #23: Dead Peer Detection (RFC 3706): enabled
pluto[5355]: "astaro_1" #23: STATE_QUICK_R1: sent QR1, inbound IPsec SA installed, expecting QI2
pluto[5355]: "astaro_1" #23: transition from state STATE_QUICK_R0 to state STATE_QUICK_R1
pluto[5355]: "astaro_1" #23: responding to Quick Mode {msgid:ab3186bb}
pluto[5355]: "astaro_1" #22: Dead Peer Detection (RFC 3706): enabled
pluto[5355]: "astaro_1" #22: STATE_MAIN_R3: sent MR3, ISAKMP SA established {auth=OAKLEY_PRESHARED_KEY cipher=aes_256 prf=OAKLEY_SHA2_256 group=modp2048}
pluto[5355]: "astaro_1" #22: transition from state STATE_MAIN_R2 to state STATE_MAIN_R3
pluto[5355]: "astaro_1" #22: I did not send a certificate because I do not have one.
pluto[5355]: "astaro_1" #22: Main mode peer ID is ID_IPV4_ADDR: '192.168.178.39'
pluto[5355]: "astaro_1" #22: STATE_MAIN_R2: sent MR2, expecting MI3
pluto[5355]: "astaro_1" #22: transition from state STATE_MAIN_R1 to state STATE_MAIN_R2
pluto[5355]: "astaro_1" #22: STATE_MAIN_R1: sent MR1, expecting MI2
pluto[5355]: "astaro_1" #22: transition from state STATE_MAIN_R0 to state STATE_MAIN_R1
pluto[5355]: "astaro_1" #22: responding to Main Mode
pluto[5355]: packet from 192.168.178.39:500: ignoring Vendor ID payload [draft-ietf-ipsec-nat-t-ike-00]
pluto[5355]: packet from 192.168.178.39:500: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike-02_n] meth=106, but port floating is off
pluto[5355]: packet from 192.168.178.39:500: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike-02] meth=107, but port floating is off
pluto[5355]: packet from 192.168.178.39:500: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike-03] meth=108, but port floating is off
pluto[5355]: packet from 192.168.178.39:500: received Vendor ID payload [RFC 3947] meth=109, but port floating is off
pluto[5355]: packet from 192.168.178.39:500: received Vendor ID payload [Dead Peer Detection]
pluto[5355]: packet from 192.168.178.39:500: received Vendor ID payload [XAUTH]
pluto[5355]: packet from 192.168.178.39:500: received Vendor ID payload [Cisco-Unity]
pluto[5355]: packet from 192.168.178.39:500: ignoring unknown Vendor ID payload [2d1f406118fbd5d28474791ffa00488a]
Fehler im PSK
pluto[5355]: packet from 192.168.178.39:500: ignoring unknown Vendor ID payload [2d1f406118fbd5d28474791ffa00488a]
pluto[5355]: packet from 192.168.178.39:500: received Vendor ID payload [Cisco-Unity]
pluto[5355]: packet from 192.168.178.39:500: received Vendor ID payload [XAUTH]
pluto[5355]: packet from 192.168.178.39:500: received Vendor ID payload [Dead Peer Detection]
pluto[5355]: packet from 192.168.178.39:500: received Vendor ID payload [RFC 3947] meth=109, but port floating is off
pluto[5355]: packet from 192.168.178.39:500: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike-03] meth=108, but port floating is off
pluto[5355]: packet from 192.168.178.39:500: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike-02] meth=107, but port floating is off
pluto[5355]: packet from 192.168.178.39:500: received Vendor ID payload [draft-ietf-ipsec-nat-t-ike-02_n] meth=106, but port floating is off
pluto[5355]: packet from 192.168.178.39:500: ignoring Vendor ID payload [draft-ietf-ipsec-nat-t-ike-00]
pluto[5355]: "astaro_1" #16: responding to Main Mode
pluto[5355]: "astaro_1" #16: transition from state STATE_MAIN_R0 to state STATE_MAIN_R1
pluto[5355]: "astaro_1" #16: STATE_MAIN_R1: sent MR1, expecting MI2
pluto[5355]: "astaro_1" #16: transition from state STATE_MAIN_R1 to state STATE_MAIN_R2
pluto[5355]: "astaro_1" #16: STATE_MAIN_R2: sent MR2, expecting MI3
pluto[5355]: "astaro_1" #16: next payload type of ISAKMP Identification Payload has an unknown value: 134
pluto[5355]: "astaro_1" #16: probable authentication failure (mismatch of preshared secrets?): malformed payload in packet
pluto[5355]: | payload malformed after IV
pluto[5355]: | 64 1f 5e a0 c8 6a 7a 0f f8 9d 6e 62 f9 02 eb 38
pluto[5355]: | 16 be 08 af f4 48 3e e4 be 59 88 37 8e 38 48 52
pluto[5355]: "astaro_1" #16: sending notification PAYLOAD_MALFORMED to 192.168.178.39:500
pluto[5355]: "astaro_1" #16: next payload type of ISAKMP Identification Payload has an unknown value: 134
pluto[5355]: "astaro_1" #16: probable authentication failure (mismatch of preshared secrets?): malformed payload in packet
pluto[5355]: | payload malformed after IV
pluto[5355]: | 64 1f 5e a0 c8 6a 7a 0f f8 9d 6e 62 f9 02 eb 38
pluto[5355]: | 16 be 08 af f4 48 3e e4 be 59 88 37 8e 38 48 52
pluto[5355]: "astaro_1" #16: sending notification PAYLOAD_MALFORMED to 192.168.178.39:500
pluto[5355]: "astaro_1" #16: next payload type of ISAKMP Identification Payload has an unknown value: 134
pluto[5355]: "astaro_1" #16: probable authentication failure (mismatch of preshared secrets?): malformed payload in packet
pluto[5355]: | payload malformed after IV
pluto[5355]: | 64 1f 5e a0 c8 6a 7a 0f f8 9d 6e 62 f9 02 eb 38
pluto[5355]: | 16 be 08 af f4 48 3e e4 be 59 88 37 8e 38 48 52
pluto[5355]: "astaro_1" #16: sending notification PAYLOAD_MALFORMED to 192.168.178.39:500
Hier stimmen die Definitionen der IP-Netze nicht überein.
pluto[5355]: "astaro_1" #31: sending encrypted notification INVALID_MESSAGE_ID to 192.168.178.39:500
pluto[5355]: "astaro_1" #31: Quick Mode I1 message is unacceptable because it uses a previously used Message ID 0x471dbfd0 (perhaps this is a duplicated packet)
pluto[5355]: "astaro_1" #31: sending encrypted notification INVALID_ID_INFORMATION to 192.168.178.39:500
pluto[5355]: "astaro_1" #31: cannot respond to IPsec SA request because no connection is known for 1.1.1.0/24===192.168.178.31[S?C]...192.168.178.39[S?C]===172.16.0.0/24
pluto[5355]: "astaro_1" #31: Dead Peer Detection (RFC 3706): enabled
pluto[5355]: "astaro_1" #31: STATE_MAIN_R3: sent MR3, ISAKMP SA established {auth=OAKLEY_PRESHARED_KEY cipher=aes_256 prf=OAKLEY_SHA2_256 group=modp2048}
pluto[5355]: "astaro_1" #31: transition from state STATE_MAIN_R2 to state STATE_MAIN_R3
pluto[5355]: "astaro_1" #31: I did not send a certificate because I do not have one.
pluto[5355]: "astaro_1" #31: Main mode peer ID is ID_IPV4_ADDR: '192.168.178.39'
pluto[5355]: "astaro_1" #31: STATE_MAIN_R2: sent MR2, expecting MI3
pluto[5355]: "astaro_1" #31: transition from state STATE_MAIN_R1 to state STATE_MAIN_R2
pluto[5355]: packet from 192.168.178.39:500: received and ignored informational message
pluto[5355]: packet from 192.168.178.39:500: ignoring informational payload, type NO_PROPOSAL_CHOSEN
pluto[5355]: "astaro_1" #31: STATE_MAIN_R1: sent MR1, expecting MI2
pluto[5355]: "astaro_1" #31: transition from state STATE_MAIN_R0 to state STATE_MAIN_R1
pluto[5355]: "astaro_1" #31: responding to Main Mode
Auf der LiSS kann man unter VPN :: Fehlersuche den Detailgehalt der Meldungen steuern.
Häufigste Ursache für Probleme beim Aufbau einer IPSec-Verbindung sind Tippfehler in den IP-Adressen, Netzmasken und Proposals.
Viele VPN-Gateways erlauben das Logging auf einen Syslog-Server wie den Kiwi Syslog Server. Auf einem Syslog-Server lassen
sich die Meldungen mehrerer Geräte zusammenführen und so leichter auswerten.
Weiterführende Informationen zu VPN
Bei Fragen zu VPN wird Ihnen im Netzwerkforum geholfen.
|