# SOME DESCRIPTIVE TITLE.
# Copyright (C)
# This file is distributed under the same license as the Apache CloudStack Administration Documentation package.
# 
# Translators:
msgid ""
msgstr ""
"Project-Id-Version: Apache CloudStack Administration RTD\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-06-30 12:52+0200\n"
"PO-Revision-Date: 2014-06-30 12:06+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/apache-cloudstack-administration-rtd/language/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"

# 4425df0b51c64a33802d59f9f7eb5bd8
#: ../../networking/virtual_private_cloud_config.rst:20
msgid "Configuring a Virtual Private Cloud"
msgstr "配置一个虚拟私有云（VPC）"

# 60b4e45448554da0a9df907a8e700391
#: ../../networking/virtual_private_cloud_config.rst:23
msgid "About Virtual Private Clouds"
msgstr "关于虚拟私有云（VPC）"

# 9caa2b864b03431aae6a6f47aa583653
#: ../../networking/virtual_private_cloud_config.rst:25
msgid ""
"CloudStack Virtual Private Cloud is a private, isolated part of CloudStack. "
"A VPC can have its own virtual network topology that resembles a traditional"
" physical network. You can launch VMs in the virtual network that can have "
"private addresses in the range of your choice, for example: 10.0.0.0/16. You"
" can define network tiers within your VPC network range, which in turn "
"enables you to group similar kinds of instances based on IP address range."
msgstr "CloudStackVPC是CloudStack云中私有并隔离的部分。一个VPC可以使用自己的虚拟网络拓扑来组建传统物理网络。在这个虚拟网络中，您创建的虚机的私网地址可以由您自主选择IP范围，例如10.0.0.0/16。您可以在VPC网络范围内定义多个网络层，这些层可以让你将类似的虚机按IP地址范围分组。"

# e8c6a442ed744a6c96df83edc8c28763
#: ../../networking/virtual_private_cloud_config.rst:33
msgid ""
"For example, if a VPC has the private range 10.0.0.0/16, its guest networks "
"can have the network ranges 10.0.1.0/24, 10.0.2.0/24, 10.0.3.0/24, and so "
"on."
msgstr "例如：一个VPC的私有地址范围是10.0.0.0/16，其中的用户网络的地址范围可以分别是10.0.1.0/24、10.0.2.0/24、10.0.3.0/24等等。"

# d7dd703816c14c8ab823fc4ac5ee3c02
#: ../../networking/virtual_private_cloud_config.rst:39
msgid "Major Components of a VPC"
msgstr ""

# c50712e0b85b4e8d8a37c525dc8f77d0
#: ../../networking/virtual_private_cloud_config.rst:41
msgid "A VPC is comprised of the following network components:"
msgstr "VPC主要由以下网络组件构成："

# 7805e308c7f14ae4b5bf6813c742fd84
#: ../../networking/virtual_private_cloud_config.rst:43
msgid ""
"**VPC**: A VPC acts as a container for multiple isolated networks that can "
"communicate with each other via its virtual router."
msgstr "**VPC**：一个VPC是多个隔离网络的容器，隔离网络间可以通过VPC的虚拟路由器互通。"

# 6837ce595efa433cb0a4eeef3c61bd86
#: ../../networking/virtual_private_cloud_config.rst:46
msgid ""
"**Network Tiers**: Each tier acts as an isolated network with its own VLANs "
"and CIDR list, where you can place groups of resources, such as VMs. The "
"tiers are segmented by means of VLANs. The NIC of each tier acts as its "
"gateway."
msgstr "**网络层**：每个层是一个拥有各自VLAN和CIDR的隔离网络。您可以在层内放置VM等各种资源组。层与层之间通过VLAN方式隔离。VPC虚拟路由器在每个层中的网卡是该层的网关。"

# eaa3327f752e430ba437d3048c8cd517
#: ../../networking/virtual_private_cloud_config.rst:51
msgid ""
"**Virtual Router**: A virtual router is automatically created and started "
"when you create a VPC. The virtual router connect the tiers and direct "
"traffic among the public gateway, the VPN gateways, and the NAT instances. "
"For each tier, a corresponding NIC and IP exist in the virtual router. The "
"virtual router provides DNS and DHCP services through its IP."
msgstr "**虚拟路由器**：创建VPC时会自动创建并启动一个虚拟路由器。该虚拟路由器连接了各层，并负责各层与公网网关、VPN网关和NAT实例间的网络流量。对于每个层，该虚拟路由器都会有对应的网卡和IP，并通过该IP提供DNS和DHCP服务。"

# 2922aef73276424d86c458cab53d05d6
#: ../../networking/virtual_private_cloud_config.rst:58
msgid ""
"**Public Gateway**: The traffic to and from the Internet routed to the VPC "
"through the public gateway. In a VPC, the public gateway is not exposed to "
"the end user; therefore, static routes are not support for the public "
"gateway."
msgstr "**公网网关**：VPC进出互联网的流量会走公网网关。VPC中的公网网关不暴露给最终用户，因此公网网关上不支持静态路由。"

# 417e8d202f044580b6bef8868a97493b
#: ../../networking/virtual_private_cloud_config.rst:63
msgid ""
"**Private Gateway**: All the traffic to and from a private network routed to"
" the VPC through the private gateway. For more information, see \":ref"
":`adding-priv-gw-vpc`\"."
msgstr "**私有网关**：VPC进出某个私有网络的流量通过私有网关。更多信息，请查阅 \":ref:`adding-priv-gw-vpc`\"."

# 4776de29b7b1471084bbdc0a5fd8257d
#: ../../networking/virtual_private_cloud_config.rst:67
msgid "**VPN Gateway**: The VPC side of a VPN connection."
msgstr "**VPN 网关**：VPN连接的VPC端。"

# 208527258e274b0ea77846c710ba8258
#: ../../networking/virtual_private_cloud_config.rst:69
msgid ""
"**Site-to-Site VPN Connection**: A hardware-based VPN connection between "
"your VPC and your datacenter, home network, or co-location facility. For "
"more information, see \":ref:`setting-s2s-vpn-conn`\"."
msgstr "**点对点VPN连接**：您的VPC和您的数据中心、家庭网络、主机托管设施之间基于硬件的VPN连接。更多信息，请参考\":ref:`setting-s2s-vpn-conn`\"."

# 3b96c83ddcc34269896e5573992e31b5
#: ../../networking/virtual_private_cloud_config.rst:73
msgid ""
"**Customer Gateway**: The customer side of a VPN Connection. For more "
"information, see `\"Creating and Updating a VPN Customer Gateway\" "
"<#creating-and-updating-a-vpn-customer-gateway>`_."
msgstr "**客户网关**:客户这边的VPN连接。更多信息，请参考 `\"创建和更新VPN客户网关\" <#creating-and-updating-a-vpn-customer-gateway>`_."

# bfadc68d3fbe458bb82d6692306f1319
#: ../../networking/virtual_private_cloud_config.rst:77
msgid ""
"**NAT Instance**: An instance that provides Port Address Translation for "
"instances to access the Internet via the public gateway. For more "
"information, see \":ref:`enabling-disabling-static-nat-on-vpc`\"."
msgstr "**NAT实例**:在用户虚机通过公网网关访问公网时，提供端口地址转换的实例。关于更多信息，请参考 \":ref:`enabling-disabling-static-nat-on-vpc`\"."

# aa7430e86dde41ea828ef58fdc9a2616
#: ../../networking/virtual_private_cloud_config.rst:81
msgid ""
"**Network ACL**: Network ACL is a group of Network ACL items. Network ACL "
"items are nothing but numbered rules that are evaluated in order, starting "
"with the lowest numbered rule. These rules determine whether traffic is "
"allowed in or out of any tier associated with the network ACL. For more "
"information, see \":ref:`conf-net-acl`\"."
msgstr "**网络ACL**: 网络ACL是一组网络访问控制列表。这些列表就是一个按顺序编号的规则，执行的时候，从最小的编号开始。这些规则决定了与此ACL关联的各个层的进出流量会被允许或阻止。更多信息，请参考 \":ref:`conf-net-acl`\"."

# 3248944cfc5a49b7a0c47f7fe13a0385
#: ../../networking/virtual_private_cloud_config.rst:89
msgid "Network Architecture in a VPC"
msgstr "VPC的网络架构"

# 5f310f0748274a1a9d0a095aec7c9c2b
#: ../../networking/virtual_private_cloud_config.rst:91
msgid ""
"In a VPC, the following four basic options of network architectures are "
"present:"
msgstr "VPC有以下四个基本的网络架构："

# 7cb03da5ae0b478690c6ab442164a344
#: ../../networking/virtual_private_cloud_config.rst:94
msgid "VPC with a public gateway only"
msgstr "只有一个公网网关的VPC"

# ea9f2145319e406e957665bb7b53123c
#: ../../networking/virtual_private_cloud_config.rst:96
msgid "VPC with public and private gateways"
msgstr "VPC的公有和私有网关"

# 2b4f4b4fbf46434c8e5534d0631bca33
#: ../../networking/virtual_private_cloud_config.rst:98
msgid "VPC with public and private gateways and site-to-site VPN access"
msgstr "VPC的公有和私有网关以及site-to-site VPN访问"

# 45b4489a9fcc4360a6d5b2719a77dc79
#: ../../networking/virtual_private_cloud_config.rst:100
msgid "VPC with a private gateway only and site-to-site VPN access"
msgstr "只有私有网关的VPC以及site-to-site VPN访问"

# b702ceb782244642b4369af267ce81d8
#: ../../networking/virtual_private_cloud_config.rst:104
msgid "Connectivity Options for a VPC"
msgstr "VPC的连接选择"

# 6b1ff95952fe4ccbba871b1f5d84e8d8
#: ../../networking/virtual_private_cloud_config.rst:106
msgid "You can connect your VPC to:"
msgstr "你可以连接你的VPC："

# 65aa43fb551b4f999e9e48eb5960893d
#: ../../networking/virtual_private_cloud_config.rst:108
msgid "The Internet through the public gateway."
msgstr "通过公有网关连接到Internet."

# 09137011988c4abebde330c2201cbfe4
#: ../../networking/virtual_private_cloud_config.rst:110
msgid ""
"The corporate datacenter by using a site-to-site VPN connection through the "
"VPN gateway."
msgstr "通过site-to-siteVPN网关连接到相邻数据中心。"

# 7a7466064859416c9bf3d5f6fb2828fa
#: ../../networking/virtual_private_cloud_config.rst:113
msgid ""
"Both the Internet and your corporate datacenter by using both the public "
"gateway and a VPN gateway."
msgstr "通过公有和私有VPN网关同时连接到Internet和相邻数据中心。"

# c4053fc0a35c4c30b312bd50f3cc946e
#: ../../networking/virtual_private_cloud_config.rst:118
msgid "VPC Network Considerations"
msgstr "VPC网络的考虑事项"

# f884bf37cfa444299fac3dd70425950c
#: ../../networking/virtual_private_cloud_config.rst:120
msgid "Consider the following before you create a VPC:"
msgstr "在创建VPC之前，确认以下事项："

# 3d67118ab9e24f4d861c4b78cd07fe86
#: ../../networking/virtual_private_cloud_config.rst:122
msgid "A VPC, by default, is created in the enabled state."
msgstr "在创建好VPC之后，其默认处于启用状态。"

# 64f62904ffbf4d0998ef58a29ec39785
#: ../../networking/virtual_private_cloud_config.rst:124
msgid ""
"A VPC can be created in Advance zone only, and can't belong to more than one"
" zone at a time."
msgstr "只能在高级区域中创建VPC，并且VPC只能属于一个区域。"

# 146628ae783e4af79b8cdd56694e87b3
#: ../../networking/virtual_private_cloud_config.rst:127
msgid ""
"The default number of VPCs an account can create is 20. However, you can "
"change it by using the max.account.vpcs global parameter, which controls the"
" maximum number of VPCs an account is allowed to create."
msgstr "默认VPC的数量是20个。如果你需要更多的VPC的话，可以通过修改max.account.vpcs这个全局参数。这个参数是控制创建VPC的最大数量的。"

# 548f4246178a412ba72c20238355c619
#: ../../networking/virtual_private_cloud_config.rst:131
msgid ""
"The default number of tiers an account can create within a VPC is 3. You can"
" configure this number by using the vpc.max.networks parameter."
msgstr "默认一个用户能创建VPC的层数是三层。也可以通过vpc.max.networks这个参数修改。"

# 8f4ab58bb2db48e7ab28e709ee99c791
#: ../../networking/virtual_private_cloud_config.rst:135
msgid ""
"Each tier should have an unique CIDR in the VPC. Ensure that the tier's CIDR"
" should be within the VPC CIDR range."
msgstr "VPC中每一层都需要是唯一的CIDR，并且这个CIDR是在VPC的CIDR的范围之内。"

# a3ab5225e8e649a38b583c6dfa85dd0b
#: ../../networking/virtual_private_cloud_config.rst:138
msgid "A tier belongs to only one VPC."
msgstr "每一层只能属于一个VPC。"

# cbf79c1dbbb04abeb940ac4a4e63693b
#: ../../networking/virtual_private_cloud_config.rst:140
msgid "All network tiers inside the VPC should belong to the same account."
msgstr "VPC中所有网络层都应属于同一个帐号。"

# 4697685b3c1c4f75888b23d1f474ad37
#: ../../networking/virtual_private_cloud_config.rst:142
msgid ""
"When a VPC is created, by default, a SourceNAT IP is allocated to it. The "
"Source NAT IP is released only when the VPC is removed."
msgstr "当VPC创建好之后，默认会分配好SourceNAT IP。当此VPC删除之后，SourceNAT IP也会被释放。"

# f790d826d90d4341885a39022d276efc
#: ../../networking/virtual_private_cloud_config.rst:145
msgid ""
"A public IP can be used for only one purpose at a time. If the IP is a "
"sourceNAT, it cannot be used for StaticNAT or port forwarding."
msgstr "一个公网IP只能用一个用途。如果此IP用于SourceNAT作用的话，就不能同时再用作StaticNAT 或端口转发。"

# cccc0c77482c4721a48a8e3eee6370e0
#: ../../networking/virtual_private_cloud_config.rst:148
msgid ""
"The instances can only have a private IP address that you provision. To "
"communicate with the Internet, enable NAT to an instance that you launch in "
"your VPC."
msgstr "一个实例只能有一个私有IP地址，为了访问Internet,你可以为VPC里的此实例启用NAT功能。"

# b833eb4050c145869c7a419c8f37aee9
#: ../../networking/virtual_private_cloud_config.rst:152
msgid ""
"Only new networks can be added to a VPC. The maximum number of networks per "
"VPC is limited by the value you specify in the vpc.max.networks parameter. "
"The default value is three."
msgstr "只有新的网络才能加入VPC。每一个VPC的最大网络数量由参数vpc.max.networks指定。其默认值为3."

# 1180f413398548729b7198559dc5eb33
#: ../../networking/virtual_private_cloud_config.rst:156
msgid ""
"The load balancing service can be supported by only one tier inside the VPC."
msgstr "VPC中只有一层支持负载均衡服务。"

# 1d6388d964364caa8d134f7673bfa2dd
#: ../../networking/virtual_private_cloud_config.rst:159
msgid "If an IP address is assigned to a tier:"
msgstr "如果一个IP地址被赋予一个网络层："

# 92d15597ceda4a5383fd25cb566b47c7
#: ../../networking/virtual_private_cloud_config.rst:161
msgid ""
"That IP can't be used by more than one tier at a time in the VPC. For "
"example, if you have tiers A and B, and a public IP1, you can create a port "
"forwarding rule by using the IP either for A or B, but not for both."
msgstr "那么这个IP就不能在VPC里被另外的层所使用。比如：如果你有A层和B层以及一个公网IP地址，则你可以为A或B创建一个端口转发规则，但不能同时在A和B上创建。"

# a92e77fa9415458b960baded020a27ac
#: ../../networking/virtual_private_cloud_config.rst:166
msgid ""
"That IP can't be used for StaticNAT, load balancing, or port forwarding "
"rules for another guest network inside the VPC."
msgstr "那个IP也不能在VPC的其它的客户网络里用作StaticNAT,负载均衡，端口转发规则。"

# e138623610a449e8a6fd5bb3f4a2ab3f
#: ../../networking/virtual_private_cloud_config.rst:169
msgid "Remote access VPN is not supported in VPC networks."
msgstr "VPC网络不支持Remote access VPN。"

# 02efff273d294762ad189c6d19730f71
#: ../../networking/virtual_private_cloud_config.rst:173
msgid "Adding a Virtual Private Cloud"
msgstr "添加一个VPC"

# d1100a2ab1a54454bece6b2f5a47e4f8
#: ../../networking/virtual_private_cloud_config.rst:175
msgid ""
"When creating the VPC, you simply provide the zone and a set of IP addresses"
" for the VPC network address space. You specify this set of addresses in the"
" form of a Classless Inter-Domain Routing (CIDR) block."
msgstr "当创建VPC时，你只需要提供区域名和VPC要使用的一组IP地址。这组IP地址是以CIDR块的形式提供。"

# 27c90db3b2d846b58c9abf075735077b
# 23214314bc4c40d3bc784cf8b99c1273
# 06da644a106746d9b22320df5442e7eb
# 8292048a7bd74adeae7e3b6677cc7dc8
# fb4e97f30b554d92af68a1e9d1886576
# ceaea70c95b1422597606b789f77fae7
# c80fe5feb23443ab8e81a05534c38d15
# 612a8d98561a4b08824d22d8ab9cd815
# 3d9f5b1f4cf7497ebaa39f40d2b7d3fb
# 7af40adf2d7f49ee82115cf17558f076
# 54efcc991da44e5b87cab339063f09cc
# 98308f9c7c7e4548b3e6ef0828178c9d
# b16c2e02fd8e42a1aacb687d60b4fb46
# 1d2a5b77246843818d6d6cc8fd7482ae
#: ../../networking/virtual_private_cloud_config.rst:179
#: ../../networking/virtual_private_cloud_config.rst:223
#: ../../networking/virtual_private_cloud_config.rst:331
#: ../../networking/virtual_private_cloud_config.rst:380
#: ../../networking/virtual_private_cloud_config.rst:492
#: ../../networking/virtual_private_cloud_config.rst:662
#: ../../networking/virtual_private_cloud_config.rst:729
#: ../../networking/virtual_private_cloud_config.rst:788
#: ../../networking/virtual_private_cloud_config.rst:848
#: ../../networking/virtual_private_cloud_config.rst:1014
#: ../../networking/virtual_private_cloud_config.rst:1227
#: ../../networking/virtual_private_cloud_config.rst:1282
#: ../../networking/virtual_private_cloud_config.rst:1360
#: ../../networking/virtual_private_cloud_config.rst:1388
msgid "Log in to the CloudStack UI as an administrator or end user."
msgstr "使用管理员或者终端用户账号登录CloudStack UI。"

# 25aa9d2390434c03a89b6b16c9b69fe9
# 6e8e81dbb9f447c3aaabac12cbbebc79
# 7daeed72e5de4f68b5d3fec3deae5a12
# ad50664f103d4bc3b95d04f0c6891395
# b462daef366f4f119997d229bdcd4fde
# cbb8c618e79f4f5bb024ac637c94f155
# d418a0fbecc7474d89b0c7122cb9f046
# c1602cd2089a4465bb64a310c84582ae
# 692a153c672746fa937e636f18024241
# f2241fbd031643a498b64bc52bc9a3ed
# 35b9e68484d140e1813335d0a33c68d1
# bb61fadd006d4624a91bb45665efac73
# 0cdbc29c89c540c08fa87bd601f4976c
# 2706338d19fe43d589acd0c274b932c0
#: ../../networking/virtual_private_cloud_config.rst:181
#: ../../networking/virtual_private_cloud_config.rst:225
#: ../../networking/virtual_private_cloud_config.rst:333
#: ../../networking/virtual_private_cloud_config.rst:382
#: ../../networking/virtual_private_cloud_config.rst:494
#: ../../networking/virtual_private_cloud_config.rst:664
#: ../../networking/virtual_private_cloud_config.rst:731
#: ../../networking/virtual_private_cloud_config.rst:790
#: ../../networking/virtual_private_cloud_config.rst:850
#: ../../networking/virtual_private_cloud_config.rst:1016
#: ../../networking/virtual_private_cloud_config.rst:1229
#: ../../networking/virtual_private_cloud_config.rst:1284
#: ../../networking/virtual_private_cloud_config.rst:1362
#: ../../networking/virtual_private_cloud_config.rst:1390
msgid "In the left navigation, choose Network."
msgstr "在左侧的导航栏，选择网络。"

# 4a2df6815f134b918345eaf3d39193fa
# a59b8d1dfb334d948ed4ad0764ce5b84
# 12b0ac2563474462b71654534aba088a
# 08995e8ef0484b879f2982b11278720c
# 0913e0292efb41c284ad04d0d8ec0c1d
# f66916dd15334247bb50483cd9c296b7
# d34dad2acbce43aa9f28ce7014089f24
# 50500a3f8df347e19b005d01525ac7e1
# c538254df2644b7fb6e4aa16f80f84a6
# 92649f86d20849b498765a29fd1d7973
# 9528e3d88e224cacb28e4e204ddab6a7
# 934c19367f124113b2d3d8f8aabab4a6
# cd85c04d5e0b4e7c901b189b7ab5e96e
# 2028f717603c4390944c6c6cb703af37
#: ../../networking/virtual_private_cloud_config.rst:183
#: ../../networking/virtual_private_cloud_config.rst:227
#: ../../networking/virtual_private_cloud_config.rst:335
#: ../../networking/virtual_private_cloud_config.rst:384
#: ../../networking/virtual_private_cloud_config.rst:496
#: ../../networking/virtual_private_cloud_config.rst:666
#: ../../networking/virtual_private_cloud_config.rst:733
#: ../../networking/virtual_private_cloud_config.rst:792
#: ../../networking/virtual_private_cloud_config.rst:852
#: ../../networking/virtual_private_cloud_config.rst:1018
#: ../../networking/virtual_private_cloud_config.rst:1231
#: ../../networking/virtual_private_cloud_config.rst:1286
#: ../../networking/virtual_private_cloud_config.rst:1364
#: ../../networking/virtual_private_cloud_config.rst:1392
msgid "In the Select view, select VPC."
msgstr "在选择视图中，选择VPC。"

# 03b833a9bbc14d2f8ccd0561f8bac779
#: ../../networking/virtual_private_cloud_config.rst:185
msgid "Click Add VPC. The Add VPC page is displayed as follows:"
msgstr "点击添加VPC按钮。页面呈现以下："

# 007c69b8b7c640d2a9dd08b2b4a86102
#: ../../networking/virtual_private_cloud_config.rst:187
msgid "|add-vpc.png|"
msgstr "|add-vpc.png|"

# 7bd4344fc68d4e6c8939286640c64ff6
#: ../../networking/virtual_private_cloud_config.rst:189
msgid "Provide the following information:"
msgstr "填写以下内容："

# fecc1622a73f4e299c4fe16149ef3c1e
#: ../../networking/virtual_private_cloud_config.rst:191
msgid "**Name**: A short name for the VPC that you are creating."
msgstr "**名称**: 要创建的VPC的名称。"

# 9fe964ec13864d159f7f9fe45e612351
#: ../../networking/virtual_private_cloud_config.rst:193
msgid "**Description**: A brief description of the VPC."
msgstr "**描述**: 关于此VPC的简短描述."

# 75bab09118a641cd94d798e0450bb114
#: ../../networking/virtual_private_cloud_config.rst:195
msgid "**Zone**: Choose the zone where you want the VPC to be available."
msgstr "**区域**: 你希望将此VPN应用在哪个区域中。"

# 38e1b19b64074aebbc448d4398522e6a
#: ../../networking/virtual_private_cloud_config.rst:197
msgid ""
"**Super CIDR for Guest Networks**: Defines the CIDR range for all the tiers "
"(guest networks) within a VPC. When you create a tier, ensure that its CIDR "
"is within the Super CIDR value you enter. The CIDR must be RFC1918 "
"compliant."
msgstr "**客户网络超级CIDR**: 定义一个VPC内所有层（客户网络）的CIDR范围。当你新创建一个层时，这个层的CIDR必须在这个超级CIDR范围之内。CIDR的格式定义必须符合RFC1918。"

# 2b3cb992f4d9418699ec71ad0d7892b7
#: ../../networking/virtual_private_cloud_config.rst:202
msgid ""
"**DNS domain for Guest Networks**: If you want to assign a special domain "
"name, specify the DNS suffix. This parameter is applied to all the tiers "
"within the VPC. That implies, all the tiers you create in the VPC belong to "
"the same DNS domain. If the parameter is not specified, a DNS domain name is"
" generated automatically."
msgstr "**客户网络的DNS域名**: 如果你需要一个域名，则需要在此指定域名后缀。这个参数会应用到VPC中所有的层中。这表示，VPC中所有的层都属于同一个域。如果没有指定域名，则域名会由系统随机产生。"

# ae282958b5fb4ea594fe92f009ca5f46
#: ../../networking/virtual_private_cloud_config.rst:208
msgid ""
"**Public Load Balancer Provider**: You have two options: VPC Virtual Router "
"and Netscaler."
msgstr "**公共负载均衡提供者**: 有两个选项：VPC虚拟路由器和 Netscaler。"

# f0a8bdb0febf4b97879a69db489ba8b8
# a37c6acaf1254a6f818d9f64ae0960aa
# 677238e0e48a40898578fd007249ecaa
# 650c882688974599ba5c3660d14f2838
#: ../../networking/virtual_private_cloud_config.rst:211
#: ../../networking/virtual_private_cloud_config.rst:281
#: ../../networking/virtual_private_cloud_config.rst:455
#: ../../networking/virtual_private_cloud_config.rst:479
msgid "Click OK."
msgstr "点击确定。"

# 83d71b83ff1b413187423073f1a1c957
#: ../../networking/virtual_private_cloud_config.rst:215
msgid "Adding Tiers"
msgstr "添加层"

# 8202063e990e4086bb8c476cfa8f2650
#: ../../networking/virtual_private_cloud_config.rst:217
msgid ""
"Tiers are distinct locations within a VPC that act as isolated networks, "
"which do not have access to other tiers by default. Tiers are set up on "
"different VLANs that can communicate with each other by using a virtual "
"router. Tiers provide inexpensive, low latency network connectivity to other"
" tiers within the VPC."
msgstr "层在VPC里起来隔离网络的作用，默认规则是层之间不能互访。不同VLAN之间的层可以通过虚拟机实现连接。层在VPC内部提供一种廉价，低延迟的网络连接。"

# 6f156f2256294f94a48422c02a2a33f1
# 91fdfd64076446a1af782ea3021c6911
#: ../../networking/virtual_private_cloud_config.rst:229
#: ../../networking/virtual_private_cloud_config.rst:1366
msgid ""
"All the VPC that you have created for the account is listed in the page."
msgstr "此帐号创建的所有VPC将显示在页面中。"

# 98e3757975184289b5414253c54bd6c9
#: ../../networking/virtual_private_cloud_config.rst:233
msgid ""
"The end users can see their own VPCs, while root and domain admin can see "
"any VPC they are authorized to see."
msgstr "最终用户能看到他们自己的VPC，系统管理用户和域管理员可以看到所有被授权查看的VPC。"

# 3293738bea7a4e3c97fc6b8cd60f65ba
# 4c89fd343c734f5cabc8cb26dd48bf94
#: ../../networking/virtual_private_cloud_config.rst:236
#: ../../networking/virtual_private_cloud_config.rst:1369
msgid ""
"Click the Configure button of the VPC for which you want to set up tiers."
msgstr "在你希望设置层的VPC里，点击配置按钮。"

# a3b02bf28e484233b337b84341a2f39e
#: ../../networking/virtual_private_cloud_config.rst:239
msgid "Click Create network."
msgstr "点击新建网络。"

# e8b22e1b54b84b1e9945e0c94e3fd069
#: ../../networking/virtual_private_cloud_config.rst:241
msgid "The Add new tier dialog is displayed, as follows:"
msgstr "然后，添加层的对话界面就会出现。如下："

# 1f18a2fd76094e94947690c4064b2a75
#: ../../networking/virtual_private_cloud_config.rst:243
msgid "|add-tier.png|"
msgstr "|add-tier.png|"

# 830f50fe9c8041c9821f1cf9b94f87bd
#: ../../networking/virtual_private_cloud_config.rst:245
msgid ""
"If you have already created tiers, the VPC diagram is displayed. Click "
"Create Tier to add a new tier."
msgstr "如果你已添加层，VPC界面就会出现。点击添加层可以增加一个新的层。"

# b372cab6baf04844a5ff7a1611d1d5b6
# 4bc6b0a5224f4b8383ff3c5322dc34c6
# 95ebee159c7a49d6a38872dfbba22963
# 1490eec9177146d0bb7ef70ee1896fb9
#: ../../networking/virtual_private_cloud_config.rst:248
#: ../../networking/virtual_private_cloud_config.rst:539
#: ../../networking/virtual_private_cloud_config.rst:1062
#: ../../networking/virtual_private_cloud_config.rst:1330
msgid "Specify the following:"
msgstr "指定以下信息："

# 07194bca2d77463fb722f6b3a2d51fd6
#: ../../networking/virtual_private_cloud_config.rst:250
msgid "All the fields are mandatory."
msgstr "所有的区域必须填写的。"

# 26b1c6c9cd4747a0b399711d03ee9f7f
#: ../../networking/virtual_private_cloud_config.rst:252
msgid "**Name**: A unique name for the tier you create."
msgstr "**名称**: 你添加的层的一个唯一的层名。"

# b4b14e979a074d9fbdd39309629f1524
#: ../../networking/virtual_private_cloud_config.rst:254
msgid ""
"**Network Offering**: The following default network offerings are listed: "
"Internal LB, DefaultIsolatedNetworkOfferingForVpcNetworksNoLB, "
"DefaultIsolatedNetworkOfferingForVpcNetworks"
msgstr "**网络方案**: 默认有以下几种网络方案: Internal LB, DefaultIsolatedNetworkOfferingForVpcNetworksNoLB, DefaultIsolatedNetworkOfferingForVpcNetworks"

# 54126af9bcfb4590a766f2324d72f790
#: ../../networking/virtual_private_cloud_config.rst:259
msgid ""
"In a VPC, only one tier can be created by using LB-enabled network offering."
msgstr "在一个VPC中，用LB-enabled network offering只能创建一个层。"

# 083df7653efc42938c67b7537bbc4bc3
#: ../../networking/virtual_private_cloud_config.rst:262
msgid ""
"**Gateway**: The gateway for the tier you create. Ensure that the gateway is"
" within the Super CIDR range that you specified while creating the VPC, and "
"is not overlapped with the CIDR of any existing tier within the VPC."
msgstr "**网关**：你创建网络层的网关。确保网关在你创建VPC时指定的超级CIDR范围内，并且不能与已存在VPC的任何网络层的CIDR重叠。"

# abb381823abe42c78600368125e95a5a
#: ../../networking/virtual_private_cloud_config.rst:267
msgid "**VLAN**: The VLAN ID for the tier that the root admin creates."
msgstr "**VLAN**: 指定系统管理员创建的层的VLAN ID号。"

# e6585788ce994cfba6fa7581d88af8df
#: ../../networking/virtual_private_cloud_config.rst:269
msgid ""
"This option is only visible if the network offering you selected is VLAN-"
"enabled."
msgstr "这个选项只在你选择的方案在VLAN-enabled的情况下才会显示出来。"

# 383ce12e9bc44d939d3ae386c0ca42aa
#: ../../networking/virtual_private_cloud_config.rst:272
msgid ""
"For more information, see `\"Assigning VLANs to Isolated Networks\" "
"<hosts.html#assigning-vlans-to-isolated-networks>`_."
msgstr "如需要更多信息，请参考\"为隔离网络分配VLAN\" <hosts.html#assigning-vlans-to-isolated-networks>`_.节。"

# 88877f2edc5f40a9949cf663c7c306a0
#: ../../networking/virtual_private_cloud_config.rst:275
msgid "**Netmask**: The netmask for the tier you create."
msgstr "**子网掩码**：你创建的网络层的子网掩码。"

# 25897e33d08b4bedb702059f77e2f09e
#: ../../networking/virtual_private_cloud_config.rst:277
msgid ""
"For example, if the VPC CIDR is 10.0.0.0/16 and the network tier CIDR is "
"10.0.1.0/24, the gateway of the tier is 10.0.1.1, and the netmask of the "
"tier is 255.255.255.0."
msgstr "比如，如果VPC CIDR是10.0.0.0/16并且该网络层CIDR是10.0.1.0/24，那么这个网络层的网关是10.0.1.1，子网掩码是255.255.255.0."

# 6da01b412d664e3baa5324abd03955b7
#: ../../networking/virtual_private_cloud_config.rst:283
msgid "Continue with configuring access control list for the tier."
msgstr "继续为层配置访问控制列表。"

# dc2a5ea9afaf4bb8b1d188b3cadc5fb2
#: ../../networking/virtual_private_cloud_config.rst:289
msgid "Configuring Network Access Control List"
msgstr "配置网络访问控制列表"

# 79dbace67e0b4872ba1da3458f8ccb16
#: ../../networking/virtual_private_cloud_config.rst:291
msgid ""
"Define Network Access Control List (ACL) on the VPC virtual router to "
"control incoming (ingress) and outgoing (egress) traffic between the VPC "
"tiers, and the tiers and Internet. By default, all incoming traffic to the "
"guest networks is blocked and all outgoing traffic from guest networks is "
"allowed, once you add an ACL rule for outgoing traffic, then only outgoing "
"traffic specified in this ACL rule is allowed, the rest is blocked. To open "
"the ports, you must create a new network ACL. The network ACLs can be "
"created for the tiers only if the NetworkACL service is supported."
msgstr "定义网络访问控制列表（ACL），用以在VPC的层之间，或是层与互联网之间控制进出流量。默认情况下，客户网络的所有进入流量被阻止，所有外出流量被允许。一旦在外出流量方向添加了ACL，则只有ACL规则允许的流量可以被允许，其余的外出流量会被阻止。如果要开放其它端口，则需要在新的ACL中明确定义。只有在支持NetworkACL服务的条件下，只能创建层的ACL。"

# c9d908950964474eb10940d7ba15e7ba
#: ../../networking/virtual_private_cloud_config.rst:303
msgid "About Network ACL Lists"
msgstr "关于ACL列表"

# c28b7fe0e1f04f65ad1968b74ca91f03
#: ../../networking/virtual_private_cloud_config.rst:305
msgid ""
"In CloudStack terminology, Network ACL is a group of Network ACL items. "
"Network ACL items are nothing but numbered rules that are evaluated in "
"order, starting with the lowest numbered rule. These rules determine whether"
" traffic is allowed in or out of any tier associated with the network ACL. "
"You need to add the Network ACL items to the Network ACL, then associate the"
" Network ACL with a tier. Network ACL is associated with a VPC and can be "
"assigned to multiple VPC tiers within a VPC. A Tier is associated with a "
"Network ACL at all the times. Each tier can be associated with only one ACL."
msgstr "在CloudStack术语中，ACL指的是一组针对网络条目。其按条目规则顺序执行，从最小值开始。这些规则决定了与此ACL关联的层的进出流量是被允许还是阻止。操作的方法是添加一个ACL，然后将这个ACL与层关联。ACL在整个VPC中使用，它可以被关系到一个VPC当中多个层中。一个层能及只能关联到一个ACL中。"

# e213818eed1947258f8bcb2896c4b24a
#: ../../networking/virtual_private_cloud_config.rst:315
msgid ""
"The default Network ACL is used when no ACL is associated. Default behavior "
"is all the incoming traffic is blocked and outgoing traffic is allowed from "
"the tiers. Default network ACL cannot be removed or modified. Contents of "
"the default Network ACL is:"
msgstr "当没有ACL明确关联时，会有一个默认的ACL起作用。默认规则是层中所有进入流量被阻止，所有外出流量被允许默认的ACL不能被删除或修改。默认ACL的内容如下："

# e7163daf40764297bb4c9256f9b0db76
#: ../../networking/virtual_private_cloud_config.rst:321
msgid "Rule"
msgstr "规则"

# 8c0f119efb90499885ad10d74e32f699
#: ../../networking/virtual_private_cloud_config.rst:321
msgid "Protocol"
msgstr "协议"

# 6a4e95a5005949559075e58b104e8b1e
#: ../../networking/virtual_private_cloud_config.rst:321
msgid "Traffic type"
msgstr "流量类型"

# db7f138ccd254efda3045d28c44e5ebd
#: ../../networking/virtual_private_cloud_config.rst:321
msgid "Action"
msgstr "动作"

# 51c0d62f36c143a5baf332fb86f16b96
# d597d570fbfc4080b2ea3998fa7d939e
# eff385663f0941d4b6809c0c182cfaf2
# 2599fa667bce44d7b2c977f4d835a98e
# bc9aa77c4f984714a6cead0bf43281ad
# a2e2cc9d31f448ecab07fc456663f5bd
# d849de055dcd46a29493cd6942aa2cae
# 7d80106d48c4421190d8c55e7ddd2f90
#: ../../networking/virtual_private_cloud_config.rst:321
#: ../../networking/virtual_private_cloud_config.rst:352
#: ../../networking/virtual_private_cloud_config.rst:519
#: ../../networking/virtual_private_cloud_config.rst:754
#: ../../networking/virtual_private_cloud_config.rst:812
#: ../../networking/virtual_private_cloud_config.rst:873
#: ../../networking/virtual_private_cloud_config.rst:1039
#: ../../networking/virtual_private_cloud_config.rst:1307
msgid "CIDR"
msgstr "CIDR"

# fc484eb64ca04d1b8fed82414583e90a
#: ../../networking/virtual_private_cloud_config.rst:323
msgid "1"
msgstr "1"

# c40bf7c2103d4006b064570d67b6b324
# 8f113663532445cbb46226109e68fc87
#: ../../networking/virtual_private_cloud_config.rst:323
#: ../../networking/virtual_private_cloud_config.rst:324
msgid "All"
msgstr "所有"

# cd3fb0b3957f47a7b32acd1b403d5f55
#: ../../networking/virtual_private_cloud_config.rst:323
msgid "Ingress"
msgstr "进入流量"

# e166cc8cfc04481391575caea5841312
# d259eeaee8994ad79d0143e92a5fe39a
#: ../../networking/virtual_private_cloud_config.rst:323
#: ../../networking/virtual_private_cloud_config.rst:324
msgid "Deny"
msgstr "拒绝"

# acedcca878414c89b67e3f7e98d67e02
# c2f3ea9812544c20a6fc02ac9aad34f0
#: ../../networking/virtual_private_cloud_config.rst:323
#: ../../networking/virtual_private_cloud_config.rst:324
msgid "0.0.0.0/0"
msgstr "0.0.0.0/0"

# dd6e16cde8494347a2e77ca176fd8a0c
#: ../../networking/virtual_private_cloud_config.rst:324
msgid "2"
msgstr "2"

# 23726ba83ae748468e32ef14a54d573b
#: ../../networking/virtual_private_cloud_config.rst:324
msgid "Egress"
msgstr "外出流量"

# 464f3ed7f4f24169b73210972956651a
#: ../../networking/virtual_private_cloud_config.rst:329
msgid "Creating ACL Lists"
msgstr "创建ACL列表"

# b4c82d1c9112484d92153e98ab6a2d33
# 473281bb899a4393b7cf08840e8c8fde
# 96a686680e5647d1b47c4067236c664f
# a790843b311f4f1a9cd8d8d1ee5257a0
# 4b114128189141c284315e2473ddc438
# eee54cf82c9f4083b3ad53bb800a3bb4
# 5c27b5d189844a82a379bc064c2b337e
# 24808f02d0764c739d4aad58f9e15037
# 1b11a2ac4b0e47ee9fc8a3f367edea68
# 100ab8e1140f431bb36c49295576da40
# 3ed6090af9fa4e238cf801269c4c072d
#: ../../networking/virtual_private_cloud_config.rst:337
#: ../../networking/virtual_private_cloud_config.rst:386
#: ../../networking/virtual_private_cloud_config.rst:498
#: ../../networking/virtual_private_cloud_config.rst:668
#: ../../networking/virtual_private_cloud_config.rst:735
#: ../../networking/virtual_private_cloud_config.rst:794
#: ../../networking/virtual_private_cloud_config.rst:854
#: ../../networking/virtual_private_cloud_config.rst:1020
#: ../../networking/virtual_private_cloud_config.rst:1233
#: ../../networking/virtual_private_cloud_config.rst:1288
#: ../../networking/virtual_private_cloud_config.rst:1394
msgid ""
"All the VPCs that you have created for the account is listed in the page."
msgstr "此帐号创建的所有VPC将显示在页面中。"

# 6aa87599a443418889e9db15cc500f7d
# 0bb74bee4b2d4d6da70d6240c47afe8f
#: ../../networking/virtual_private_cloud_config.rst:340
#: ../../networking/virtual_private_cloud_config.rst:389
msgid "Click the Configure button of the VPC."
msgstr "点击VPC的配置按钮。"

# a7a5868fc1c545d8b40456b1836b9ddc
# 62d64d7c737248d3b49d2cfcf91ab9ea
# a7576a24a2874ab89a29f6d0b1528bac
#: ../../networking/virtual_private_cloud_config.rst:342
#: ../../networking/virtual_private_cloud_config.rst:1029
#: ../../networking/virtual_private_cloud_config.rst:1297
msgid "For each tier, the following options are displayed:"
msgstr "对于每一个层，会显示以下选项。"

# c84c70798b73443ba7f00b174398ed30
# 2b1209152c06414c809dd9cbe8e873f6
# 2d40227490424cf0b08f531835947150
# 5d234a982f1c449bb04697d7e629b3d7
# b35cbc7845ed400cb02bd71b07eac64e
# 68ca9e9b2011446da7adcef0d83d05ee
# edde5a9896f94691829221191ccf24ca
#: ../../networking/virtual_private_cloud_config.rst:344
#: ../../networking/virtual_private_cloud_config.rst:511
#: ../../networking/virtual_private_cloud_config.rst:746
#: ../../networking/virtual_private_cloud_config.rst:804
#: ../../networking/virtual_private_cloud_config.rst:865
#: ../../networking/virtual_private_cloud_config.rst:1031
#: ../../networking/virtual_private_cloud_config.rst:1299
msgid "Internal LB"
msgstr "内部LB"

# 840747d13a8548c3a1ed1cfa7aec94d8
# 2cebf679ea3c44cea4495a0da3fdede4
# 171baf1d98124ad5a9e0e93348d43959
# 60793fb25c274674a39f4d6ca1d6f5e8
# cdafdf21344242e391e50189def8e3f7
# 22aed14946de415e844a06a396d14413
# d215b78e0acd4886aaae10e01da3539a
#: ../../networking/virtual_private_cloud_config.rst:346
#: ../../networking/virtual_private_cloud_config.rst:513
#: ../../networking/virtual_private_cloud_config.rst:748
#: ../../networking/virtual_private_cloud_config.rst:806
#: ../../networking/virtual_private_cloud_config.rst:867
#: ../../networking/virtual_private_cloud_config.rst:1033
#: ../../networking/virtual_private_cloud_config.rst:1301
msgid "Public LB IP"
msgstr "公共LB IP"

# 503c7c6831eb4f5ca96c64c2b8328442
# b565e6a4cff8412f9d1c9032ea24e848
# 749694902cf440fea4b8315f93dddf91
# 0b5fb5da84014d7680951915cb26b0a8
# f8fa3d05ec454df1abf7f6a5079c965b
# 43f4ab42a09a499783f95aba183bd8a7
# 88e9603df37e4eacb36619474a076744
#: ../../networking/virtual_private_cloud_config.rst:348
#: ../../networking/virtual_private_cloud_config.rst:515
#: ../../networking/virtual_private_cloud_config.rst:750
#: ../../networking/virtual_private_cloud_config.rst:808
#: ../../networking/virtual_private_cloud_config.rst:869
#: ../../networking/virtual_private_cloud_config.rst:1035
#: ../../networking/virtual_private_cloud_config.rst:1303
msgid "Static NAT"
msgstr "静态 NAT"

# c7d592104fa6447da1b9471822e82ec8
# 714747328af148798be74203cc3ea72e
# 86f01795bd5c488fb9cbffd13a3b84a0
# 1a4d0e4cefc648188e4e0d1e3f5f813f
# 7df65f6c728842c680faa985c0d2b934
# 0caa2b61a0d14a3893de13c06290cb7a
# 8adba6b367094ad4bd769cc0a7ae13a8
#: ../../networking/virtual_private_cloud_config.rst:350
#: ../../networking/virtual_private_cloud_config.rst:517
#: ../../networking/virtual_private_cloud_config.rst:752
#: ../../networking/virtual_private_cloud_config.rst:810
#: ../../networking/virtual_private_cloud_config.rst:871
#: ../../networking/virtual_private_cloud_config.rst:1037
#: ../../networking/virtual_private_cloud_config.rst:1305
msgid "Virtual Machines"
msgstr "虚拟机"

# 2e579cf3f90345feb4b8edc18f78fd8d
# 600d551d0f114e47a420f1c86cd445f4
# 485eb313498a44e2ab1906012a044734
# 92f01bcc2bcd45919753fcbc87f143c3
# e6be963a127340ba88d4e76482c44368
# e48b3a02fdbf4c1aab3e5704df727b54
# 0a61a781736c436c9379e115fd3df3cb
#: ../../networking/virtual_private_cloud_config.rst:354
#: ../../networking/virtual_private_cloud_config.rst:521
#: ../../networking/virtual_private_cloud_config.rst:756
#: ../../networking/virtual_private_cloud_config.rst:814
#: ../../networking/virtual_private_cloud_config.rst:875
#: ../../networking/virtual_private_cloud_config.rst:1041
#: ../../networking/virtual_private_cloud_config.rst:1309
msgid "The following router information is displayed:"
msgstr "显示以下路由器信息："

# 4ed3754e8e014af2a5af0fb4036eeef2
# 3d5c5cdec63d4e90aee5f9c884e80a5d
# dcf31b093d01445ebfad5a3769f1a716
# 4e06d785ce264f838a57f818a5eb51de
# 33fd1f6f2fe94fbb8fcebb54432f6db5
# 920576fcde1e43f5a7d673e3fc8c3961
# 8d9aac57476145b98417e24b78edbee1
#: ../../networking/virtual_private_cloud_config.rst:356
#: ../../networking/virtual_private_cloud_config.rst:523
#: ../../networking/virtual_private_cloud_config.rst:758
#: ../../networking/virtual_private_cloud_config.rst:816
#: ../../networking/virtual_private_cloud_config.rst:877
#: ../../networking/virtual_private_cloud_config.rst:1043
#: ../../networking/virtual_private_cloud_config.rst:1311
msgid "Private Gateways"
msgstr "专用网关"

# 0f79101b541d4297ad26fb3125843df6
# 4e977612c45648cd8858b2f415c8d338
# 764c6f4d2f214c1f9d33d36fec4bc931
# 9ed4d3258aec4c01a9d1d7ab9ee6584a
# 6210247a7c834558b9caf3e695d10eeb
# b44f415f26cd49dcb58c424bce136a67
# db0357d3ac9a479698e479d686e8cd9c
#: ../../networking/virtual_private_cloud_config.rst:358
#: ../../networking/virtual_private_cloud_config.rst:525
#: ../../networking/virtual_private_cloud_config.rst:760
#: ../../networking/virtual_private_cloud_config.rst:818
#: ../../networking/virtual_private_cloud_config.rst:879
#: ../../networking/virtual_private_cloud_config.rst:1045
#: ../../networking/virtual_private_cloud_config.rst:1313
msgid "Public IP Addresses"
msgstr "公共IP地址"

# 70abe760545c42d0a794c6ce16a6c288
# 0c346db4251b43b3a80a084bfd310d80
# e6e45a6bac434db8b588e5a74c0902b8
# d682a97cc5f14a0e801c4858edf11f48
# 29fa45fc941945f891cbf96f6478db82
# 941bc49890ae411aa05236d0e5102149
# 3800a9e49a3b4745b17c1769febf9383
#: ../../networking/virtual_private_cloud_config.rst:360
#: ../../networking/virtual_private_cloud_config.rst:527
#: ../../networking/virtual_private_cloud_config.rst:762
#: ../../networking/virtual_private_cloud_config.rst:820
#: ../../networking/virtual_private_cloud_config.rst:881
#: ../../networking/virtual_private_cloud_config.rst:1047
#: ../../networking/virtual_private_cloud_config.rst:1315
msgid "Site-to-Site VPNs"
msgstr "站点到站点 VPN"

# ba528c5024fa489689b4d8ce0c1a0d85
# 9b993afc4ad845f081de9838ee06ba00
# 64ec433ac68146178442d14772e8ef45
# 5a1b96032f234dbc85b6c87e45c31b31
# c6f194d9a94a415a914fccd54dd4cffa
# 1148599659df40fc8189b9aaf51587de
# 5ae9778ec74a46dca0c4191ae03ecbb0
#: ../../networking/virtual_private_cloud_config.rst:362
#: ../../networking/virtual_private_cloud_config.rst:529
#: ../../networking/virtual_private_cloud_config.rst:764
#: ../../networking/virtual_private_cloud_config.rst:822
#: ../../networking/virtual_private_cloud_config.rst:883
#: ../../networking/virtual_private_cloud_config.rst:1049
#: ../../networking/virtual_private_cloud_config.rst:1317
msgid "Network ACL Lists"
msgstr "网络 ACL列表"

# a3498a3bc728411aa4d5a7313f8d1fca
# 1fd8c162a2124419bfff5003f1d58fe3
#: ../../networking/virtual_private_cloud_config.rst:364
#: ../../networking/virtual_private_cloud_config.rst:391
msgid "Select Network ACL Lists."
msgstr "选择网络ACL列表。"

# 9a1064fed3e342afb4b08a5d9e4ba3f9
#: ../../networking/virtual_private_cloud_config.rst:366
msgid ""
"The following default rules are displayed in the Network ACLs page: "
"default\\_allow, default\\_deny."
msgstr "在ACL页面，下面默认规则将会显示出来：default\\_allow, default\\_deny."

# eee1fde55c454e4ba76e51f7c0073681
#: ../../networking/virtual_private_cloud_config.rst:369
msgid "Click Add ACL Lists, and specify the following:"
msgstr "点击添加ACL列表，指定以下配置："

# 0019e51fcb5d4b609e3dfc8a2f798182
#: ../../networking/virtual_private_cloud_config.rst:371
msgid "**ACL List Name**: A name for the ACL list."
msgstr "**ACL列表名称**: 为ACL列表命名。"

# 545d7afa82d944fc932e088624630881
#: ../../networking/virtual_private_cloud_config.rst:373
msgid ""
"**Description**: A short description of the ACL list that can be displayed "
"to users."
msgstr "**描述**: ACL列表的简短描述。"

# 0eef9c80eb244e469737b6dbfed09ee5
#: ../../networking/virtual_private_cloud_config.rst:378
msgid "Creating an ACL Rule"
msgstr "创建一个ACL规则"

# 9ec1bad501f2492c875359dee57af36c
#: ../../networking/virtual_private_cloud_config.rst:393
msgid ""
"In addition to the custom ACL lists you have created, the following default "
"rules are displayed in the Network ACLs page: default\\_allow, "
"default\\_deny."
msgstr "除了创建的你自定义的ACL列表之后，以下默认ACL规则也会显示在页面中：default\\_allow, default\\_deny."

# 56fa96725745426090705b3dea696c75
# a5a846532a7f4d51b3b4ad850b809ffc
#: ../../networking/virtual_private_cloud_config.rst:397
#: ../../networking/virtual_private_cloud_config.rst:477
msgid "Select the desired ACL list."
msgstr "选择需要的ACL列表。"

# 9b8b87a05d164a1e9388a9e96455c916
#: ../../networking/virtual_private_cloud_config.rst:399
msgid "Select the ACL List Rules tab."
msgstr "选择ACL规则栏"

# a35e39faa5504d4a939aa4cbc70ebd47
#: ../../networking/virtual_private_cloud_config.rst:401
msgid ""
"To add an ACL rule, fill in the following fields to specify what kind of "
"network traffic is allowed in the VPC."
msgstr "为了创建ACL规则，需要在VPC中定义下面哪些网络流量是允许的。"

# 09875f1f997e40c78467e4afbfd008a0
#: ../../networking/virtual_private_cloud_config.rst:404
msgid "**Rule Number**: The order in which the rules are evaluated."
msgstr "**规则序号**: 规则被执行的顺序。"

# 718a86130cf84374b39ef695d7c0319f
#: ../../networking/virtual_private_cloud_config.rst:406
msgid ""
"**CIDR**: The CIDR acts as the Source CIDR for the Ingress rules, and "
"Destination CIDR for the Egress rules. To accept traffic only from or to the"
" IP addresses within a particular address block, enter a CIDR or a comma-"
"separated list of CIDRs. The CIDR is the base IP address of the incoming "
"traffic. For example, 192.168.0.0/22. To allow all CIDRs, set to 0.0.0.0/0."
msgstr "**CIDR**: 对于进入的规则，CIDR对源地址起作用，对于外出的规则，CIDR对目标地址起作用。如果要定义多个可接受进出流量的特定地址段，需要以逗号分隔各个CIDR。CIDR是进入流量的基IP地址。比如， 192.168.0.0/22. 如要对所有CIDR允许流量, 设置为 0.0.0.0/0."

# 5e7871dde2bc4878b9630e4f89ef78a5
#: ../../networking/virtual_private_cloud_config.rst:413
msgid "**Action**: What action to be taken. Allow traffic or block."
msgstr "**操作**: 定义要进行的操作，允许或阻止。"

# 960f6ba511804daf84bb14b0ee7d9fcb
#: ../../networking/virtual_private_cloud_config.rst:415
msgid ""
"**Protocol**: The networking protocol that sources use to send traffic to "
"the tier. The TCP and UDP protocols are typically used for data exchange and"
" end-user communications. The ICMP protocol is typically used to send error "
"messages or network monitoring data. All supports all the traffic. Other "
"option is Protocol Number."
msgstr "**协议**: 发送到层的源地址的网络协议。最终用户的访问和数据交换通常是用TCP和UDP协议。ICMP协议通常用来发送错误信息或网络监控。ALL表示支持所有协议流量，其它选项是协议编号。"

# f8c920b2724240f7bcce7a3ffa539142
#: ../../networking/virtual_private_cloud_config.rst:422
msgid ""
"**Start Port**, **End Port** (TCP, UDP only): A range of listening ports "
"that are the destination for the incoming traffic. If you are opening a "
"single port, use the same number in both fields."
msgstr "**起始端口**, **结束端口** (TCP, UDP only):对进入流量，这些端口是指需要监听的目标地址的端口范围。如果你只开放一个端口，则在起始和结束端口里填写同一个端口。"

# 6354d433a9d14d5aac441bc824aa18d8
#: ../../networking/virtual_private_cloud_config.rst:426
msgid ""
"**Protocol Number**: The protocol number associated with IPv4 or IPv6. For "
"more information, see `Protocol Numbers <http://www.iana.org/assignments"
"/protocol-numbers/protocol-numbers.xml>`_."
msgstr "**协议编号**: 协议编号是与IPV4或IPV6相关联的。更多信息，请参考 `协议号 <http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml>`_."

# 07c3ccfb6e804b7b9f9c6ee3e97baab6
#: ../../networking/virtual_private_cloud_config.rst:430
msgid ""
"**ICMP Type**, **ICMP Code** (ICMP only): The type of message and error code"
" that will be sent."
msgstr "**ICMP类型**, **ICMP代码** (ICMP only): 信息类型及发送错误的代码。"

# fcf4685a451c434fa979261a9f4a989a
#: ../../networking/virtual_private_cloud_config.rst:433
msgid "**Traffic Type**: The type of traffic: Incoming or outgoing."
msgstr "**流量类型**: 进出流量的类型。"

# 4cb2859d5c494c07a39e4f7f9c8b316d
#: ../../networking/virtual_private_cloud_config.rst:435
msgid "Click Add. The ACL rule is added."
msgstr "点击添加。这个ACL规则就添加好了。"

# 6a1dc858d8f64fc4b59744f3ce271735
#: ../../networking/virtual_private_cloud_config.rst:437
msgid ""
"You can edit the tags assigned to the ACL rules and delete the ACL rules you"
" have created. Click the appropriate button in the Details tab."
msgstr "你可以重新编辑ACL标签，或是删除ACL。点击详细信息里的appropriate按钮。"

# f116157c2cc3452d9381d88f34e5edcc
#: ../../networking/virtual_private_cloud_config.rst:443
msgid "Creating a Tier with Custom ACL List"
msgstr "创建一个具有自定义ACL列表的层。"

# a6dcc18dbcf14658bbe49913ec9d7258
# a9d8c9ab4785456fa3b539a958e0a391
#: ../../networking/virtual_private_cloud_config.rst:445
#: ../../networking/virtual_private_cloud_config.rst:461
msgid "Create a VPC."
msgstr "创建一个VPC。"

# c46ed610d0de4aabb7a66be1bc38b59c
# 0eba50fd6c8241ce8c46b4f22adac8ce
#: ../../networking/virtual_private_cloud_config.rst:447
#: ../../networking/virtual_private_cloud_config.rst:467
msgid "Create a custom ACL list."
msgstr "创建一个自定义ACL列表。"

# d641158411d6429aa58b99856ae3aa3e
# ee2e3bb2bdcf4ae6ac56d960eb5c8414
#: ../../networking/virtual_private_cloud_config.rst:449
#: ../../networking/virtual_private_cloud_config.rst:469
msgid "Add ACL rules to the ACL list."
msgstr "将ACL规则加入ACL列表。"

# 1b9144de1d7c42478e9bcc5e58e8ad8b
# 6416990ed47a46299ea5a399d45a25e5
#: ../../networking/virtual_private_cloud_config.rst:451
#: ../../networking/virtual_private_cloud_config.rst:463
msgid "Create a tier in the VPC."
msgstr "在VPC里创建一个层。"

# d7313c7f5dc741be9cab74d4cc465987
#: ../../networking/virtual_private_cloud_config.rst:453
msgid "Select the desired ACL list while creating a tier."
msgstr "在创建层的过程中选择需要的ACL列表。"

# a2518e7f8c9347b1b2c5d2a4575170df
#: ../../networking/virtual_private_cloud_config.rst:459
msgid "Assigning a Custom ACL List to a Tier"
msgstr "将一个自定义的ACL关联到一个层。"

# 67c4657175a040149f04332d949d57bf
#: ../../networking/virtual_private_cloud_config.rst:465
msgid "Associate the tier with the default ACL rule."
msgstr "将默认的ACL规则关联到层。"

# b83eff10b1ce44d2bcfae9e1e8920b6f
#: ../../networking/virtual_private_cloud_config.rst:471
msgid "Select the tier for which you want to assign the custom ACL."
msgstr "选中你希望赋予自定义ACL的层。"

# a44330dc8018442bb213f335afaab969
#: ../../networking/virtual_private_cloud_config.rst:473
msgid "Click the Replace ACL List icon. |replace-acl-icon.png|"
msgstr "点击替换ACL图标。|replace-acl-icon.png|"

# dd9f88e9651f45199d45d102228e2574
#: ../../networking/virtual_private_cloud_config.rst:475
msgid "The Replace ACL List dialog is displayed."
msgstr "替换ACL的对话界面将会弹出来。"

# 51a9c7e87c8c46bc8c2d01f1c70b1b5e
#: ../../networking/virtual_private_cloud_config.rst:485
msgid "Adding a Private Gateway to a VPC"
msgstr "在一个VPC里加入私有网关。"

# 5bb03fe2db6344479a16781735c33d36
#: ../../networking/virtual_private_cloud_config.rst:487
msgid ""
"A private gateway can be added by the root admin only. The VPC private "
"network has 1:1 relationship with the NIC of the physical network. You can "
"configure multiple private gateways to a single VPC. No gateways with "
"duplicated VLAN and IP are allowed in the same data center."
msgstr "私有网关只能被系统管理员添加。VPC私有网络和物理网络之间是1：1的对应关系。你可以在一个VPC里定义多个私有网关。在同一个数据中心，不允许复制VLAN和IP的网关。"

# 56d5e3ac03e0437e95ee0073c44b19dd
#: ../../networking/virtual_private_cloud_config.rst:501
msgid ""
"Click the Configure button of the VPC to which you want to configure load "
"balancing rules."
msgstr "在你想配置负载均衡的VPC上点击配置按钮。"

# 142dc427cda8454c943c18bb8066cbea
# 508dbf4fb717460bbb35c009061f7564
# fb95c3660854480db28704507ed4b900
# 21eb0af33be64ade85d894838188a330
# 75579da7cb264f9b80565e8bc7ef99b4
#: ../../networking/virtual_private_cloud_config.rst:504
#: ../../networking/virtual_private_cloud_config.rst:741
#: ../../networking/virtual_private_cloud_config.rst:799
#: ../../networking/virtual_private_cloud_config.rst:860
#: ../../networking/virtual_private_cloud_config.rst:1294
msgid ""
"The VPC page is displayed where all the tiers you created are listed in a "
"diagram."
msgstr "系统会显示VPC页面，您创建的所有层都列在图中。"

# 57a669215b0c459babdfa0f7477512bb
#: ../../networking/virtual_private_cloud_config.rst:507
msgid "Click the Settings icon."
msgstr "点击设置图标。"

# 27df09e575754d0bb04ff268ac13cd85
# aec57c8f590a41ea9f3c4002d2bb2082
# c83fad1cd6a74d3ba7da7551441402ad
#: ../../networking/virtual_private_cloud_config.rst:509
#: ../../networking/virtual_private_cloud_config.rst:744
#: ../../networking/virtual_private_cloud_config.rst:802
msgid "The following options are displayed."
msgstr "下面这些选项就会出现。"

# c22be90142b04c5483ec525bb576d2c3
#: ../../networking/virtual_private_cloud_config.rst:531
msgid "Select Private Gateways."
msgstr "选择私有网关。"

# 2902accc6b5b49a1b204fd3fd16b1f5e
#: ../../networking/virtual_private_cloud_config.rst:533
msgid "The Gateways page is displayed."
msgstr "网关对话框就会显示出来。"

# 92c2f2f09846411594265950bf78b9e4
#: ../../networking/virtual_private_cloud_config.rst:535
msgid "Click Add new gateway:"
msgstr "点击添加新网关："

# 2c2c653d4d9d4521b4a7eb5c0e19f64c
#: ../../networking/virtual_private_cloud_config.rst:537
msgid "|add-new-gateway-vpc.png|"
msgstr "|add-new-gateway-vpc.png|"

# 891ea4ddb15443e5ab8f32c8088c452f
#: ../../networking/virtual_private_cloud_config.rst:541
msgid ""
"**Physical Network**: The physical network you have created in the zone."
msgstr "**物理网络**: 此处为你已在区域内建好的物理网络。"

# ca06b3e4deaf4ce3a02322454f78ed68
#: ../../networking/virtual_private_cloud_config.rst:544
msgid "**IP Address**: The IP address associated with the VPC gateway."
msgstr "**IP地址**: 关联VPC网关的IP地址。"

# a5410ac8843e4c719973edf2d9bab4e0
#: ../../networking/virtual_private_cloud_config.rst:546
msgid ""
"**Gateway**: The gateway through which the traffic is routed to and from the"
" VPC."
msgstr "**网关**: 定义进出VPC流量的网关。"

# 955c1cc8e0f847408e1bd7754afbe13b
#: ../../networking/virtual_private_cloud_config.rst:549
msgid "**Netmask**: The netmask associated with the VPC gateway."
msgstr "**Netmask**: VPC网关的子网掩码。"

# 852f638bb7234dc1a27dc43b5e016322
#: ../../networking/virtual_private_cloud_config.rst:551
msgid "**VLAN**: The VLAN associated with the VPC gateway."
msgstr "**VLAN**: VPC网关的VLAN。"

# 6f6c910aeb6d4ee29cfd16a8f169801a
#: ../../networking/virtual_private_cloud_config.rst:553
msgid ""
"**Source NAT**: Select this option to enable the source NAT service on the "
"VPC private gateway."
msgstr "**Source NAT**: 这个选项会启用VPC私有网关的source NAT服务。"

# ca50f58a899f498d80e5d3cfaddc4e56
#: ../../networking/virtual_private_cloud_config.rst:556
msgid "See \":ref:`source-nat-priv-gw`\"."
msgstr "参考\":ref:`source-nat-priv-gw`\"."

# 4004b1c124dc41d7afca981bfc6aa29d
#: ../../networking/virtual_private_cloud_config.rst:558
msgid ""
"**ACL**: Controls both ingress and egress traffic on a VPC private gateway. "
"By default, all the traffic is blocked."
msgstr "**ACL**: 控制VPC私有网关的进出流量，默认情况下，所有流量被阻止。"

# e0641473896e4fc4abe0e8d8f6500ad5
#: ../../networking/virtual_private_cloud_config.rst:561
msgid "See \":ref:`acl-priv-gw`\"."
msgstr "参考\":ref:`acl-priv-gw`\"."

# c748dfb7b8764ed2b63524e27be99156
#: ../../networking/virtual_private_cloud_config.rst:563
msgid ""
"The new gateway appears in the list. You can repeat these steps to add more "
"gateway for this VPC."
msgstr "新的网关就会出现在列表中。你可以重复这些步骤为VPC增加更多的网关。"

# 67cc2c7079b445b1aa5c3f8d7b0ff2bf
#: ../../networking/virtual_private_cloud_config.rst:570
msgid "Source NAT on Private Gateway"
msgstr "私有网关的Source NAT"

# 2a8f60c14ac64d6e8d87dbce76bedb16
#: ../../networking/virtual_private_cloud_config.rst:572
msgid ""
"You might want to deploy multiple VPCs with the same super CIDR and guest "
"tier CIDR. Therefore, multiple guest VMs from different VPCs can have the "
"same IPs to reach a enterprise data center through the private gateway. In "
"such cases, a NAT service need to be configured on the private gateway to "
"avoid IP conflicts. If Source NAT is enabled, the guest VMs in VPC reaches "
"the enterprise network via private gateway IP address by using the NAT "
"service."
msgstr "你可能希望在同一个超级CIDR和客户层CIDR中部署多个VPC。因此，在一个数据中心，不同VPC中的虚拟机通过私有网络可以拥有相同的IP地址。在这种情况下，就需要在私有网关里配置Source NAT服务以避免IP冲突。如果Source NAT服务启用，VPC中的客户虚拟机使用私有网关IP地址与数据中心其它机器交流。"

# 13ba311a60ee4d00b7c597fafb945d0b
#: ../../networking/virtual_private_cloud_config.rst:580
msgid ""
"The Source NAT service on a private gateway can be enabled while adding the "
"private gateway. On deletion of a private gateway, source NAT rules specific"
" to the private gateway are deleted."
msgstr "Source NAT服务是添加私有网关时启用。如果删除了私有网关，关联到此私有网关的Source NAT规则也会被删除。"

# d8e4c7cc999e4730ad5bf6aa6f1b810f
#: ../../networking/virtual_private_cloud_config.rst:584
msgid ""
"To enable source NAT on existing private gateways, delete them and create "
"afresh with source NAT."
msgstr "如要有已有私有网关中启用Source NAT，需要先删除（私有网关），然后再建一个启用Source NAT的私有网关。"

# 8c1553f72c3d4599892c402b65672931
#: ../../networking/virtual_private_cloud_config.rst:591
msgid "ACL on Private Gateway"
msgstr "私有网关的ACL"

# 7a5729fff5c74521a2455b4e2b885a0f
#: ../../networking/virtual_private_cloud_config.rst:593
msgid ""
"The traffic on the VPC private gateway is controlled by creating both "
"ingress and egress network ACL rules. The ACLs contains both allow and deny "
"rules. As per the rule, all the ingress traffic to the private gateway "
"interface and all the egress traffic out from the private gateway interface "
"are blocked."
msgstr "VPC私有网关的进出流量是被ACL规则控制的。ACL均包含允许和阻止的规则。在每一条规则中，所有进出私有网关接口的流量是被阻止的。"

# a7c844a5b9594a8c9090ef0fb4c815ac
#: ../../networking/virtual_private_cloud_config.rst:599
msgid ""
"You can change this default behaviour while creating a private gateway. "
"Alternatively, you can do the following:"
msgstr "你可以在创建私有网关时，改变这个默认的行为。或者，你也可以按如下方式操作："

# ce82be93f3014dafa0618abed1ddbc56
# cf4dffd32e4045a0809d358aa5c89b4e
#: ../../networking/virtual_private_cloud_config.rst:602
#: ../../networking/virtual_private_cloud_config.rst:633
msgid "In a VPC, identify the Private Gateway you want to work with."
msgstr "在VPC中，验证你想操作的私有网关。"

# d931e9176936499f8a82583a1141f759
#: ../../networking/virtual_private_cloud_config.rst:604
msgid "In the Private Gateway page, do either of the following:"
msgstr "在私有网关页面，按如下步骤操作："

# df22ccb2fc4a4d4cbc59a8eced7cdd99
#: ../../networking/virtual_private_cloud_config.rst:606
msgid "Use the Quickview. See 3."
msgstr "使用快速查看视图，参考3."

# 2e88948ffe35436398eb3dcc24a068a1
#: ../../networking/virtual_private_cloud_config.rst:608
msgid "Use the Details tab. See 4 through ."
msgstr "使用详细查看栏。参考4。"

# a6b863b1326a484080f38c0d2fffe32e
#: ../../networking/virtual_private_cloud_config.rst:610
msgid ""
"In the Quickview of the selected Private Gateway, click Replace ACL, select "
"the ACL rule, then click OK"
msgstr "在所选择的私有网关的快速查看视图里，点击替换ACL，选中ACL规则，然后点击OK按钮。"

# 393090f44f4e449480ae7b9cd7171e2e
#: ../../networking/virtual_private_cloud_config.rst:613
msgid "Click the IP address of the Private Gateway you want to work with."
msgstr "点击你需要操作的私有网关的IP地址。"

# 175a8bc977814206b1b438e55d487d9d
#: ../../networking/virtual_private_cloud_config.rst:615
msgid ""
"In the Detail tab, click the Replace ACL button. |replace-acl-icon.png|"
msgstr "在详细查看栏。点击替换ACL按钮。|replace-acl-icon.png|"

# cb57cf7f56bd4ab7b815980fd401d492
#: ../../networking/virtual_private_cloud_config.rst:618
msgid "The Replace ACL dialog is displayed."
msgstr "替换ACL的对话框就会出现。"

# 52fd814724fc4614a6513bc716822b2e
#: ../../networking/virtual_private_cloud_config.rst:620
msgid "select the ACL rule, then click OK."
msgstr "选择ACL规则，然后点击OK按钮。"

# 0594c5c95e77436b9fba83680438d29f
#: ../../networking/virtual_private_cloud_config.rst:622
msgid ""
"Wait for few seconds. You can see that the new ACL rule is displayed in the "
"Details page."
msgstr "稍等片刻。你就会看到新的ACL规则出现在详细页面里了。"

# ab277710c8d843ae81e757e3336317d0
#: ../../networking/virtual_private_cloud_config.rst:627
msgid "Creating a Static Route"
msgstr "创建一个静态静由。"

# 941e24b2fbef4bb7a3938f2fc6fb31ba
#: ../../networking/virtual_private_cloud_config.rst:629
msgid ""
"CloudStack enables you to specify routing for the VPN connection you create."
" You can enter one or CIDR addresses to indicate which traffic is to be "
"routed back to the gateway."
msgstr "CloudStack可以让你指定你创建的VPN链接的路由。你可以输入一个或CIDR地址来指定路由返回到网关的具体流量。"

# 6a994cb0af754d01bd335367a6f9d4f9
#: ../../networking/virtual_private_cloud_config.rst:635
msgid ""
"In the Private Gateway page, click the IP address of the Private Gateway you"
" want to work with."
msgstr "在私有网关页面，点击你需要的私有网关的IP地址。"

# ed8760a26f62434da30f3b3d3094da23
#: ../../networking/virtual_private_cloud_config.rst:638
msgid "Select the Static Routes tab."
msgstr "选择静态路由栏。"

# dc6e78e20d8a49b18b1c7b68fc53d28f
#: ../../networking/virtual_private_cloud_config.rst:640
msgid "Specify the CIDR of destination network."
msgstr "指定目标网络的CIDR。"

# a267ec664f35442db0c8d33d273ec07a
#: ../../networking/virtual_private_cloud_config.rst:642
msgid "Click Add."
msgstr "点击 添加"

# 0b06e4ce11114d68a1d616162a29b46b
#: ../../networking/virtual_private_cloud_config.rst:644
msgid "Wait for few seconds until the new route is created."
msgstr "稍等片刻，新的路由就创建好了。"

# f66d2b908d63453ba9331658c3105974
#: ../../networking/virtual_private_cloud_config.rst:648
msgid "Blacklisting Routes"
msgstr "路由黑名单"

# 5e262d8f57f94df080de1ebfd57089c5
#: ../../networking/virtual_private_cloud_config.rst:650
msgid ""
"CloudStack enables you to block a list of routes so that they are not "
"assigned to any of the VPC private gateways. Specify the list of routes that"
" you want to blacklist in the ``blacklisted.routes`` global parameter. Note "
"that the parameter update affects only new static route creations. If you "
"block an existing static route, it remains intact and continue functioning. "
"You cannot add a static route if the route is blacklisted for the zone."
msgstr "CloudStack允许你定义一个路由黑名单，这样它们就不能关联到任何VPC私有网关。你需要在全局参数blacklisted.routes里定义。要注意，此参数只在新路由创建时才会生效。如果你在黑名单里加入了已存在的静态路由，则此静态路由还是会继续起作用。你不能把在路由黑名单里的路由加入到静态路由当中去。"

# c95c27354e2b4308b6fe6cd594b07c4b
#: ../../networking/virtual_private_cloud_config.rst:660
msgid "Deploying VMs to the Tier"
msgstr "将虚拟机部署到层。"

# d912fb084257494b9ea49a22d2952df6
# 6a271ec843964a2392c14ea15bebcab2
# 2db0b4a30faa4d2486de8987dc035b35
# 42de70c0e3314b3b9312103ccf0318a3
#: ../../networking/virtual_private_cloud_config.rst:671
#: ../../networking/virtual_private_cloud_config.rst:738
#: ../../networking/virtual_private_cloud_config.rst:857
#: ../../networking/virtual_private_cloud_config.rst:1291
msgid ""
"Click the Configure button of the VPC to which you want to deploy the VMs."
msgstr "点击要部署虚机的VPC的配置按钮。"

# a10f32d36f52426288a9a524c7034bde
#: ../../networking/virtual_private_cloud_config.rst:674
msgid ""
"The VPC page is displayed where all the tiers you have created are listed."
msgstr "所有创建好的层都会有VPC页面里列出来。"

# e8a7f18c2c2443b8afb0ba68b10df211
#: ../../networking/virtual_private_cloud_config.rst:677
msgid "Click Virtual Machines tab of the tier to which you want to add a VM."
msgstr "指向你想添加虚拟机的层，点击虚拟机栏。"

# 2021d183ee7640019cdf5bdbfe5498f3
#: ../../networking/virtual_private_cloud_config.rst:679
msgid "|add-vm-vpc.png|"
msgstr "|add-vm-vpc.png|"

# 2d48018b840946fd8af8d726d139f5d0
#: ../../networking/virtual_private_cloud_config.rst:681
msgid "The Add Instance page is displayed."
msgstr "添加实例的页面就会出现。"

# 3090bc6cae14453a973abac600b9c2cf
#: ../../networking/virtual_private_cloud_config.rst:683
msgid ""
"Follow the on-screen instruction to add an instance. For information on "
"adding an instance, see the Installation Guide."
msgstr "按照屏幕所指示的操作加入实例。至于如何添加实例，参照安装指南文档。"

# dcd8e45c721b400eaba7cde1328bdc81
#: ../../networking/virtual_private_cloud_config.rst:688
msgid "Deploying VMs to VPC Tier and Shared Networks"
msgstr "在VPC层中部署虚拟，共享网络。"

# 17212685c197411da69afebe1fd43553
#: ../../networking/virtual_private_cloud_config.rst:690
msgid ""
"CloudStack allows you deploy VMs on a VPC tier and one or more shared "
"networks. With this feature, VMs deployed in a multi-tier application can "
"receive monitoring services via a shared network provided by a service "
"provider."
msgstr "CloudStack允许你在VPC层中部署虚拟机和共享网络。有了这个功能，分布在多层当中的虚拟机可以通过共享网络接收到监控服务。"

# fc5a14ca00a74032a5a578f32fe13799
#: ../../networking/virtual_private_cloud_config.rst:695
msgid "Log in to the CloudStack UI as an administrator."
msgstr "用系统管理员登陆到CloudStack UI界面。"

# 32b36a6c72fa45f99cc16fe65842edb4
#: ../../networking/virtual_private_cloud_config.rst:697
msgid "In the left navigation, choose Instances."
msgstr "在左边的导航栏里，选择实例。"

# 2f251266e8f84c3bb1eb88f9cbf3421b
#: ../../networking/virtual_private_cloud_config.rst:699
msgid "Click Add Instance."
msgstr "点击添加实例。"

# e9423e60b1d047809ea35f96287dc4cb
#: ../../networking/virtual_private_cloud_config.rst:701
msgid "Select a zone."
msgstr "选择一个区域。"

# 270e50111a9d4c328ccfd3e302a1712c
#: ../../networking/virtual_private_cloud_config.rst:703
msgid "Select a template or ISO, then follow the steps in the wizard."
msgstr "选择一个模板或ISO，按向导步骤操作。 "

# b9f9249e068d492a89e876e8d5282100
#: ../../networking/virtual_private_cloud_config.rst:705
msgid ""
"Ensure that the hardware you have allows starting the selected service "
"offering."
msgstr "请确认你的硬件支持所选择的服务方案。"

# 646cca07fc3241d9bdcb00578a77e3e3
#: ../../networking/virtual_private_cloud_config.rst:708
msgid ""
"Under Networks, select the desired networks for the VM you are launching."
msgstr "在网络导航栏，选择你希望虚拟机所在的网络。"

# c5f162c06a0641cf8ca1c4ee6f54f651
#: ../../networking/virtual_private_cloud_config.rst:711
msgid "You can deploy a VM to a VPC tier and multiple shared networks."
msgstr "你可以将虚拟机部署在一个拥有多个共享网络的VPC层中。"

# edcfad81a1b04c068848242fac9adfac
#: ../../networking/virtual_private_cloud_config.rst:713
msgid "|addvm-tier-sharednw.png|"
msgstr "|addvm-tier-sharednw.png|"

# efc4e3cc0b2843ccb58ccc673b8f20cd
#: ../../networking/virtual_private_cloud_config.rst:715
msgid "Click Next, review the configuration and click Launch."
msgstr "点击下一步，审看已配置信息，然后点击启动。"

# 34b1022eb48b4dbf92712eb65b1308c8
#: ../../networking/virtual_private_cloud_config.rst:717
msgid "Your VM will be deployed to the selected VPC tier and shared network."
msgstr "你的这个虚拟机就已被部署到所选择的VPC层和共享网络中。"

# e75183b01c2e4d9a87561e256f60760d
#: ../../networking/virtual_private_cloud_config.rst:721
msgid "Acquiring a New IP Address for a VPC"
msgstr "VPC获取新的IP地址。"

# 8712a3a4537f4038a9703ae12a15da40
#: ../../networking/virtual_private_cloud_config.rst:723
msgid ""
"When you acquire an IP address, all IP addresses are allocated to VPC, not "
"to the guest networks within the VPC. The IPs are associated to the guest "
"network only when the first port-forwarding, load balancing, or Static NAT "
"rule is created for the IP or the network. IP can't be associated to more "
"than one network at a time."
msgstr "当获取IP地址时，所有的IP地址会被分配到该VPC，而不是VPC中的用户网络。只有当在IP或用户网络上创建第一个网络规则（端口映射、负载均衡、静态NAT）时，该IP才会关联到用户网络。一个IP不能同时关联一个以上的网络。"

# f3548df663fd4502b857204d85782486
#: ../../networking/virtual_private_cloud_config.rst:766
msgid "Select IP Addresses."
msgstr "选择IP地址。"

# 8b29cfd1cdcd4018ae63dfe1624f5e58
#: ../../networking/virtual_private_cloud_config.rst:768
msgid "The Public IP Addresses page is displayed."
msgstr "公网IP地址页面就显示出来。"

# b571bcf25fd64067a9bc6c684f923ef4
#: ../../networking/virtual_private_cloud_config.rst:770
msgid "Click Acquire New IP, and click Yes in the confirmation dialog."
msgstr "点击获得一个新IP, 并且在确认的对话框中点击确定."

# 5bc9804e2b3a444c9eca95b480c5247e
#: ../../networking/virtual_private_cloud_config.rst:772
msgid ""
"You are prompted for confirmation because, typically, IP addresses are a "
"limited resource. Within a few moments, the new IP address should appear "
"with the state Allocated. You can now use the IP address in port forwarding,"
" load balancing, and static NAT rules."
msgstr "因为通常IP地址是有限资源，系统会提示您确认。 在稍等片刻之后，新的IP地址将会出现并且状态是已分配。现在您就可以使用这个IP地址做端口转发、负载均衡或静态NAT。"

# f14eea7624044595966630cad5fb25a4
#: ../../networking/virtual_private_cloud_config.rst:779
msgid "Releasing an IP Address Alloted to a VPC"
msgstr "释放VPC分配的IP地址"

# a32c2ee15c7f41209d11d1460881df99
#: ../../networking/virtual_private_cloud_config.rst:781
msgid ""
"The IP address is a limited resource. If you no longer need a particular IP,"
" you can disassociate it from its VPC and return it to the pool of available"
" addresses. An IP address can be released from its tier, only when all the "
"networking ( port forwarding, load balancing, or StaticNAT ) rules are "
"removed for this IP address. The released IP address will still belongs to "
"the same VPC."
msgstr "IP地址是有限资源。如果您不再需要某个IP，请解除该IP和VPC的关联，使其返回到可用地址池中。只有当IP上所有的网络规则(端口映射、负载均衡、静态NAT)都删除后，该IP才能从所属层释放。释放的IP仍属于该VPC。"

# cff29ec3366646748c80c78ae0b21df3
#: ../../networking/virtual_private_cloud_config.rst:797
msgid "Click the Configure button of the VPC whose IP you want to release."
msgstr "点击要释放IP的VPC的配置按钮。"

# e61ac663ca83460e902eb75be8323c7b
#: ../../networking/virtual_private_cloud_config.rst:824
msgid "Select Public IP Addresses."
msgstr "选择公网IP地址。"

# d6214f88ed8e46abb807a2b8e2f87bf7
# fee8b392a6654e98b2a92ed46a6a1d09
# 86b1ba91303847249fe71e091aa53075
# e80daef3c8c548fe905c71e3888d9d35
#: ../../networking/virtual_private_cloud_config.rst:826
#: ../../networking/virtual_private_cloud_config.rst:887
#: ../../networking/virtual_private_cloud_config.rst:1053
#: ../../networking/virtual_private_cloud_config.rst:1321
msgid "The IP Addresses page is displayed."
msgstr "系统显示IP地址页面。"

# 7100a75c5b7f4e94af12eba67cc769d7
#: ../../networking/virtual_private_cloud_config.rst:828
msgid "Click the IP you want to release."
msgstr "点击要释放的IP地址。"

# 5d08cda75ef64158bc169fa0b4d55bfd
#: ../../networking/virtual_private_cloud_config.rst:830
msgid "In the Details tab, click the Release IP button |release-ip-icon.png|"
msgstr "在详细查看栏，点击释放IP按钮。 |release-ip-icon.png|"

# 66b58ca8d7e8481184b5f30fb10aeb3a
#: ../../networking/virtual_private_cloud_config.rst:836
msgid "Enabling or Disabling Static NAT on a VPC"
msgstr "VPC中启用或禁用静态NAT"

# 5ffcce98eb5341c4815405feb3f45e3d
#: ../../networking/virtual_private_cloud_config.rst:838
msgid ""
"A static NAT rule maps a public IP address to the private IP address of a VM"
" in a VPC to allow Internet traffic to it. This section tells how to enable "
"or disable static NAT for a particular IP address in a VPC."
msgstr "静态NAT规则是将公网IP映射到VPC中虚机的私网IP，以便允许互联网流量访问该虚机。本节描述如何在VPC中启用或禁用某个公网IP地址的静态NAT。"

# 3a033892a74543d4a655001ee01f7102
#: ../../networking/virtual_private_cloud_config.rst:842
msgid ""
"If port forwarding rules are already in effect for an IP address, you cannot"
" enable static NAT to that IP."
msgstr "如果该公网IP上已经有端口转发规则，则不允许再启用静态NAT。"

# 3ced6dfc6cda40c59a7663608968ae25
#: ../../networking/virtual_private_cloud_config.rst:845
msgid ""
"If a guest VM is part of more than one network, static NAT rules will "
"function only if they are defined on the default network."
msgstr "如果用户VM存在多个网络，则静态NAT规则仅在默认网络上定义时生效。"

# a101d2d938bd44ef8b442c2dd878803b
#: ../../networking/virtual_private_cloud_config.rst:863
msgid "For each tier, the following options are displayed."
msgstr "对于每一个层，会显示以下选项。"

# 2aa87b8efca045199c60a69232f4100c
# f29854dbe679478497f195c125c70fc3
# 0ca75518c2c1401bada82a5f5b3953b2
#: ../../networking/virtual_private_cloud_config.rst:885
#: ../../networking/virtual_private_cloud_config.rst:1051
#: ../../networking/virtual_private_cloud_config.rst:1319
msgid "In the Router node, select Public IP Addresses."
msgstr "在路由器节点中，选择公共IP地址。"

# ecb19327446e44f7a44f71eaef9cc73a
#: ../../networking/virtual_private_cloud_config.rst:889
msgid "Click the IP you want to work with."
msgstr "点击您要操作的IP。"

# 54b9ba8fad964d51a0442fc5838ba574
#: ../../networking/virtual_private_cloud_config.rst:891
msgid ""
"In the Details tab,click the Static NAT button. |enable-disable.png| The "
"button toggles between Enable and Disable, depending on whether static NAT "
"is currently enabled for the IP address."
msgstr "在“详细信息”页，点击静态NAT按钮|enable-disable.png| 。该按钮会根据公网IP的静态NAT当前状态，在启用和禁用间切换。"

# ee96b8eeef6f44169338cbec4bd552e2
#: ../../networking/virtual_private_cloud_config.rst:896
msgid "If you are enabling static NAT, a dialog appears as follows:"
msgstr "如果是启用静态NAT，会显示如下对话框："

# 2934b5d934b343aab14d143fb537ce07
#: ../../networking/virtual_private_cloud_config.rst:898
msgid "|select-vmstatic-nat.png|"
msgstr "|select-vmstatic-nat.png|"

# ba4894eec4ee4f8ab908308bf7f2b682
#: ../../networking/virtual_private_cloud_config.rst:900
msgid "Select the tier and the destination VM, then click Apply."
msgstr "选择层和目标虚机，然后点击“应用”。"

# 6bc44c698b784002948ea93ac931ccb3
#: ../../networking/virtual_private_cloud_config.rst:904
msgid "Adding Load Balancing Rules on a VPC"
msgstr "VPC中添加负载均衡规则"

# d55b224d3d4d427da85774962a911e9b
#: ../../networking/virtual_private_cloud_config.rst:906
msgid ""
"In a VPC, you can configure two types of load balancing: external LB and "
"internal LB. External LB is nothing but a LB rule created to redirect the "
"traffic received at a public IP of the VPC virtual router. The traffic is "
"load balanced within a tier based on your configuration. Citrix NetScaler "
"and VPC virtual router are supported for external LB. When you use internal "
"LB service, traffic received at a tier is load balanced across different VMs"
" within that tier. For example, traffic reached at Web tier is redirected to"
" another VM in that tier. External load balancing devices are not supported "
"for internal LB. The service is provided by a internal LB VM configured on "
"the target tier."
msgstr "在VPC中，你可以配置外部或内部负载均衡。外部负载均衡就是将VPC虚拟路由器接收到的公网流量进行转发的规则。这个流量如何在层里进行均衡取决于你的配置。Citrix NetScaler 和 VPC virtual router都支持外部负载均衡。内部均衡是在层内的虚拟之间进行均衡。比如，到达WEB层请求的流量可以转发到此层另外的虚拟机。外部负载均衡设备不支持内部均衡。内部负载均衡的服务是由目标层的内部虚拟机配置后提供支持服务的。"

# 40e935f35e0c40ada19216e535aa1258
#: ../../networking/virtual_private_cloud_config.rst:919
msgid "Load Balancing Within a Tier (External LB)"
msgstr "在层内进行负载均衡(外部负载均衡)"

# f415c289521945488fc0ee0094a1dab0
#: ../../networking/virtual_private_cloud_config.rst:921
msgid ""
"A CloudStack user or administrator may create load balancing rules that "
"balance traffic received at a public IP to one or more VMs that belong to a "
"network tier that provides load balancing service in a VPC. A user creates a"
" rule, specifies an algorithm, and assigns the rule to a set of VMs within a"
" tier."
msgstr " CloudStack用户或管理员可以创建负载均衡规则。负载均衡规则用于将一个公网IP的流量分担到在VPC提供负载均衡服务的网络层内的一个或多个VM中。用户可以创建规则，指定算法，然后将规则指定到VPC的一套VM中。"

# 3e4fdfab26c8433f985733abf6b8fab2
#: ../../networking/virtual_private_cloud_config.rst:929
msgid "Enabling NetScaler as the LB Provider on a VPC Tier"
msgstr "在VPC层中启用基于NetScaler的负载均衡"

# f4009b64ee9a4abc935568ba00072b14
#: ../../networking/virtual_private_cloud_config.rst:931
msgid "Add and enable Netscaler VPX in dedicated mode."
msgstr "添加并启用 Netscaler VPX独立模块。"

# 11c807f9e62a4acb9f8b3ef0d007c2c9
#: ../../networking/virtual_private_cloud_config.rst:933
msgid ""
"Netscaler can be used in a VPC environment only if it is in dedicated mode."
msgstr "Netscaler只能在独立模块的形式下应用于VPC环境中。"

# 57a85fbc857449ee89781dd4fce1788c
#: ../../networking/virtual_private_cloud_config.rst:936
msgid ""
"Create a network offering, as given in \":ref:`create-net-offering-ext-"
"lb`\"."
msgstr "创建启用持久化选项的网络方案。请参考\":ref:`create-net-offering-ext-lb`\"."

# 08a0f277fc3f43b694322360de337dfc
#: ../../networking/virtual_private_cloud_config.rst:938
msgid "Create a VPC with Netscaler as the Public LB provider."
msgstr "在VPC中创建一个基于Netscaler的公用负载均衡。"

# ecc067da6bf9448587d900d0602ecacd
#: ../../networking/virtual_private_cloud_config.rst:940
msgid ""
"For more information, see `\"Adding a Virtual Private Cloud\" <#adding-a"
"-virtual-private-cloud>`_."
msgstr "更多信息，请参考 `\"添加一个VPC\" <#adding-a-virtual-private-cloud>`_."

# aa3b5b48c05343338d0ee08f3382b40d
#: ../../networking/virtual_private_cloud_config.rst:943
msgid "For the VPC, acquire an IP."
msgstr "在VPC中获取一个IP地址。"

# 7c4c3743af9240d882f3ba1d438b3bd8
#: ../../networking/virtual_private_cloud_config.rst:945
msgid ""
"Create an external load balancing rule and apply, as given in :ref:`create-"
"ext-lb-rule`."
msgstr "创建并应用一个外部负载均衡规则。请参考:ref:`create-ext-lb-rule`."

# 65a1193d54904d989149249c4257b9c1
#: ../../networking/virtual_private_cloud_config.rst:952
msgid "Creating a Network Offering for External LB"
msgstr "创建一个外部负载均衡网络方案"

# e69c20a921124dc7b5ac28a8bc23f254
#: ../../networking/virtual_private_cloud_config.rst:954
msgid ""
"To have external LB support on VPC, create a network offering as follows:"
msgstr "要在VPC中启用外部负载均衡支持，依如下操作建立网络方案："

# 27d475982a384fed8f13220941eded23
# 2da0ddfe20c0412a9dc8725da9ebfb08
#: ../../networking/virtual_private_cloud_config.rst:957
#: ../../networking/virtual_private_cloud_config.rst:1163
msgid "Log in to the CloudStack UI as a user or admin."
msgstr "使用用户或管理员登录到CloudStack用户界面。"

# 2e6d402ef3d044488597c6501ca6749d
# f974a014675745ceae4ebb19113bc49e
#: ../../networking/virtual_private_cloud_config.rst:959
#: ../../networking/virtual_private_cloud_config.rst:1165
msgid "From the Select Offering drop-down, choose Network Offering."
msgstr "下拉选择方案，选择网络方案："

# 08107e25d3ae4ed5a4e72a9ef68249af
# f88397d4525c49d4b10ca8f6d24c5999
#: ../../networking/virtual_private_cloud_config.rst:961
#: ../../networking/virtual_private_cloud_config.rst:1167
msgid "Click Add Network Offering."
msgstr "点击添加网络方案。"

# 0b77090696474c0a9cab45f79b1c7986
# e1cffd47fe2e4f3089c2620a68b839a1
#: ../../networking/virtual_private_cloud_config.rst:963
#: ../../networking/virtual_private_cloud_config.rst:1169
msgid "In the dialog, make the following choices:"
msgstr "在对话框中，选择如下操作："

# 60d2abd68eb948dbaba04e1ac5723b86
# 2e15e5f8b3704612a4d58813e4d32f6b
#: ../../networking/virtual_private_cloud_config.rst:965
#: ../../networking/virtual_private_cloud_config.rst:1171
msgid "**Name**: Any desired name for the network offering."
msgstr "**名称**: 任何网络方案的名称。"

# 3959d6091cd747cb937e8f842088c32e
# 5f694898705c49328c1a2e142eb14d1f
#: ../../networking/virtual_private_cloud_config.rst:967
#: ../../networking/virtual_private_cloud_config.rst:1173
msgid ""
"**Description**: A short description of the offering that can be displayed "
"to users."
msgstr "**描述**: 提供一个简短的方案描述。 "

# 2e0e45c2f8604206ab9ab52b64e032e0
# 40a66509e3424c24bb6186610a441bac
#: ../../networking/virtual_private_cloud_config.rst:970
#: ../../networking/virtual_private_cloud_config.rst:1176
msgid "**Network Rate**: Allowed data transfer rate in MB per second."
msgstr "**网络速度**: 允许的数据传输速度（MB/秒）。"

# 33f13b044bc94b5b8696d75ddf4b8bc3
# a160a569847143f797400c4ff977efdf
#: ../../networking/virtual_private_cloud_config.rst:972
#: ../../networking/virtual_private_cloud_config.rst:1178
msgid ""
"**Traffic Type**: The type of network traffic that will be carried on the "
"network."
msgstr "**流量类型**: 允许承载的网络流量类型。"

# aaf9ff68483341d98ede19f290845e4d
# c3356024660a4455a0ceac2dcae5caee
#: ../../networking/virtual_private_cloud_config.rst:975
#: ../../networking/virtual_private_cloud_config.rst:1181
msgid ""
"**Guest Type**: Choose whether the guest network is isolated or shared."
msgstr "**来宾类型**: 选择来宾网络为隔离或共享网络。"

# 78da437179454d2e9bb2b2566016b345
# 8e43b8eb7620486dafe2037f9644fc74
#: ../../networking/virtual_private_cloud_config.rst:978
#: ../../networking/virtual_private_cloud_config.rst:1184
msgid ""
"**Persistent**: Indicate whether the guest network is persistent or not. The"
" network that you can provision without having to deploy a VM on it is "
"termed persistent network."
msgstr "**持续性**: 表明来宾网络是否支持持续性。无需提供任何VM部署的网络，称之为持续性网络。"

# b8efdabd98ae4986a6423993e842848f
# a09dbae19ba24a44abe4d1e06d94391d
#: ../../networking/virtual_private_cloud_config.rst:982
#: ../../networking/virtual_private_cloud_config.rst:1188
msgid ""
"**VPC**: This option indicate whether the guest network is Virtual Private "
"Cloud-enabled. A Virtual Private Cloud (VPC) is a private, isolated part of "
"CloudStack. A VPC can have its own virtual network topology that resembles a"
" traditional physical network. For more information on VPCs, see `\"About "
"Virtual Private Clouds\" <#about-virtual-private-clouds>`_."
msgstr "**VPC**: 此选项表明是否在来宾网络中启用VPC。 CloudStack中的虚拟专用云(VPC)是专用、隔离的。 一个VPC可以有一个类似于传统物理网络的虚拟网络拓扑结构。有关的VPC的详细信息，请参考`\"关于VPC\" <#about-virtual-private-clouds>`_."

# f833921e66e7405e90b64ecab4f06585
# 60780dc0b1414010b97ef9ee9fdf6896
#: ../../networking/virtual_private_cloud_config.rst:988
#: ../../networking/virtual_private_cloud_config.rst:1195
msgid ""
"**Specify VLAN**: (Isolated guest networks only) Indicate whether a VLAN "
"should be specified when this offering is used."
msgstr "**指定**: (仅隔离的来宾网络) 表明在使用这个网络方案时，是否指定VLAN。"

# c39ddc76ab104334a4dc179d2666185f
#: ../../networking/virtual_private_cloud_config.rst:991
msgid ""
"**Supported Services**: Select Load Balancer. Use Netscaler or "
"VpcVirtualRouter."
msgstr "**支持服务**:选择负载均衡，使用Netscaler 或 VpcVirtualRouter."

# 0f2a2787484945d4893a95c93e013659
#: ../../networking/virtual_private_cloud_config.rst:994
msgid "**Load Balancer Type**: Select Public LB from the drop-down."
msgstr "**负载均衡类型**:从下拉列表里选择公用负载均衡。"

# 012d5de507d14d86a63f00c612267262
#: ../../networking/virtual_private_cloud_config.rst:996
msgid ""
"**LB Isolation**: Select Dedicated if Netscaler is used as the external LB "
"provider."
msgstr "**负载均衡隔离**: 如果使用Netscale作为外部负载均衡，选择此项进行隔离。"

# 32714ec60c95462a86fad6f4ea8a389f
# 6d1b55437586405195f96d4e1901a030
#: ../../networking/virtual_private_cloud_config.rst:999
#: ../../networking/virtual_private_cloud_config.rst:1203
msgid ""
"**System Offering**: Choose the system service offering that you want "
"virtual routers to use in this network."
msgstr "**系统方案**: 选择你想在这个网络中使用的虚拟路由器的系统服务方案。"

# ccddc4e596ac4b9590b1e89143679f4c
# 5b0c2de816bb4f3489ea6c0aaf56dd92
#: ../../networking/virtual_private_cloud_config.rst:1002
#: ../../networking/virtual_private_cloud_config.rst:1206
msgid ""
"**Conserve mode**: Indicate whether to use conserve mode. In this mode, "
"network resources are allocated only when the first virtual machine starts "
"in the network."
msgstr "**保护模式**: 表明是否使用保护模式。在这个模式中，只有网络中第一个虚拟机启动时才分配网络资源。"

# 64b8ac5900b040949abdbe1be369798e
# 86eacc968b5642af9d7708d20b05fa0b
#: ../../networking/virtual_private_cloud_config.rst:1006
#: ../../networking/virtual_private_cloud_config.rst:1210
msgid "Click OK and the network offering is created."
msgstr "点击OK按钮，网络方案就创建好了。"

# 7d8aa307714e45a48e2b8a026f88ecd5
#: ../../networking/virtual_private_cloud_config.rst:1012
msgid "Creating an External LB Rule"
msgstr "创建一个外部负载均衡规则"

# ec858cbb6d054d82b7344347f3d1f80a
#: ../../networking/virtual_private_cloud_config.rst:1023
msgid ""
"Click the Configure button of the VPC, for which you want to configure load "
"balancing rules."
msgstr "点击要配置负载均衡规则的VPC的配置按钮。"

# 24c4acc56c8546b48b0d1ba8225aa2c3
# 8623ea1fa5f64fc882bc161a00e0de31
#: ../../networking/virtual_private_cloud_config.rst:1026
#: ../../networking/virtual_private_cloud_config.rst:1239
msgid ""
"The VPC page is displayed where all the tiers you created listed in a "
"diagram."
msgstr "系统会显示VPC页面，您创建的所有层都列在图中。"

# faa2aca06f244ec79e1495f403d60fba
# f6b4d72a1ace463aaeae65e85f5351fe
#: ../../networking/virtual_private_cloud_config.rst:1055
#: ../../networking/virtual_private_cloud_config.rst:1323
msgid ""
"Click the IP address for which you want to create the rule, then click the "
"Configuration tab."
msgstr "点击你希望创建规则的IP地址，然后点击配置"

# 05fb941cda1540a6ae76a68c80d28164
#: ../../networking/virtual_private_cloud_config.rst:1058
msgid "In the Load Balancing node of the diagram, click View All."
msgstr "在图的负载均衡节点点上，点击 查看全部。"

# a68bbaad32ad4fb1a32434a21627c7df
# 513eb1682d554f15af9624073505f185
#: ../../networking/virtual_private_cloud_config.rst:1060
#: ../../networking/virtual_private_cloud_config.rst:1328
msgid "Select the tier to which you want to apply the rule."
msgstr "选择应用规则的层。"

# 48072a5bd67b4fc2b091903b2930ef20
# 23e879002b734874bb3fb8648d82ec9f
#: ../../networking/virtual_private_cloud_config.rst:1064
#: ../../networking/virtual_private_cloud_config.rst:1249
msgid "**Name**: A name for the load balancer rule."
msgstr "**名称**: 负载均衡规则的名称。"

# 035ce1c6b7094ddfb03cf84e79fe13fb
#: ../../networking/virtual_private_cloud_config.rst:1066
msgid ""
"**Public Port**: The port that receives the incoming traffic to be balanced."
msgstr "**公网端口**: 接收待负载均衡的流入流量的端口。"

# 95e57b758d354580b0723b1cf69b1ad9
#: ../../networking/virtual_private_cloud_config.rst:1069
msgid ""
"**Private Port**: The port that the VMs will use to receive the traffic."
msgstr "**私有端口**: 虚拟机会使用此端口接收流量。"

# 9401419db1ac40dd8912809bfb47d5fa
# c29c451e2c474605af3093430f4fe416
#: ../../networking/virtual_private_cloud_config.rst:1072
#: ../../networking/virtual_private_cloud_config.rst:1268
msgid ""
"**Algorithm**. Choose the load balancing algorithm you want CloudStack to "
"use. CloudStack supports the following well-known algorithms:"
msgstr "**算法**。选择您希望CloudStack  使用的负载均衡算法。CloudStack 支持下列知名的算法："

# 45872bf350da46e8915a4c200e500d47
# 2fe10525962546129f438019ddb43570
#: ../../networking/virtual_private_cloud_config.rst:1076
#: ../../networking/virtual_private_cloud_config.rst:1272
msgid "Round-robin"
msgstr "轮询"

# b89b8c35da0e4067aa0e2dfc46507db4
# 384c8fd5fe8049389138586119a8e392
#: ../../networking/virtual_private_cloud_config.rst:1078
#: ../../networking/virtual_private_cloud_config.rst:1274
msgid "Least connections"
msgstr "最少连接"

# 75b481e88cb749ee9744fa2d4153d658
# a656566824f644a7a9bf0c5aa7f7ce82
#: ../../networking/virtual_private_cloud_config.rst:1080
#: ../../networking/virtual_private_cloud_config.rst:1276
msgid "Source"
msgstr "源IP"

# 156eaabf00d6402fb1a6f26cdc8bdc3a
#: ../../networking/virtual_private_cloud_config.rst:1082
msgid ""
"**Stickiness**. (Optional) Click Configure and choose the algorithm for the "
"stickiness policy. See Sticky Session Policies for Load Balancer Rules."
msgstr "**粘性**. (可选)点击配置，选择粘性策略使用的算法。参见负载均衡规则的粘性会话策略。"

# 5a609fc01f0c442fbaa6859f3c48de9d
#: ../../networking/virtual_private_cloud_config.rst:1086
msgid ""
"**Add VMs**: Click Add VMs, then select two or more VMs that will divide the"
" load of incoming traffic, and click Apply."
msgstr "点击添加VM，选择两个或更多的VM分担流入的流量，然后点击应用。"

# 227920ab85304ccd9ef2ff2fcc816394
#: ../../networking/virtual_private_cloud_config.rst:1089
msgid ""
"The new load balancing rule appears in the list. You can repeat these steps "
"to add more load balancing rules for this IP address."
msgstr "新的负载均衡策略会显示在列表中。您可以重复以上步骤为该IP地址添加更多的负载均衡策略。"

# 9e2c252f60374e98b336b982bdb5a807
#: ../../networking/virtual_private_cloud_config.rst:1094
msgid "Load Balancing Across Tiers"
msgstr "跨越层的负载均衡"

# b0b3d2bc1154428ea7aa2a73ccf65ca9
#: ../../networking/virtual_private_cloud_config.rst:1096
msgid ""
"CloudStack supports sharing workload across different tiers within your VPC."
" Assume that multiple tiers are set up in your environment, such as Web tier"
" and Application tier. Traffic to each tier is balanced on the VPC virtual "
"router on the public side, as explained in `\"Adding Load Balancing Rules on"
" a VPC\" <#adding-load-balancing-rules-on-a-vpc>`_. If you want the traffic "
"coming from the Web tier to the Application tier to be balanced, use the "
"internal load balancing feature offered by CloudStack."
msgstr "CloudStack支持在VPC内不同层之间共享工作负载。这需要先在你的环境里设置好多个层，比如WEB层，应用层。每一个层的流量通过VPC虚拟路由机进行负载均衡。关于这方面的内容， `\"在VPC里添加负载均衡规则\" <#adding-load-balancing-rules-on-a-vpc>`_.  如果你想将WEB层发向应用层的流量进行负载均衡，需要使用Cloudstack的内部负载均衡功能。"

# fbb2a59a26334767857dae55b7dd76d2
#: ../../networking/virtual_private_cloud_config.rst:1107
msgid "How Does Internal LB Work in VPC?"
msgstr "在VPC中，内部负载均衡是如何工作的呢？"

# 9f3100aad1e345bb8ac547e9ff36084f
#: ../../networking/virtual_private_cloud_config.rst:1109
msgid ""
"In this figure, a public LB rule is created for the public IP 72.52.125.10 "
"with public port 80 and private port 81. The LB rule, created on the VPC "
"virtual router, is applied on the traffic coming from the Internet to the "
"VMs on the Web tier. On the Application tier two internal load balancing "
"rules are created. An internal LB rule for the guest IP 10.10.10.4 with load"
" balancer port 23 and instance port 25 is configured on the VM, "
"InternalLBVM1. Another internal LB rule for the guest IP 10.10.10.4 with "
"load balancer port 45 and instance port 46 is configured on the VM, "
"InternalLBVM1. Another internal LB rule for the guest IP 10.10.10.6, with "
"load balancer port 23 and instance port 25 is configured on the VM, "
"InternalLBVM2."
msgstr "在这个图中，公网负载均衡规则是这样创建的：公网IP为IP 72.52.125.10，外网端口为80，内网端口为81。VPC的虚拟路由机创建的负载均衡规则将互联网的流量分配到WEB层的各个虚拟机上。在应用层创建了两个内部负载均衡规则。其中一个规则是：客户IP为10.10.10.4的将端口23进行负载分发，实例VM和InternalLBVM1的端口25进行了负载。另一条规则是：客户IP为10.10.10.4的将端口45进行负载分发，实例VM和InternalLBVM1的端口46进行了负载。另一条规则是：客户IP为10.10.10.6的将端口23进行负载分发，实例VM和InternalLBVM1的端口25进行了负载。（两条规则还是三条规则？原文如此，希望图示能明解）"

# c94baade36ca41029339b5771845f6eb
#: ../../networking/virtual_private_cloud_config.rst:1121
msgid "|vpc-lb.png|"
msgstr "|vpc-lb.png|"

# 6b5c736fe39c453f9df86d49e415bb0d
#: ../../networking/virtual_private_cloud_config.rst:1125
msgid "Guidelines"
msgstr "指南"

# f48db5cf237f48c1b83470d2b3619c89
#: ../../networking/virtual_private_cloud_config.rst:1127
msgid ""
"Internal LB and Public LB are mutually exclusive on a tier. If the tier has "
"LB on the public side, then it can't have the Internal LB."
msgstr "内部和公网负载均衡在一个层里往往是互斥的。如果一个层已应用了公网负载均衡之后，此层就不能再应用内部负载均衡。"

# 39c3726d0f1e417ba4856caefdc69c5f
#: ../../networking/virtual_private_cloud_config.rst:1130
msgid ""
"Internal LB is supported just on VPC networks in CloudStack 4.2 release."
msgstr "在 CloudStack 4.2版本中，只有VPC网络支持内部负载均衡。"

# c9b5009bd45949ca9adfe8bad469126e
#: ../../networking/virtual_private_cloud_config.rst:1133
msgid ""
"Only Internal LB VM can act as the Internal LB provider in CloudStack 4.2 "
"release."
msgstr "在CloudStack 4.2 版本中，只有Internal LB VM才能作内部负载均衡的提供方。"

# f0db26b4389241deb62e3e62af4ae108
#: ../../networking/virtual_private_cloud_config.rst:1136
msgid ""
"Network upgrade is not supported from the network offering with Internal LB "
"to the network offering with Public LB."
msgstr "将网络方案由内部负载均衡更改为公网负载均衡是不可行的。"

# cdacc61443a24192b33aa89bf454081d
#: ../../networking/virtual_private_cloud_config.rst:1139
msgid "Multiple tiers can have internal LB support in a VPC."
msgstr "在VPC中，多层可以应用内部负载均衡。"

# 08ebb9d7ed624f58a875207bb6be9859
#: ../../networking/virtual_private_cloud_config.rst:1141
msgid "Only one tier can have Public LB support in a VPC."
msgstr "在VPC中，只有一层只支持公网负载均衡。"

# 0cf099b085094a858d1b083c8e2f72f6
#: ../../networking/virtual_private_cloud_config.rst:1145
msgid "Enabling Internal LB on a VPC Tier"
msgstr "在VPC层上启用内部负载均衡功能"

# 381918d116bf406189b9d4dd38f04f33
#: ../../networking/virtual_private_cloud_config.rst:1147
msgid ""
"Create a network offering, as given in :ref:`creating-net-offering-internal-"
"lb`."
msgstr "创建一个新的网络方案，请参考:ref:`creating-net-offering-internal-lb`."

# f09e6b3612574602ae51429ca4126c05
#: ../../networking/virtual_private_cloud_config.rst:1150
msgid ""
"Create an internal load balancing rule and apply, as given in :ref:`create-"
"int-lb-rule`."
msgstr "创建并应用一个内部负载均衡规则。参考:ref:`create-int-lb-rule`."

# 25a70af8ca1e41f18f48eb08ef5d850a
#: ../../networking/virtual_private_cloud_config.rst:1157
msgid "Creating a Network Offering for Internal LB"
msgstr "创建一个内部负载均衡网络方案"

# 08c27533594e44e582e605b3e9b3df6a
#: ../../networking/virtual_private_cloud_config.rst:1159
msgid ""
"To have internal LB support on VPC, either use the default offering, "
"DefaultIsolatedNetworkOfferingForVpcNetworksWithInternalLB, or create a "
"network offering as follows:"
msgstr "要在VPC当中使用内部负载均衡，可以使用默认的DefaultIsolatedNetworkOfferingForVpcNetworksWithInternalLB,或按如下操作新建一个网络方案："

# a41f382608f64d309fbe464cf7137a17
#: ../../networking/virtual_private_cloud_config.rst:1198
msgid ""
"**Supported Services**: Select Load Balancer. Select ``InternalLbVM`` from "
"the provider list."
msgstr "**支持服务**: 选择负载均衡，从待提供的下拉列表里选择`InternalLbVM。"

# 163583059e0b4dc38ec9a9324be12914
#: ../../networking/virtual_private_cloud_config.rst:1201
msgid "**Load Balancer Type**: Select Internal LB from the drop-down."
msgstr "**负载均衡类型**: 从下拉列表里选择内部负载均衡。"

# c468f85bcd804f59b3e50b6395b59e2a
#: ../../networking/virtual_private_cloud_config.rst:1216
msgid "Creating an Internal LB Rule"
msgstr "创建一个内部负载均衡规则"

# 97768defcebc48e484aca56eed453215
#: ../../networking/virtual_private_cloud_config.rst:1218
msgid ""
"When you create the Internal LB rule and applies to a VM, an Internal LB VM,"
" which is responsible for load balancing, is created."
msgstr "当你创建好一个内部负载均衡规则，并将之用于一个虚拟之后，一个内部负载均衡的应用就建立起来了。"

# 68b5cb10c6e7463690bbeefba32870fb
#: ../../networking/virtual_private_cloud_config.rst:1221
msgid ""
"You can view the created Internal LB VM in the Instances page if you "
"navigate to **Infrastructure** > **Zones** > <zone\\_ name> > "
"<physical\\_network\\_name> > **Network Service Providers** > **Internal LB "
"VM**. You can manage the Internal LB VMs as and when required from the "
"location."
msgstr "你可以在实例页面中查看创建的内部LB VM 按如下导航 **基础构架** > **区域** > <zone\\_ name> > <physical\\_network\\_name> > **网络服务提供** > **内部负载均衡虚拟机**，你就可以看到已创建了内部负载均衡的实例上。也可以在此进行内部负载均衡的管理。"

# 3df2a5995876429facf54c5a8446811d
#: ../../networking/virtual_private_cloud_config.rst:1236
msgid ""
"Locate the VPC for which you want to configure internal LB, then click "
"Configure."
msgstr "点击要配置内部负载均衡规则的VPC的配置按钮。"

# 6f207d8e5df84a4b8c67c56fd431c1d7
#: ../../networking/virtual_private_cloud_config.rst:1242
msgid ""
"Locate the Tier for which you want to configure an internal LB rule, click "
"Internal LB."
msgstr "指向你想配置内部负载均衡的层，点击内部负载均衡。"

# 3d886b162d3b4cb78187e716d7935265
#: ../../networking/virtual_private_cloud_config.rst:1245
msgid "In the Internal LB page, click Add Internal LB."
msgstr "在 Internal LB页面里，点击添加 Internal LB。"

# f08b145932924c3caba6b02b3e38b19a
#: ../../networking/virtual_private_cloud_config.rst:1247
msgid "In the dialog, specify the following:"
msgstr "在对话框里，定义以下内容："

# 551399e510014c7fbc3cf5f1a0110627
#: ../../networking/virtual_private_cloud_config.rst:1251
msgid ""
"**Description**: A short description of the rule that can be displayed to "
"users."
msgstr "**描述**: 提供一个简短的规则描述。 "

# 6cf0e4a86d4043878ef3a656833ff790
#: ../../networking/virtual_private_cloud_config.rst:1254
msgid ""
"**Source IP Address**: (Optional) The source IP from which traffic "
"originates. The IP is acquired from the CIDR of that particular tier on "
"which you want to create the Internal LB rule. If not specified, the IP "
"address is automatically allocated from the network CIDR."
msgstr "**源IP地址**: (可选) 是指产生流量的源IP地址。这个地址是从你创建内部负载均衡的层中的CIDR中获取的。如果没有指定，则系统会自动从CIDR中分配。"

# 2feac41c2e1b49e48df5d82f1bda3eef
#: ../../networking/virtual_private_cloud_config.rst:1260
msgid ""
"For every Source IP, a new Internal LB VM is created for load balancing."
msgstr "对于每一个源IP地址，都可以建立一个针对它的内部负载均衡。"

# 4063dce4a7c94bc19982815512a92efa
#: ../../networking/virtual_private_cloud_config.rst:1263
msgid ""
"**Source Port**: The port associated with the source IP. Traffic on this "
"port is load balanced."
msgstr "**源端口**: 与源IP地址关联的端口，此端口上的流量是基于负载均衡的。"

# 7c1698db8e014d99ba6821c2749a280a
#: ../../networking/virtual_private_cloud_config.rst:1266
msgid "**Instance Port**: The port of the internal LB VM."
msgstr "**实例端口**: 内部负载均衡虚拟机的端口。"

# 22a6cc81098f4226b86f3e9b82cd4bba
#: ../../networking/virtual_private_cloud_config.rst:1280
msgid "Adding a Port Forwarding Rule on a VPC"
msgstr "在VPC里添加一个端口转发规则。"

# d8e4477eb9414ccbad83f00d2dbb0bcc
#: ../../networking/virtual_private_cloud_config.rst:1326
msgid "In the Port Forwarding node of the diagram, click View All."
msgstr "在图表的端口转发节点，点击查看所有。"

# 0dae384f57174980aacd91725f200202
#: ../../networking/virtual_private_cloud_config.rst:1332
msgid ""
"**Public Port**: The port to which public traffic will be addressed on the "
"IP address you acquired in the previous step."
msgstr "**公用端口**: 你在前面操作所获取的供公共流量使用的公用IP地址的端口。 "

# e58b66b804154984ac2848feded76f18
#: ../../networking/virtual_private_cloud_config.rst:1335
msgid ""
"**Private Port**: The port on which the instance is listening for forwarded "
"public traffic."
msgstr "**私有端口**: 虚拟机实例将被转发到公共流量的监听端口。"

# fdf35395971c43d7b03e9bf1a85afd10
#: ../../networking/virtual_private_cloud_config.rst:1338
msgid "**Protocol**: The communication protocol in use between the two ports."
msgstr "**Protocol**: 两个端口之间所用的互联协议。"

# 3488a82bf48c43dbbcf214cbc6915803
#: ../../networking/virtual_private_cloud_config.rst:1341
msgid "TCP"
msgstr "TCP"

# 65fd29db5c09403aad6a2b1688af4414
#: ../../networking/virtual_private_cloud_config.rst:1343
msgid "UDP"
msgstr "UDP"

# 3092d0bc5e29456e9c83bf700d0989ed
#: ../../networking/virtual_private_cloud_config.rst:1345
msgid ""
"**Add VM**: Click Add VM. Select the name of the instance to which this rule"
" applies, and click Apply."
msgstr "**Add VM**: 点击增加虚拟机，选择你想将此规则应用上的虚拟机，点击应用。"

# 957a6544516446768dd3e34e10b081d8
#: ../../networking/virtual_private_cloud_config.rst:1348
msgid "You can test the rule by opening an SSH session to the instance."
msgstr "你可以通过SSH连接实例来测试此规则。"

# fa091c39660d4a79ad8d7663f777f9b0
#: ../../networking/virtual_private_cloud_config.rst:1352
msgid "Removing Tiers"
msgstr "删除层"

# 23a5734e02084bdcb2075d5b7ff872ef
#: ../../networking/virtual_private_cloud_config.rst:1354
msgid ""
"You can remove a tier from a VPC. A removed tier cannot be revoked. When a "
"tier is removed, only the resources of the tier are expunged. All the "
"network rules (port forwarding, load balancing and staticNAT) and the IP "
"addresses associated to the tier are removed. The IP address still be "
"belonging to the same VPC."
msgstr "你可以从一个VPC中删除一个层。一个被删除的层是不能被擦除的。当一个层被删除后，只有层的资源被删去。所有的网络规则(端口转发，负载均衡，静态NAT)还有关联到此层的IP地址都会删除。但这些IP地址仍然属于这个VPC。"

# 9b3b9eb7db0b4fc3983bc9bd94eb5f2c
#: ../../networking/virtual_private_cloud_config.rst:1372
msgid ""
"The Configure VPC page is displayed. Locate the tier you want to work with."
msgstr "配置VPC的页面显示出来了。指向你需要操作的层。"

# b4b3c46f5c7c43d2a38281a25cff0a95
#: ../../networking/virtual_private_cloud_config.rst:1375
msgid "Select the tier you want to remove."
msgstr "选择你想删除的层。"

# 1c7ac4dbb28d46be86f3ab4794676d8c
#: ../../networking/virtual_private_cloud_config.rst:1377
msgid ""
"In the Network Details tab, click the Delete Network button. |del-tier.png|"
msgstr "在网络详细栏，点击删除网络按钮。|del-tier.png|"

# b2a09950453549488f1a8233090286dd
#: ../../networking/virtual_private_cloud_config.rst:1380
msgid "Click Yes to confirm. Wait for some time for the tier to be removed."
msgstr "点击YES按钮。稍等片片刻，层就会被删除了。"

# 4dc06c7515ba4393856799669ecf6a8a
#: ../../networking/virtual_private_cloud_config.rst:1384
msgid "Editing, Restarting, and Removing a Virtual Private Cloud"
msgstr "编辑，重启，删除VPC。"

# c61c02b8451b4d52bc9e0b8232ce8d73
#: ../../networking/virtual_private_cloud_config.rst:1386
msgid "Ensure that all the tiers are removed before you remove a VPC."
msgstr "在删除VPC前，需要先删除所有的层。"

# 7e354bd7277d4569a94e6a022ae111e5
#: ../../networking/virtual_private_cloud_config.rst:1397
msgid "Select the VPC you want to work with."
msgstr "选择你需要的VPC。"

# 4e23279e59874fcdb4e38c54c1054efa
#: ../../networking/virtual_private_cloud_config.rst:1399
msgid "In the Details tab, click the Remove VPC button |remove-vpc.png|"
msgstr "在详细栏，点击删除VPC按钮。|remove-vpc.png|"

# 3227af3c60cb400c8679fd84202d852a
#: ../../networking/virtual_private_cloud_config.rst:1401
msgid ""
"You can remove the VPC by also using the remove button in the Quick View."
msgstr "你也可以在快速查看视图里点击删除按钮进行VPC的删除。"

# 0e3026db29aa4e3780f95b598c5483fc
#: ../../networking/virtual_private_cloud_config.rst:1404
msgid ""
"You can edit the name and description of a VPC. To do that, select the VPC, "
"then click the Edit button. |vpc-edit-icon.png|"
msgstr ""

# 5d731df0a6ca4174a2b9f85dba537a8a
#: ../../networking/virtual_private_cloud_config.rst:1407
msgid ""
"To restart a VPC, select the VPC, then click the Restart button. |restart-"
"vpc.png|"
msgstr "如果要重启一个VPC，点击重启按钮。|restart-vpc.png|"
