Configuring Routing Instances on PE Routers in VPNs
You need to configure a routing instance for each VPN on each of the PE routers participating in the VPN. The configuration procedures outlined in this section are applicable to Layer 2 VPNs, Layer 3 VPNs, and VPLS. The configuration procedures specific to each type of VPN are described in the corresponding sections in the other configuration chapters.
To configure routing instances for VPNs, include the following statements:
description text; instance-type type; interface interface-name; route-distinguisher (as-number:number | ip-address:number); vrf-import [ policy-names ]; vrf-export [ policy-names ]; vrf-target { export community-name; import community-name; }
You can include these statements at the following hierarchy levels:
[edit routing-instances routing-instance-name][edit logical-systems logical-system-name routing-instances routing-instance-name]
To configure VPN routing instances, you perform the steps in the following sections:
Configuring the Routing Instance Name for a VPN
The name of the routing instance for a VPN can be a maximum of 128 characters and can contain
letters, numbers, and hyphens. In modern Junos OS releases, you cannot specify
default as the actual routing-instance name. You also cannot
use any special characters (! @ # $ % ^ & * , +< > : ;) within the name of
a routing instance.
You can include a slash (/) in a routing instance name only if a logical system is not configured. That is, you cannot include the slash character in a routing instance name if a logical system other than the default is explicitly configured.
Specify the routing-instance name with the routing-instance statement:
routing-instance routing-instance-name {...}
You can include this statement at the following hierarchy levels:
[edit][edit logical-systems logical-system-name]
Configuring the Description
To provide a text description for the routing instance, include
the description statement. If the text includes one or
more spaces, enclose them in quotation marks (" "). Any descriptive
text you include is displayed in the output of the show route
instance detail command and has no effect on the operation of
the routing instance.
To configure a text description, include the description statement:
description text;
You can include this statement at the following hierarchy levels:
[edit routing-instances routing-instance-name][edit logical-systems logical-system-name routing-instances routing-instance-name]
Configuring the Instance Type
The instance type you configure varies depending on whether
you are configuring Layer 2 VPNs, Layer 3 VPNs, VPLS, or
virtual routers. Specify the instance type by including the instance-type statement:
To enable Layer 2 VPN routing on a PE router, include the
instance-typestatement and specify the valuel2vpn:instance-type l2vpn;
To enable VPLS routing on a PE router, include the
instance-typestatement and specify the valuevpls:instance-type vpls;
Layer 3 VPNs require that each PE router have a VPN routing and forwarding (VRF) table for distributing routes within the VPN. To create the VRF table on the PE router, include the
instance-typestatement and specify the valuevrf:instance-type vrf;
Note:Routing Engine based sampling is not supported on VRF routing instances.
To enable the virtual-router routing instance, include the
instance-typestatement and specify the valuevirtual-router:instance-type virtual-router;
You can include this statement at the following hierarchy levels:
[edit routing-instances routing-instance-name][edit logical-systems logical-system-name routing-instances routing-instance-name]
Configuring Interfaces for VPN Routing
On each PE router, you must configure an interface over which the VPN traffic travels between the PE and CE routers.
The sections that follow describe how to configure interfaces for VPNs:
- General Configuration for VPN Routing
- Configuring Interfaces for Layer 3 VPNs
- Configuring Interfaces for Carrier-of-Carriers VPNs
- Configuring Unicast RPF on VPN Interfaces
General Configuration for VPN Routing
The configuration described in this section applies to all types of VPNs. For Layer 3 VPNs and carrier-of-carriers VPNs, complete the configuration described in this section before proceeding to the interface configuration sections specific to those topics.
To configure interfaces for VPN routing, include the interface statement:
interface interface-name;
You can include this statement at the following hierarchy levels:
[edit routing-instances routing-instance-name][edit logical-systems logical-system-name routing-instances routing-instance-name]
Specify both the physical and logical portions of the interface name, in the following format:
physical.logical
For example, in at-1/2/1.2, at-1/2/1 is
the physical portion of the interface name and 2 is the
logical portion. If you do not specify the logical portion of the
interface name, the value 0 is set by default.
A logical interface can be associated with only one routing
instance. If you enable a routing protocol on all instances by specifying interfaces all when configuring the master instance of the
protocol at the [edit protocols] hierarchy level, and if
you configure a specific interface for VPN routing at the [edit
routing-instances routing-instance-name] hierarchy level or at the [edit logical-systems logical-system-name routing-instances routing-instance-name] hierarchy level, the latter interface statement takes precedence
and the interface is used exclusively for the VPN.
If you explicitly configure the same interface name at the [edit protocols] hierarchy level and at either the [edit
routing-instances routing-instance-name] or [edit logical-systems logical-system-name routing-instances routing-instance-name] hierarchy levels, an attempt to commit the configuration fails.
Configuring Interfaces for Layer 3 VPNs
When you configure the Layer 3 VPN interfaces at the [edit interfaces] hierarchy level, you must also configure family inet when configuring the logical interface:
[edit interfaces]
interface-name {
unit logical-unit-number {
family inet;
}
}
Configuring Interfaces for Carrier-of-Carriers VPNs
When you configure carrier-of-carriers VPNs, you need to configure
the family mpls statement in addition to the family
inet statement for the interfaces between the PE and CE routers.
For carrier-of-carriers VPNs, configure the logical interface as follows:
[edit interfaces]
interface-name {
unit logical-unit-number {
family inet;
family mpls;
}
}
If you configure family mpls on the logical interface
and then configure this interface for a non-carrier-of-carriers routing
instance, the family mpls statement is automatically removed
from the configuration for the logical interface, since it is not
needed.
Configuring Unicast RPF on VPN Interfaces
For VPN interfaces that carry IP version 4 or version 6 (IPv4 or IPv6) traffic, you can reduce the impact of denial-of-service (DoS) attacks by configuring unicast reverse path forwarding (RPF). Unicast RPF helps determine the source of attacks and rejects packets from unexpected source addresses on interfaces where unicast RPF is enabled.
You can configure unicast RPF on a VPN interface by enabling
unicast RPF on the interface and including the interface statement at the [edit routing-instances routing-instance-name] hierarchy level.
You cannot configure unicast RPF on the core-facing interfaces. You can only configure unicast RPF on the CE router-to-PE router interfaces on the PE router. However, for virtual-router routing instances, unicast RPF is supported on all interfaces you specify in the routing instance.
For information about how to configure unicast RPF on VPN interfaces, see Understanding Unicast RPF (Routers).
Configuring the Route Distinguisher
Each routing instance that you configure on a PE router must have a unique route distinguisher associated with it. VPN routing instances need a route distinguisher to help BGP to distinguish between potentially identical network layer reachability information (NLRI) messages received from different VPNs. If you configure different VPN routing instances with the same route distinguisher, the commit fails.
For Layer 2 VPNs and VPLS, if you have configured the l2vpn-use-bgp-rules statement, you must configure a unique route distinguisher for each
PE router participating in a specific routing instance.
For other types of VPNs, we recommend that you use a unique route distinguisher for each PE router participating in the routing instance. Although you can use the same route distinguisher on all PE routers for the same VPN routing instance (except for Layer 2 VPNs and VPLS), if you use a unique route distinguisher, you can determine the CE router from which a route originated within the VPN.
To configure a route distinguisher on a PE router, include the route-distinguisher statement:
route-distinguisher (as-number:number | ip-address:number);
For a list of hierarchy levels at which you can include this statement, see the statement summary section for this statement.
The route distinguisher is a 6-byte value that you can specify in one of the following formats:
as-number:number, whereas-numberis an autonomous system (AS) number (a 2-byte value) andnumberis any 4-byte value. The AS number can be in the range 1 through 65,535. We recommend that you use an Internet Assigned Numbers Authority (IANA)-assigned, nonprivate AS number, preferably the Internet service provider’s (ISP’s) own or the customer’s own AS number.ip-address:number, whereip-addressis an IP address (a 4-byte value) andnumberis any 2-byte value. The IP address can be any globally unique unicast address. We recommend that you use the address that you configure in therouter-idstatement, which is a nonprivate address in your assigned prefix range.
Configuring Automatic Route Distinguishers
If you configure the route-distinguisher-id statement at the [edit routing-options] hierarchy level, a route distinguisher is automatically assigned
to the routing instance. If you also configure the route-distinguisher statement in addition to the route-distinguisher-id statement,
the value configured for route-distinguisher supersedes
the value generated from route-distinguisher-id.
To assign a route distinguisher automatically, include the route-distinguisher-id statement:
route-distinguisher-id ip-address;
You can include this statement at the following hierarchy levels:
[edit routing-options][edit logical-systems logical-system-name routing-options]
A type 1 route distinguisher is automatically assigned
to the routing instance using the format ip-address:number. The IP address is specified by
the route-distinguisher-id statement and the number is
unique for the routing instance.