Enable and Configure Express Path in CSDS Solution
Read this topic to learn how to enable and configure Express Path in the CSDS solution.
To enable the Express Path feature in your Connected Security Distributed Services (CSDS) architecture, ensure you meet the following prerequisites:
-
Understand the CSDS deployment scenarios and topologies for your security services.
-
Refer to the topology illustration and configuration at Example: Single MX Series (CSDS Traffic Orchestrator) and Scaled-Out SRX Series Firewall (MNHA) for Stateful Firewall to configure CSDS solution for stateful firewall services. Use the same topology for Express Path configuration.
-
For vSRX Virtual Firewalls in the services layer:
-
Configure the firewall interfaces according to your CSDS topology. See Table 8 for interface details on the firewalls.
-
-
For MX Series router in the forwarding layer, the router must meet the following criteria:
-
Ensure your CSDS topology doesn't contain dual routers. Express Path doesn't work when you have dual routers.
-
The router supports inline service interface known as si- interface.
-
The router has two connections toward the firewall: one for forward flow and one for reverse flow.
-
You must configure both the inet and inet6 families for inside, outside, and control logical interfaces (IFLs) for Express Path, even if the traffic is based on IPv4 address family. Note that the same flow table contains flow entries for both the IPv4 and IPv6 session flows.
-
Configure the router interfaces as per your CSDS topology. See Table 7 for interface details on the router. Plan for si- interfaces configuration for Express Path. Refer to the following table for si- interface details:
Table 1: The si- Interface Details on Router Interface Description Details Inside service interface for the forward flow
si-0/0/0.1
Outside service interface for the forward flow
si-0/0/0.2
Control service interface for the forward flow
si-0/0/0.3
Inside service interface for the reverse flow
si-0/1/0.1
Outside service interface for the reverse flow
si-0/1/0.2
Control service interface for the reverse flow
si-0/1/0.3
-
Plan for additional firewall filters configuration for Express Path. Refer to the following table for additional firewall filters:
Table 2: Additional Firewall Filters on the Router for Express Path Filter Description Details (Forward direction) Firewall filters to match IPv4 and IPv6 traffic and send the traffic to the session offload routing instance,
OFFLOAD_INPUT_VR.MX_LB_TRUSTandIPv6_MX_LB_TRUST(Reverse direction) Firewall filters to match IPv4 and IPv6 traffic and send the traffic to the session offload routing instance,
OFFLOAD_OUTPUT_VR.MX_LB_UNTRUSTandIPv6_MX_LB_UNTRUST(Forward direction) Firewall filters to match the post-session offloaded IPv4 and IPv6 traffic and send the traffic to the respective services based on the CSDS-TO load-balancing.
MX_EXTRA_TRUSTandIPv6_EXTRA_TRUST(Forward direction) Firewall filters to match the post-session offloaded IPv4 and IPv6 traffic and send the traffic to the respective services based on the CSDS-TO load-balancing.
MX_EXTRA_UNTRUSTandIPv6_EXTRA_UNTRUST -
Plan for additional routing instances configuration for Express Path. The additional routing instance ensures that the traffic undergoes a lookup for session offloading. The router then processes services based on the CSDS-TO load-balancing to support multiple services such as stateful firewall (SFW) and Network Address Translation (NAT) together. Refer to the following table for additional routing instances:
Table 3: Additional Routing Instances on the Router for Express Path Routing Instance Description Details (Forward direction) Routing instance for traffic processing through the si- interface.
OFFLOAD_INPUT_VR(Reverse direction) Routing instance for traffic processing through the si- interface.
OFFLOAD_INPUT_VR(Forward direction) Additional routing instance for traffic processing after the session offloading.
EXTRA_TRUST(Reverse direction) Additional routing instance for traffic processing after the session offloading.
EXTRA_UNTRUST
-
Configuration on MX1
For configuration on MX1, see steps 1, 2, 3, 4 and 5.
On the router, enable Express Path at the chassis level by configuring one of the following two statements.
[edit] set chassis fpc fpc0 service-offload
Configures the feature on FPC 0 with the default flow table size.
[edit] set chassis fpc fpc0 service-offload flow-table-size 2
Configure the feature on FPC 0 with custom session flow table size set to 2 units. Each unit supports 256 K sessions. Therefore, two units support a total of 2x256x1024=524288 flow entries. See service-offload (CSDS) for more details.
request chassis fpc slot 0 restart
Restart the FPC from operational mode to apply the changes.
On the router, configure Express Path as an inline service set feature.
Define the service interfaces, si- interfaces.
[edit] set interfaces si-0/0/0 unit 1 family inet set interfaces si-0/0/0 unit 1 family inet6 set interfaces si-0/0/0 unit 1 service-domain inside set interfaces si-0/0/0 unit 2 family inet set interfaces si-0/0/0 unit 2 family inet6 set interfaces si-0/0/0 unit 2 service-domain outside set interfaces si-0/0/0 unit 3 family inet set interfaces si-0/0/0 unit 3 family inet6 set interfaces si-0/1/0 unit 1 family inet set interfaces si-0/1/0 unit 1 family inet6 set interfaces si-0/1/0 unit 1 service-domain inside set interfaces si-0/1/0 unit 2 family inet set interfaces si-0/1/0 unit 2 family inet6 set interfaces si-0/1/0 unit 2 service-domain outside set interfaces si-0/1/0 unit 3 family inet set interfaces si-0/1/0 unit 3 family inet6
Configure each si- interface for inside and outside service domains. You must configure both inet and inet6 interfaces for Express Path in the CSDS solution.
Configure the inline service set for the Express Path forward flow from the client to the server.
[edit] set services service-set service-offload-fwd service-offloading-rule offload_rule_fwd set services service-set service-offload-fwd next-hop-service inside-service-interface si-0/0/0.1 set services service-set service-offload-fwd next-hop-service outside-service-interface si-0/0/0.2 set services service-set service-offload-fwd next-hop-service control-service-interface si-0/0/0.3
Define a service set,
service-offload-fwd, for the forward flow and associate the service set with a service offloading rule,offload_rule_fwd. Incoming packets from the client that match the service set use the inside service interface,si-0/0/0.1, for session lookup. Packets exit the outside service interface,si-0/0/0.2, for the same service set to reach the server. The control service interface,si-0/0/0.3, handles management and control traffic such as adding or deleting a forward flow based on the firewall's guidance.Configure the inline service set for the Express Path reverse flow from the server to the client.
[edit] set services service-set service-offload-rev service-offloading-rule offload_rule_rev set services service-set service-offload-rev next-hop-service inside-service-interface si-0/1/0.1 set services service-set service-offload-rev next-hop-service outside-service-interface si-0/1/0.2 set services service-set service-offload-rev next-hop-service control-service-interface si-0/1/0.3
Define a service set,
service-offload-rev, for the reverse flow and associate the service set with a service offloading rule,offload_rule_rev. Packets from the server that match the service set use the inside service interface,si-0/1/0.1, for session lookup. Packets exit the outside service interface,si-0/1/0.2, for the same service set to reach the client. The control service interface,si-0/1/0.3, handles management and control traffic such as adding or deleting a reverse flow based on the firewall's guidance.
On the router, configure service offloading rule for Express Path.
[edit] set services service-offloading service-offloading-rule offload_rule_fwd tlb-vrf EXTRA_TRUST set services service-offloading service-offloading-rule offload_rule_fwd ip-reassembly partial set services service-offloading service-offloading-rule offload_rule_rev tlb-vrf EXTRA_UNTRUST set services service-offloading service-offloading-rule offload_rule_rev ip-reassembly partial
Apply the service offloading rule,
offload_rule_fwd, on the trust side for the service offload VRF,EXTRA_TRUST, and the partial IP reassembly support. Apply the service offloading rule,offload_rule_rev, on the untrust side for the service offload VRF,EXTRA_UNTRUST, and enable partial IP reassembly support.On the router, associate the control interface to your CSDS-TO configuration.
Associate the control interface with the trust CSDS-TO instance.
[edit] set services traffic-load-balance instance csds_sfw_trust group srx_trust_group control-interface si-0/0/0.3 set services traffic-load-balance instance csds_sfw_trust real-service MNHA_SRX1 service-id 1 set services traffic-load-balance instance csds_sfw_trust real-service MNHA_SRX2 service-id 2 set services traffic-load-balance instance ipv6_csds_sfw_trust group ipv6_trust_group control-interface si-0/0/0.3 set services traffic-load-balance instance ipv6_csds_sfw_trust real-service IPv6_MNHA_SRX1 service-id 21 set services traffic-load-balance instance ipv6_csds_sfw_trust real-service IPv6_MNHA_SRX2 service-id 22
The control interface,
si-0/0/0.3, is the service offload interface in thesrx_trust_groupwithin thecsds_sfw_trustload balancing instance. Service IDs 1 and 2 are the different services within thecsds_sfw_trustload balancing instance forMNHA_SRX1andMNHA_SRX2in your services plane. You'll see similar configuration for IPv6 instances on the trust side. See Traffic Load Balancer to learn more.Associate the control interface with the untrust CSDS-TO instance.
[edit] set services traffic-load-balance instance csds_sfw_untrust group srx_untrust_group control-interface si-0/1/0.3 set services traffic-load-balance instance ipv6_csds_sfw_ut group ipv6_untrust_group control-interface si-0/1/0.3 set services traffic-load-balance instance csds_sfw_untrust real-service UNTRUST_SRX1 service-id 11 set services traffic-load-balance instance csds_sfw_untrust real-service UNTRUST_SRX2 service-id 12 set services traffic-load-balance instance ipv6_csds_sfw_ut real-service IPv6_UNTRUST_SRX1 service-id 31 set services traffic-load-balance instance ipv6_csds_sfw_ut real-service IPv6_UNTRUST_SRX2 service-id 32
The control interface,
si-0/1/0.3, is the service offload interface in thesrx_untrust_groupwithin thecsds_sfw_untrustload balancing instance. Service IDs 11 and 12 are the different services within thecsds_sfw_untrustload balancing instance forUNTRUST_vSRX1andUNTRUST_vSRX2in your services plane. You'll see similar configuration for IPv6 instances on the untrust side.
On the router, configure firewall filters and routing instances to offload traffic.
Configure firewall filter and routing instance on client-facing service interface.
[edit] set firewall family inet filter MX_LB_TRUST term SFW44_csds_traffic then routing-instance OFFLOAD_INPUT_VR set firewall family inet6 filter IPv6_MX_LB_TRUST term SFWv6_csds_traffic then routing-instance OFFLOAD_INPUT_VR set routing-instances OFFLOAD_INPUT_VR instance-type virtual-router set routing-instances OFFLOAD_INPUT_VR routing-options rib OFFLOAD_INPUT_VR.inet6.0 static route ::/0 next-hop si-0/0/0.1 set routing-instances OFFLOAD_INPUT_VR routing-options static route 0.0.0.0/0 next-hop si-0/0/0.1 set routing-instances OFFLOAD_INPUT_VR interface si-0/0/0.1 set routing-instances TRUST_VR interface si-0/0/0.3 set routing-instances TRUST_VR interface si-0/1/0.2
Configure the firewall filters and routing instances for the traffic passing through the si- interface for the forward direction.
Configure firewall filter and routing instance on server-facing service interface.
[edit] set firewall family inet filter MX_LB_UNTRUST term SFW44_csds_traffic then routing-instance OFFLOAD_OUTPUT_VR set firewall family inet6 filter IPv6_MX_LB_UNTRUST term SFWv6_csds_traffic then routing-instance OFFLOAD_OUTPUT_VR set routing-instances OFFLOAD_OUTPUT_VR instance-type virtual-router set routing-instances OFFLOAD_OUTPUT_VR routing-options rib OFFLOAD_OUTPUT_VR.inet6.0 static route ::/0 next-hop si-0/1/0.1 set routing-instances OFFLOAD_OUTPUT_VR routing-options static route 0.0.0.0/0 next-hop si-0/1/0.1 set routing-instances OFFLOAD_OUTPUT_VR interface si-0/1/0.1 set routing-instances UNTRUST_VR interface si-0/0/0.2 set routing-instances UNTRUST_VR interface si-0/1/0.3
Configure the firewall filters and routing instances for the traffic passing through the si- interface for the reverse direction.
Configure a routing instance for post-session offloaded traffic.
[edit] set routing-instances EXTRA_TRUST instance-type virtual-router set routing-instances EXTRA_TRUST forwarding-options family inet filter input MX_EXTRA_TRUST set routing-instances EXTRA_TRUST forwarding-options family inet6 filter input IPv6_EXTRA_TRUST set routing-instances EXTRA_UNTRUST instance-type virtual-router set routing-instances EXTRA_UNTRUST forwarding-options family inet filter input MX_EXTRA_UNTRUST set routing-instances EXTRA_UNTRUST forwarding-options family inet6 filter input IPv6_EXTRA_UNTRUST
Define a routing instance,
EXTRA_TRUST, on the forward flow and associate an input filterMX_EXTRA_TRUSTto proceed for session offloading. Create a similar configuration for inet and inet6 traffic for the reverse flow.Configure the firewall filter for post-session offloaded traffic.
[edit] set firewall family inet filter MX_EXTRA_TRUST term SFW44_csds_traffic from source-address 172.160.0.0/12 set firewall family inet filter MX_EXTRA_TRUST term SFW44_csds_traffic then count SFW44_csds_forward_traffic set firewall family inet filter MX_EXTRA_TRUST term SFW44_csds_traffic then routing-instance srx_mnha_group_tlb-trust_fi set firewall family inet filter MX_EXTRA_UNTRUST term SFW44_csds_traffic from destination-address 172.160.0.0/12 set firewall family inet filter MX_EXTRA_UNTRUST term SFW44_csds_traffic then count SFW44_csds_return_traffic set firewall family inet filter MX_EXTRA_UNTRUST term SFW44_csds_traffic then routing-instance srx_mnha_group_tlb-untrust_fi set firewall family inet6 filter IPv6_EXTRA_TRUST term SFWv6_csds_traffic_traffic from source-address 2001:db8:172:160::/96 set firewall family inet6 filter IPv6_EXTRA_TRUST term SFWv6_csds_traffic_traffic then count SFWV6_csds_forward_traffic set firewall family inet6 filter IPv6_EXTRA_TRUST term SFWv6_csds_traffic_traffic then routing-instance srx_mnha_group_trust_fi set firewall family inet6 filter IPv6_EXTRA_TRUST term other_traffic then count other_traffic set firewall family inet6 filter IPv6_EXTRA_TRUST term other_traffic then accept set firewall family inet6 filter IPv6_EXTRA_UNTRUST term SFWv6_tlb_traffic_traffic from destination-address 2001:db8:172:160::/96 set firewall family inet6 filter IPv6_EXTRA_UNTRUST term SFWv6_tlb_traffic_traffic then count SFW66_tlb_return_traffic set firewall family inet6 filter IPv6_EXTRA_UNTRUST term SFWv6_tlb_traffic_traffic then routing-instance srx_mnha_group_untrust_fi set firewall family inet6 filter IPv6_EXTRA_UNTRUST term other_traffic then count other_traffic set firewall family inet6 filter IPv6_EXTRA_UNTRUST term other_traffic then accept
Define input filters,
MX_EXTRA_TRUSTandIPv6_EXTRA_TRUST, to match the post-session offloaded traffic in the forward flow. Route the traffic to the respective service CSDS-TO based load-balancing routing instance,srx_mnha_group_trust_fi. If you don't use Express Path for your CSDS solution, you must define CSDS-TO routing instance in the firewall filter,MX_LB_TRUST, on trust side for forward data traffic. See Example: Single MX Series (CSDS Traffic Orchestrator) and Scaled-Out SRX Series Firewall (MNHA) for Stateful Firewall for more details. Create a similar configuration for inet and inet6 traffic for the reverse flow.
Configuration on SRX1-A and SRX1-B
On the firewall, configure offload-specific configuration for CSDS Express Path. See steps 1 and 2.
Configure virtual offload on SRX1-A. Use the same configuration on SRX1-B.
[edit] set security forwarding-options services-offload virtual-offload source-identity-profile trust family inet local-ip 192.168.10.1 set security forwarding-options services-offload virtual-offload source-identity-profile trust family inet service-id 1 set security forwarding-options services-offload virtual-offload source-identity-profile trust family inet6 local-ip 2001:db8:1:255::1 set security forwarding-options services-offload virtual-offload source-identity-profile trust family inet6 service-id 21 set security forwarding-options services-offload virtual-offload source-identity-profile untrust family inet local-ip 192.168.10.1 set security forwarding-options services-offload virtual-offload source-identity-profile untrust family inet service-id 11 set security forwarding-options services-offload virtual-offload source-identity-profile untrust family inet6 local-ip 2001:db8:1:255::1 set security forwarding-options services-offload virtual-offload source-identity-profile untrust family inet6 service-id 31 set security forwarding-options services-offload virtual-offload interface ae1.0 remote-ip 192.168.10.251 set security forwarding-options services-offload virtual-offload interface ae1.0 remote-ip 2001:db8:1:255::251 set security forwarding-options services-offload virtual-offload interface ae1.0 source-identity trust set security forwarding-options services-offload virtual-offload interface ae1.1 remote-ip 192.168.10.252 set security forwarding-options services-offload virtual-offload interface ae1.1 remote-ip 2001:db8:1:255::252 set security forwarding-options services-offload virtual-offload interface ae1.1 source-identity untrust
The firewall enables session-offloading to the router when you configure the
virtual-offloadoption at the[security forwarding-options services-offload]hierarchy. Usevirtual-offloadoption to enable the firewall to offload sessions to the router in CSDS solution. Define thesource-identity-profileoption to include the local IP address and the service ID for the trust and untrust sides for control traffic processing. Configure the interfaces ae1.0 and ae1.1 to connect to the router's trust side for client traffic and untrust side for server traffic.Configure virtual offload on SRX2-A. Use the same configuration on SRX2-B.
[edit] set security forwarding-options services-offload virtual-offload source-identity-profile trust family inet local-ip 192.168.10.2 set security forwarding-options services-offload virtual-offload source-identity-profile trust family inet service-id 2 set security forwarding-options services-offload virtual-offload source-identity-profile trust family inet6 local-ip 2001:db8:1:255::2 set security forwarding-options services-offload virtual-offload source-identity-profile trust family inet6 service-id 22 set security forwarding-options services-offload virtual-offload source-identity-profile untrust family inet local-ip 192.168.10.2 set security forwarding-options services-offload virtual-offload source-identity-profile untrust family inet service-id 12 set security forwarding-options services-offload virtual-offload source-identity-profile untrust family inet6 local-ip 2001:db8:1:255::2 set security forwarding-options services-offload virtual-offload source-identity-profile untrust family inet6 service-id 32 set security forwarding-options services-offload virtual-offload interface ae2.0 remote-ip 192.168.10.251 set security forwarding-options services-offload virtual-offload interface ae2.0 remote-ip 2001:db8:1:255::251 set security forwarding-options services-offload virtual-offload interface ae2.0 source-identity trust set security forwarding-options services-offload virtual-offload interface ae2.1 remote-ip 192.168.10.252 set security forwarding-options services-offload virtual-offload interface ae2.1 remote-ip 2001:db8:1:255::252 set security forwarding-options services-offload virtual-offload interface ae2.1 source-identity untrust
When you assign the profiles to the relevant interfaces, the firewall allows the control packets to be processed with predefined tuples. As the traffic flows in both directions between the client and server, create one profile for each of the two logical interfaces with both IPv4 and IPv6 support. The process ensures precise routing and communication between the devices in CSDS topology. See CSDS Components for Express Path for more information.
Express Path is set up in CSDS topology.
Verification
Use the following commands for verification on the router:
-
show services traffic-load-balance statistics
Use the following commands for verification on the firewall:
-
show security flow service-offload virtual-offload statistics all -
show security flow service-offload virtual-offload statistics interface-name
See show security flow service-offload virtual-offload statistics (CSDS) and clear security flow service-offload virtual-offload statistics (CSDS) for more details about these commands.