Verbindung zu einem Vyatta-Peer herstellen
Mit IBM Cloud VPN for VPC können Sie Ihre VPC über einen VPN-Tunnel sicher mit einem lokalen Netz zu verbinden. Dieser Abschnitt enthält eine Anleitung dazu, wie Sie Ihr Vyatta-VPN-Gateway für die Verbindung zu VPN for VPC konfigurieren.
Diese Anweisungen basieren auf Vyatta Version: AT & T vRouter 5600 1801d.
Lesen Sie Bekannte Probleme für VPN-Gateways, bevor Sie die Verbindung zu Ihrer lokalen Gegenstelle fortsetzen.
Wenn das Vyatta-VPN eine Verbindungsanforderung von VPN for VPC empfängt, verwendet Vyatta IPSec-Parameter der Phase 1, um eine sichere Verbindung herzustellen und das VPN for VPC-Gateway zu authentifizieren. Wenn die Sicherheitsrichtlinie die Verbindung zulässt, richtet das Vyatta-VPN den Tunnel unter Verwendung der IPsec Phase 2-Parameter ein und wendet die IPsec-Sicherheitsrichtlinie an. Schlüsselmanagement, Authentifizierung und Sicherheitsservices werden über das IKE-Protokoll dynamisch vereinbart.
Zur Unterstützung dieser Funktionen müssen die folgenden allgemeinen Konfigurationsschritte für das Vyatta-VPN ausgeführt werden:
- Definieren Sie die Phase 1-Parameter, die Vyatta zum Authentifizieren von VPN for VPC und zum Einrichten einer sicheren Verbindung benötigt.
- Definieren Sie die Phase 2-Parameter, die Vyatta zum Erstellen eines VPN-Tunnels mit VPN for VPC benötigt.
Verbindung eines auf IBM Richtlinien basierenden VPN zu einem Vyatta-Peer herstellen
Verwenden Sie die folgende Konfiguration:
- Wählen Sie in der Authentifizierung
IKEv2aus. - Aktivieren Sie
DH-group 19im Vorschlag für Phase 1. - Legen Sie
lifetime = 36000im Vorschlag für Phase 1 fest. - Inaktivieren Sie PFS im Vorschlag für Phase 2.
- Legen Sie
lifetime = 10800im Vorschlag für Phase 2 fest. - Geben Sie die Informationen für den Peer und das Teilnetz im Vorschlag für Phase 2 ein.
Die folgenden Befehle verwenden die folgenden Variablen, wobei Folgendes gilt:
{{ peer_address }}ist die öffentliche IP-Adresse des VPN-Gateways.{{ ibm_vpc_cidr }}ist das IBM VPC-Teilnetz.{{ vyatta_address }}ist die öffentliche IP-Adresse von Vyatta.{{ vyatta_cidr }}ist das Teilnetz von Vyatta.
Vorbereitende Schritte
Vergewissern Sie sich beim Einrichten Ihres fernen Vyatta-Peers, dass die folgenden Voraussetzungen vorliegen.
-
Eine VPC
-
Ein Teilnetz in der VPC
-
Ein VPN-Gateway in der VPC ohne Verbindungen
Nach der Bereitstellung des VPN-Gateways notieren Sie dessen öffentliche IP-Adresse.
-
Die öffentliche IP-Adresse von Vyatta
-
Das Teilnetz von Vyatta, zu dem Sie mithilfe von VPN eine Verbindung herstellen möchten
Vyatta konfigurieren
Es gibt zwei Möglichkeiten zum Ausführen der Konfiguration in Vyatta:
- Melden Sie sich bei der Vyatta an und führen Sie die Datei
create_vpn.vclimit den folgenden Befehlen aus. - Führen Sie die folgenden Befehle in der Konsole von Vyatta aus.
Beachten Sie Folgendes:
- Wählen Sie in der Authentifizierung
IKEv2aus. - Aktivieren Sie
DH-group 19. - Legen Sie
lifetime = 36000fest. - Inaktivieren Sie PFS.
- Legen Sie
lifetime = 10800fest.
In den folgenden Befehlen werden die folgenden Variablen verwendet. Dabei gilt Folgendes:
{{ peer_address }}ist die öffentliche IP-Adresse des VPN-Gateways.{{ ibm_vpc_cidr }}ist das IBM VPC-Teilnetz.{{ vyatta_address }}ist die öffentliche IP-Adresse von Vyatta.{{ vyatta_cidr }}ist das Teilnetz von Vyatta.
vim vyatta_temp/create_vpn.vcli
#!/bin/vcli -f
configure
set security vpn ipsec ike-group {{ peer_address }}_{{ ike["name"] }}
set security vpn ipsec ike-group {{ peer_address }}_{{ ike["name"] }} dead-peer-detection timeout 120
set security vpn ipsec ike-group {{ peer_address }}_{{ ike["name"] }} lifetime {{ ike["lifetime"] }}
set security vpn ipsec ike-group {{ peer_address }}_{{ ike["name"] }} ike-version {{ ike["version"] }}
set security vpn ipsec ike-group {{ peer_address }}_{{ ike["name"] }} proposal {{ loop.index }}
set security vpn ipsec ike-group {{ peer_address }}_{{ ike["name"] }} proposal {{ loop.index }} dh-group {{ proposal["dhgroup"] }}
set security vpn ipsec ike-group {{ peer_address }}_{{ ike["name"] }} proposal {{ loop.index }} encryption {{ proposal["encryption"] }}
set security vpn ipsec ike-group {{ peer_address }}_{{ ike["name"] }} proposal {{ loop.index }} hash {{ proposal["integrity"] }}
set security vpn ipsec esp-group {{ peer_address }}_{{ ipsec["name"] }} compression disable
set security vpn ipsec esp-group {{ peer_address }}_{{ ipsec["name"] }} lifetime {{ ipsec["lifetime"] }}
set security vpn ipsec esp-group {{ peer_address }}_{{ ipsec["name"] }} mode tunnel
set security vpn ipsec esp-group {{ peer_address }}_{{ ipsec["name"] }} pfs {{ ipsec["proposals"][0]["dhgroup"] }}
set security vpn ipsec esp-group {{ peer_address }}_{{ ipsec["name"] }} proposal {{ loop.index }} encryption {{ proposal["encryption"] }}
set security vpn ipsec esp-group {{ peer_address }}_{{ ipsec["name"] }} proposal {{ loop.index }} hash {{ proposal["integrity"] }}
set security vpn ipsec site-to-site peer {{ peer_address }} authentication mode pre-shared-secret
set security vpn ipsec site-to-site peer {{ peer_address }} authentication pre-shared-secret {{ psk }}
set security vpn ipsec site-to-site peer {{ peer_address }} ike-group {{ peer_address }}_{{ ike["name"] }}
set security vpn ipsec site-to-site peer {{ peer_address }} default-esp-group {{ peer_address }}_{{ ipsec["name"] }}
set security vpn ipsec site-to-site peer {{ peer_address }} description "automation test"
set security vpn ipsec site-to-site peer {{ peer_address }} local-address {{ vyatta_address }}
set security vpn ipsec site-to-site peer {{ peer_address }} connection-type {{ connection_type }}
set security vpn ipsec site-to-site peer {{ peer_address }} authentication remote-id {{ peer_address }}
set security vpn ipsec site-to-site peer {{ peer_address }} tunnel {{ ns.tunnel_index }} local prefix {{ vyatta_cidr }}
set security vpn ipsec site-to-site peer {{ peer_address }} tunnel {{ ns.tunnel_index }} remote prefix {{ ibm_vpc_cidr }}
commit
end_configure
Sie können beispielsweise die folgenden Befehle ausführen:
#!/bin/vcli -f
configure
set security vpn ipsec ike-group 169.61.247.167_test_ike
set security vpn ipsec ike-group 169.61.247.167_test_ike dead-peer-detection timeout 120
set security vpn ipsec ike-group 169.61.247.167_test_ike lifetime 36000
set security vpn ipsec ike-group 169.61.247.167_test_ike ike-version 2
set security vpn ipsec ike-group 169.61.247.167_test_ike proposal 1
set security vpn ipsec ike-group 169.61.247.167_test_ike proposal 1 dh-group 19
set security vpn ipsec ike-group 169.61.247.167_test_ike proposal 1 encryption aes256
set security vpn ipsec ike-group 169.61.247.167_test_ike proposal 1 hash sha2_256
set security vpn ipsec esp-group 169.61.247.167_test_ipsec compression disable
set security vpn ipsec esp-group 169.61.247.167_test_ipsec lifetime 10800
set security vpn ipsec esp-group 169.61.247.167_test_ipsec mode tunnel
set security vpn ipsec esp-group 169.61.247.167_test_ipsec pfs disable
set security vpn ipsec esp-group 169.61.247.167_test_ipsec proposal 1 encryption aes256
set security vpn ipsec esp-group 169.61.247.167_test_ipsec proposal 1 hash sha2_256
set security vpn ipsec site-to-site peer 169.61.247.167 authentication mode pre-shared-secret
set security vpn ipsec site-to-site peer 169.61.247.167 authentication pre-shared-secret ***YOUR-PSK***
set security vpn ipsec site-to-site peer 169.61.247.167 ike-group 169.61.247.167_test_ike
set security vpn ipsec site-to-site peer 169.61.247.167 default-esp-group 169.61.247.167_test_ipsec
set security vpn ipsec site-to-site peer 169.61.247.167 description "automation test"
set security vpn ipsec site-to-site peer 169.61.247.167 local-address 169.63.66.53
set security vpn ipsec site-to-site peer 169.61.247.167 connection-type initiate
set security vpn ipsec site-to-site peer 169.61.247.167 authentication remote-id 169.61.247.167
set security vpn ipsec site-to-site peer 169.61.247.167 tunnel 1 local prefix 10.65.15.104/29
set security vpn ipsec site-to-site peer 169.61.247.167 tunnel 1 remote prefix 10.240.0.0/24
commit
end_configure
Notieren Sie zum Abschluss Ihren Wert für {{ psk }}. Dieser Wert wird im nächsten Schritt benötigt, um die VPN-Verbindung einzurichten.
Routenbasiertes IBM VPN mit einem Vyatta-Peer verbinden
Erstellen Sie die VPN-Verbindung zu Vyatta mithilfe der folgenden IKE- und IPsec-Richtlinie:
- Wählen Sie in der Authentifizierung
IKEv2aus. - Aktivieren Sie
DH-group 19,aes256,sha256im Vorschlag für Phase 1. - Legen Sie
lifetime = 86400im Vorschlag für Phase 1 fest. - Aktivieren Sie PFS,
aes256undsha256im Vorschlag für Phase 2. - Legen Sie
lifetime = 10800im Vorschlag für Phase 2 fest.
Diese Richtlinie dient nur als Beispiel. Sie können beliebige andere Werte verwenden, die dem Vyatta-Vorschlag entsprechen.
Vorbereitende Schritte
Stellen Sie zum Einrichten Ihres fernen Vyatta-Peers sicher, dass die folgenden Voraussetzungen vorliegen:
-
Eine VPC
-
Ein Teilnetz in der VPC
-
Ein VPN-Gateway in der VPC ohne Verbindungen
Nach der Bereitstellung des VPN-Gateways notieren Sie dessen öffentliche IP-Adresse. Die kurze IP-Adresse ist die primäre IP und die lange IP-Adresse ist die sekundäre IP.
-
Die öffentliche IP-Adresse von Vyatta
-
Das Teilnetz von Vyatta, zu dem Sie mithilfe von VPN eine Verbindung herstellen möchten
Vyatta konfigurieren
Die folgenden Befehle verwenden die folgenden Variablen, wobei Folgendes gilt:
{{ primary_peer_address }}ist die kurze öffentliche IP-Adresse des routenbasierten VPN-Gateways.{{ ibm_vpc_cidr }}ist das IBM VPC-Teilnetz.{{ secondary_peer_address }}ist die lange öffentliche IP-Adresse des routenbasierten VPN-Gateways.{{ vyatta_address }}ist die öffentliche IP-Adresse von Vyatta.
Hier ein Beispiel zum Konfigurieren von Vyatta.
-
Definieren Sie den Vorschlag für IKE-Übereinstimmug:
set security vpn ipsec ike-group ibm-vpc-ike-group set security vpn ipsec ike-group ibm-vpc-ike-group dead-peer-detection interval 2 set security vpn ipsec ike-group ibm-vpc-ike-group dead-peer-detection action clear set security vpn ipsec ike-group ibm-vpc-ike-group lifetime 86400 set security vpn ipsec ike-group ibm-vpc-ike-group ike-version 2 set security vpn ipsec ike-group ibm-vpc-ike-group proposal 1 set security vpn ipsec ike-group ibm-vpc-ike-group proposal 1 dh-group 19 set security vpn ipsec ike-group ibm-vpc-ike-group proposal 1 encryption aes256 set security vpn ipsec ike-group ibm-vpc-ike-group proposal 1 hash sha2_256 -
Definieren Sie den Vorschlag für IPsec-Übereinstimmung:
set security vpn ipsec esp-group ibm-vpc-ipsec-group compression disable set security vpn ipsec esp-group ibm-vpc-ipsec-group lifetime 10800 set security vpn ipsec esp-group ibm-vpc-ipsec-group mode tunnel set security vpn ipsec esp-group ibm-vpc-ipsec-group pfs dh-group19 set security vpn ipsec esp-group ibm-vpc-ipsec-group proposal 1 encryption aes256 set security vpn ipsec esp-group ibm-vpc-ipsec-group proposal 1 hash sha2_256 -
Erstellen Sie die VTI- und VPN-Verbindung zum primären IBM Tunnel:
Erstellen Sie die virtuelle Tunnelschnittstelle und konfigurieren Sie die Link-Local-Adresse (
169.254.0.2/30) in der Schnittstelle. Achten Sie darauf, die lokale Verbindungsadresse auszuwählen, und stellen Sie sicher, dass sie sich nicht mit anderen Adressen auf dem Gerät überschneidet. Ein Teilnetz mit 30-Bit-Netzmaske enthält zwei verfügbare IP-Adressen (169.254.0.1und169.254.0.2). Die erste IP-Adresse (169.254.0.1) wird als VTI-Adresse des IBM VPN Gateway verwendet, die zweite IP-Adresse (169.254.0.2) als Vyatta-VTI-Adresse. Wenn Sie in Vyatta über mehr als eine VTI verfügen, können Sie ein anderes Teilnetz für lokale Verbindungen auswählen, z. B.169.254.0.4/30,169.254.0.8/30usw.Sie müssen
169.254.0.1nicht auf dem IBM VPN-Gateway konfigurieren. Sie wird nur referenziert, wenn Sie die Routen in Vyatta konfigurieren.set interfaces vti vti1 description "to-IBM-VPN-primary" set interfaces vti vti1 address 169.254.0.2/30 set interfaces vti vti1 ip tcp-mss limit 1360 set security vpn ipsec site-to-site peer {{ primary_peer_address }} authentication mode pre-shared-secret set security vpn ipsec site-to-site peer {{ primary_peer_address }} authentication pre-shared-secret {{your_pre_shared_key}} set security vpn ipsec site-to-site peer {{ primary_peer_address }} ike-group ibm-vpc-ike-group set security vpn ipsec site-to-site peer {{ primary_peer_address }} default-esp-group ibm-vpc-ipsec-group set security vpn ipsec site-to-site peer {{ primary_peer_address }} description "to-IBM-VPN-primary" set security vpn ipsec site-to-site peer {{ primary_peer_address }} local-address {{ vyatta_address }} set security vpn ipsec site-to-site peer {{ primary_peer_address }} connection-type initiate set security vpn ipsec site-to-site peer {{ primary_peer_address }} authentication remote-id {{ primary_peer_address }} set security vpn ipsec site-to-site peer {{ primary_peer_address }} vti bind vti1 -
Erstellen Sie die primäre Route:
set protocols static route {{ ibm_vpc_cidr }} next-hop 169.254.0.1 distance 10 set protocols static route {{ ibm_vpc_cidr }} next-hop 169.254.0.1 interface vti1 -
Erstellen Sie die VTI- und VPN-Verbindung zum sekundären IBM Tunnel:
set interfaces vti vti2 description "to-IBM-VPN-secondary" set interfaces vti vti2 address 169.254.0.6/30 set interfaces vti vti2 ip tcp-mss limit 1360 set security vpn ipsec site-to-site peer {{ secondary_peer_address }} authentication mode pre-shared-secret set security vpn ipsec site-to-site peer {{ secondary_peer_address }} authentication pre-shared-secret {{your_pre_shared_key}} set security vpn ipsec site-to-site peer {{ secondary_peer_address }} ike-group ibm-vpc-ike-group set security vpn ipsec site-to-site peer {{ secondary_peer_address }} default-esp-group ibm-vpc-ipsec-group set security vpn ipsec site-to-site peer {{ secondary_peer_address }} description "to-IBM-VPN-secondary" set security vpn ipsec site-to-site peer {{ secondary_peer_address }} local-address {{ vyatta_address }} set security vpn ipsec site-to-site peer {{ secondary_peer_address }} connection-type initiate set security vpn ipsec site-to-site peer {{ secondary_peer_address }} authentication remote-id {{ secondary_peer_address }} set security vpn ipsec site-to-site peer {{ secondary_peer_address }} vti bind vti2Die VTI-IP-Adresse
169.254.0.6ist ein Beispiel. Sie können eine beliebige, nicht genutzte IP-Adresse verwenden. -
Erstellen Sie die primäre Route:
set protocols static route {{ ibm_vpc_cidr }} next-hop 169.254.0.5 distance 20 set protocols static route {{ ibm_vpc_cidr }} next-hop 169.254.0.5 interface vti2
Fehlerbehebung
-
Wenn Sie die CPP-Firewall auf einem Vyatta-Gerät aktivieren, müssen Sie die Regeln so konfigurieren, dass der IBM Gateway-Datenverkehr zugelassen wird. Wenn Ihr CPP-Firewall-Name beispielsweise
GATEWAY_CPPlautet, fügen Sie die folgenden Regeln zur Firewall hinzu:# set security firewall name GATEWAY_CPP rule 250 source address 169.61.247.167 # set security firewall name GATEWAY_CPP rule 250 action accept -
Wenn Sie die Firewall auf die Schnittstelle anwenden, müssen Sie den IBM VPC-Datenverkehr zulassen. Zum Beispiel:
# set security firewall name to-vpc rule 20 destination address 10.240.0.0/24 # set security firewall name to-vpc rule 20 action accept # set security firewall name from-vpc rule 20 source address 10.240.0.0/24 # set security firewall name from-vpc rule 20 action accept # set interfaces bonding dp0bond0 vif 862 firewall out to-vpc # set interfaces bonding dp0bond0 vif 862 firewall in from-vpcMöglicherweise müssen Sie andere Regeln entsprechend Ihrer Netzanforderungen hinzufügen, um anderen Datenverkehr zu ermöglichen.
-
Ziehen Sie bei Verwendung einer Zonenfirewall mit IPsec den Abschnitt IPsec-Tunnel einrichten, der mit zonenbasierten Firewalls arbeitet zurate.