# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#
# 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: French (http://www.transifex.com/ke4qqq/apache-cloudstack-administration-rtd/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"

# f3d9b37c09d84940aa4c2fde3f9acd2a
#: ../../networking/palo_alto_config.rst:18
msgid "Setup a Palo Alto Networks Firewall"
msgstr ""

# bf6ec115893747b1baf4957e9be35ff4
#: ../../networking/palo_alto_config.rst:22
msgid "Functionality Provided"
msgstr ""

# c1f3ed83f8394089ab4694fe954e0195
#: ../../networking/palo_alto_config.rst:24
msgid ""
"This implementation enables the orchestration of a Palo Alto Networks "
"Firewall from within CloudStack UI and API."
msgstr ""

# 4b1340d4e6f74cd39095e06ca20ccbdd
#: ../../networking/palo_alto_config.rst:27
msgid "**The following features are supported**:"
msgstr ""

# e30f817e0e4d45ff8140a2bf41b86fb3
#: ../../networking/palo_alto_config.rst:29
msgid "List/Add/Delete Palo Alto Networks service provider"
msgstr ""

# d027f8c0521d4e3c8659c5f89b010dc3
#: ../../networking/palo_alto_config.rst:31
msgid "List/Add/Delete Palo Alto Networks network service offering"
msgstr ""

# d3c3bd36ca4744d68797f6bda8758efd
#: ../../networking/palo_alto_config.rst:33
msgid ""
"List/Add/Delete Palo Alto Networks network using the above service offering"
msgstr ""

# d4ba1563cd1a4efb8039895bd0fc4abc
#: ../../networking/palo_alto_config.rst:35
msgid "Add an instance to a Palo Alto Networks network"
msgstr ""

# 095297003ef84ab4946859b93741650f
#: ../../networking/palo_alto_config.rst:37
msgid "Source NAT management on network create and delete"
msgstr ""

# 83be5169430e457495da1faa61028b94
#: ../../networking/palo_alto_config.rst:39
msgid "List/Add/Delete Ingress Firewall rule"
msgstr ""

# 934645096b2041c0892c5827ab0bae62
#: ../../networking/palo_alto_config.rst:41
msgid ""
"List/Add/Delete Egress Firewall rule (both 'Allow' and 'Deny' default rules "
"supported)"
msgstr ""

# b3d40e33e09544e892974a896c1c0f5e
#: ../../networking/palo_alto_config.rst:44
msgid "List/Add/Delete Port Forwarding rule"
msgstr ""

# 2227e25f9e3e4cf19e34dd0deddbb404
#: ../../networking/palo_alto_config.rst:46
msgid "List/Add/Delete Static NAT rule"
msgstr ""

# 64c598fbe2d04d368d5f30c35aa7f1d6
#: ../../networking/palo_alto_config.rst:48
msgid ""
"Apply a Threat Profile to all firewall rules (more details in the Additional"
" Features section)"
msgstr ""

# 6843739b321a4d828b6e9b17a9ef0fc8
#: ../../networking/palo_alto_config.rst:51
msgid ""
"Apply a Log Forwarding profile to all firewall rules (more details in the "
"Additional Features section)"
msgstr ""

# 90c46aad0abf4f3c9d84941828556629
#: ../../networking/palo_alto_config.rst:57
msgid "Initial Palo Alto Networks Firewall Configuration"
msgstr ""

# 3404e87b314644c49c28a53bc5f5e6a0
#: ../../networking/palo_alto_config.rst:60
msgid "Anatomy of the Palo Alto Networks Firewall"
msgstr ""

# a9c2ce1bfd05437a975c7cb37c0fba62
#: ../../networking/palo_alto_config.rst:62
msgid ""
"In **'Network > Interfaces'** there is a list of physical interfaces as well"
" as aggregated physical interfaces which are used for managing traffic in "
"and out of the Palo Alto Networks Firewall device."
msgstr ""

# 5ac5b705b6834ded91c030380797cbd2
#: ../../networking/palo_alto_config.rst:66
msgid ""
"In **'Network > Zones'** there is a list of the different configuration "
"zones.  This implementation will use two zones; a public (defaults to "
"'untrust') and private (defaults to 'trust') zone."
msgstr ""

# eea4177c1fff4e099f0d3ed3d68ddfca
#: ../../networking/palo_alto_config.rst:70
msgid ""
"In **'Network > Virtual Routers'** there is a list of VRs which handle "
"traffic routing for the Palo Alto Firewall.  We only use a single Virtual "
"Router on the firewall and it is used to handle all the routing to the next "
"network hop."
msgstr ""

# abd376e7380441f390cd90564d09d4c5
#: ../../networking/palo_alto_config.rst:75
msgid ""
"In **'Objects > Security Profile Groups'** there is a list of profiles which"
" can be applied to firewall rules.  These profiles are used to better "
"understand the types of traffic that is flowing through your network. "
"Configured when you add the firewall provider to CloudStack."
msgstr ""

# 81bf3163d8e548f9827901650a45fa29
#: ../../networking/palo_alto_config.rst:80
msgid ""
"In **'Objects > Log Forwarding'** there is a list of profiles which can be "
"applied to firewall rules.  These profiles are used to better track the logs"
" generated by the firewall.  Configured when you add the firewall provider "
"to CloudStack."
msgstr ""

# 3f1feff617394987a3e0e75b9098bdb8
#: ../../networking/palo_alto_config.rst:85
msgid ""
"In **'Policies > Security'** there is a list of firewall rules that are "
"currently configured.  You will not need to modify this section because it "
"will be completely automated by CloudStack, but you can review the firewall "
"rules which have been created here."
msgstr ""

# 34e8e7a02d1a478d99e352c6a4dd825c
#: ../../networking/palo_alto_config.rst:90
msgid ""
"In **'Policies > NAT'** there is a list of the different NAT rules.  You "
"will not need to modify this section because it will be completely automated"
" by CloudStack, but you can review the different NAT rules that have been "
"created here.  Source NAT, Static NAT and Destination NAT (Port Forwarding) "
"rules will show up in this list."
msgstr ""

# 640e9e01bf184821b43d47005542f297
#: ../../networking/palo_alto_config.rst:99
msgid "Configure the Public / Private Zones on the firewall"
msgstr ""

# dd1583c5eff3465b96b6e0e55da67a78
#: ../../networking/palo_alto_config.rst:101
msgid ""
"No manual configuration is required to setup these zones because CloudStack "
"will configure them automatically when you add the Palo Alto Networks "
"firewall device to CloudStack as a service provider.  This implementation "
"depends on two zones, one for the public side and one for the private side "
"of the firewall."
msgstr ""

# f247dae111a8455598a5509325f99b2d
#: ../../networking/palo_alto_config.rst:107
msgid ""
"The public zone (defaults to 'untrust') will contain all of the public "
"interfaces and public IPs."
msgstr ""

# 3cc0d8d0cdd949bbae82f501193f7705
#: ../../networking/palo_alto_config.rst:110
msgid ""
"The private zone (defaults to 'trust') will contain all of the private "
"interfaces and guest network gateways."
msgstr ""

# fffcd92335be420f92a7847a249b200c
#: ../../networking/palo_alto_config.rst:113
msgid "The NAT and firewall rules will be configured between these zones."
msgstr ""

# 0f85059787c94c61b9cb4b39e5cb52c9
#: ../../networking/palo_alto_config.rst:118
msgid "Configure the Public / Private Interfaces on the firewall"
msgstr ""

# c8c72310b2744d4caefb5b9575ee6e60
#: ../../networking/palo_alto_config.rst:120
msgid ""
"This implementation supports standard physical interfaces as well as grouped"
" physical interfaces called aggregated interfaces.  Both standard interfaces"
" and aggregated interfaces are treated the same, so they can be used "
"interchangeably. For this document, we will assume that we are using "
"'ethernet1/1' as the public interface and 'ethernet1/2' as the private "
"interface.  If aggregated interfaces where used, you would use something "
"like 'ae1' and 'ae2' as the interfaces."
msgstr ""

# 2831a742f496425ba96db130e37c9fdf
#: ../../networking/palo_alto_config.rst:128
msgid ""
"This implementation requires that the 'Interface Type' be set to 'Layer3' "
"for both the public and private interfaces.  If you want to be able to use "
"the 'Untagged' VLAN tag for public traffic in CloudStack, you will need to "
"enable support for it in the public 'ethernet1/1' interface (details below)."
msgstr ""

# 7c752ebb778a47f5ab20ddd8e7c2c88d
#: ../../networking/palo_alto_config.rst:133
msgid "**Steps to configure the Public Interface**:"
msgstr ""

# 5700c7ece81b43cb98c6727c752735b2
# e49c5cac5b754c67a068eb76b8f2b016
# de7a1d67b1d944d9a9282e1481b27948
#: ../../networking/palo_alto_config.rst:135
#: ../../networking/palo_alto_config.rst:171
#: ../../networking/palo_alto_config.rst:228
msgid "Log into Palo Alto Networks Firewall"
msgstr ""

# 084f3f60d58341c1bb8a4c5902758909
# ef024b35b5944a84b02459069f6213a1
#: ../../networking/palo_alto_config.rst:137
#: ../../networking/palo_alto_config.rst:230
msgid "Navigate to 'Network > Interfaces'"
msgstr ""

# f9c2ae1f0de249878828ead2f5703582
#: ../../networking/palo_alto_config.rst:139
msgid ""
"Click on 'ethernet1/1' (for aggregated ethernet, it will probably be called "
"'ae1')"
msgstr ""

# 04a63a60ad414b7e81b979d479bae1fd
# 04da4ad3a88d4e6cba3ee5b4668f9ee2
#: ../../networking/palo_alto_config.rst:142
#: ../../networking/palo_alto_config.rst:155
msgid "Select 'Layer3' from the 'Interface Type' list"
msgstr ""

# ff872b1bbd2945db9cce189792e38246
#: ../../networking/palo_alto_config.rst:144
msgid "Click 'Advanced'"
msgstr ""

# 944d68b812d8463a87b69f9d882e8b28
#: ../../networking/palo_alto_config.rst:146
msgid "Check the 'Untagged Subinterface' check-box"
msgstr ""

# 290ce1b89ac441bcbc6691b3a41534a6
# ac12e64f14884682ba033e7f2177cc9b
# 8f94cc2074684065a79e57cf90d6ab9a
# 8a83b222380740918936aca1feee32b9
# f18ef2d3aeac41389cdfd198b83c5467
# 95a5afc210324dab8a21ba2da8e6801c
# d765a343c5f146639728c4ea3493e250
# 8b7efac976c241fe9f3fa33963361d5a
# 8a61018dde394d37b9ca3df99d188ee5
#: ../../networking/palo_alto_config.rst:148
#: ../../networking/palo_alto_config.rst:157
#: ../../networking/palo_alto_config.rst:193
#: ../../networking/palo_alto_config.rst:195
#: ../../networking/palo_alto_config.rst:265
#: ../../networking/palo_alto_config.rst:339
#: ../../networking/palo_alto_config.rst:388
#: ../../networking/palo_alto_config.rst:426
#: ../../networking/palo_alto_config.rst:455
msgid "Click 'OK'"
msgstr ""

# 8b5c88e0cc8242a580db731046cce5d3
#: ../../networking/palo_alto_config.rst:150
msgid "**Steps to configure the Private Interface**:"
msgstr ""

# a94612c3076e4722bd18904180a04114
#: ../../networking/palo_alto_config.rst:152
msgid ""
"Click on 'ethernet1/2' (for aggregated ethernet, it will probably be called "
"'ae2')"
msgstr ""

# 0beaed2fa39442e887eaca261cae62d7
#: ../../networking/palo_alto_config.rst:162
msgid "Configure a Virtual Router on the firewall"
msgstr ""

# 22d2fb39f9f44f928787ed03f4aa558c
#: ../../networking/palo_alto_config.rst:164
msgid ""
"The Virtual Router on the Palo Alto Networks Firewall is not to be confused "
"with the Virtual Routers that CloudStack provisions.  For this "
"implementation, the Virtual Router on the Palo Alto Networks Firewall will "
"ONLY handle the upstream routing from the Firewall to the next hop."
msgstr ""

# e11103f99e6d45d0bea4183b1cf60c98
#: ../../networking/palo_alto_config.rst:169
msgid "**Steps to configure the Virtual Router**:"
msgstr ""

# d520996f46e84c8c94ce274dd654f3cb
#: ../../networking/palo_alto_config.rst:173
msgid "Navigate to 'Network > Virtual Routers'"
msgstr ""

# e966f3781b904686b55509eef9892346
#: ../../networking/palo_alto_config.rst:175
msgid ""
"Select the 'default' Virtual Router or Add a new Virtual Router if there are"
" none in the list"
msgstr ""

# 9cbe5a8debc5407fb6918d33d5b71aab
#: ../../networking/palo_alto_config.rst:178
msgid "If you added a new Virtual Router, you will need to give it a 'Name'"
msgstr ""

# b6a107e3fda3444fbcc24365b6ee33ca
#: ../../networking/palo_alto_config.rst:180
msgid "Navigate to 'Static Routes > IPv4'"
msgstr ""

# 6efcbc75fe144976b8a75a2dd888c615
#: ../../networking/palo_alto_config.rst:182
msgid "'Add' a new static route"
msgstr ""

# ed78234999764665912475eb992e6395
#: ../../networking/palo_alto_config.rst:184
msgid "**Name**: next_hop (you can name it anything you want)"
msgstr ""

# 47efb66b283043aa89a78ad4c6a87339
#: ../../networking/palo_alto_config.rst:186
msgid "**Destination**: 0.0.0.0/0 (send all traffic to this route)"
msgstr ""

# f9dde0e9e0534954bf1da5b6bf535824
#: ../../networking/palo_alto_config.rst:188
msgid ""
"**Interface**: ethernet1/1 (or whatever you set your public interface as)"
msgstr ""

# 1e8a9818e50544a19445ee39589e5215
#: ../../networking/palo_alto_config.rst:191
msgid ""
"**Next Hop**: (specify the gateway IP for the next hop in your network)"
msgstr ""

# f26446d9a67c4620a0f511145ecfde2b
#: ../../networking/palo_alto_config.rst:200
msgid "Configure the default Public Subinterface"
msgstr ""

# 7225aebfeb604bd7ad6ffa6bd19425c3
#: ../../networking/palo_alto_config.rst:202
msgid ""
"The current implementation of the Palo Alto Networks firewall integration "
"uses CIDRs in the form of 'w.x.y.z/32' for the public IP addresses that "
"CloudStack provisions.  Because no broadcast or gateway IPs are in this "
"single IP range, there is no way for the firewall to route the traffic for "
"these IPs.  To route the traffic for these IPs, we create a single "
"subinterface on the public interface with an IP and a CIDR which "
"encapsulates the CloudStack public IP range.  This IP will need to be inside"
" the subnet defined by the CloudStack public range netmask, but outside the "
"CloudStack public IP range.  The CIDR should reflect the same subnet defined"
" by the CloudStack public range netmask. The name of the subinterface is "
"determined by the VLAN configured for the public range in CloudStack."
msgstr ""

# 3c781eec6bac4e599027b694351c3cd4
#: ../../networking/palo_alto_config.rst:214
msgid "To clarify this concept, we will use the following example."
msgstr ""

# 9637f4b7396f4c51983c5bf87b43e912
#: ../../networking/palo_alto_config.rst:216
msgid "**Example CloudStack Public Range Configuration**:"
msgstr ""

# 8a3070e081974ca68cc0375eca88007b
#: ../../networking/palo_alto_config.rst:218
msgid "**Gateway**: 172.30.0.1"
msgstr ""

# 9f64613849464823b633f1d16645d42e
#: ../../networking/palo_alto_config.rst:220
msgid "**Netmask**: 255.255.255.0"
msgstr ""

# 9330fe95cfaf44abbdb0d4f38e739dde
#: ../../networking/palo_alto_config.rst:222
msgid "**IP Range**: 172.30.0.100 - 172.30.0.199"
msgstr ""

# 435b6fb99438485f877a6756893298bf
#: ../../networking/palo_alto_config.rst:224
msgid "**VLAN**: Untagged"
msgstr ""

# eb956dfff226492fa1b0806cbbf743dc
#: ../../networking/palo_alto_config.rst:226
msgid "**Configure the Public Subinterface**:"
msgstr ""

# 2c3eb0c3c7e642cbb78583a57bc43be3
#: ../../networking/palo_alto_config.rst:232
msgid "Select the 'ethernet1/1' line (not clicking on the name)"
msgstr ""

# 739221cdf0024efc9b93b1d76646825b
#: ../../networking/palo_alto_config.rst:234
msgid "Click 'Add Subinterface' at the bottom of the window"
msgstr ""

# 6b8490f4a2684ca8ad9814a1461edaaa
#: ../../networking/palo_alto_config.rst:236
msgid "Enter 'Interface Name': 'ethernet1/1' . '9999'"
msgstr ""

# fb030c9c7b044a0185fe843def4a3bb5
#: ../../networking/palo_alto_config.rst:238
msgid "9999 is used if the CloudStack public range VLAN is 'Untagged'"
msgstr ""

# 912e1187e17b414f9493ddb7f368b068
#: ../../networking/palo_alto_config.rst:240
msgid ""
"If the CloudStack public range VLAN is tagged (eg: 333), then the name will "
"reflect that tag"
msgstr ""

# 4472ddfa3e6f4c878a16d411cc343a7d
#: ../../networking/palo_alto_config.rst:243
msgid ""
"The 'Tag' is the VLAN tag that the traffic is sent to the next hop with, so "
"set it accordingly.  If you are passing 'Untagged' traffic from CloudStack "
"to your next hop, leave it blank.  If you want to pass tagged traffic from "
"CloudStack, specify the tag."
msgstr ""

# f1ede2abd59c4fcc914acf233aa4b38c
#: ../../networking/palo_alto_config.rst:248
msgid ""
"Select 'default' from the 'Config > Virtual Router' drop-down (assuming that"
" is what your virtual router is called)"
msgstr ""

# 0d7f8743ae7e405c833390569c1a342c
#: ../../networking/palo_alto_config.rst:251
msgid "Click the 'IPv4' tab"
msgstr ""

# 93bc9ae7b5f346f99a40644725c2ebc0
#: ../../networking/palo_alto_config.rst:253
msgid "Select 'Static' from the 'Type' radio options"
msgstr ""

# 661bc9fb00f342d58bfd39624ff5f72a
#: ../../networking/palo_alto_config.rst:255
msgid "Click 'Add' in the 'IP' section"
msgstr ""

# b3482058794d4e2abb1e0a1f41bee8fa
#: ../../networking/palo_alto_config.rst:257
msgid "Enter '172.30.0.254/24' in the new line"
msgstr ""

# 02e03b2878504ed9a7ee888b36978cd4
#: ../../networking/palo_alto_config.rst:259
msgid ""
"The IP can be any IP outside the CloudStack public IP range, but inside the "
"CloudStack public range netmask (it can NOT be the gateway IP)"
msgstr ""

# 925fe2a4b10d4cb1ab438e2de318af0a
#: ../../networking/palo_alto_config.rst:262
msgid ""
"The subnet defined by the CIDR should match the CloudStack public range "
"netmask"
msgstr ""

# 10d6dd9ed3af49ffad4020de805389de
#: ../../networking/palo_alto_config.rst:269
msgid "Commit configuration on the Palo Alto Networks Firewall"
msgstr ""

# 89ac6f1b3c694a06b75008f8eec59b16
#: ../../networking/palo_alto_config.rst:271
msgid ""
"In order for all the changes we just made to take effect, we need to commit "
"the changes."
msgstr ""

# 3137cac6d6e14fc9904a5fa154e3905d
#: ../../networking/palo_alto_config.rst:274
msgid "Click the 'Commit' link in the top right corner of the window"
msgstr ""

# f3aaf9f819ef410fba6edbc621ea6a4d
#: ../../networking/palo_alto_config.rst:276
msgid "Click 'OK' in the commit window overlay"
msgstr ""

# 3b4acc9911434ddc83362cedcacab668
#: ../../networking/palo_alto_config.rst:278
msgid ""
"Click 'Close' to the resulting commit status window after the commit "
"finishes"
msgstr ""

# 6bb86113a96547538dbfd01db7c9e7ae
#: ../../networking/palo_alto_config.rst:284
msgid "Setup the Palo Alto Networks Firewall in CloudStack"
msgstr ""

# b8515e0d94ef4d4a865f64f7bef85482
#: ../../networking/palo_alto_config.rst:287
msgid "Add the Palo Alto Networks Firewall as a Service Provider"
msgstr ""

# 9b19a32893484d2fac28f3558f2643b5
#: ../../networking/palo_alto_config.rst:289
msgid ""
"Navigate to 'Infrastructure > Zones > ZONE_NAME > Physical Network > "
"NETWORK_NAME (guest) > Configure; Network Service Providers'"
msgstr ""

# 9bdf06473baa43cd9c6b8cb17a6313c3
#: ../../networking/palo_alto_config.rst:292
msgid "Click on 'Palo Alto' in the list"
msgstr ""

# 8565a2ab22994798a9167083879136f7
#: ../../networking/palo_alto_config.rst:294
msgid "Click 'View Devices'"
msgstr ""

# d10162d1e53c40e6bd448e05bb8a3259
#: ../../networking/palo_alto_config.rst:296
msgid "Click 'Add Palo Alto Device'"
msgstr ""

# c6fcd95bacbf4675951227d95a5737fc
#: ../../networking/palo_alto_config.rst:298
msgid ""
"Enter your configuration in the overlay.  This example will reflect the "
"details previously used in this guide."
msgstr ""

# 1d34f716f84e4296a01fd3f7afde7356
#: ../../networking/palo_alto_config.rst:301
msgid "**IP Address**: (the IP of the Palo Alto Networks Firewall)"
msgstr ""

# add3b3461b6b48d7b74f94961a7b26e1
#: ../../networking/palo_alto_config.rst:303
msgid "**Username**: (the admin username for the firewall)"
msgstr ""

# 708228ac2edb498f9fd079d05a8a7511
#: ../../networking/palo_alto_config.rst:305
msgid "**Password**: (the admin password for the firewall)"
msgstr ""

# b2a6f266de904ebe94805b3176617484
#: ../../networking/palo_alto_config.rst:307
msgid "**Type**: Palo Alto Firewall"
msgstr ""

# 1cc218519592430f98cc8e009d0c8f2c
#: ../../networking/palo_alto_config.rst:309
msgid ""
"**Public Interface**: ethernet1/1 (use what you setup earlier as the public "
"interface if it is different from my examples)"
msgstr ""

# 5f1c1837d4df4e65a7a8abd05abd43ce
#: ../../networking/palo_alto_config.rst:312
msgid ""
"**Private Interface**: ethernet1/2 (use what you setup earlier as the "
"private interface if it is different from my examples)"
msgstr ""

# dd40b4143070449bb34ede04b3fe467e
#: ../../networking/palo_alto_config.rst:315
msgid "**Number of Retries**: 2 (the default is fine)"
msgstr ""

# 1d8080f41f894087b6e0a8c4c934dfe9
#: ../../networking/palo_alto_config.rst:317
msgid "**Timeout**: 300 (the default is fine)"
msgstr ""

# 876888b0168e496a897f306b246db971
#: ../../networking/palo_alto_config.rst:319
msgid ""
"**Public Network**: untrust (this is the public zone on the firewall and did"
" not need to be configured)"
msgstr ""

# 920274e528a341fb8962b73ff4b77179
#: ../../networking/palo_alto_config.rst:322
msgid ""
"**Private Network**: trust (this is the private zone on the firewall and did"
" not need to be configured)"
msgstr ""

# 2072277d3e14495aa762454838f72995
#: ../../networking/palo_alto_config.rst:325
msgid ""
"**Virtual Router**: default (this is the name of the Virtual Router we setup"
" on the firewall)"
msgstr ""

# 0376444c2cbd4404ad01b614aac5c07f
#: ../../networking/palo_alto_config.rst:328
msgid ""
"**Palo Alto Threat Profile**: (not required.  name of the 'Security Profile "
"Groups' to apply.  more details in the 'Additional Features' section)"
msgstr ""

# e649ac1802774500b5003c708987fe74
#: ../../networking/palo_alto_config.rst:332
msgid ""
"**Palo Alto Log Profile**: (not required.  name of the 'Log Forwarding' "
"profile to apply.  more details in the 'Additional Features' section)"
msgstr ""

# 32094fb7d72248d28b8f84e1fd56e988
#: ../../networking/palo_alto_config.rst:335
msgid "**Capacity**: (not required)"
msgstr ""

# 7e33721fb17a48e2ab7aa2d1b1dc460c
#: ../../networking/palo_alto_config.rst:337
msgid "**Dedicated**: (not required)"
msgstr ""

# dbef98d732fc4f7fbbad776d1b61f41e
#: ../../networking/palo_alto_config.rst:341
msgid "Click on 'Palo Alto' in the breadcrumbs to go back one screen."
msgstr ""

# e499e22a30754ab4acfd6a779b03ea97
#: ../../networking/palo_alto_config.rst:343
msgid "Click on 'Enable Provider' |EnableDisableFeature.png|"
msgstr ""

# b7b0fa1a4629430b839286b55162f882
#: ../../networking/palo_alto_config.rst:347
msgid "Add a Network Service Offering to use the new Provider"
msgstr ""

# 1cc4ca671df7479c96ab873e7ae0cc68
#: ../../networking/palo_alto_config.rst:349
msgid ""
"There are 6 'Supported Services' that need to be configured in the network "
"service offering for this functionality.  They are DHCP, DNS, Firewall, "
"Source NAT, Static NAT and Port Forwarding.  For the other settings, there "
"are probably additional configurations which will work, but I will just "
"document a common case."
msgstr ""

# f406f98a91684fd1bd4947a0b06ed1a2
#: ../../networking/palo_alto_config.rst:355
msgid "Navigate to 'Service Offerings'"
msgstr ""

# 942ee3b426ba4d88acfbee186446dcaf
#: ../../networking/palo_alto_config.rst:357
msgid "In the drop-down at the top, select 'Network Offerings'"
msgstr ""

# 6d216de0290941758439b72593f8a6c8
#: ../../networking/palo_alto_config.rst:359
msgid "Click 'Add Network Offering'"
msgstr ""

# da673cd57e5d4dadaaa406cb5fa5ec13
#: ../../networking/palo_alto_config.rst:361
msgid "**Name**: (name it whatever you want)"
msgstr ""

# a59e3d821172494d9efb8de1253d352d
#: ../../networking/palo_alto_config.rst:363
msgid "**Description**: (again, can be whatever you want)"
msgstr ""

# bdb32fa4fdf545d2886707aa7ca1156d
#: ../../networking/palo_alto_config.rst:365
msgid "**Guest Type**: Isolated"
msgstr ""

# ee73168cca234bf08581ec3131ec5bb8
#: ../../networking/palo_alto_config.rst:367
msgid "**Supported Services**:"
msgstr ""

# 320e8c3f0b9b49ac8768926d267e94d7
#: ../../networking/palo_alto_config.rst:369
msgid "**DHCP**: Provided by 'VirtualRouter'"
msgstr ""

# 4c6b47d1b7b34586863177a90b865d85
#: ../../networking/palo_alto_config.rst:371
msgid "**DNS**: Provided by 'VirtualRouter'"
msgstr ""

# 56ac8260b8a3496ca38997dfc58dae3f
#: ../../networking/palo_alto_config.rst:373
msgid "**Firewall**: Provided by 'PaloAlto'"
msgstr ""

# fb63dd0553724890988f01e52cc9fb1a
#: ../../networking/palo_alto_config.rst:375
msgid "**Source NAT**: Provided by 'PaloAlto'"
msgstr ""

# 4cdf39f3041d47699f285f61fcf0ac95
#: ../../networking/palo_alto_config.rst:377
msgid "**Static NAT**: Provided by 'PaloAlto'"
msgstr ""

# bfbb888f85ab4e179965cac8c6d8dadb
#: ../../networking/palo_alto_config.rst:379
msgid "**Port Forwarding**: Provided by 'PaloAlto'"
msgstr ""

# 88e886aff4204f32811dff6e4d8ea019
#: ../../networking/palo_alto_config.rst:381
msgid "**System Offering for Router**: System Offering For Software Router"
msgstr ""

# 8f0e43a7d0f34b9992263fdfdcfcd2d6
#: ../../networking/palo_alto_config.rst:383
msgid ""
"**Supported Source NAT Type**: Per account (this is the only supported "
"option)"
msgstr ""

# e06e5423d74c4f328eae1e741028734b
#: ../../networking/palo_alto_config.rst:386
msgid "**Default egress policy**: (both 'Allow' and 'Deny' are supported)"
msgstr ""

# 59c525fe149a425098205f41b21a9cf1
#: ../../networking/palo_alto_config.rst:390
msgid "Click on the newly created service offering"
msgstr ""

# 44fc81442fe34d68a2728f0ca0a160dc
#: ../../networking/palo_alto_config.rst:392
msgid "Click 'Enable network offering' |EnableDisableFeature.png|"
msgstr ""

# 934d3259e9bf44c083323e6b2f2aa9bf
#: ../../networking/palo_alto_config.rst:394
msgid ""
"When adding networks in CloudStack, select this network offering to use the "
"Palo Alto Networks firewall."
msgstr ""

# fae8d19c649e479f99c6b2edd49434eb
#: ../../networking/palo_alto_config.rst:399
msgid "Additional Features"
msgstr ""

# 9dc0b83948d74e16b3ad351d1210f5b5
#: ../../networking/palo_alto_config.rst:401
msgid ""
"In addition to the standard functionality exposed by CloudStack, we have "
"added a couple additional features to this implementation.  We did not add "
"any new screens to CloudStack, but we have added a couple fields to the 'Add"
" Palo Alto Service Provider' screen which will add functionality globally "
"for the device."
msgstr ""

# 5af1e576fa7847f7b87eed5fe35e77b8
#: ../../networking/palo_alto_config.rst:408
msgid "Palo Alto Networks Threat Profile"
msgstr ""

# 9070542c237349599f645efcd8a64128
#: ../../networking/palo_alto_config.rst:410
msgid ""
"This feature allows you to specify a 'Security Profile Group' to be applied "
"to all of the firewall rules which are created on the Palo Alto Networks "
"firewall device."
msgstr ""

# a4257973d0524640b7102968817ca7e5
#: ../../networking/palo_alto_config.rst:414
msgid ""
"To create a 'Security Profile Group' on the Palo Alto Networks firewall, do "
"the following:"
msgstr ""

# 77a31bab19cd4e55b4cc13c92cb328bb
# 92409a68a6f345c89e059f0a26e707ee
#: ../../networking/palo_alto_config.rst:417
#: ../../networking/palo_alto_config.rst:446
msgid "Log into the Palo Alto Networks firewall"
msgstr ""

# 2b0227f96b854d92bf96e91d9c17435c
#: ../../networking/palo_alto_config.rst:419
msgid "Navigate to 'Objects > Security Profile Groups'"
msgstr ""

# 2405f37aad834c34b4360f784ce6ec69
#: ../../networking/palo_alto_config.rst:421
msgid "Click 'Add' at the bottom of the page to add a new group"
msgstr ""

# 7e5ffff8c26545c48b07a4921ca76a52
#: ../../networking/palo_alto_config.rst:423
msgid ""
"Give the group a Name and specify the profiles you would like to include in "
"the group"
msgstr ""

# 3e3d4bfaa14c46c38499c68ce4f36095
# 547b08aaaf164fb68c2b8f1b37d09793
#: ../../networking/palo_alto_config.rst:428
#: ../../networking/palo_alto_config.rst:457
msgid ""
"Click the 'Commit' link in the top right of the screen and follow the on "
"screen instructions"
msgstr ""

# a31ebe4cd3bf4bf9b7e3fe8d35c32f63
#: ../../networking/palo_alto_config.rst:431
msgid ""
"Once you have created a profile, you can reference it by Name in the 'Palo "
"Alto Threat Profile' field in the 'Add the Palo Alto Networks Firewall as a "
"Service Provider' step."
msgstr ""

# 735566ed2935434ea67f2e2595c3f686
#: ../../networking/palo_alto_config.rst:437
msgid "Palo Alto Networks Log Forwarding Profile"
msgstr ""

# c229e4bdb0c04fac952295035d8afa6b
#: ../../networking/palo_alto_config.rst:439
msgid ""
"This feature allows you to specify a 'Log Forwarding' profile to better "
"manage where the firewall logs are sent to.  This is helpful for keeping "
"track of issues that can arise on the firewall."
msgstr ""

# 461ea8be12674fcd842217cf72c68f7f
#: ../../networking/palo_alto_config.rst:443
msgid ""
"To create a 'Log Forwarding' profile on the Palo Alto Networks Firewall, do "
"the following:"
msgstr ""

# a61142f77e8941e9b976c01cd1aa9f89
#: ../../networking/palo_alto_config.rst:448
msgid "Navigate to 'Objects > Log Forwarding'"
msgstr ""

# ea14dff9d3c448f0976b6aebe2d119cc
#: ../../networking/palo_alto_config.rst:450
msgid "Click 'Add' at the bottom of the page to add a new profile"
msgstr ""

# 1352f9adcbd94a24a5429e2ed53caa48
#: ../../networking/palo_alto_config.rst:452
msgid ""
"Give the profile a Name and specify the details you want for the traffic and"
" threat settings"
msgstr ""

# 6b304cde8312467ebef3f110a46fce1a
#: ../../networking/palo_alto_config.rst:460
msgid ""
"Once you have created a profile, you can reference it by Name in the 'Palo "
"Alto Log Profile' field in the 'Add the Palo Alto Networks Firewall as a "
"Service Provider' step."
msgstr ""

# 7ba0d11bde5b4c3e97de4830b0aecc15
#: ../../networking/palo_alto_config.rst:467
msgid "Limitations"
msgstr ""

# 796314d492b54823a652a3f50d430629
#: ../../networking/palo_alto_config.rst:469
msgid ""
"The implementation currently only supports a single public IP range in "
"CloudStack"
msgstr ""

# c8e8545461454cb9acf0a06bf42b95c0
#: ../../networking/palo_alto_config.rst:472
msgid "Usage tracking is not yet implemented"
msgstr ""
