FortiOS-7.2-Cisco ACI Administration Guide
FortiOS-7.2-Cisco ACI Administration Guide
FortiOS 7.2
FORTINET DOCUMENT LIBRARY
https://docs.fortinet.com
FORTINET BLOG
https://blog.fortinet.com
NSE INSTITUTE
https://training.fortinet.com
FORTIGUARD CENTER
https://www.fortiguard.com
FEEDBACK
Email: techdoc@fortinet.com
Fortinet Device Package for Cisco ACI is being deprecated. Use an SDN connector that this
document describes as a replacement.
Off-the-box connector VM
You can use Cisco ACI (Application Centric Infrastructure) SDN connectors in dynamic firewall addresses.
The Fortinet SDN Connector for Cisco ACI is a standalone connector that connects to SDN controllers within Cisco ACI.
You must configure a connection to the Fortinet SDN connector in FortiOS to query the dynamic addresses.
SDN Connector is the Fortinet response to integrate various SDN solutions with FortiGate as well as FortiManager
products. The SDN Connector serves as a gateway bridging SDN controllers and Fortinet devices including FortiGate
and FortiManager. The SDN Connector registers itself to the Cisco ACI SDN controller, polls interested objects, and
translates them into address objects. The translated address objects and associated endpoints are populated to the
FortiGate/FortiManager that are interested in these objects.
The following provides an example of configuring VDOM and SDN Connector. This example uses SDN Connector 1.1.3.
Overview
Components
The following diagram illustrates the relationship between the components of the SDN Connector:
Topology
The following diagram illustrates the topology when using SDN Connector with FortiManager:
Licensing
SDN Connector is available free of charge for Fortinet customers. You must ensure that you register your
FortiGate/FortiManager with FortiCare on Fortinet Customer Service & Support.
Hardware requirements
If you plan to instantiate a large number of virtual machines (VMs) in your SDN Connector environment, ensure that you
size the host VM or server appropriately. The following recommendations represent the minimum sizing numbers:
l Memory: 4 GB
l CPU: 2 vCPU
l Disk: 20-50 GB
l vNICs: 1
Terminology
BD Bridge domain
SDN Connector 1.1 supports the Nuage and Cisco ACI platforms. This guide is written for the Cisco ACI platform.
All physical and virtual FortiGate products that support the Fortinet Security Fabric are compatible with SDN Connector.
FortiManager-VM has also been qualified.
Firmware versions
Prerequisites
The following prerequisites must be met before deploying SDN Connector with Cisco ACI Connector:
l Cisco-side prerequisites on page 7
l FortiGate-side prerquisites on page 7
l FortiManager-side prerequisites on page 8
l SDN Connector prerequisites on page 8
l Cisco ACI deployment on page 15
Cisco-side prerequisites
Before you can successfully deploy SDN Connector, a number of prerequisites must be satisfied within the Cisco
environment. A Cisco ACI 3.0 or later environment must be in place. Within Cisco, the following configurations must be
completed before SDN Connector can pull objects:
l Creation of Access Policies configuration under the Fabric menu
l Creation of any needed tenant(s)
l Creation of network(s) including BD
l Creation of application profile(s)
l Creation of EPG(s)
l Creation of contract(s)
l Create BG/OSPF L3Out (only if BGP/OSPF is required)
For details, consult the Cisco APIC deployment guide.
FortiGate-side prerquisites
Before you can successfully deploy SDN Connector, a number of prerequisites must be satisfied on the FortiGate:
1. Configure the administrator username and password.
2. Enable HTTP/HTTPS on the management port.
3. Configure the management port's IP address.
FortiManager-side prerequisites
Before you can successfully deploy SDN Connector, a number of prerequisites must be satisfied on FortiManager:
1. Configure the administrator username and password.
2. Enable HTTP/HTTPS on the management port.
3. Configure the management port's IP address.
4. Register the FortiGate with FortiManager.
Before you can successfully deploy SDN Connector, you must complete a number of tasks on the SDN Connector:
1. SDN Connector supports VMware vSphere, KVM, and Microsoft Hyper-V as deployment environments. Download
the connector package:
a. On the Customer Service & Support site, go to Download > Firmware Images.
b. From the Select Product dropdown list, select FortiSDNConnector.
c. On the Download tab, go to v1.00 > v1.1.3.
d. Download the appropriate file based on your hypervisor platform:
Hypervisor File
KVM sdn-connector-1.1.3.img
Hyper-V sdn-connector-1.1.3.vhd
2. This example shows the installation process for vSphere client. Download sdn-connector.ovf. In vSphere Client, go
to File > Deploy OVF Template.
3. In the Deploy OVF Template dialog, enter the SDN Connector image file path in the Deploy from a file or URL field.
Click Next.
4. The dialog displays the SDN Connector version, download size, and size on disk. Click Next.
6. Choose the destination storage for the VM files, then click Next.
7. The dialog displays the datastore name and amount of available space. Select Thin Provision, then click Next.
8. Networks used in this OVF template should map to networks in your inventory. Choose the destination network for
network mapping, then click Next.
9. The dialog displays all previously configured options. To edit an option, click Back. If ready to deploy, click Finish.
1. After deploying the OVF template, turn on the VM and go to the Console tab. Once the SDN Connector boots up,
the system displays the following GUI dialog for configuration. Press Enter to proceed to the Network Interface
Configuration wizard.
The Network Interface Configuration wizard provides DHCP and static IP configuration options.
When the VM receives the IP address from the DHCP server, the system shows this success dialog. The dialog
shows the SDN Connector IP address and gateway information.
When the VM is configured with a static IP address, the system shows this success dialog.
2. To change the network configuration, click OK and return to the wizard to restart the setup flow.
3. Using a web browser, go to https://<SDN connector IP address>.
4. Log into the system with the default username and password, which are admin@sdn-connector.local and
fortinet123, respectively. When you first log in, the GUI prompts you to change the password.
The SDN Connector GUI has several web controls. It is a single-page web application.
To restart the service, click Restart Service. The system displays a dialog asking you to restart the connector service.
Option Description
APIC Host/IP You can enter multiple APIC IP addresses and/or FQDNs. Ensure that you
separate each entry with a comma.
APIC Username Enter the Cisco ACI username as obtained from the ACI administrator.
APIC Password Enter the Cisco ACI password as obtained from the ACI administrator.
Fabric Connector Username Enter the FortiGate/FortiManager username used to log into the Fortinet SDN
connector. The default username is admin.
Change Fabric Connector Enter the FortiGate/FortiManager password used to log into the Fortinet SDN
Password connector. The default password is fortinet123.
To upgrade the service, go to the SDN Connector homepage, then click UpgradeService on the banner. A dialog shows
the upgrade progress. Once the upgrade is finished, the dialog prompts “Upgraded Successfully! Going to refresh in
10s” and the GUI refreshes automatically. This allows patch upgrade for SDN Connector.
The following displays sample output objects pulled from Cisco ACI:
Click Running Status to verify the status. When the signal icons are green, this indicates the connection between the
SDN controller and SDN connector has been established.
This section describes steps to create endpoint objects within ACI that SDN Connector can extract from. The steps
include the following:
1. Create a tenant (Tenant1) and VRF (vrf1).
2. Create BDs (app and web).
3. Create EPGs (app and web).
4. Create an L4-L7 device (FGT1).
5. Create a service graph template (Template1).
6. Deploy service graph between web and app.
named "vrf1".
c. Click Submit.
c. Click Submit.
To create EPGs:
c. In the hypervisor, select the configured VMM domain association under the Network label.
5. Repeat step b to create the web EPG, selecting the web BD instead of the app BD. Do not use | in the EPG name.
1. Go to Tenant > Tenant1 > Services > L4-L7 > Devices > Create L4-L7 Devices.
2. If using unmanaged mode, ensure that the Managed checkbox is not selected.
1. Go to Tenant > Tenant1 > Services > L4-L7 > Service Graph Templates > Create L4-L7 Service Graph Template.
2. Configure the service graph template.
3. Click Submit.
To deploy the service graph template between the web and app EPGs:
1. Deploy the service graph between the web and app EPGs:
a. Go to Tenant > Tenant1 > Services > L4-L7 > Service Graph Templates. Right-click Template1, then select
Apply L4-L7 Service Graph Template.
b. From the Consumer EPG / External Network dropdown list, select the web EPG.
c. From the Provider EPG / Internal Network dropdown list, select the app EPG.
d. Enter a contract name.
e. Click Next.
f. From the Service Graph Template dropdown list, select the service graph template configured in step h.
g. Under FGT1 Information, configure the consumer connector as shown, selecting the web BD. Configure the
provider connector with the app BD.
2. Obtain the VLANs assigned to the interfaces. You will configure the corresponding VLANs on the FortiGate side:
a. Go to Tenant > Tenant1 > Services > L4-L7 > Deployed Graph Instances > contract1-Template1-Tenant1 >
Function Node - N1.
b. Under Function Connectors, note the VLANs listed for the consumer and provider in the Encap column.
SDN Connector works with standalone FortiGate as well as FortiManager. The below sections describe steps for
deploying FortiGate in standalone or managed mode with FortiManager:
l Deploying SDN Connector with FortiGate (standalone) on page 27
l Deploying SDN Connector with FortiManager on page 31
Deploying SDN Connector when using FortiGate in standalone mode consists of the following steps:
1. Create a VDOM.
2. Create VLAN interfaces.
3. Create static routes.
4. Configure a Fabric SDN Connector.
5. Create dynamic addresses.
6. Create policies using the dynamic address(es).
To create a VDOM:
l VDOMs cannot have the same names as interfaces, zones, switch interfaces, or other VDOMs.
4. Configure the SDN Connector, then click OK. The default port is 5671.
4. Repeat steps 2 and 3 to configure a dynamic address for the web EPG.
The following shows that the FortiOS and SDN Connector output regarding the web and app EPGs contain
corresponding information:
Deploying SDN Connector when using FortiManager consists of the following steps:
1. Configure a Fabric SDN Connector.
2. Create or import address objects.
3. Map the web and app interfaces.
4. Create policies leveraging the address objects.
5. Push the configuration to the FortiGate.
1. In FortiManager, go to Policy & Objects > Security Fabric > Fabric Connectors.
2. Click Create New.
4. Repeat steps 2 and 3 to configure a dynamic address for the app EPG.
1. Go to Policy & Objects > Policy Packages > default > Installation Targets.
2. Click Add.
3. In the Add Installation Targets dialog, select the managed FortiGate. Click OK.
4. Go to Policy & Objects > Policy Packages > default > IPv4 Policy.
5. Click Create New.
6. Create a policy that allows communication from the web EPG to the app EPG as shown:
7. Create a policy that allows communication from the app EPG to the web EPG as shown:
1. Go to Policy & Objects > Policy Packages > default > IPv4 Policy.
2. Click Install > Install Wizard.
3. In the Install Wizard, ensure that the default policy package is selected. Click Next.
4. Select the managed FortiGate. Click Next.
5. Ensure that the summary is correct, then click Install.
6. When installation is complete, click Finish.
7. In FortiOS, go to Policy & Objects > IPv4 Policy to ensure that the policies were pushed and are configured as
desired.
8. Ensure that an endpoint in the web EPG and an endpoint in the app EPG can ping each other.
You can monitor SDN connector status using a REST API that Fortinet SDN Connector for Cisco ACI and Nuage
Networks provides.
Request:
/api/status
Response:
Format: json
is down.
l uninitialized: SDN connector has not
{
"in_sync": true,
"rpc_listener": "connected",
"sdn_controller": "connected",
"sdn_controller_host": "x.x.x.x",
"time": 1584398898,
"type": "aci",
"usage": {
"cpu": 7.6,
"mem": 69.7
},
"version": "1.1.3"
}
The following shows sample code for monitoring the SDN connector using this API:
#!/usr/bin/env python
import re
import requests
class SdnConnectorClient(object):
def login(self):
login_page = requests.get(self.base_url + '/login', verify=False)
session = login_page.cookies
regex = re.compile(".+csrf_token=\\'(\S+)\\'.+")
self.csrf = regex.search(login_page.text).group(1)
form = {"email": self.user, "password": self.password,
"csrf_token": self.csrf, "submit": "Login", "next": "/"}
res = requests.post(self.base_url + '/login', data=form,
verify=False, cookies=session,
headers={'referer': self.base_url})
self.cookies = res.cookies
def get_status(self):
res = self.get('/api/status')
return res[1]
if __name__ == "__main__":
sdn_client = SdnConnectorClient('localhost', 'xxxxxx')
sdn_client.login()
print sdn_client.get_status()
You can use the Cisco ACI (Application Centric Infrastructure) connector for northbound API integration with a direct
connection.
Multiple server IP addresses can be included for the Cisco APIC cluster active and standby hosts. One server is active,
and the rest serve as backups in case the active server fails. The FortiGate checks the status of the servers, and selects
one as the active server according to the order of the IP addresses in the list. If the active server fails, the FortiGate
changes to the next one down on the list.
This connector supports the following address filters:
l Tenant
l Application
l Endpoint group
l Tag
next
edit "10.0.6.12"
next
edit "10.0.6.13"
next
edit "10.0.6.14"
next
edit "10.0.7.11"
next
edit "10.0.7.12"
next
end
next
end
next
end
You can create an endpoint connector to Cisco pxGrid by using FortiManager. FortiManager dynamically collects
updates from pxGrid and forwards them to FortiGate by using the Fortinet Single Sign On (FSSO) protocol.
4. On FortiManager, synchronize the policy package to the firewall for the managed FortiGate.
5. On FortiGate, verify that the synced firewall policy contains the correct FSSO group and that all FSSO-related
information in user adgrp is correct.
6. After successful user authentication on Cisco ISE, verify that information is forwarded to FortiManager.
On FortiManager, the icon next to the authenticated user in pxGrid Monitor should be green.
FortiGate should have two entries: one in the firewall-authenticated user list and one in the FSSO logged-on user
list.
In the FSSO logged-on user list, you can view both groups. You view the group that the user belongs to on Cisco
ISE and the Fortinet FSSO group.
Copyright© 2022 Fortinet, Inc. All rights reserved. Fortinet®, FortiGate®, FortiCare® and FortiGuard®, and certain other marks are registered trademarks of Fortinet, Inc., and other Fortinet names herein
may also be registered and/or common law trademarks of Fortinet. All other product or company names may be trademarks of their respective owners. Performance and other metrics contained herein were
attained in internal lab tests under ideal conditions, and actual performance and other results may vary. Network variables, different network environments and other conditions may affect performance
results. Nothing herein represents any binding commitment by Fortinet, and Fortinet disclaims all warranties, whether express or implied, except to the extent Fortinet enters a binding written contract,
signed by Fortinet’s General Counsel, with a purchaser that expressly warrants that the identified product will perform according to certain expressly-identified performance metrics and, in such event, only
the specific performance metrics expressly identified in such binding written contract shall be binding on Fortinet. For absolute clarity, any such warranty will be limited to performance in the same ideal
conditions as in Fortinet’s internal lab tests. Fortinet disclaims in full any covenants, representations, and guarantees pursuant hereto, whether express or implied. Fortinet reserves the right to change,
modify, transfer, or otherwise revise this publication without notice, and the most current version of the publication shall be applicable.