You can perform the following tasks to configure authentication plug-ins:
You can limit the number of authenticated subscribers who connect to an IP interface on the router. This plug-in does not limit the number of unauthenticated subscribers who connect to an IP interface, and does not limit the number of subscribers who connect to a physical or link-layer interface. In the case of subscriber interfaces, the plug-in limits the number of authenticated subscribers on the subscriber interface but not on the underlying primary IP interface.
Use the following configuration statement to set up a plug-in that limits the number of subscribers who connect to interfaces:
- shared sae configuration plug-ins name name interface-subscriber-limit {
- concurrent-subscribers concurrent-subscribers ;
- }
To set up a plug-in that limits the number of subscribers on interfaces:
- user@host# edit shared sae group west-region
configuration plug-ins name subsLimit
interface-subscriber-limit
-
[edit shared sae group west-region configuration plug-ins
name subsLimit interface-subscriber-limit]
-
user@host# set concurrent-subscribers concurrent-subscribers
[edit shared sae group west-region configuration plug-ins name subsLimit interface-subscriber-limit] user@host# show concurrent-subscribers 1;
You can use basic RADIUS authentication plug-ins to send authentication information to an external RADIUS accounting server or a group of redundant servers. To communicate with nonredundant servers, you need to create additional instances of the plug-in.
Use the following configuration statements to set up basic RADIUS authentication plug-ins:
- shared sae configuration plug-ins name nam e radius-authentication {
- load-balancing-mode (failover | roundRobin);
- failback-timer failback-timer ;
- nas-ip (SspIp | ErxIp);
- retry-interval retry-interval ;
- maximum-queue-length maximum-queue-length ;
- bind-address bind-address ;
- udp-port udp-port ;
- default-peer default-peer ;
- }
To set up basic RADIUS authentication plug-ins:
- user@host# edit shared sae group west-region
configuration plug-ins name RadiusAuth
radius-authentication
-
[edit shared sae group west-region configuration plug-ins
name RadiusAuth radius-authentication]
-
user@host# set load-balancing-mode (failover | roundRobin)
-
[edit shared sae group west-region configuration plug-ins
name RadiusAuth radius-authentication]
-
user@host# set failback-timer failback-timer
-
[edit shared sae group west-region configuration plug-ins
name RadiusAuth radius-authentication]
-
user@host# set nas-ip (SspIp | ErxIp)
-
[edit shared sae group west-region configuration plug-ins
name RadiusAuth radius-authentication]
-
user@host# set retry-interval retry-interval
-
[edit shared sae group west-region configuration plug-ins
name RadiusAuth radius-authentication]
-
user@host# set maximum-queue-length maximum-queue-length
-
[edit shared sae group west-region configuration plug-ins
name RadiusAuth radius-authentication]
-
user@host# set bind-address bind-address
-
[edit shared sae group west-region configuration plug-ins
name RadiusAuth radius-authentication]
-
user@host# set udp-port udp-port
-
[edit shared sae group west-region configuration plug-ins
name RadiusAuth radius-authentication]
-
user@host# set default-peer default-peer
[edit shared sae group west-region configuration plug-ins name RadiusAuth radius-authentication] user@host# show load-balancing-mode failover; failback-timer -1; retry-interval 3000; maximum-queue-length 10000; default-peer peer1;
Flexible RADIUS authentication plug-ins provide the same features as basic RADIUS authentication plug-ins. In addition, they allow you to customize RADIUS authentication packets that the system sends to RADIUS servers and specify which fields are included in the RADIUS authentication packets and what information is contained in the fields.
Use the following configuration statements to set up flexible RADIUS authentication plug-ins:
- shared sae configuration plug-ins name name flex-radius-authentication {
- load-balancing-mode (failover | roundRobin);
- failback-timer failback-timer ;
- timeout timeout ;
- retry-interval retry-interval ;
- maximum-queue-length maximum-queue-length ;
- bind-address bind-address ;
- udp-port udp-port ;
- error-handling (0 | 1);
- default-peer default-peer;
- template template ;
- }
To set up flexible RADIUS authentication plug-ins:
- user@host# edit shared sae group west-region
configuration plug-ins name flexRadiusAuth
flex-radius-authentication
-
[edit shared sae group west-region configuration plug-ins
name flexRadiusAuth flex-radius-authentication]
-
user@host# set load-balancing-mode (failover | roundRobin)
-
[edit shared sae group west-region configuration plug-ins
name flexRadiusAuth flex-radius-authentication]
-
user@host# set failback-timer failback-timer
-
[edit shared sae group west-region configuration plug-ins
name flexRadiusAuth flex-radius-authentication]
-
user@host# set timeout timeout
-
[edit shared sae group west-region configuration plug-ins
name flexRadiusAuth flex-radius-authentication]
-
user@host# set retry-interval retry-interval
-
[edit shared sae group west-region configuration plug-ins
name flexRadiusAuth flex-radius-authentication]
-
user@host# set maximum-queue-length maximum-queue-length
-
[edit shared sae group west-region configuration plug-ins
name flexRadiusAuth flex-radius-authentication]
-
user@host# set bind-address bind-address
-
[edit shared sae group west-region configuration plug-ins
name flexRadiusAuth flex-radius-authentication]
-
user@host# set udp-port udp-port
-
[edit shared sae group west-region configuration plug-ins
name flexRadiusAuth flex-radius-authentication]
-
user@host# set error-handling (0 | 1)
-
[edit shared sae group west-region configuration plug-ins
name flexRadiusAuth flex-radius-authentication]
-
user@host# set default-peer default-peer
-
[edit shared sae group west-region configuration plug-ins
name flexRadiusAct flex-radius-accounting]
-
user@host# set template template
[edit shared sae group west-region configuration plug-ins name flexRadiusAuth flex-radius-authentication]
user@host# show
load-balancing-mode failover;
failback-timer -1;
timeout 15000;
retry-interval 3000;
maximum-queue-length 10000;
error-handling 0;
default-peer 1;
template stdAuth;
peer-group 1 {
server-address ;
server-port 1812;
secret ********;
}
The custom RADIUS authentication plug-ins provide the same functions as the flexible RADIUS authentication plug-ins, but are designed to deliver better system performance. To use a custom plug-in, you must provide a Java class that implements the SPI defined in the RADIUS client library. Use this SPI to specify which fields and field values to include in RADIUS accounting packets. The RADIUS client library is part of the SAE core API.
See the documentation for the RADIUS client library in the SAE core API documentation on the Juniper Networks Web site at
-
http://www.juniper.net/techpubs/software/management/src/api-index.html
For a sample implementation, see in the SDK+AppSupport+Demos+Samples.tar.gz file on the
Juniper Networks Web site at: https://www.juniper.net/support/csc/swdist-erx/src.html The application is located the following directory: SDK/plugin/java/src/net/juniper/smgt/sample/radiuslib/RadiusPacketHandlerImpl.java.
Use the following configuration statements to set up custom RADIUS authentication plug-ins:
- shared sae configuration plug-ins name name custom-radius-authentication {
- java-class-radius-packet-handler java-class-radius-packet-handler ;
- class-path-radius-packet-handler class-path-radius-packet-handler ;
- require-mandatory-attributes;
- load-balancing-mode (failover | roundRobin);
- failback-timer failback-timer ;
- timeout timeout ;
- retry-interval retry-interval ;
- maximum-queue-length maximum-queue-length ;
- bind-address bind-address ;
- udp-port udp-port ;
- default-peer default-peer;
- }
To set up custom RADIUS authentication plug-ins:
- user@host# edit shared sae group west-region
configuration plug-ins name customRadiusAuth
custom-radius-authentication
-
[edit shared sae group west-region configuration plug-ins
name customRadiusAuth custom-radius-authentication]
-
user@host# set java-class-radius-packet-handler java-class-radius-packet-handler
-
[edit shared sae group west-region configuration plug-ins
name customRadiusAuth custom-radius-authentication]
-
user@host# set class-path-radius-packet-handler class-path-radius-packet-handler
-
[edit shared sae group west-region configuration plug-ins
name customRadiusAuth custom-radius-authentication]
-
user@host# set require-mandatory-attributes
-
[edit shared sae group west-region configuration plug-ins
name customRadiusAuth custom-radius-authentication]
-
user@host# set load-balancing-mode (failover | roundRobin)
-
[edit shared sae group west-region configuration plug-ins
name customRadiusAuth custom-radius-authentication]
-
user@host# set failback-timer failback-timer
-
[edit shared sae group west-region configuration plug-ins
name customRadiusAuth custom-radius-authentication]
-
user@host# set timeout timeout
-
[edit shared sae group west-region configuration plug-ins
name customRadiusAuth custom-radius-authentication]
-
user@host# set retry-interval retry-interval
-
[edit shared sae group west-region configuration plug-ins
name customRadiusAuth custom-radius-authentication]
-
user@host# set maximum-queue-length maximum-queue-length
-
[edit shared sae group west-region configuration plug-ins
name customRadiusAuth custom-radius-authentication]
-
user@host# set bind-address bind-address
-
[edit shared sae group west-region configuration plug-ins
name customRadiusAuth custom-radius-authentication]
-
user@host# set udp-port udp-port
-
[edit shared sae group west-region configuration plug-ins
name customRadiusAuth custom-radius-authentication]
-
user@host# set default-peer default-peer
[edit shared sae configuration plug-ins name customRadiusAuth custom-radius-authorization] user@host# show java-class-radius-packet-handler net.juniper.smgt.radius.RadiusPacketHandlerImpl; require-mandatory-attributes; load-balancing-mode failover; failback-timer -1; timeout 15000; retry-interval 3000; maximum-queue-length 10000; default-peer peer4;
Use the following configuration statements to configure LDAP authentication plug-ins:
- shared sae configuration plug-ins name name ldap-authentication {
- method (search | bind);
- server server ;
- bind-dn bind-dn ;
- bind-password bind-password ;
- search-filter search-filter ;
- (ldaps);
- search-base-dn search-base-dn ;
- name-attribute name-attribute ;
- password-attribute password-attribute ;
- service-bundle-attribute service-bundle-attribute ;
- session-volume-quota session-volume-quota ;
- timeout timeout ;
- }
To create LDAP authentication plug-ins:
- user@host# edit shared sae group west-region
configuration plug-ins name ldapAuth ldap-authentication
-
[edit shared sae group west-region configuration plug-ins
name ldapAuth ldap-authentication]
-
user@host# set method (search | bind)
-
[edit shared sae group west-region configuration plug-ins
name ldapAuth ldap-authentication]
-
user@host# set server server
-
[edit shared sae group west-region configuration plug-ins
name ldapAuth ldap-authentication]
-
user@host# set bind-dn bind-dn
-
[edit shared sae group west-region configuration plug-ins
name ldapAuth ldap-authentication]
-
user@host# set bind-password bind-password
-
[edit shared sae group west-region configuration plug-ins
name ldapAuth ldap-authentication]
-
user@host# set search-filter search-filter
-
[edit shared sae group west-region configuration plug-ins
name ldapAuth ldap-authentication]
-
user@host# set ldaps
-
[edit shared sae group west-region configuration plug-ins
name ldapAuth ldap-authentication]
-
user@host# set search-base-dn search-base-dn
-
[edit shared sae group west-region configuration plug-ins
name ldapAuth ldap-authentication]
-
user@host# set name-attribute name-attribute
-
[edit shared sae group west-region configuration plug-ins
name ldapAuth ldap-authentication]
-
user@host# set password-attribute password-attribute
-
[edit shared sae group west-region configuration plug-ins
name ldapAuth ldap-authentication]
-
user@host# set service-bundle-attribute service-bundle-attribute
-
[edit shared sae group west-region configuration plug-ins
name ldapAuth ldap-authentication]
-
user@host# set session-volume-quota session-volume-quota
-
[edit shared sae group west-region configuration plug-ins
name ldapAuth ldap-authentication]
-
user@host# set timeout timeout
[edit shared sae group west-region configuration plug-ins name ldapAuth ldap-authentication] user@host# show method search; search-filter (objectClass=umcSubscriber); name-attribute uniqueId; timeout 5000;