Table Of Contents
Configuring Local AAA Server, User Database—Domain to VRF
Feature History for Local AAA Server, User Database—Domain to VRF
Prerequisites for Local AAA Server, User Database—Domain to VRF
Establishing a PPP Connection
AAA Authentication
AAA Authorization
AAA Accounting
AAA Attribute Lists
Converting from RADIUS Format to Cisco IOS AAA Format
Defining AAA Attribute Lists
Subscriber Profiles
AAA Method Lists
Configuration Tasks for Local AAA Server, User Database—Domain to VRF Using Local Attributes
Defining AAA
Defining RADIUS and Enabling NAS-PORT
Defining a VRF
Applying AAA to a Virtual Template
Defining a Loopback Interface
Creating an IP Address Pool
Defining a Subscriber Profile
Defining an AAA Attribute List
Verifying Local AAA Server, User Database—Domain to VRF Using Local Attributes
Configuration Example for Local AAA Server, User Database—Domain to VRF
Example—VRF with DBS
Example—VRF with ACL
Monitoring and Maintaining Local AAA Server, User Database—Domain to VRF
Configuring Local AAA Server, User Database—Domain to VRF
The Local AAA Server, User Database—Domain to VRF feature extends the Cisco IOS AAA Authorization to local AAA profiles on the router without using an AAA Server. The local user database acts as a local AAA server, and is fully compatible with any external AAA Server. If you want to maintain your user database locally or provide a failover local mechanism, you no longer have to sacrifice policy options when defining local users.
This flexibility allows you to provide complete user authentication and authorization locally within Cisco IOS without using an AAA Server, provided the local username list is relatively small. While authentication can be done on the router for a limited number of user names, it might make more sense and be much more scalable to use an AAA Server. Note that accounting is still be done on an AAA server and is not be supported on the router.
The key function that this feature provides is a mapping of user domain names to local AAA profiles. This allows AAA attributes to be applied to the PPP session as part of the PPP session establishment. These local AAA attributes are RADIUS attributes that would normally be defined on a Radius Server but now are defined locally on the router.
Subscriber profiles are used to match user domain names, and on a match to use a defined AAA attribute list. The AAA attribute list contains a list of valid Cisco IOS format AAA attributes.
Note
Domain to subscriber profile matching is a global match. Limiting which domains are permitted or denied per PPPoE bba-group or PVC is not supported.
This chapter describes the Local AAA Server, User Database—Domain to VRF feature in the following topics:
•
Feature History for Local AAA Server, User Database—Domain to VRF
•
Prerequisites for Local AAA Server, User Database—Domain to VRF
•
Establishing a PPP Connection
•
AAA Attribute Lists
•
Subscriber Profiles
•
AAA Method Lists
•
Configuration Tasks for Local AAA Server, User Database—Domain to VRF Using Local Attributes
•
Verifying Local AAA Server, User Database—Domain to VRF Using Local Attributes
•
Configuration Example for Local AAA Server, User Database—Domain to VRF
•
Monitoring and Maintaining Local AAA Server, User Database—Domain to VRF
Feature History for Local AAA Server, User Database—Domain to VRF
Cisco IOS Release
|
Description
|
Required PRE
|
12.3(7)XI1
|
This feature was introduced on the Cisco 10000 series router.
|
PRE2
|
12.2(28)SB
|
This feature was integrated into Cisco IOS Release 12.2(28)SB.
|
PRE2
|
Prerequisites for Local AAA Server, User Database—Domain to VRF
The Local AAA Server, User Database—Domain to VRF feature has the following requirements:
•
Configure an external AAA as described in Cisco IOS Security Configuration Guide, Cisco IOS Release 12.2.
Establishing a PPP Connection
The following example describes the sequence of events involved in setting up AAA authentication, authorization, and accounting when a PPP connection is established and a local AAA server is used.
AAA Authentication
Figure 11-1 shows the AAA authentication set up when establishing a PPP connection.
Figure 11-1 AAA Authentication
In the figure, the PPP client attempts to establish a PPP session with user@domain. This PAP or CHAP user name request is forwarded to the broadband remote access server (BRAS) for authentication. Authentication could be done locally on the BRAS, but in most cases the authentication is forwarded to a RADIUS server. The RADIUS server looks up the user@domain or user (if the BRAS strips off the domain), and if found sends a RADIUS ACK back to the BRAS. The BRAS sends a PAP or CHAP ACK back to the PPP client.
AAA Authorization
Figure 11-2 shows the AAA authorization set up when establishing a PPP connection.
Figure 11-2 AAA Authorization
In the figure, the PPP client requests an IP address using PPP IPCP to the BRAS. The BRAS does a match of the domain to a local profile. This local profile contains the VRF to assign to this PPP session. The BRAS replies back to the PPP client with an IP address from the defined IP address pool in the local profile.
AAA Accounting
Figure 11-3 shows the AAA accounting set up when establishing a PPP connection.
Figure 11-3 AAA Accounting
In the figure, the BRAS can be configured to provide AAA accounting start/stop and periodic records for each PPP session. The BRAS can also be configured to provide NAS-Port information in the accounting records that will detail the slot/card/interface and VPI/VCI or VLAN.
AAA Attribute Lists
AAA Attribute Lists are used by the subscriber profiles when there is a match of the user name domain. These lists define RADIUS user profiles local to the router. The attributes are available for configuration using the aaa attribute list name global configuration command. Every attribute known to AAA is made available for configuration.
The AAA attributes that are defined in the AAA attribute list are standard RADIUS attributes, however they are in the Cisco IOS AAA format of the attribute. You must convert the attributes from RADIUS format to Cisco IOS AAA format.
Converting from RADIUS Format to Cisco IOS AAA Format
Use the show aaa attribute protocol radius command to get the Cisco IOS AAA format of the IETF RADIUS Attribute. This provides a complete list of all the aaa attributes supported. The following is an example where you need to convert the RADIUS attribute Filter-Id to Cisco IOS AAA format. This example represents part of the output of the show aaa attribute protocol radius command.
IIETF defined attributes:
Type=4 Name=acl Format=Ulong
Unknown Type=11 Name=Filter-Id Format=Binary
Cisco IOS converts the IETF RADIUS attribute 11 (Filter-Id) of type Binary into an internal attribute named acl of type Ulong. Now you can configure this attribute locally using the attribute type acl.
Note
You cannot add new AAA attributes during the conversion process. The conversion is only making the attributes configurable and usable locally on the router. The defined local AAA attributes must be supported RADIUS attributes.
Defining AAA Attribute Lists
Typically, you define an AAA attribute list for each user name domain. Cisco IOS Release 12.3(7)XI1 introduces the following two new commands to define local AAA attribute lists and attribute types:
Command
|
Purpose
|
Router(config)# aaa attribute list aaa attribute list name
|
Defines an AAA attribute list locally on the router. This attribute list is applied to the PPP session.
aaa attribute name is the name of the local AAA attribute list.
|
Router(config)# aaa attribute type name value [service ppp] [protocol {ip | atm | vpdn}] [tag]
|
Defines an AAA attribute locally on the router. These attributes are RADIUS attributes in Cisco IOS AAA format.
name defines the Cisco IOS AAA internal name of the IETF RADIUS attribute.
value defines a string, binary, or IPv4 address value. This is the RADIUS attribute that is being defined but in IOS AAA format.
service defines the access method, which is typically PPP.
protocol can be ip, atm, or vpdn.
tag provides a means of grouping attributes that refer to the same VPDN tunnel.
|
The following is an example of the commands you use to configure method lists:
aaa attribute list <name>
attribute type <name> <value> <service> <protocol> <tag>
Subscriber Profiles
Subscriber profiles are used to match user domain names, and on a match to use a defined AAA attribute list. Cisco IOS Release 12.3(7)XI1 introduces the following new command to define subscriber profiles:
Command
|
Purpose
|
Router(config)# subscriber profile domain-name
|
Defines an AAA attribute list locally on the router. This attribute list is applied to the PPP session.
domain-name is the PPP user name domain.
|
The following is an example of the commands you use to configure a subscriber profile:
subscriber authorization enable
subscriber profile domain-name
aaa attribute list aaa attribute list name
AAA Method Lists
The AAA method lists are defined to use RADIUS for authentication and accounting. Authorization is done locally using the AAA attribute lists. Defining the AAA attribute lists for PPP under the virtual template no longer requires defining the AAA lists. Instead, a default authentication and authorization list can be defined on the virtual template and the AAA method lists can be defined in the AAA attribute lists. 2000 method lists are supported.
Using method lists does require that you define aaa authentication ppp default and aaa authorization network default lists. The following is an example of the commands you use to configure method lists:
interface virtual-template
ppp authentication pap chap
aaa authentication ppp default local
aaa authorization network default local
aaa authentication ppp method list name group radius
aaa authorization network method list name local if-authenticated
aaa accounting network method list name start-stop group radius
aaa attribute list <domain name>
attribute type ppp-authen-list "method list name"
attribute type ppp-author-list "method list name"
attribute type ppp-acct-list "method list name"
Configuration Tasks for Local AAA Server, User Database—Domain to VRF Using Local Attributes
To configure a user name domain to a VRF using local AAA attributes, perform the following configuration tasks:
•
Defining AAA
•
Defining RADIUS and Enabling NAS-PORT
•
Defining a VRF
•
Applying AAA to a Virtual Template
•
Defining a Loopback Interface
•
Creating an IP Address Pool
•
Defining a Subscriber Profile
•
Defining an AAA Attribute List
Defining AAA
To define AAA (authentication, authorization, and accounting), enter the following commands in global configuration mode:
|
Command
|
Purpose
|
Step 1
|
Router(config)# aaa new-model
|
Enables the AAA access control model.
|
Step 2
|
Router(config)# aaa authentication ppp
list-name group radius
|
Specifies RADIUS to authenticate the PPP user name.
|
Step 3
|
Router(config)# aaa authorization network
list-name local if-authenticated
|
Specifies to use the local profile if authenticated.
|
Step 4
|
Router(config)# aaa accounting network
list-name start-stop group radius
|
Specifies RADIUS accounting as optional.
|
Step 5
|
Router(config)# aaa authentication ppp
default local
|
Required to allow the definition of the AAA authentication list in the AAA attribute list.
|
Step 6
|
Router(config)# aaa authorization network
default local
|
Required to allow the definition of the AAA authorization list in the AAA attribute list.
|
Defining RADIUS and Enabling NAS-PORT
To define RADIUS and enable NAS-PORT, enter the following commands in global configuration mode:
|
Command
|
Purpose
|
Step 1
|
Router(config)# radius-server host
ip-address auth-port 1645 acct-port 1646
key password
|
Defines the Radius server that AAA authentication, authorization and accounting requests are sent to.
|
Step 2
|
Router(config)# radius-server attribute
nas-port format d
|
Defines NAS-Port information to be sent to the AAA accounting server. (optional)
|
Defining a VRF
To define a VRF, enter the following commands beginning in global configuration mode:
|
Command
|
Purpose
|
Step 1
|
Router(config)# ip vrf vrf-name
|
Enters VRF configuration mode and defines the VRF instance by assigning a VRF name.
|
Step 2
|
Router(config-vrf)# rd
route-distinguisher
|
Creates routing and forwarding tables.
|
Step 3
|
Router(config-vrf)# route-target {import
| export | both}
route-target-ext-community
|
Creates a list of import an export route target communities for the specified VRF.
|
Applying AAA to a Virtual Template
To apply AAA to a virtual template, enter the following commands in global configuration mode:
|
Command
|
Purpose
|
Step 1
|
Router(config)# interface
virtual-template number
|
Defines the virtual template to use for PPP.
|
Step 2
|
Router(config)# ppp mtu adaptive
|
For PPPoE, defines auto negotiation of MTU size.
|
Step 3
|
Router(config)# ppp authentication pap
chap
|
Enables PAP, then CHAP, for PPP authentication.
|
Defining a Loopback Interface
To define a loopback interface, enter the following commands in global configuration mode:
|
Command
|
Purpose
|
Step 1
|
Router(config)# interface loopback number
|
Defines a loopback for the PPP session.
|
Step 2
|
Router(config)# ip vrf forwarding vrf
name
|
Enables VRF forwarding.
|
Step 3
|
Router(config)# ip address address mask
|
Sets the IP address.
|
Creating an IP Address Pool
To an IP address pool, enter the following command in global configuration mode:
|
Command
|
Purpose
|
Step 1
|
Router(config)# ip local pool start
address end address
|
Defines an IP pool from which the PPP sessions are IP addresses.
|
Defining a Subscriber Profile
To define a subscriber profile, enter the following commands in global configuration mode:
|
Command
|
Purpose
|
Step 1
|
Router(config)# subscriber authorization
enable
|
Enables subscriber authorization.
|
Step 2
|
Router(config)# subscriber profile
domain-name
|
Specifies the user name domain to match.
|
Step 3
|
Router(config)# service local
|
Specifies to perform local subscriber authorization.
|
Step 4
|
Router(config)# aaa attribute list aaa
attribute-list name
|
Defines the AAA attribute list from which to get RADIUS attributes and that is applied to the PPP session.
|
Defining an AAA Attribute List
To define AAA attribute list, enter the following commands in global configuration mode:
|
Command
|
Purpose
|
Step 1
|
Router(config)# aaa attribute list aaa
attribute-list name
|
Defines an AAA attribute list.
|
Step 2
|
Router(config)# attribute type addr-pool
pool_name protocol ip
|
Defines an IP address pool to use.
|
Step 3
|
Router(config)# attribute type
ip-unnumbered loopback number service ppp
protocol ip
|
Defines the loopback interface to use.
|
Step 4
|
Router(config)# attribute type vrf-id
vrf_name service ppp protocol ip
|
Defines the VRF to use.
|
Step 5
|
Router(config)# attribute type
ppp-authen-list aaa_list_name
|
Defines the AAA authentication list to use.
|
Step 6
|
Router(config)# attribute type
ppp-author-list aaa_list_name
|
Defines the AAA authorization list to use.
|
Step 7
|
Router(config)# attribute type
ppp-acct-list aaa_list_name
|
Defines the AAA accounting list to use.
|
Verifying Local AAA Server, User Database—Domain to VRF Using Local Attributes
To verify domain to VRF using local attributes, use the show aaa users all command and the show running-config command. See the next section for a configuration example.
Configuration Example for Local AAA Server, User Database—Domain to VRF
The following configuration example has two subscriber profiles that match on domain cisco1.com and cisco2.com.
A subscriber with the domain name cisco1.com uses the parameters defined in the subscriber profile cisco1.com. The name of the subscriber profile must be identical to the domain part of the full username (username@domain). An attribute list cisco1.com defined in the service profile is used to reference AAA attributes for the PPP subscribers.
Subscriber cisco1.com is applied with AAA attributes from AAA attribute list cisco1.com. An attribute is applied to put the PPP session into a VRF called vrf1. An IP address is assigned from a local DHCP pool called dhcp-pool. AAA authentication, authorization, and accounting are also defined and use an AAA list called test1. These all use an AAA group server called group_server_test1.
A subscriber with the domain name cisco2.com uses the parameters defined in the subscriber profile cisco2.com. The name of the subscriber profile must be identical to the domain part of the full username (username@domain). An attribute list cisco2.com defined in the service profile is used to reference aaa attributes for the PPP subscribers.
Subscriber cisco2.com is applied with AAA attributes from AAA attribute list cisco2.com. An attribute is applied to put the PPP session into a VRF called vrf2. An IP address is assigned from a local pool called pppoe2. AAA authentication, authorization, and accounting are also defined and use an AAA list called test2. These all use an AAA group server called group_server_test2.
aaa group server radius group_server_test1
server-private 192.168.2.20 auth-port 1645 acct-port 1646 key cisco
aaa group server radius group_server_test2
server-private 192.168.2.12 auth-port 1645 acct-port 1646 key cisco
aaa authentication ppp default local
aaa authentication ppp test1 group test1
aaa authentication ppp test2 group test2
aaa authorization network default local
aaa authorization network test1 local if-authenticated
aaa authorization network test2 local if-authenticated
aaa accounting delay-start all
aaa accounting network test1 start-stop group group_server_test1
aaa accounting network test2 start-stop group group_server_test2
aaa attribute list cisco1.com
attribute type addr-pool "dhcp-pool" protocol ip
attribute type ip-unnumbered "loopback1" service ppp protocol ip
attribute type vrf-id "vrf1" service ppp protocol ip
attribute type ppp-authen-list "test1"
attribute type ppp-author-list "test1"
attribute type ppp-acct-list "test1"
aaa attribute list cisco2.com
attribute type addr-pool "pppoe2" protocol ip
attribute type ip-unnumbered "loopback2" service ppp protocol ip
attribute type vrf-id "vrf2" service ppp protocol ip
attribute type ppp-authen-list "test2"
attribute type ppp-author-list "test2"
attribute type ppp-acct-list "test2"
network 101.1.0.0 255.255.0.0
subscriber authorization enable
subscriber profile cisco1.com
aaa attribute list cisco1.com
subscriber profile cisco2.com
aaa attribute list cisco2.com
buffers small permanent 15000
buffers middle permanent 12000
buffers large permanent 1000
bba-group pppoe cisco1.com
bba-group pppoe cisco2.com
ip address 100.1.1.1 255.255.255.255
ip address 101.1.1.1 255.255.255.255
interface FastEthernet0/0/0
interface ATM1/0/0.1 multipoint
encapsulation aal5autoppp Virtual-Template1 group cisco1.com
interface ATM1/0/0.2 multipoint
encapsulation aal5autoppp Virtual-Template2 group cisco2.com
interface FastEthernet6/0/0
ip address 192.168.2.201 255.255.255.0
interface FastEthernet6/0/1
ip address 192.168.2.202 255.255.255.0
interface Virtual-Template1
no logging event link-status
ppp authentication chap callin
ip local pool pppoe2 12.1.1.1 12.1.250.1
ip radius source-interface FastEthernet6/0/0.1 vrf vrf1
ip radius source-interface FastEthernet6/0/0.2 vrf vrf2
radius-server attribute nas-port format d
radius-server domain-stripping
Example—VRF with DBS
Applying the PCR and SCR to this PPP:
aaa attribute list cisco1.com
attribute type addr-pool "pppoe" protocol ip
attribute type ip-unnumbered "loopback1" service ppp protocol ip
attribute type vrf-id "vrf1" service ppp protocol ip
attribute type peak-cell-rate 2048 protocol atm
attribute type sustainable-cell-rate 1024 protocol atm
Example—VRF with ACL
Applying a defined output ACL to this PPP:
aaa attribute list cisco1.com
attribute type addr-pool "pppoe" protocol ip
attribute type ip-unnumbered "loopback1" service ppp protocol ip
attribute type vrf-id "vrf1" service ppp protocol ip
attribute type outacl "101" service ppp protocol ip
access-list 101 deny icmp any any
Monitoring and Maintaining Local AAA Server, User Database—Domain to VRF
The following debug commands can be helpful in monitoring and maintaining Local AAA Server, User Database—Domain to VRF:
•
debug aaa id—displays a unique key for a session and provides a way to track sessions
•
debug aaa authentication—displays the methods of authentication being used and the results of these methods
•
debug aaa authorization—displays the methods of authorization being used and the results of these methods
•
debug aaa per-user—displays information about per-user QoS parameters
•
debug ppp negotiation—shows PPP negotiation debug messages
•
debug ppp authen—indicates if a client is passing authentication
•
debug ppp error—displays protocol errors and error statistics associated with PPP connection negotiation and operation
•
debug ppp forward—displays who is taking control of a session
•
debug sss error—displays diagnostic information about errors that may occur during Subscriber Service Switch (SSS) call setup
•
debug radius—displays information about the RADIUS server
Caution 
Because debugging output is assigned high priority in the CPU process, it can render the system unusable. For this reason, use debug commands only to troubleshoot specific problems or during troubleshooting sessions with Cisco Systems technical support personnel. Moreover, it is best to use debug commands during periods of lower network traffic and fewer users. Debugging during these periods decreases the likelihood that increased debug command processing overhead will affect system use.