
We weten wellicht allemaal wel dat Nutanix met Flow een platform voor microsegmentatie heeft. Dit biedt mogelijkheden voor Layer 3 en 4 firewalling op basis van Categorieën en Policies
Sommige klanten willen hun Palo Alto omgeving behouden om gebruik te kunnen maken van de Next Generation Firewall mogelijkheden die Panorama bied. Dat wil niet zeggen dat dit niet te combineren is, maar het kan wat lastig lijken om dit te realiseren in Nutanix. Vandaar dat ik middels deze blog zal uitleggen wat de stappen zijn om dit te realiseren.
Wat we willen bereiken is dat het verkeer tussen VM's niet rechtstreeks loopt, maar middels een service chain die in Nutanix beschikbaar is. Deze service chain wordt gebruikt om netwerk verkeer van een VM te redirecten naar b.v. Palo Alto VM (of Checkpoint / Fortinet etc) d.m.v. categorieën.

Panorama en de Palo Alto VM's kunnen handmatig gedeployed worden of middels de marketplace via Nutanix Self Service

Het gaat te ver voor deze blog om dit te beschrijven, dus ik ga er vanuit dat deze VM's beschikbaar en bereikbaar zijn en de policies in Panorama zijn overgenomen uit de huidige klant omgeving.
Creëren categorie in Prism Central
In Prism central dient een categorie te komen met de naam network_function_provider en deze is op de gebuikelijke manier aan te maken. Let op, deze naam mag nooit meer veranderd worden.

Creëren Ingress en Egress NICS Palo ALTO VM's
De NICS zijn speciale systeem NICS en alleen aan te maken op de cli
•acli vm.update “VM-01” agent_vm=true extra_flags=is_system_vm=true
•acli vm.nic_create “VM-01” type=kNetworkFunctionNic network_function_nic_type=kIngress
•acli vm.nic_create “VM-01” type=kNetworkFunctionNic network_function_nic_type=kEgress
•acli vm.affinity_set “VM-01” host_list=x.x.x.x
(Het laatste commando is alleen maar om de host affinity te zetten per PaloAlto VM, dat kan uiteraard ook in de Prism GUI)
Assign op alle PAVM’s de categorie network_function_provider:PaloAlto hierboven gemaakt

Daarna kan de PA-VM als system VM opstarten.
Creëren Service Chain
Dit moet plaats vinden middels REST-API's in Prism Central
Prism Central REST API explorer:

Navigeer naar Clusters/list en klik op post, Onder de get_indentities_requests parameters type het volgende:
{
"kind":"cluster"
}
en klik op Try it out!

Scroll naar beneden en find de UUID en naam van het PE cluster waar de network chain moet komen
Zoek in de REST API explorer de network_function_chains sectie

Neem de network_function_chains/POST en plak onder get_entities_request parameters
gebruik onderstaande info om de network chain te creëren door onderstaande code te plakken en klik Try it out!
Controleer de rode waardes voor de juiste input
{
"spec": {
"name": "PANOS_CHAIN",
"resources": {
"network_function_list": [
{
"network_function_type": "INLINE",
"category_filter": {
"type": "CATEGORIES_MATCH_ALL",
"params": {"network_function_provider": ["PaloAlto"]}
} } ]
},
"cluster_reference": {
"kind": "cluster",
"name": "PHX-POC085",
"uuid": "0005b8f0-6855-b10d-0000-00000000280d"
} },
"api_version": "3.1.0",
"metadata": {
"kind": "network_function_chain"
}}

Controleer de aanwezigheid van de chain door in de network_function_chains/list regel onder de get_identities_request paremeters onderstaande te typen en op Try it out! te klikken
{
"kind":"network_function_chain"
}

Op de network_function_chains/list pagina zoek de Network Function Chain UUID uit de response body voor later gebruik

Netwerk verkeer naar de Network Function Chain dirigeren
Dit kan op twee manieren :
1 Gebruik FLOW security policy
2 Gebruik REST API's
Redirect verkeer naar Network Function Chain dmv FLOW policies
Dit is de meest makkelijke manier, maar vereist dus een FLOW licentie
Maak eerst een bv value Send_All_Traffic_To_PA in de categorie AppType:

Maak vervolgens een Security Policy in Prism Central

Koppel deze aan de hiervoor gemaakte categorie

Voeg het subnet 0.0.0.0/0 aan de inbound rule

Gebruik dat subnet ook voor de outbound rule

Maak connectie tussen de elementen, dit is een tricky stukje, selecteer eerst links het subnet, dan verschijnt een plus teken in het middelste vak om de connectie te kunnen maken

Op het moment dat je op het plusje klikt verschijnt de volgende optie, selecteer kies daar Redirect through a service chain en selecteer uit het dropdown menu de aangemaakte service chain PANOS_CHAIN

Doe hetzelfde om de outboud rule te koppelen door rechts op het subnet te klikken en vervolgens op het plus teken

De in en outbound rule verschijnen nu in de policy

De laatste stap in kiezen voor Monitor of Enforce

Redirect verkeer naar Network Function Chain dmv REST API
Deze stapen vereisen geen FLOW licentie, maar dienen voor ELK VLAN uitgevoerd te worden
In de REST API Explorer navigeer naar Subnets/list en klik op POST
Onder get_entities_requests
type het volgebnde en klik Try it Out!
{
" kind": "Subnet"
}

Scroll door de response body en vind de uuid voor het subnet

Navigeer naar Subnet/{uuid} en klik op get
plak de hierboven gevonden UUID in de paramater sectie en klik Try it out!

Kopieer de response voor de volgende stap

verander de code en kopieer voor de volgende stap
{
"spec": {
"name": "2381",
"resources": {
"vswitch_name": "br0",
"network_function_chain_reference": {
"kind": "network_function_chain",
"uuid": "d96be965-a42f-4acc-be53-d344c69ff6d1"
},
"subnet_type": "VLAN",
"ip_config": {
"default_gateway_ip": "10.21.238.129",
"dhcp_server_address": {
"ip": "10.21.238.254"
},
"pool_list": [
{
"range": "10.21.238.170 10.21.238.200"
}
],
"prefix_length": 25,
"subnet_ip": "10.21.238.128",
"dhcp_options": {
"domain_name_server_list": [
"10.21.253.10",
"10.20.0.10"
]
}
},
"vlan_id": 2381
},
"cluster_reference": {
"kind": "cluster",
"name": "SPECIALTY03",
"uuid": "000553bb-3957-e293-0000-0000000165dc"
}
},
"api_version": "3.1",
"metadata": {
"last_update_time": "2018-11-06T14:49:28Z",
"kind": "subnet",
"uuid": "6fbb6a17-a068-47c0-8e15-236b5ef15a8b",
"creation_time": "2018-11-06T14:10:16Z",
"spec_version": 3,
"owner_reference": {
"kind": "user",
"uuid": "335db0ad-6b3f-5b61-9098-bc63c9132305",
"name": "username"
},
"categories": {}
}
}
Navigeer naar Subnet/{uuid} en klik op PUT
Plak de subnet UUID in de parameter sectie
In de body plak de aangepaste code en klik op Try it out!

Let op, dit dient voor ELK VLAN te gebeuren !!!
Als al deze acties gereed zijn en een VM in de catagorie zit zal zijn verhkeer te monitoren en beinvloeden zijn in PAnorama.

Comments