Contents

Introduction

Prerequisites

Requirements

Components Used

Background Information

Configure

Verify

Common Issues

PBR Stops Working After a Second Deployment

FQDN does not Resolve

Introduction

This document describes the procedure to configure a FQDN object in an extended Access-list (ACL) for use in Policy Based Routing (PBR).

Prerequisites

Requirements

Cisco recommends that you have knowledge of these products:

- Secure Firewall Management Center (FMC)

- Secure Firewall Threat Defense (FTD)

- PBR

Components Used

The information in this document is based on these software and hardware versions:

- Firepower Threat Defense for VMware version 7.6.0

- Secure Firewall Management Center for VMware version 7.6.0

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.

Background Information

Currently, FTD does not allow filtering on non-HTTP traffic using Fully Qualified Domain Name (FQDN) objects as mentioned on Cisco bug ID CSCuz98322.

This functionality is supported on ASA platforms, however, only networks and applications can be filtered on FTD.

You can add a FQDN object to an extended access-list to configure PBR using this method.

Configure

Step 1. Create FQDN objects as needed.

Image 1. Network Object Menu

Step 2. Create an extended access-list under Objects > Object Management > Access List > Extended.

Image 2. Extended Access List Menu

When you add a new rule, notice that you cannot see the FQDN object you configured when doing a search on the Network Objects to select source and destination.

Image 3. New Extended Access List Rule Menu

Step 3. Create a rule that cannot be hit so the extended ACL is created and available for PBR configuration.

Image 4. Access List Rule Configuration that Cannot Be Hit

Step 4. You need to create a rule on the Access-Control Policy (ACP) targeting your FTD with the FQDN object. The FMC deploys the FQDN object to the FTD so you can reference it through a FlexConfig object.

Image 5. ACP Rule with FQDN Object

Step 5. Navigate to the FTD on Devices > Device Management and select the Routing tab and navigate to Policy Based Routing section.

Image 6. PBR Menu

Step 6. Configure the PBR on an interface using the ACL configured earlier and deploy.

Image 7. PBR Interface and ACL Selection Menu

Step 7. Navigate to Objects > Object Management > FlexConfig > Object and create a new object.

Image 8. FlexConfig Object Configuration Menu

Step 8. Select Insert > Extended ACL Object, name your variable and select your extended ACL you created earlier. The variable is added with the name you used.

Image 9. Variable Creation for FlexConfig Object

Step 9. Enter this line for each FQDN object you want to your ACL.

access-li $<your_ACL_variable> extended permit ip any object <your_FQDN_object_name>

Step 10. Save your FlexConfig Object as Everytime > Append.

Step 11.Navigate to the FlexConfig Policy menu under Devices > FlexConfig.

Image 10. Path to FlexConfig Policy Menu

Step 12. Create a new FlexConfig Policy or select a Policy already assigned to your FTD.

Image 11. Edit or Create a New FlexConfig Policy

Step 13. Add your FlexConfig object to the Policy, save and deploy.

Image 12. Added FlexConfig Object into FlexConfig Policy

Verify

Your ingress interface has the policy-route with auto-generated route-map.

firepower# show run interface gi0/0

!

interface GigabitEthernet0/0

nameif inside

security-level 0

ip address 10.100.151.2 255.255.255.0

policy-route route-map FMC_GENERATED_PBR_1727116778384

The route-map contains the selected ACL with the used destination interface.

firepower# show run route-map FMC_GENERATED_PBR_1727116778384

!

route-map FMC_GENERATED_PBR_1727116778384 permit 5

match ip address fqdn

set adaptive-interface cost outside

Your access list contains the host used for reference and the additional rule you added through FlexConfig.

firepower# show run access-list fqdn

access-list fqdn extended permit ip host 192.0.2.10 host 192.0.2.10

access-list fqdn extended permit ip any object cisco.com

You can do a packet tracer from the ingress interface as a source to verify you hit the PBR phase.

firepower# packet-tracer input inside tcp 10.100.150.1 12345 fqdn cisco.com 443

Mapping FQDN cisco.com to IP address 72.163.4.161

[...]

Phase: 3

Type: PBR-LOOKUP

Subtype: policy-route

Result: ALLOW

Elapsed time: 1137 ns

Config:

route-map FMC_GENERATED_PBR_1727116778384 permit 5

match ip address fqdn

set adaptive-interface cost outside

Additional Information:

Matched route-map FMC_GENERATED_PBR_1727116778384, sequence 5, permit

Found next-hop 10.100.150.1 using egress ifc outside

[...]

Result:

input-interface: inside(vrfid:0)

input-status: up

input-line-status: up

output-interface: outside(vrfid:0)

output-status: up

output-line-status: up

Action: allow

Time Taken: 140047752 ns

Common Issues

PBR Stops Working After a Second Deployment

Please verify if the access-list still contains the FQDN object rule.

In this case, you can see the rule is no longer here.

firepower# show run access-list fqdn

access-list fqdn extended permit ip host 192.0.2.10 host 192.0.2.10

firepower#

Verify that the FlexConfig Object is set up as Deployment: Everytime and Type: Append. The rule is applied every time on future deployments.

FQDN does not Resolve

When you attempt to ping the FQDN, you get a message about invalid hostname.

firepower# ping cisco.com

^

ERROR: % Invalid Hostname

Verify DNS configuration. You must have reachable DNS servers on your server group, and the domain-lookup interfaces must be able to reach them.

firepower# show run dns

dns domain-lookup outside

DNS server-group DefaultDNS

DNS server-group dns

name-server 208.67.222.222

name-server 208.67.220.220

dns-group dns

firepower# ping 208.67.222.222

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 208.67.222.222, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 170/202/280 ms

firepower# ping cisco.com

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 72.163.4.161, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 120/140/190 ms.