# SOME DESCRIPTIVE TITLE.
# Copyright (C) 
# This file is distributed under the same license as the Apache CloudStack Administration Documentation package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Apache CloudStack Administration Documentation 4\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-06-30 12:52+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: ../../networking/remote_access_vpn.rst:18
# 037fa60a2e2f4601bf22e714a97fe0fd
msgid "Remote Access VPN"
msgstr ""

#: ../../networking/remote_access_vpn.rst:20
# 8202b8f150584992995c6c6f69a2c907
msgid "CloudStack account owners can create virtual private networks (VPN) to access their virtual machines. If the guest network is instantiated from a network offering that offers the Remote Access VPN service, the virtual router (based on the System VM) is used to provide the service. CloudStack provides a L2TP-over-IPsec-based remote access VPN service to guest virtual networks. Since each network gets its own virtual router, VPNs are not shared across the networks. VPN clients native to Windows, Mac OS X and iOS can be used to connect to the guest networks. The account owner can create and manage users for their VPN. CloudStack does not use its account database for this purpose but uses a separate table. The VPN user database is shared across all the VPNs created by the account owner. All VPN users get access to all VPNs created by the account owner."
msgstr ""

#: ../../networking/remote_access_vpn.rst:35
# a8a54e6134ab4ebaae71aeb42d0ad32b
msgid "Make sure that not all traffic goes through the VPN. That is, the route installed by the VPN should be only for the guest network and not for all traffic."
msgstr ""

#: ../../networking/remote_access_vpn.rst:39
# a107bc4ab6624b839681adafc00d60e1
msgid "**Road Warrior / Remote Access**. Users want to be able to connect securely from a home or office to a private network in the cloud. Typically, the IP address of the connecting client is dynamic and cannot be preconfigured on the VPN server."
msgstr ""

#: ../../networking/remote_access_vpn.rst:44
# 7b5e742bfe7f429794320cf1c32ffdfc
msgid "**Site to Site**. In this scenario, two private subnets are connected over the public Internet with a secure VPN tunnel. The cloud user's subnet (for example, an office network) is connected through a gateway to the network in the cloud. The address of the user's gateway must be preconfigured on the VPN server in the cloud. Note that although L2TP-over-IPsec can be used to set up Site-to-Site VPNs, this is not the primary intent of this feature. For more information, see \":ref:`setting-s2s-vpn-conn`\"."
msgstr ""

#: ../../networking/remote_access_vpn.rst:55
# 3411c8387ca84f18bd032795907f4585
msgid "Configuring Remote Access VPN"
msgstr ""

#: ../../networking/remote_access_vpn.rst:57
# b5e1d88079c447ba9d2baa0e3f5cf685
msgid "To set up VPN for the cloud:"
msgstr ""

#: ../../networking/remote_access_vpn.rst:59
#: ../../networking/remote_access_vpn.rst:301
#: ../../networking/remote_access_vpn.rst:411
#: ../../networking/remote_access_vpn.rst:431
#: ../../networking/remote_access_vpn.rst:493
#: ../../networking/remote_access_vpn.rst:624
# 85153916f2a94aeb80faa2c9f22cfcea
# e7cff502f3494c00b665a1b732e05fb1
# 7fd5ac75573d435b8c164435b6b50404
# ab1f2323529a48e8a071e9baa44284e3
# 6dfbddbad973426b8d6704da05fb2166
# ce7c03a477b84c029914728fac5f85d5
msgid "Log in to the CloudStack UI as an administrator or end user."
msgstr ""

#: ../../networking/remote_access_vpn.rst:61
# ef4d98e4df0149d797b4aebfc0dbdc03
msgid "In the left navigation, click Global Settings."
msgstr ""

#: ../../networking/remote_access_vpn.rst:63
# 6915f23eef3f4ddfaf19ba566058535d
msgid "Set the following global configuration parameters."
msgstr ""

#: ../../networking/remote_access_vpn.rst:65
# b46467b5e34e436389d14380f0094d63
msgid "remote.access.vpn.client.ip.range - The range of IP addresses to be allocated to remote access VPN clients. The first IP in the range is used by the VPN server."
msgstr ""

#: ../../networking/remote_access_vpn.rst:69
# ad4d961d0bf3453ebc21a59b09ad0207
msgid "remote.access.vpn.psk.length - Length of the IPSec key."
msgstr ""

#: ../../networking/remote_access_vpn.rst:71
# a89aef80d75a49a9bf21eed458b3a570
msgid "remote.access.vpn.user.limit - Maximum number of VPN users per account."
msgstr ""

#: ../../networking/remote_access_vpn.rst:74
# 115f9b2e63704bd7b8d0880401243098
msgid "To enable VPN for a particular network:"
msgstr ""

#: ../../networking/remote_access_vpn.rst:76
#: ../../networking/remote_access_vpn.rst:101
# 1cbcce1e10884bc0906f10625b02b967
# d3065ab6ac634b4ab6d37d5cc5f6b0f8
msgid "Log in as a user or administrator to the CloudStack UI."
msgstr ""

#: ../../networking/remote_access_vpn.rst:78
#: ../../networking/remote_access_vpn.rst:103
# 911488c63a744096b46e3c6ffffb13be
# d221bc15811f454fbe75a5f60599eddf
msgid "In the left navigation, click Network."
msgstr ""

#: ../../networking/remote_access_vpn.rst:80
# 6c20446c6a1442f5997a8515ffe0e2b7
msgid "Click the name of the network you want to work with."
msgstr ""

#: ../../networking/remote_access_vpn.rst:82
# a23f38b6e2c8464bb754dcb7965bd45e
msgid "Click View IP Addresses."
msgstr ""

#: ../../networking/remote_access_vpn.rst:84
# ddf12be035374568a290af5640b40e74
msgid "Click one of the displayed IP address names."
msgstr ""

#: ../../networking/remote_access_vpn.rst:86
#: ../../networking/remote_access_vpn.rst:140
# 41e32709f78944188aa733087e185747
# 29b34df35b844a28a5c4da345fb4deca
msgid "Click the Enable VPN button. |vpn-icon.png|"
msgstr ""

#: ../../networking/remote_access_vpn.rst:88
# 2721223cf47046fa977985536715b7f7
msgid "The IPsec key is displayed in a popup window."
msgstr ""

#: ../../networking/remote_access_vpn.rst:92
# 4837a25ffda64a66818f80b1160c7cd2
msgid "Configuring Remote Access VPN in VPC"
msgstr ""

#: ../../networking/remote_access_vpn.rst:94
# c157c1f5cdd34780971c2d08fa7c492c
msgid "On enabling Remote Access VPN on a VPC, any VPN client present outside the VPC can access VMs present in the VPC by using the Remote VPN connection. The VPN client can be present anywhere except inside the VPC on which the user enabled the Remote Access VPN service."
msgstr ""

#: ../../networking/remote_access_vpn.rst:99
# 5254f550923d4da39985b04b9a5b5054
msgid "To enable VPN for a VPC:"
msgstr ""

#: ../../networking/remote_access_vpn.rst:105
#: ../../networking/remote_access_vpn.rst:435
#: ../../networking/remote_access_vpn.rst:497
#: ../../networking/remote_access_vpn.rst:628
# 12f54511f47d449693acfea97e8d4600
# 435bbd53f5414d84ba589387bf3fdce6
# b89124caf1504a709e89424403a433ed
# 7f0dcc6104d34e828aed248a3d1e5382
msgid "In the Select view, select VPC."
msgstr ""

#: ../../networking/remote_access_vpn.rst:107
#: ../../networking/remote_access_vpn.rst:437
#: ../../networking/remote_access_vpn.rst:630
# 7febfd652a0f4a4a9e44f110742bf34a
# f923f2ca6046405ab0c396e3ca9d07ec
# 07d5aa607fb94d8b9968b055618eea1c
msgid "All the VPCs that you have created for the account is listed in the page."
msgstr ""

#: ../../networking/remote_access_vpn.rst:110
# 9c932fa1898c4fef97f99b0535e90a08
msgid "Click the Configure button of the VPC."
msgstr ""

#: ../../networking/remote_access_vpn.rst:112
#: ../../networking/remote_access_vpn.rst:446
#: ../../networking/remote_access_vpn.rst:509
#: ../../networking/remote_access_vpn.rst:641
# 83859c50046f48e4b614cd9f79148c16
# 15f6f70e22df4f90868d62f6c93d09f7
# 22a5c413786843acb09faad526a6e8e0
# b4e49b76aea54ad6a1b5116db84dd6d6
msgid "For each tier, the following options are displayed:"
msgstr ""

#: ../../networking/remote_access_vpn.rst:114
#: ../../networking/remote_access_vpn.rst:448
#: ../../networking/remote_access_vpn.rst:511
#: ../../networking/remote_access_vpn.rst:643
# f709cfb9270544caa350d3649e206913
# 1e135a9023a3449996277c5654e0ffe8
# 36d751e518594344814cd905fce95167
# 5f29611ae8024e66a507590e86ca1301
msgid "Internal LB"
msgstr ""

#: ../../networking/remote_access_vpn.rst:116
#: ../../networking/remote_access_vpn.rst:450
#: ../../networking/remote_access_vpn.rst:513
#: ../../networking/remote_access_vpn.rst:645
# 38b29ff504c24ecc8d7d54f35ab29998
# d744448419454b5ba7aae6c638c1f8fd
# 7e6e21ff676c435d902e75134d2341e5
# b7dd123eea7d460aa99844bad34e0f91
msgid "Public LB IP"
msgstr ""

#: ../../networking/remote_access_vpn.rst:118
#: ../../networking/remote_access_vpn.rst:452
#: ../../networking/remote_access_vpn.rst:515
#: ../../networking/remote_access_vpn.rst:647
# 74d00e17afdf47d8a79f5c8f0a90a214
# 404668f335f04d41947db0129e79e65f
# bee509b27e7c4c9985f5bd7c9169ecaf
# 7f14717fbb6e471c9e00e2f7622cfa7b
msgid "Static NAT"
msgstr ""

#: ../../networking/remote_access_vpn.rst:120
#: ../../networking/remote_access_vpn.rst:454
#: ../../networking/remote_access_vpn.rst:517
#: ../../networking/remote_access_vpn.rst:649
# 6fd6582e4c7d47019c91a20d69646e3a
# e333c5792fca4359b9348192f5918984
# bdf83d752fbc42ef93ab96051cdf7700
# 30265536e81c46c2879ee0cca63d1297
msgid "Virtual Machines"
msgstr ""

#: ../../networking/remote_access_vpn.rst:122
#: ../../networking/remote_access_vpn.rst:456
#: ../../networking/remote_access_vpn.rst:519
#: ../../networking/remote_access_vpn.rst:651
# 8696dd08ef2d4b6a816ecd0095cdf602
# f1f39145e71e46b09b4c26ce0175e5b8
# fe3c8f334ef04b4aa83e3850c9666137
# 54ff7edf855e482da2b26688c543effe
msgid "CIDR"
msgstr ""

#: ../../networking/remote_access_vpn.rst:124
#: ../../networking/remote_access_vpn.rst:458
#: ../../networking/remote_access_vpn.rst:521
#: ../../networking/remote_access_vpn.rst:653
# 1bd24a8501fd4efd8cd4d0eba492ce37
# e7a3e4a10b2e484f8b311cdb938a0e47
# 95e13a760c004dc9a119ddf73d83d0fa
# 5605be5958c24cb5a0f534dbdecdfa40
msgid "The following router information is displayed:"
msgstr ""

#: ../../networking/remote_access_vpn.rst:126
#: ../../networking/remote_access_vpn.rst:460
#: ../../networking/remote_access_vpn.rst:523
#: ../../networking/remote_access_vpn.rst:655
# 8d80f7dd9bcc41f38e801ab022f3fa7d
# 5c726601395a427e9f541bf544194e40
# 8b623ab0e8764c58bad6a828685b3cce
# 71bcceb5de54474b88583e11b88f962e
msgid "Private Gateways"
msgstr ""

#: ../../networking/remote_access_vpn.rst:128
#: ../../networking/remote_access_vpn.rst:462
#: ../../networking/remote_access_vpn.rst:525
#: ../../networking/remote_access_vpn.rst:657
# 0b3d0e7c6eac4b83b9912d3af84c76b3
# 582728e1b1c043f0bde4a3c35e0ebaba
# df66b830cc464227ab4da8790a6275bf
# 4055bdef61d847dc91261a6fc6346d1d
msgid "Public IP Addresses"
msgstr ""

#: ../../networking/remote_access_vpn.rst:130
#: ../../networking/remote_access_vpn.rst:464
#: ../../networking/remote_access_vpn.rst:527
#: ../../networking/remote_access_vpn.rst:659
# 9ce2994577cc43f9bd1f86225e23149e
# fbf89a2ae9534ea18fb4673230aa75fb
# 0720a5b1037e49ffbf44a70beacd5c9b
# 3ade6e74142f446c9bea2329e2828be8
msgid "Site-to-Site VPNs"
msgstr ""

#: ../../networking/remote_access_vpn.rst:132
#: ../../networking/remote_access_vpn.rst:466
#: ../../networking/remote_access_vpn.rst:529
#: ../../networking/remote_access_vpn.rst:661
# 8c10e84bb92143eb918356bda1b0e7e5
# 376033730f8d4e0b88fc25e1b6fdea80
# a7e9c55327984532a4460a2b4ba05bb4
# cd29b4ee7b0c4da0aec784bb04dce7e6
msgid "Network ACL Lists"
msgstr ""

#: ../../networking/remote_access_vpn.rst:134
# c45c88d1e8af4023bd23142b7397edd5
msgid "In the Router node, select Public IP Addresses."
msgstr ""

#: ../../networking/remote_access_vpn.rst:136
# 2334ea7959384b2bbf5138eb8c7aaf78
msgid "The IP Addresses page is displayed."
msgstr ""

#: ../../networking/remote_access_vpn.rst:138
# 31440b2a6daa47d2a5ff458a51ca81cc
msgid "Click Source NAT IP address."
msgstr ""

#: ../../networking/remote_access_vpn.rst:142
# 8cf058b60a184e129abe4d2bc8ade840
msgid "Click OK to confirm. The IPsec key is displayed in a pop-up window."
msgstr ""

#: ../../networking/remote_access_vpn.rst:144
# 36c398fbda5b45599ac36f3b5b77e97d
msgid "Now, you need to add the VPN users."
msgstr ""

#: ../../networking/remote_access_vpn.rst:146
# a6d5430b813547dabde217104eba046a
msgid "Click the Source NAT IP."
msgstr ""

#: ../../networking/remote_access_vpn.rst:148
# 88ac91cdca464aa8a924d7cbca73f3df
msgid "Select the VPN tab."
msgstr ""

#: ../../networking/remote_access_vpn.rst:150
# 76a034604e9a4113a46051cde33b0cd8
msgid "Add the username and the corresponding password of the user you wanted to add."
msgstr ""

#: ../../networking/remote_access_vpn.rst:153
# f388fc2f4f0749f5bbb9e062d57f1137
msgid "Click Add."
msgstr ""

#: ../../networking/remote_access_vpn.rst:155
# c491f786e1874564b25032b670c35f98
msgid "Repeat the same steps to add the VPN users."
msgstr ""

#: ../../networking/remote_access_vpn.rst:159
# d3c8df533b2c4e659158e77c8669a813
msgid "Using Remote Access VPN with Windows"
msgstr ""

#: ../../networking/remote_access_vpn.rst:161
# d03485e36a8744758782e81ab88041d1
msgid "The procedure to use VPN varies by Windows version. Generally, the user must edit the VPN properties and make sure that the default route is not the VPN. The following steps are for Windows L2TP clients on Windows Vista. The commands should be similar for other Windows versions."
msgstr ""

#: ../../networking/remote_access_vpn.rst:166
# 98196e5429de407da75adf5f3ce7cf8d
msgid "Log in to the CloudStack UI and click on the source NAT IP for the account. The VPN tab should display the IPsec preshared key. Make a note of this and the source NAT IP. The UI also lists one or more users and their passwords. Choose one of these users, or, if none exists, add a user and password."
msgstr ""

#: ../../networking/remote_access_vpn.rst:172
# 6a896fa8431d479195d161efebf56672
msgid "On the Windows box, go to Control Panel, then select Network and Sharing center. Click Setup a connection or network."
msgstr ""

#: ../../networking/remote_access_vpn.rst:175
# 8e983aa928b444228e689749e8fc0801
msgid "In the next dialog, select No, create a new connection."
msgstr ""

#: ../../networking/remote_access_vpn.rst:177
# 98f484c7652c45d2ae57690d719610ed
msgid "In the next dialog, select Use my Internet Connection (VPN)."
msgstr ""

#: ../../networking/remote_access_vpn.rst:179
# 784c5c041ba94caea475a667add0adcd
msgid "In the next dialog, enter the source NAT IP from step #1 and give the connection a name. Check Don't connect now."
msgstr ""

#: ../../networking/remote_access_vpn.rst:183
# 41d1540c0a7d401a9c549bd5304f18ce
msgid "In the next dialog, enter the user name and password selected in step #1."
msgstr ""

#: ../../networking/remote_access_vpn.rst:186
# 3cbbd674fd8d412c90bfbbeb8f607ea0
msgid "Click Create."
msgstr ""

#: ../../networking/remote_access_vpn.rst:188
# 85a9ef6f201e47f584255229980b3d87
msgid "Go back to the Control Panel and click Network Connections to see the new connection. The connection is not active yet."
msgstr ""

#: ../../networking/remote_access_vpn.rst:191
# 1d169d66dd744654bd8ea7dd62a677a6
msgid "Right-click the new connection and select Properties. In the Properties dialog, select the Networking tab."
msgstr ""

#: ../../networking/remote_access_vpn.rst:196
# a191730de1684f06a3d729e5cde2e487
msgid "In Type of VPN, choose L2TP IPsec VPN, then click IPsec settings. Select Use preshared key. Enter the preshared key from step #1."
msgstr ""

#: ../../networking/remote_access_vpn.rst:199
# 343858b6c3e5498fad0bd34b503e792d
msgid "The connection is ready for activation. Go back to Control Panel -> Network Connections and double-click the created connection."
msgstr ""

#: ../../networking/remote_access_vpn.rst:202
# e60c05ee4aef40d38a3a0b01aade9b5e
msgid "Enter the user name and password from step #1."
msgstr ""

#: ../../networking/remote_access_vpn.rst:206
# d1cfefca174a4554a0c4170ec0c49f9b
msgid "Using Remote Access VPN with Mac OS X"
msgstr ""

#: ../../networking/remote_access_vpn.rst:208
# 728cc61e43c440459c1ad6252a2f6b97
msgid "First, be sure you've configured the VPN settings in your CloudStack install. This section is only concerned with connecting via Mac OS X to your VPN."
msgstr ""

#: ../../networking/remote_access_vpn.rst:212
# b3185af9f4534991ad3e3e5b66f47da2
msgid "Note, these instructions were written on Mac OS X 10.7.5. They may differ slightly in older or newer releases of Mac OS X."
msgstr ""

#: ../../networking/remote_access_vpn.rst:215
# 6f2aaf1e33d6421db0f521c5820d02c8
msgid "On your Mac, open System Preferences and click Network."
msgstr ""

#: ../../networking/remote_access_vpn.rst:217
# 26e7088ea9494f94922f1a8f5e0ad753
msgid "Make sure Send all traffic over VPN connection is not checked."
msgstr ""

#: ../../networking/remote_access_vpn.rst:219
# 8e0600ca2c9546a2b3905659b64a835b
msgid "If your preferences are locked, you'll need to click the lock in the bottom left-hand corner to make any changes and provide your administrator credentials."
msgstr ""

#: ../../networking/remote_access_vpn.rst:223
# da1ba33a066b4415a728d14ab936780c
msgid "You will need to create a new network entry. Click the plus icon on the bottom left-hand side and you'll see a dialog that says \"Select the interface and enter a name for the new service.\" Select VPN from the Interface drop-down menu, and \"L2TP over IPSec\" for the VPN Type. Enter whatever you like within the \"Service Name\" field."
msgstr ""

#: ../../networking/remote_access_vpn.rst:229
# b96bb5f3c9534d3384752b6c652405b5
msgid "You'll now have a new network interface with the name of whatever you put in the \"Service Name\" field. For the purposes of this example, we'll assume you've named it \"CloudStack.\" Click on that interface and provide the IP address of the interface for your VPN under the Server Address field, and the user name for your VPN under Account Name."
msgstr ""

#: ../../networking/remote_access_vpn.rst:236
# db5b3b2b72e449368be600488d32a212
msgid "Click Authentication Settings, and add the user's password under User Authentication and enter the pre-shared IPSec key in the Shared Secret field under Machine Authentication. Click OK."
msgstr ""

#: ../../networking/remote_access_vpn.rst:240
# 79ff11baad9844c9a7bb84f19aac4703
msgid "You may also want to click the \"Show VPN status in menu bar\" but that's entirely optional."
msgstr ""

#: ../../networking/remote_access_vpn.rst:243
# 74b926642e7d49ca925804a4d6d99abc
msgid "Now click \"Connect\" and you will be connected to the CloudStack VPN."
msgstr ""

#: ../../networking/remote_access_vpn.rst:249
# fb0aef197790435d95971b0006f98a9d
msgid "Setting Up a Site-to-Site VPN Connection"
msgstr ""

#: ../../networking/remote_access_vpn.rst:251
# b113a5a8546b4ce8b1a7507f2b860ad7
msgid "A Site-to-Site VPN connection helps you establish a secure connection from an enterprise datacenter to the cloud infrastructure. This allows users to access the guest VMs by establishing a VPN connection to the virtual router of the account from a device in the datacenter of the enterprise. You can also establish a secure connection between two VPC setups or high availability zones in your environment. Having this facility eliminates the need to establish VPN connections to individual VMs."
msgstr ""

#: ../../networking/remote_access_vpn.rst:260
# ec0ce935716740158c031ebf544b7294
msgid "The difference from Remote VPN is that Site-to-site VPNs connects entire networks to each other, for example, connecting a branch office network to a company headquarters network. In a site-to-site VPN, hosts do not have VPN client software; they send and receive normal TCP/IP traffic through a VPN gateway."
msgstr ""

#: ../../networking/remote_access_vpn.rst:266
# 79120b77963b4f77afa51573e6ad1ca7
msgid "The supported endpoints on the remote datacenters are:"
msgstr ""

#: ../../networking/remote_access_vpn.rst:268
# 34aba4dd56884ad3871e85272aab2acf
msgid "Cisco ISR with IOS 12.4 or later"
msgstr ""

#: ../../networking/remote_access_vpn.rst:270
# 95978dcfdbf34c2886952ee16cb6e16d
msgid "Juniper J-Series routers with JunOS 9.5 or later"
msgstr ""

#: ../../networking/remote_access_vpn.rst:272
# 272a2a827c494e90a6b2d52dc96b7f0b
msgid "CloudStack virtual routers"
msgstr ""

#: ../../networking/remote_access_vpn.rst:275
# 8c16297c0eab4c72b6a2a29b0f4866d1
msgid "In addition to the specific Cisco and Juniper devices listed above, the expectation is that any Cisco or Juniper device running on the supported operating systems are able to establish VPN connections."
msgstr ""

#: ../../networking/remote_access_vpn.rst:279
# eb701cb20d40405b9ca1d79ce15b681f
msgid "To set up a Site-to-Site VPN connection, perform the following:"
msgstr ""

#: ../../networking/remote_access_vpn.rst:281
# b5f397a7a64b47168a74fb1618810e5c
msgid "Create a Virtual Private Cloud (VPC)."
msgstr ""

#: ../../networking/remote_access_vpn.rst:283
# 1d44be641cf042b99841b146bb055956
msgid "See \":ref:`configuring-vpc`\"."
msgstr ""

#: ../../networking/remote_access_vpn.rst:285
# f1ff67e23d7d4eaeb81c1b5686399942
msgid "Create a VPN Customer Gateway."
msgstr ""

#: ../../networking/remote_access_vpn.rst:287
# e3425171b9504f5b958d0802ca1a55ce
msgid "Create a VPN gateway for the VPC that you created."
msgstr ""

#: ../../networking/remote_access_vpn.rst:289
# 6d0964544a6944f39ec8eafdaf587428
msgid "Create VPN connection from the VPC VPN gateway to the customer VPN gateway."
msgstr ""

#: ../../networking/remote_access_vpn.rst:294
# 3d85874020904fbdb261885b5e2f05ce
msgid "Creating and Updating a VPN Customer Gateway"
msgstr ""

#: ../../networking/remote_access_vpn.rst:297
# 9b0857af13544aaebee5984422c93195
msgid "A VPN customer gateway can be connected to only one VPN gateway at a time."
msgstr ""

#: ../../networking/remote_access_vpn.rst:299
# 1a951a0ee8d54164b9b99ff9cd080e58
msgid "To add a VPN Customer Gateway:"
msgstr ""

#: ../../networking/remote_access_vpn.rst:303
#: ../../networking/remote_access_vpn.rst:413
#: ../../networking/remote_access_vpn.rst:433
#: ../../networking/remote_access_vpn.rst:495
#: ../../networking/remote_access_vpn.rst:626
# 6a26e636eb224d1eb75c9782de7c830d
# affc98b5cd4b401086e5e00f9e69ac90
# 23c81aa674f64826830390c49839730c
# 98dc2f6f69d341b0b1867f35102e20ff
# d4efd83e728b439eaa8408bd783d0c11
msgid "In the left navigation, choose Network."
msgstr ""

#: ../../networking/remote_access_vpn.rst:305
#: ../../networking/remote_access_vpn.rst:415
# b0e99af0f0014e1aa156dd7f2644f23a
# cf4e8a6aa8be4c3e9c92bd5f84e9b571
msgid "In the Select view, select VPN Customer Gateway."
msgstr ""

#: ../../networking/remote_access_vpn.rst:307
# 51d8e12e75dd47e4b2d4a9c52da89be9
msgid "Click Add VPN Customer Gateway."
msgstr ""

#: ../../networking/remote_access_vpn.rst:309
# e72b7822c85649f99f01e845e1418844
msgid "|addvpncustomergateway.png|"
msgstr ""

#: ../../networking/remote_access_vpn.rst:311
# 0810d2cb133043b4858badbc2e4ac704
msgid "Provide the following information:"
msgstr ""

#: ../../networking/remote_access_vpn.rst:313
# 372ec8983a514ad3b0927d01bc30fae6
msgid "**Name**: A unique name for the VPN customer gateway you create."
msgstr ""

#: ../../networking/remote_access_vpn.rst:315
# 0cd283ba65a241cf97d90b2c5f04c36f
msgid "**Gateway**: The IP address for the remote gateway."
msgstr ""

#: ../../networking/remote_access_vpn.rst:317
# 0e3f2efe75f7454e9f2ac706604f832d
msgid "**CIDR list**: The guest CIDR list of the remote subnets. Enter a CIDR or a comma-separated list of CIDRs. Ensure that a guest CIDR list is not overlapped with the VPC's CIDR, or another guest CIDR. The CIDR must be RFC1918-compliant."
msgstr ""

#: ../../networking/remote_access_vpn.rst:322
# 929c5f444fae4aee88faa98a926d0f52
msgid "**IPsec Preshared Key**: Preshared keying is a method where the endpoints of the VPN share a secret key. This key value is used to authenticate the customer gateway and the VPC VPN gateway to each other."
msgstr ""

#: ../../networking/remote_access_vpn.rst:328
# 171abb6f27ef471eae87fd0718d714af
msgid "The IKE peers (VPN end points) authenticate each other by computing and sending a keyed hash of data that includes the Preshared key. If the receiving peer is able to create the same hash independently by using its Preshared key, it knows that both peers must share the same secret, thus authenticating the customer gateway."
msgstr ""

#: ../../networking/remote_access_vpn.rst:335
# a4553b53ccb04b358a278545e87eb9bd
msgid "**IKE Encryption**: The Internet Key Exchange (IKE) policy for phase-1. The supported encryption algorithms are AES128, AES192, AES256, and 3DES. Authentication is accomplished through the Preshared Keys."
msgstr ""

#: ../../networking/remote_access_vpn.rst:341
# 3bb40218a4db49e0aa09d5983d57a8fa
msgid "The phase-1 is the first phase in the IKE process. In this initial negotiation phase, the two VPN endpoints agree on the methods to be used to provide security for the underlying IP traffic. The phase-1 authenticates the two VPN gateways to each other, by confirming that the remote gateway has a matching Preshared Key."
msgstr ""

#: ../../networking/remote_access_vpn.rst:347
# a5e3619f28fb487987386ff3359d079b
msgid "**IKE Hash**: The IKE hash for phase-1. The supported hash algorithms are SHA1 and MD5."
msgstr ""

#: ../../networking/remote_access_vpn.rst:350
# 998f798e068147c69b96d5332181acdd
msgid "**IKE DH**: A public-key cryptography protocol which allows two parties to establish a shared secret over an insecure communications channel. The 1536-bit Diffie-Hellman group is used within IKE to establish session keys. The supported options are None, Group-5 (1536-bit) and Group-2 (1024-bit)."
msgstr ""

#: ../../networking/remote_access_vpn.rst:356
# 34c98169c2dd4375a23dff45d764590d
msgid "**ESP Encryption**: Encapsulating Security Payload (ESP) algorithm within phase-2. The supported encryption algorithms are AES128, AES192, AES256, and 3DES."
msgstr ""

#: ../../networking/remote_access_vpn.rst:361
# c61b40cf82de4f9fb6c45b8e0172b4b4
msgid "The phase-2 is the second phase in the IKE process. The purpose of IKE phase-2 is to negotiate IPSec security associations (SA) to set up the IPSec tunnel. In phase-2, new keying material is extracted from the Diffie-Hellman key exchange in phase-1, to provide session keys to use in protecting the VPN data flow."
msgstr ""

#: ../../networking/remote_access_vpn.rst:367
# 71d47a66a42f4a04b2540e69eba4cdd9
msgid "**ESP Hash**: Encapsulating Security Payload (ESP) hash for phase-2. Supported hash algorithms are SHA1 and MD5."
msgstr ""

#: ../../networking/remote_access_vpn.rst:370
# 2378eab3a19b42cda0e954ae2c70bb38
msgid "**Perfect Forward Secrecy**: Perfect Forward Secrecy (or PFS) is the property that ensures that a session key derived from a set of long-term public and private keys will not be compromised. This property enforces a new Diffie-Hellman key exchange. It provides the keying material that has greater key material life and thereby greater resistance to cryptographic attacks. The available options are None, Group-5 (1536-bit) and Group-2 (1024-bit). The security of the key exchanges increase as the DH groups grow larger, as does the time of the exchanges."
msgstr ""

#: ../../networking/remote_access_vpn.rst:381
# de12259eb62f48c294bc324395468d43
msgid "When PFS is turned on, for every negotiation of a new phase-2 SA the two gateways must generate a new set of phase-1 keys. This adds an extra layer of protection that PFS adds, which ensures if the phase-2 SA's have expired, the keys used for new phase-2 SA's have not been generated from the current phase-1 keying material."
msgstr ""

#: ../../networking/remote_access_vpn.rst:387
# c29472e88000476ea8eb3f3165f58da4
msgid "**IKE Lifetime (seconds)**: The phase-1 lifetime of the security association in seconds. Default is 86400 seconds (1 day). Whenever the time expires, a new phase-1 exchange is performed."
msgstr ""

#: ../../networking/remote_access_vpn.rst:391
# c05a91d5e2b44d7a9ea842e762a6f4a0
msgid "**ESP Lifetime (seconds)**: The phase-2 lifetime of the security association in seconds. Default is 3600 seconds (1 hour). Whenever the value is exceeded, a re-key is initiated to provide a new IPsec encryption and authentication session keys."
msgstr ""

#: ../../networking/remote_access_vpn.rst:396
# 9afba73f17a3471faa8cff978bb64495
msgid "**Dead Peer Detection**: A method to detect an unavailable Internet Key Exchange (IKE) peer. Select this option if you want the virtual router to query the liveliness of its IKE peer at regular intervals. It's recommended to have the same configuration of DPD on both side of VPN connection."
msgstr ""

#: ../../networking/remote_access_vpn.rst:402
#: ../../networking/remote_access_vpn.rst:425
# 4d12f59b777c48e98fb18ab2bace355d
# a65f0ba427b04b6da2bdc39a05acba02
msgid "Click OK."
msgstr ""

#: ../../networking/remote_access_vpn.rst:406
# 460983ec4dd64370b650944e21d45b75
msgid "Updating and Removing a VPN Customer Gateway"
msgstr ""

#: ../../networking/remote_access_vpn.rst:408
# 47640086ca6e4122a862027f6e528af6
msgid "You can update a customer gateway either with no VPN connection, or related VPN connection is in error state."
msgstr ""

#: ../../networking/remote_access_vpn.rst:417
# eee4a55897da4f06b44795327c878110
msgid "Select the VPN customer gateway you want to work with."
msgstr ""

#: ../../networking/remote_access_vpn.rst:419
# 9dc617447a9c48df92819b996a8e3b39
msgid "To modify the required parameters, click the Edit VPN Customer Gateway button |vpn-edit-icon.png|"
msgstr ""

#: ../../networking/remote_access_vpn.rst:422
# 0c3c4beedfb2453cb03958649454d3d2
msgid "To remove the VPN customer gateway, click the Delete VPN Customer Gateway button |delete.png|"
msgstr ""

#: ../../networking/remote_access_vpn.rst:429
# ae45fd8564384b9a8682a662011196da
msgid "Creating a VPN gateway for the VPC"
msgstr ""

#: ../../networking/remote_access_vpn.rst:440
#: ../../networking/remote_access_vpn.rst:501
#: ../../networking/remote_access_vpn.rst:633
# addf23d2b2b14d9c80370bc70f64ec94
# 8ab2d3e53e83433ab4cf699e916d89d9
# 5ece94a59df34ecdb036ac45fc49bd06
msgid "Click the Configure button of the VPC to which you want to deploy the VMs."
msgstr ""

#: ../../networking/remote_access_vpn.rst:443
#: ../../networking/remote_access_vpn.rst:504
#: ../../networking/remote_access_vpn.rst:636
# af1a9268a6da4a45922589c847776234
# 1ccf3bf911414951aeb77508e82aa992
# 433faedb39a3413c8ce1f220f5e22560
msgid "The VPC page is displayed where all the tiers you created are listed in a diagram."
msgstr ""

#: ../../networking/remote_access_vpn.rst:468
#: ../../networking/remote_access_vpn.rst:531
#: ../../networking/remote_access_vpn.rst:663
# 3152bcd237704f96b4a1b897b801f81b
# 5a72231d602e4625acd0cbd4b0af4f7e
# 243047505a8c40e1aadfa9dfbc091f0c
msgid "Select Site-to-Site VPN."
msgstr ""

#: ../../networking/remote_access_vpn.rst:470
# 626b08a7444c4baeb387b316fcf8921d
msgid "If you are creating the VPN gateway for the first time, selecting Site-to-Site VPN prompts you to create a VPN gateway."
msgstr ""

#: ../../networking/remote_access_vpn.rst:473
# c46b3f642ec240738664d6765c1d736f
msgid "In the confirmation dialog, click Yes to confirm."
msgstr ""

#: ../../networking/remote_access_vpn.rst:475
# 6dbf5c6dc5984bc896785e8d81f1fa0d
msgid "Within a few moments, the VPN gateway is created. You will be prompted to view the details of the VPN gateway you have created. Click Yes to confirm."
msgstr ""

#: ../../networking/remote_access_vpn.rst:479
# 62c9ff637a9c46beb4a187d9d333e711
msgid "The following details are displayed in the VPN Gateway page:"
msgstr ""

#: ../../networking/remote_access_vpn.rst:481
#: ../../networking/remote_access_vpn.rst:561
# 202a6b9a51f3470d89bb84bb2c9579a8
# 47435eb81ccf40eab149e9b0abb9213e
msgid "IP Address"
msgstr ""

#: ../../networking/remote_access_vpn.rst:483
# 46f2ea07f3744ac381add8029488f5d3
msgid "Account"
msgstr ""

#: ../../networking/remote_access_vpn.rst:485
# bad02846a1ee4160a278abb51303de1f
msgid "Domain"
msgstr ""

#: ../../networking/remote_access_vpn.rst:489
# b0b08d6daddb48409f581811786b76cf
msgid "Creating a VPN Connection"
msgstr ""

#: ../../networking/remote_access_vpn.rst:491
# 596c1d39f0fe47fa8b05ff9b321ae507
msgid "CloudStack supports creating up to 8 VPN connections."
msgstr ""

#: ../../networking/remote_access_vpn.rst:499
# a61e029b8b514adfa93c97620ffff95f
msgid "All the VPCs that you create for the account are listed in the page."
msgstr ""

#: ../../networking/remote_access_vpn.rst:507
#: ../../networking/remote_access_vpn.rst:639
# 690702b545754083adec40f20d69acb4
# 614430ff17c8485fae7ddb094273ef06
msgid "Click the Settings icon."
msgstr ""

#: ../../networking/remote_access_vpn.rst:533
#: ../../networking/remote_access_vpn.rst:665
# 86dbf74b2c6e4f0aab3f252fafd89f2c
# fab72af09a284fd2800ff51645f071bf
msgid "The Site-to-Site VPN page is displayed."
msgstr ""

#: ../../networking/remote_access_vpn.rst:535
#: ../../networking/remote_access_vpn.rst:667
# db4dc2719dd6405eb250f62908eef010
# 207bfc2acd9e434887770513a245873b
msgid "From the Select View drop-down, ensure that VPN Connection is selected."
msgstr ""

#: ../../networking/remote_access_vpn.rst:538
# 950eac49657f4a29a9fba1b973577867
msgid "Click Create VPN Connection."
msgstr ""

#: ../../networking/remote_access_vpn.rst:540
# 916fc10dd39346ada9828e3a2a80ffda
msgid "The Create VPN Connection dialog is displayed:"
msgstr ""

#: ../../networking/remote_access_vpn.rst:542
# 87888fff4a5f4664be5c4c03fc2ecf6a
msgid "|createvpnconnection.png|"
msgstr ""

#: ../../networking/remote_access_vpn.rst:544
# 4b6cc407b8bc4a728fb3328f0ce53f3f
msgid "Select the desired customer gateway."
msgstr ""

#: ../../networking/remote_access_vpn.rst:546
# 6776ab8d9fad4c2d8956d78ff11ab998
msgid "Select Passive if you want to establish a connection between two VPC virtual routers."
msgstr ""

#: ../../networking/remote_access_vpn.rst:549
# 513eee2d7f8745a4b338c8ea142fae05
msgid "If you want to establish a connection between two VPC virtual routers, select Passive only on one of the VPC virtual routers, which waits for the other VPC virtual router to initiate the connection. Do not select Passive on the VPC virtual router that initiates the connection."
msgstr ""

#: ../../networking/remote_access_vpn.rst:555
# dd03407d4f064ec99ea68bb066d2289e
msgid "Click OK to confirm."
msgstr ""

#: ../../networking/remote_access_vpn.rst:557
# d4c274e9cecb44bcad1ba67ed65069e4
msgid "Within a few moments, the VPN Connection is displayed."
msgstr ""

#: ../../networking/remote_access_vpn.rst:559
# 42dd7918225d458f980e458924b262f3
msgid "The following information on the VPN connection is displayed:"
msgstr ""

#: ../../networking/remote_access_vpn.rst:563
# 64fdbdcdfac148dea0883db2615bf0ed
msgid "Gateway"
msgstr ""

#: ../../networking/remote_access_vpn.rst:565
# 8ac547f2f1574131adc8c69d4e3c30ef
msgid "State"
msgstr ""

#: ../../networking/remote_access_vpn.rst:567
# d2a5bd51a6e347e89857750706114fc9
msgid "IPSec Preshared Key"
msgstr ""

#: ../../networking/remote_access_vpn.rst:569
# ccfea0cb9ae34777990aa348b7a9c23f
msgid "IKE Policy"
msgstr ""

#: ../../networking/remote_access_vpn.rst:571
# bc29ecfda06848f78a8cc694b3f6d47b
msgid "ESP Policy"
msgstr ""

#: ../../networking/remote_access_vpn.rst:575
# 57cee5dc2eed4f6a9164c4838ebdc9d6
msgid "Site-to-Site VPN Connection Between VPC Networks"
msgstr ""

#: ../../networking/remote_access_vpn.rst:577
# d8f9f929fafd40e6895122549b022754
msgid "CloudStack provides you with the ability to establish a site-to-site VPN connection between CloudStack virtual routers. To achieve that, add a passive mode Site-to-Site VPN. With this functionality, users can deploy applications in multiple Availability Zones or VPCs, which can communicate with each other by using a secure Site-to-Site VPN Tunnel."
msgstr ""

#: ../../networking/remote_access_vpn.rst:583
# 2fb087843cd04fafa3beba95a3ae2af1
msgid "This feature is supported on all the hypervisors."
msgstr ""

#: ../../networking/remote_access_vpn.rst:585
# 217a4da322cc4f8caa7e04c029779c8b
msgid "Create two VPCs. For example, VPC A and VPC B."
msgstr ""

#: ../../networking/remote_access_vpn.rst:587
# a78d89e3621346c8a11277927e8dc502
msgid "For more information, see \":ref:`configuring-vpc`\"."
msgstr ""

#: ../../networking/remote_access_vpn.rst:589
# 09b752dc4d4e4cd29912fcbe352309fa
msgid "Create VPN gateways on both the VPCs you created."
msgstr ""

#: ../../networking/remote_access_vpn.rst:591
# b9af87b346ef40889104b5a1f40c7702
msgid "For more information, see `\"Creating a VPN gateway for the VPC\" <#creating-a-vpn-gateway-for-the-vpc>`_."
msgstr ""

#: ../../networking/remote_access_vpn.rst:594
# 29d8db01114c458e8d855996c22e0664
msgid "Create VPN customer gateway for both the VPCs."
msgstr ""

#: ../../networking/remote_access_vpn.rst:596
# 1a50b7ef681f4cb48c15d30e08dfd1e7
msgid "For more information, see `\"Creating and Updating a VPN Customer Gateway\" <#creating-and-updating-a-vpn-customer-gateway>`_."
msgstr ""

#: ../../networking/remote_access_vpn.rst:599
# c9013d4ec4c74444a40bf745ae0a5544
msgid "Enable a VPN connection on VPC A in passive mode."
msgstr ""

#: ../../networking/remote_access_vpn.rst:601
# 8fb700491eeb4156a1c7549d81a78346
msgid "For more information, see `\"Creating a VPN Connection\" <#creating-a-vpn-connection>`_."
msgstr ""

#: ../../networking/remote_access_vpn.rst:604
# e8dd1dd51dd34f57ac10161220734be4
msgid "Ensure that the customer gateway is pointed to VPC B. The VPN connection is shown in the Disconnected state."
msgstr ""

#: ../../networking/remote_access_vpn.rst:607
# eca76af9d9304b17982a0bb977a12547
msgid "Enable a VPN connection on VPC B."
msgstr ""

#: ../../networking/remote_access_vpn.rst:609
# 79e9417cc7294b70bd95236d9c2c80ac
msgid "Ensure that the customer gateway is pointed to VPC A. Because virtual router of VPC A, in this case, is in passive mode and is waiting for the virtual router of VPC B to initiate the connection, VPC B virtual router should not be in passive mode."
msgstr ""

#: ../../networking/remote_access_vpn.rst:614
# cf0657024acb43ea8028262bf74a9848
msgid "The VPN connection is shown in the Disconnected state."
msgstr ""

#: ../../networking/remote_access_vpn.rst:616
# 4c18218889914f65b2fe355d4568b407
msgid "Creating VPN connection on both the VPCs initiates a VPN connection. Wait for few seconds. The default is 30 seconds for both the VPN connections to show the Connected state."
msgstr ""

#: ../../networking/remote_access_vpn.rst:622
# 84118e99c0b14f49b14160c3975dad17
msgid "Restarting and Removing a VPN Connection"
msgstr ""

#: ../../networking/remote_access_vpn.rst:670
# 090940869ab44e80b8e9c4ea04fa48ec
msgid "All the VPN connections you created are displayed."
msgstr ""

#: ../../networking/remote_access_vpn.rst:672
# b921e72e9ca74e75b9c515a87f105b9a
msgid "Select the VPN connection you want to work with."
msgstr ""

#: ../../networking/remote_access_vpn.rst:674
# 2387d86e243f469f84a0cee989324610
msgid "The Details tab is displayed."
msgstr ""

#: ../../networking/remote_access_vpn.rst:676
# 345c5bfe23d84fd09f56e0e34de09e29
msgid "To remove a VPN connection, click the Delete VPN connection button |remove-vpn.png|"
msgstr ""

#: ../../networking/remote_access_vpn.rst:679
# 8d1a3cf378554f51a5702b0710c331f2
msgid "To restart a VPN connection, click the Reset VPN connection button present in the Details tab. |reset-vpn.png|"
msgstr ""

