RADIUS
The RADIUS view presents the scaffolds associated with configuring the rXg integrated RADIUS server.
Centralized Infrastructure Device AAA Server
The rXg identity database may be used as a credential store for rXg units or other third party devices via the RADIUS protocol. One common use of the rXg RADIUS server is to serve as a central credential database for administrative access to infrastructure equipment. For example, most VLAN "smart" switches and "enterprise" wireless access points may be configured to look to a RADIUS server for authenticating administrative access. Using the integrated rXg RADIUS server as a central credential store for infrastructure is a simple and effective way to reduce the complexity that is usually associated with networks that have a large number of devices.
Configuring rXg For Centralized Infrastructure Device AAA Server
Procedure: 1. Create an Account Group that will be tied to Administrator Account(s) 2. Create a policy for Administrator Account(s) Account Group
Check the AAA Account Group in the Account group section.3. Create a WAN Target that contains the public IP the radius request will come from. 4. Edit Radius Server Options add WAN target previously created. 5. Create a RADIUS realm and attach the policy created from the Administrator Account(s). 6. Create a new Account that will contain the credentials.
Attach account to the policy for Administrator Account(s)7. Point remote device to the rXg RADIUS server.
- Navigate to Identities-->Groups and create a new Account Group.
- Navigate to Policies-->Captive Portal and create a new Policy. Enter a name for the new policy and check the Account Group created in the previous step.
- Create a new WAN Target or edit existing WAN Target by navigating to Identities-->Definitions. Enter the IP(s) that should be allowed access to the Radius Server.
- Edit the RADIUS Server Options by navigating to Services-->RADIUS and check the WAN Target. Click Update.
- Create a new RADIUS Server Realm and select the policy that was created for the Administator account(s). Click Create.
- Create a new Account by navigating to Identities-->Accounts, Enter the Login name and password. Under Provision set the Group to the Account Group created previously. A First and Last name will also need to be provided along with an email address.
- Point the device to use the RADIUS server running on the rXg, set the primary IP address of the rXg as the AAA server, and adjust the ports if necessary. The key can be copied from the Radius Server Options on the rXg.
Subscriber Roaming
Another common use of the integrated rXg RADIUS server is to share a single centrally located end-user database amongst a set of geographically diverse RADIUS NAS capable devices. For example, "smart" access points, DSLAMs and even modem banks may be configured to use RADIUS to use an rXg with the RADIUS server enabled as a credential store. Using a single unified credential store across devices that controls access to multiple media helps control operational costs.
In many cases, the RADIUS NAS may also be configured for forced browser redirect of unauthenticated end-users to the rXg captive portal. This enables end-user self-provisioning and further reduces operational overhead. Since the rXg billing mechanisms are fully integrated into with the RADIUS server enabling operators to easily bill end-users for access to a diverse set of media.
The rXg integrated RADIUS server may also be used as a mechanism to loosely federate multiple rXg units. RG Nets recommends the deployment of the rXg clustering mechanism with an rXg cluster controller for unified and simplified clustering of multiple rXg units. However, for certain special cases, it may be more appropriate to use the RADIUS server of an rXg node or an rXg cluster controller along with the RADIUS NAS of multiple other rXgs to create a federation of rXg devices that share a single database.
One rXg unit is then dedicated to being the federation master. The captive portal web application server and end-user database are centrally stored on the federation master. The federation nodes are configured to authenticate using the RADIUS NAS clients and the rXg federation master is configured to be a RADIUS server.
Enterprise NAC
The rXg integrated RADIUS Server can be used to as a centralized AAA server for enterprise wired and wireless networks. Edge infrastructure devices are configured as access servers with port control enabled. Both username/password tuples and MAC address authentication credentials are supported. The rXg can proxy authentication to an external LDAP or RADIUS server (discussed later in this manual page) and/or check the local database.
If the local database is used then the operator may choose to create accounts for each employee and set a password. Alternatively, the administrator can use MAC address device authentication. To accomplish this, the operator will need to populate an account with desired MAC addresses. In either case, the account(s)should be associated with an account group. The account group also needs to be associated to a policy that is selected under a RADIUS Server Realm's matching options. By associating VLAN(s) to the RADIUS Server Realm , an operator can control what network(s) enterprise owned devices are assigned.
For example, in the packet exchange below, the Calling-Station-ID
attribute contains the MAC Address of the requesting device. The highest-priority policy will be used to determine which RADIUS Server Realm the device matches. The Tunnel-Private-Group-ID
attribute in the Access-Accept packet shows the VLAN assigned to this device.
14:38:33.381021 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 206)
10.103.254.4.56792 > 10.103.254.1.1812: [udp sum ok] RADIUS, length: 178
Access-Request (1), id: 0xe5, Authenticator: 2b9a4726041df0639dcc5f8574c30f5a
User-Name Attribute (1), length: 14, Value: 449160ece7fa
0x0000: 3434 3931 3630 6563 6537 6661
User-Password Attribute (2), length: 18, Value:
0x0000: a0e8 7cc3 4eb8 c07f 2322 714c a2e7 416e**Calling-Station-Id Attribute (31), length: 19, Value: 44-91-60-EC-E7-FA** 0x0000: 3434 2d39 312d 3630 2d45 432d 4537 2d46
0x0010: 41
NAS-IP-Address Attribute (4), length: 6, Value: 10.103.254.4
0x0000: 0a67 fe04
Called-Station-Id Attribute (30), length: 32, Value: D4-68-4D-2A-39-F0:SomeSSID
0x0000: 4434 2d36 382d 3444 2d32 412d 3339 2d46
0x0010: 303a 4b61 7272 6963 6b48 6f75 7365
Service-Type Attribute (6), length: 6, Value: Framed
0x0000: 0000 0002
NAS-Port-Type Attribute (61), length: 6, Value: Wireless - IEEE 802.11
0x0000: 0000 0013
NAS-Identifier Attribute (32), length: 19, Value: D4-68-4D-2A-39-F8
0x0000: 4434 2d36 382d 3444 2d32 412d 3339 2d46
0x0010: 38
Vendor-Specific Attribute (26), length: 20, Value: Vendor: Unknown (25053)
Vendor Attribute: 3, Length: 12, Value: KarrickHouse
0x0000: 0000 61dd 030e 4b61 7272 6963 6b48 6f75
0x0010: 7365
Message-Authenticator Attribute (80), length: 18, Value: .,H..-..S@.)..X.
0x0000: 842c 481d 8a2d 8c03 5340 0c29 deeb 5881
14:38:33.414314 IP (tos 0x0, ttl 64, id 6773, offset 0, flags [none], proto UDP (17), length 74)
10.103.254.1.1812 > 10.103.254.4.56792: [bad udp cksum 0x111c -> 0x598a!] RADIUS, length: 46
Access-Accept (2), id: 0xe5, Authenticator: d6f41b864e670829842982228b59649e
Class Attribute (25), length: 8, Value: Family
0x0000: 4661 6d69 6c79
Tunnel-Medium-Type Attribute (65), length: 6, Value: Tag[Unused] 802
0x0000: 0000 0006**Tunnel-Private-Group-ID Attribute (81), length: 6, Value: 2002**0x0000: 3230 3032
Tunnel-Type Attribute (64), length: 6, Value: Tag[Unused] VLAN
0x0000: 0000 000d
The enterprise NAC functionality can be used to augment other functions of the rXg. For instance, some WLAN controllers proxy RADIUS access-requests through the controller for client authentication, while others send the requests directly from each AP. Because the rXg utilizes ACLs to limit access to the RADIUS server function, the operator should utilize RADIUS MAC authentication on switchports to automate servicing access-requests from many APs.
Procedure:
- Create AP managment VLANs
- Create an IP group for AP Managment VLANs
- Create a policy for AP Management IP group
- Add AP Management policy to RADIUS Server Options scaffold
- Create a MAC group containing a wildcard of the OUIs of Access Points
- Attach MAC group to a policy
- Create a RADIUS realm for the AP MAC group policy
- Attach AP Management VLANs
- Enable RADIUS MAC authentication bypass on switch ports
DVLAN for Large Public Venues
The rXg incorporates intelligent VLAN assignment in the RADIUS Server. A RADIUS Server Realm with the per-device setting is used for guest, quarantine and onboarding networks where true device isolation is desired. This mechanism is often used a large public venues so that event attendees can be split across operator chosen VLANs. Optionally each device can be assigned a /30 network. To accomplish this, the operator will need to create a RADIUS Server Realm matching a policy, or attribute pattern, and select per-account or per-device in the Dynamic VLANs sharing menu. To enable microsegmented L3s or L2s for attendees, VLANs with proper auto-increment, and ratio settings should be implemented. VLAN re-use can be used in LPVs, where capacity exceeds available VLANs. This allows for high-density deployments, with minimal broadcast domains.
For example, in the packet exchange below, theCalled-Station-ID
attribute contains the AP Radio MAC Address, and SSID the client device requested. By using a attribute pattern match, the operator can have all devices requesting this WLAN match this RADIUS Realm. The rXg has a variety of built in attributes, and allows the operator to define custom attributes to match
14:38:33.381021 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto UDP (17), length 206)
10.103.254.4.56792 > 10.103.254.1.1812: [udp sum ok] RADIUS, length: 178
Access-Request (1), id: 0xe5, Authenticator: 2b9a4726041df0639dcc5f8574c30f5a
User-Name Attribute (1), length: 14, Value: 449160ece7fa
0x0000: 3434 3931 3630 6563 6537 6661
User-Password Attribute (2), length: 18, Value:
0x0000: a0e8 7cc3 4eb8 c07f 2322 714c a2e7 416e
Calling-Station-Id Attribute (31), length: 19, Value: 44-91-60-EC-E7-FA
0x0000: 3434 2d39 312d 3630 2d45 432d 4537 2d46
0x0010: 41
NAS-IP-Address Attribute (4), length: 6, Value: 10.103.254.4
0x0000: 0a67 fe04**Called-Station-Id Attribute (30), length: 32, Value: D4-68-4D-2A-39-F0:EventSSID**0x0000: 4434 2d36 382d 3444 2d32 412d 3339 2d46
0x0010: 303a 4b61 7272 6963 6b48 6f75 7365
Service-Type Attribute (6), length: 6, Value: Framed
0x0000: 0000 0002
NAS-Port-Type Attribute (61), length: 6, Value: Wireless - IEEE 802.11
0x0000: 0000 0013
NAS-Identifier Attribute (32), length: 19, Value: D4-68-4D-2A-39-F8
0x0000: 4434 2d36 382d 3444 2d32 412d 3339 2d46
0x0010: 38
Vendor-Specific Attribute (26), length: 20, Value: Vendor: Unknown (25053)
Vendor Attribute: 3, Length: 12, Value: KarrickHouse
0x0000: 0000 61dd 030e 4b61 7272 6963 6b48 6f75
0x0010: 7365
Message-Authenticator Attribute (80), length: 18, Value: .,H..-..S@.)..X.
0x0000: 842c 481d 8a2d 8c03 5340 0c29 deeb 5881
14:38:33.414314 IP (tos 0x0, ttl 64, id 6773, offset 0, flags [none], proto UDP (17), length 74)
10.103.254.1.1812 > 10.103.254.4.56792: [bad udp cksum 0x111c -> 0x598a!] RADIUS, length: 46
Access-Accept (2), id: 0xe5, Authenticator: d6f41b864e670829842982228b59649e
Class Attribute (25), length: 8, Value: Family
0x0000: 4661 6d69 6c79
Tunnel-Medium-Type Attribute (65), length: 6, Value: Tag[Unused] 802
0x0000: 0000 0006
Tunnel-Private-Group-ID Attribute (81), length: 6, Value: 2002
0x0000: 3230 3032
Tunnel-Type Attribute (64), length: 6, Value: Tag[Unused] VLAN
0x0000: 0000 000d
DVLAN Microsegmentation for Multi-Tenant and Hospitality
By configuring a RADIUS Server Realm in the rXg to use per-room, or per-guest VLANs, users can be dynamically assigned a microsegmented network. This enables users to have private LANs on a shared infrastructure, enabling property wide coverage of their personal network. Unique features such as screencasting, printing, etc., can happen via standard L2 protocols. To accomplish this, the operator will need to create a RADIUS Server Realm matching a policy associated to the desired account group , and select per-room in the Dynamic VLANs sharing menu.
For example, a hotel client would integrate the rXg with their existing PMS, and assign per-room VLANs to segment guests. This enables the guests to use services like screencasting in their rooms without the need to download an app. A shared office space environment would implement per-guest VLANs, and segment traffic from other guests, while making tasks like printing and file-sharing seamless.
An operator can associate a Bi-NAT pool to a policy, and utilize the per-room DVLAN mechanism to provide a "virtual Residential Gateway" or vRG. This enables end-users to manage their own port forwards for web-hosting, and gaming. In MDU or Dorm environments, this enables zero-operator intervention, and instant provisioning of typically complex configurations.
RADIUS Proxying
RADIUS Proxy Servers can be used in a variety of ways. By defining a RADIUS Proxy Server an operator can choose to proxy authentication, accounting, or all RADIUS packets to a remote RADIUS Server, LDAP Server, or PMS Server. By proxying authentication requests to a remote server, an operator can enable centralized credential management in distributed rXg deployments.
For example, the rXg can proxy ONLY RADIUS Accounting packets to an upstream device. This is useful in routed scenarios, where the rXg is not the head-end. This enables the operator to send user-name and IP/session information to upstream devices such as content filters, or firewalls.
An operator may also choose to proxy authentication requests against a configured LDAP Server. This enables 802.1x authentication directly against an LDAP server such as Microsoft Active Directory, without the use of Microsoft Network Policy Server (NPS).
RADIUS Proxy with RadSec
RadSec is a a protocol for transporting RADIUS datagrams over TCP and TLS. Standard RADIUS communications depend upon the unreliable transport protocol UDP, and lack security for large parts of the packet payload. RadSec provides a means to secure the communication between a RADIUS NAS and Server by utilizing Transport Layer Security (TLS). By utilizing RadSec, an operator can proxy incoming RADIUS requests securely to a centralized credential store.
To learn more about RADIUS, there are numerous web pages that provide background information on the RADIUS protocol. In addition, the O'Relly RADIUS (ISBN 0596003226) book provides a basic overview of the protocol. A good reference for how to use RADIUS in more complex environments is AAA and Network Security for Mobile Access: Radius, Diameter, EAP, PKI and IP Mobility (ISBN 0470011947).
Multiple PSK with Adtran vWLAN
AdTran supports multiple sets of tagged Tunnel-* RADIUS attributes where each set represents a 'guess' of what the end user may have entered into her device as the PSK. When a set of Tunnel-* attributes tagged with :1 are configured in the rXg, the rXg will automatically create additional sets of Tunnel-* attributes that represent additional possible Accounts the device may belong to. The rXg will create up to 24 total attribute sets. The AP will determine which set contains the correct PSK, and if it finds one, will allow the device to connect and start tagging the device traffic with the VLAN from the set that contained the correct PSK. Assuming 'Automatic Provisioning' is enabled in the account, the rXg will then automatically add the new device to the Account that corresponds to the VLAN from the attribute set.
Prerequisites
- Have Onboarding VLANs, associated to policy with a splash portal
- Have usage plan available for selection on splash portal
- Make sure the "Automatic Provision" checkbox is selected
- Have VLAN(s) available for registered accounts
- Have account group(s) for registered accounts associated to a policy with a landing portal
Configuration
- 1. Deploy vWLAN OVA
- vWLAN Appliance gets DHCP by default
- Login to vWLAN and add AP Licensing
- Either set Static IP on vWLAN, or add fixed-host address in DHCP
- Create "domain-name" DHCP Option , and attach to Global DHCP Option Group (Ex. Domain-Name = local)
- Create DNS Entry for apdiscovery.local to point to vWLAN controller (replace local with your domain name)
- Add vWLAN Controller to rXg wireless Infrastructure Devices
- Create an "Onboarding" RADIUS Realm and use an Attribute Pattern match since these devices would be unknown.
- Select your Onboarding VLANs, to ensure that users are presented the splash portal
- Create a Radius Realm for the policy of registered accounts
- - Select your Account VLANs
- Enable config sync on the vWLAN infrastructure device on the rXg
- Create a new WLAN choosing the following options
- Encryption: WPA2
- Authentication: Multiple PSK
- VLANs (Any associated with both realms)
- New RADIUS Server Attributes will be automatically created
- Create new RADIUS Server Attribute for onboarding
- Name: Tunnel-Password:1
- Value: onboarding (or whatever you want the onboarding PSK to be)
- Edit your Onboarding RADIUS Realm to respond with these attributes (notice the :1)
- Tunnel-Private-Group-Id:1 : %vlan_tag_assignment.tag%
- Tunnel-Type:1 : VLAN
- Tunnel-Medium-Type:1 : IEEE-802
- Tunnel-Password:1 : onboarding
- Edit your registered account RADIUS Realm to respond with these attributes (notice NO :1)
- Tunnel-Private-Group-Id : %vlan_tag_assignment.tag%
- Tunnel-Type : VLAN
- Tunnel-Medium-Type : IEEE-802
- Tunnel-Password : %account.pre_shared_key%
Dynamic PSK with RUCKUS virtual SmartZone (vSZ)
RUCKUS eDPSK enables an external AAA server to manage multiple PSKs associated with a single SSID. the rXg leverages eDPSK in conjunction with internal and external account management to deleiver person area networks (PANs) and virtual residential gateway (vRG) for MDUs.
Prerequisites
- Have Onboarding VLANs, associated to policy with a splash portal
- Have usage plan available for selection on splash portal
- Make sure the "Automatic Provision" checkbox is selected
- Have VLAN(s) available for registered accounts
- Have account group(s) for registered accounts associated to a policy with a landing portal
Configuration
- Deploy vSZ OVA, configure the following in the VM console:
- Configure vSZ in Essentials mode
- Set Static IP Address, or set DHCP Reservation
- Continue the vSZ deployment at web GUI -
https://{vSZ IP}:8443
- Add vSZ to rXg wireless Infrastructure Devices
- Create an "Onboarding" RADIUS Realm and use an Attribute Pattern match since these devices would be unknown.
- Select your Onboarding VLANs, to ensure that users are presented the splash portal
- Create a Radius Realm for the policy of registered accounts
- - Select your Account VLANs
- Enable config sync on the vWLAN infrastructure device on the rXg
- Create a new WLAN choosing the following options
- Encryption: WPA2
- Authentication: Multiple PSK
- VLANs (Any associated with both realms)
- Create new RADIUS Server Attribute for onboarding
- Name: Ruckus-DPSK
- Value: onboarding (or whatever you want the onboarding PSK to be)
- Edit your Onboarding RADIUS Realm to respond with these attributes
- Tunnel-Private-Group-Id : %vlan_tag_assignment.tag%
- Tunnel-Type : VLAN
- Tunnel-Medium-Type : IEEE-802
- Ruckus-DPSK : onboarding
- Edit your registered account RADIUS Realm to respond with these attributes
- Tunnel-Private-Group-Id : %vlan_tag_assignment.tag%
- Tunnel-Type : VLAN
- Tunnel-Medium-Type : IEEE-802
- Tunnel-Password : %account.pre_shared_key%
RADIUS Server Realms
An entry in the radius server realms scaffold creates a response realm that enables the rXg to respond to RADIUS requests.
One or more radius server realms are required in order to link RADIUS requests with attributes. Only one radius server realm is required if the network design requires that the same set of RADIUS attributes to be transmitted to all RADIUS requests.
Multiple radius server realms may be created in order to allow the rXg integrated RADIUS Server to respond with different RADIUS attributes depending upon the request. The most common usage scenario that requires the creation of two or more radius server realms is a network design that requires different VLANs or sets of VLANs to be assigned based on information present in the incoming RADIUS request. A RADIUS Access-Request will match at most a single RADIUS Server Realm
The name field is an arbitrary string descriptor used only for administrative identification. Choose a name that reflects the purpose of the record. This field has no bearing on the configuration or settings determined by this scaffold.
The rank of a RADIUS server realm, allows the operator to designate multiple RADIUS realms with the same policy selection. If a RADIUS request matches multiple RADIUS realms, the highest ranking realm is used. This is typically used to override RADIUS realms when specific criteria is met, such as a user of a given policy connecting to a special SSID.
The policies field enables the operator to restrict this response realm to one or more sets of Identities. RADIUS Access-Request messages usually contain the MAC address of the end-user device. Thus a radius server realm may be restricted to answer RADIUS Access-Requests originating from end-user devices whose MAC addresses are present within MAC Groups and Account Groups. If no policies are enabled then the rXg will not restrict this response realm based on Identities but may still be restricted by other parameters such as attribute patterns.
The attribute patterns subsection enables the operator to restrict this response realm to RADIUS Access-Requests that contain the specified RADIUS attributes. One common use for this is mechanism is to restrict a response realm to only respond to RADIUS Access-Requests originating from end-user devices that are attaching to a specific SSID. This capability enables the operator associate respond with different RADIUS attributes depending upon the data in RADIUS Access-Request.
The dynamic VLANs section determines which VLANs will be passed from the rXg to the RADIUS NAS when a RADIUS Access-Accept message is sent. VLAN assignments are typically passed through RADIUS Attributes.
VLAN assignments are made either per-Device, per-Account, per-Guest, or per-Room. Using the per-Device setting tells the rXg to assign each MAC address that it sees a unique VLAN. The per-Device selection maximizes broadcast domain separation. The per-Account selection puts MAC addresses that belong to the same Account within the same VLAN. The per-Room and per-Guest selections puts MAC addresses that are associated with the same PMS Room or Guest name within the same VLAN.
One or more VLAN records must be configured and selected in order for the dynamic VLAN mechanism to be enabled. In most cases each RADIUS Server Realm will be associated with only a single VLAN record.
VLANs will be assigned to devices / accounts / PMS-Rooms per the above described selection until all available VLANs in the selected record are exhausted. If the Reuse VLANs checkbox is enabled then the VLANs configured in the VLAN will be reused if the VLANs in the record are exhausted. This setting is most often used in conjunction with the per-Device VLAN assignment setting as the number of devices will sometimes exceed the number of available VLANs.
The infrastructure devices setting enables the operator to tie this RADIUS Server Realm with an infrastruture device for the purpose of sending vendor specific instructions when VLANs change. This configuration is an absolute requirement when the dynamic VLAN capability is used with most wireless LAN controllers and wired switches.
The Proxy Servers field enables the operator to proxy incoming RADIUS packets to configured RADIUS Proxy Servers , LDAP Domains , or PMS Servers.
The Proxy Options enable an operator to choose what type of RADIUS packets to proxy, Accounting, Authentication, or both. By default, the rXg integrated RADIUS Server will only proxy 802.1x authentications. The Proxy MAC Auth selection enables the operator to also proxy MAC based authentications. The Replace username selection will override the "User-Name" attribute with the associated accounts login. If the Proxy Server is being used for authentication, the Create Account selection will create a local account on the rXg, and optionally apply a Usage Plan.
The attributes field defines one or more RADIUS attributes that will be appended to all RADIUS responses. Use this mechanism to send vendor specific attributes to the devices making RADIUS requests.
The Assume MAC auth option specifies that when an Account is located during RADIUS lookup and the request looks like a MAC auth request (i.e., the username looks like a MAC address) that we should treat the request as a MAC auth request and use the MAC address as the cleartext password instead of setting the NT-Password.
The Always perform Account lookup option ensures that an Account lookup occurs for the request while checking this realm, assuming it has not been performed already by a higher ranked realm. This is in contrast to the normal behavior where Account lookup is skipped unless there are Account Group-based Policies attached to the realm (or a higher ranked realm). This is necessary if performing MSCHAP authentication and the realm is being selected based on a RADIUS Attribute match pattern, rather than group membership. In this case the lookup is still necessary in order to set the NT-Password for the MSCHAP module.
RADIUS Proxy Servers
An entry in the RADIUS proxy servers scaffold defines a server that may be used to proxy requests to other remote RADIUS servers.
The name field is an arbitrary string descriptor used only for administrative identification. Choose a name that reflects the purpose of the record. This field has no bearing on the configuration or settings determined by this scaffold.
The RADIUS server realms field determines which logical partitions of the RADIUS Server will proxy requests to THIS server.
The note field is a place for the administrator to enter a comment. This field is purely informational and has no bearing on the configuration settings.
The priority field is used when multiple RADIUS proxy servers are associated with a RADIUS realm. The RADIUS proxy server with the highest priority is queried first. If the RADIUS proxy server with the highest priority does not respond within the window defined by the tries and timeout fields, the next highest priority server is queried. If no RADIUS proxy servers respond, the end-user is denied access.
The IP field specifies the IP address of the RADIUS server to be queried for credential validation.
The port field specifies the UDP port to use when sending the RADIUS request for credential validation. Similarly the accounting port field specifies the UDP port to use when sending the RADIUS accounting start, stop and intermediate updates. Leave these fields blank to use the defaults.
The secret field is the RADIUS shared secret. It is used to encode and decode messages being sent to and from the RADIUS server. This setting must match that of the RADIUS server in order for credential validation to operate.
If a server does not respond to a request within the timeout time, the server marks the request as timed out. After the configured number of tries , the server is marked as being "zombie", and the zombie period starts. The default timeout window is large because responses may be slow, especially when proxying across the Internet.
A server that is marked "zombie" will be used for proxying as a low priority. If there are live servers, they will always be preferred to a zombie. Requests will be proxied to a zombie server ONLY when there are no live servers. Any request that is proxied to a server will continue to be sent to that server until the server is marked dead. At that point, it will fail over to another server, if a live server is available. If the server does not respond to ANY packets during the zombie period , it will considered to be dead.
If status check is something other than "none", then the server will start sending status checks at the start of the zombie period. It will continue sending status checks until the server is marked "alive". These status packets are sent ONLY if the server is believed to be dead. They are NOT sent if the server is believed to be alive. They are NOT sent if this server is not proxying packets. If the server responds to the status check packet, then it is marked alive again, and is returned to use.
The check interval field configures the number of status checks in a row that the server needs to respond to before it is marked alive. If you want to mark a server as alive after a short time period of being responsive, it is best to use a small check interval , and a large value for answers to alive. Using a long check interval and a small number for answers to alive increases the probability of spurious fail-over and fallback attempts.
RADIUS layer "status checks" are used to see if a server is alive when status check is set to "Status-Server".
Some servers do not support status checks via the Status-Server packet. Others may not have a "test" user configured that can be used to query the server, to see if it is alive. For those servers, there is NO WAY of knowing when it becomes alive again. In this case, after the server has been marked dead, the revival interval must elapse before it is marked alive again, in the hope that it has come back to life. If it has NOT come back to life, the zombie period must elapse before marking it dead again. During the zombie period , all authentications will fail, because the server is still dead. There is nothing that can be done about this, other than to enable the status checks. e.g. if zombie period is 40 seconds, and revive interval is 300 seconds, then for 40 seconds out of every 340, or about 10% of the time, all authentications will fail. If the zombie period and revive interval configurations are set smaller, then it is possible for up to 50% of authentications to fail. We recommend enabling status check , and we do NOT recommend relying on revive interval. The revive interval is used ONLY if status check is set to "none".
If the server does not support Status-Server packets, then the proxying server can still send Access-Request or Accounting-Request packets with a pre-defined username. This behavior is enabled by setting status check to "Access-Request". This practice is NOT recommended, as it may potentially let users gain network access by using these "test" accounts. If it is used, we recommend that the server ALWAYS respond to these Access-Request status checks with Access-Reject. The status check just needs an answer, it does not need an Access-Accept. For Accounting-Request status checks, only the username needs to be set. The rest of the accounting attribute are set to default values. The server that receives these accounting packets SHOULD NOT treat them like normal user accounting packets.
RADIUS Server
The rXg internal credential database of users and tokens may be remotely accessed via the RADIUS protocol. Records in the RADIUS Server scaffold configure the behavior of the rXg RADIUS server.
The active field enables an option set. Exactly one option set may be active at any time. Enabling a particular option set will automatically disable another existing active option set.
The name field is an arbitrary string descriptor used only for administrative identification. Choose a name that reflects the purpose of the record. This field has no bearing on the configuration or settings determined by this scaffold.
The secret field defines the RADIUS shared secret. This shared credential must be identical to one configured on the RADIUS NAS devices that will access this RADIUS server.
The auth port and acct port fields configure the ports that the RADIUS server will listen for requests on. In most cases, the RFC defined ports of 1812 and 1813 should be used as many RADIUS NAS devices are only able to connect to those ports.
The debug field configures the RADIUS server to log the contents of all request and response packets to the log file.
The certificate field specifies an alternate certificate chain to configure the RADIUS server with.
The WAN targets and policies fields determine the set of devices that are allowed to have access to the rXg integrated RADIUS server. By default the rXg has packet filtering rules in place that prevent access to the integrated RADIUS server. This ensures that no devices of any kind may access the RADIUS server unless the operator takes specific action to enable access.
Access to the rXg integrated RADIUS server for RADIUS NAS devices that are on the WAN is enabled by creating one or more WAN targets for the RADIUS NAS devices and then enabling the appropriate check boxes. RADIUS NAS devices on the LAN may be granted access by placing the IPs of the RADIUS NAS devices into an IP Group and then linking the IP Group into a Policy which may be selected here.
The note field is a place for the administrator to enter a comment. This field is purely informational and has no bearing on the configuration settings.
RADIUS Server Attributes
The rXg integrated RADIUS server responds to RADIUS requests with RFC defined attributes. The operator may define additional attributes to be present in RADIUS responses by creating RADIUS Server Attribute records. Each record defines one additional attribute that will be presnet
The name configures the name of the RADIUS attribute that will be sent to the RADIUS NAS. The name must be agreed upon and configured identically on both the RADIUS server and the RADIUS NAS.
The value configures the value of the payload of the RADIUS attribute that will be sent to the RADIUS NAS in RADIUS server response. The value may be static (e.g., 'IEEE-802' for the 'Tunnel-Medium-Type' when configuring dynamic VLANs). Alternatively the value may be a dynamic value configured through substitution variables.
The RADIUS Server Realms field determines which RADIUS requests will contain the RADIUS Server Attribute defined by this record. More than one RADIUS Server Realm may be selected and thus the RADIUS Server Attribute defined by this record will be present in the responses to each of the defined realms.
The note field is a place for the administrator to enter a comment. This field is purely informational and has no bearing on the configuration settings.
Most dynamic VLAN configurations require the following three attributes to be configured:
| Tunnel-Medium-Type
| 802
|
| Tunnel-Private-Group-ID
| %vlan_tag_assignment.tag%
|
| Tunnel-Type
| VLAN
|
Substitution
Payload fields may contain special keywords surrounded by % signs that will be substituted with relevant values. This enables the operator to deliver values stored in the database as part of the payload.
List of objects available:
Account Create | Usage Plan Purchase | Transaction: success/failure |
---|---|---|
cluster_node | cluster_node | cluster_node |
custom_email | custom_email | custom_email |
device_option | device_option | device_option |
ip_group | login_session | login_session |
login_session | usage_plan | merchant |
usage_plan | account | payment_method |
account | merchant_transaction | |
usage_plan | ||
account |
Credit Card Expiring | Coupon Redemption | Account Charge: success/failure/no response |
---|---|---|
cluster_node | cluster_node | cluster_node |
custom_email | custom_email | custom_email |
device_option | device_option | device_option |
login_session | coupon | login_session |
payment_method | login_session | payment_method |
usage_plan | usage_plan | response |
account | account | usage_plan |
account |
Trigger: Connections | Trigger: Quota | Trigger: DPI |
---|---|---|
cluster_node | cluster_node | cluster_node |
custom_email | custom_email | custom_email |
device_option | device_option | device_option |
login_session | login_session | login_session |
max_connections_trigger | quota_trigger | snort_trigger |
transient_group_membership | transient_group_membership | transient_group_membership |
account | account | account |
Trigger: Time | Trigger: Log Hits | Health Notice: create |
---|---|---|
cluster_node | cluster_node | cluster_node |
custom_email | custom_email | custom_email |
device_option | device_option | device_option |
login_session | login_session | health_notice |
time_trigger | log_hits_trigger | |
transient_group_membership | transient_group_membership | |
account | account |
Health Notice: cured |
---|
cluster_node |
custom_email |
device_option |
health_notice |
List of objects available for all associated record types:
Aged AR Penalty |
---|
cluster_node |
custom_email |
device_option |
aged_ar_penalty |
login_session |
payment_method |
usage_plan |
account |
List of attributes available for each object:
account | usage_plan | merchant |
---|---|---|
id | id | id |
type | account_group_id | name |
login | name | gateway |
crypted_password | description | login |
salt | currency | password |
state | recurring_method | test |
first_name | recurring_day | note |
last_name | variable_recurring_day | created_at |
automatic_login | updated_at | |
usage_plan_id | note | created_by |
usage_minutes | created_at | updated_by |
unlimited_usage_minutes | updated_at | signature |
usage_expiration | created_by | partner |
no_usage_expiration | updated_by | invoice_prefix |
automatic_login | time_plan_id | integration |
note | quota_plan_id | store_payment_methods |
logged_in_at | usage_lifetime_time | live_url |
created_at | absolute_usage_lifetime | pem |
updated_at | unlimited_usage_lifetime | scratch |
created_by | no_usage_lifetime | dup_timeout_seconds |
updated_by | recurring_retry_grace_minutes | |
mb_up | recurring_fail_limit | |
mb_down | prorate_credit | |
pkts_up | permit_unpaid_ar | |
pkts_down | pms_server_id | |
usage_mb_up | lock_devices | |
usage_mb_down | scratch | |
unlimited_usage_mb_up | max_sessions | |
unlimited_usage_mb_down | max_devices | |
company | unlimited_devices | |
address1 | unlimited_sessions | |
address2 | usage_lifetime_time_unit | |
city | max_dedicated_ips | |
region | pms_guest_match_operator | |
zip | recurring_lifetime_time | |
country | recurring_lifetime_time_unit | |
phone | unlimited_recurring_lifetime | |
bill_at | sms_gateway_id | |
lock_version | validation_method | |
charge_attempted_at | validation_grace_minutes | |
lock_devices | max_party_devices | |
relative_usage_lifetime | unlimited_party_devices | |
scratch | upnp_enabled | |
portal_message | automatic_provision | |
max_devices | conference_id | |
unlimited_devices | ips_are_static | |
max_sessions | base_price | |
unlimited_sessions | vtas_are_static | |
max_dedicated_ips | manual_ar | |
account_group_id | ||
email2 | ||
pre_shared_key | ||
phone_validation_code | ||
email_validation_code | ||
phone_validated | ||
email_validated | ||
phone_validation_code_expires_at | ||
email_validation_code_expires_at | ||
max_party_devices | ||
unlimited_party_devices | ||
nt_password | ||
upnp_enabled | ||
automatic_provision | ||
ips_are_static | ||
guid | ||
vtas_are_static | ||
account_id | ||
max_sub_accounts | ||
unlimited_sub_accounts | ||
approved_by | ||
approved_at | ||
pending_admin_approval | ||
wispr_data | ||
hide_from_operator |
payment_method | merchant_transaction | coupon |
---|---|---|
id | id | id |
account_id | account_id | usage_plan_id |
active | payment_method_id | code |
company | merchant_id | credit |
address1 | usage_plan_id | expires_at |
address2 | amount | note |
city | currency | created_by |
state | test | updated_by |
zip | ip | created_at |
country | mac | updated_at |
phone | customer | batch |
note | scratch | |
created_at | merchant_string | max_redemptions |
updated_at | description | unlimited_redemptions |
created_by | success | |
updated_by | response_yaml | |
scratch | created_at | |
customer_id | updated_at | |
card_id | created_by | |
nickname | updated_by | |
encrypted_cc_number | message | |
encrypted_cc_number_iv | authorization | |
encrypted_cc_expiration_month | hostname | |
encrypted_cc_expiration_month_iv | http_user_agent_id | |
encrypted_cc_expiration_year | account_group_id | |
encrypted_cc_expiration_year_iv | subscription_id | |
encrypted_first_name | ||
encrypted_first_name_iv | ||
encrypted_middle_name | ||
encrypted_middle_name_iv | ||
encrypted_last_name | ||
encrypted_last_name_iv | ||
cc_number | ||
cc_expiration_month | ||
cc_expiration_year | ||
first_name | ||
middle_name | ||
last_name |
login_session | ip_group | device_option |
---|---|---|
id | id | id |
account_id | policy_id | name |
radius_realm_id | name | active |
login | priority | device_location |
ip | note | domain_name |
mac | created_at | ntp_server |
expires_at | updated_at | time_zone |
online | created_by | smtp_address |
radius_acct_session_id | updated_by | rails_env |
radius_response | scratch | note |
radius_class_attribute | created_at | |
created_at | updated_at | |
updated_at | created_by | |
created_by | updated_by | |
updated_by | smtp_port | |
bytes_up | smtp_domain | |
bytes_down | smtp_username | |
pkts_up | smtp_password | |
pkts_down | cluster_node_id | |
usage_bytes_up | scratch | |
usage_bytes_down | log_rotate_hour | |
ldap_domain_id | log_rotate_count | |
radius_realm_server_id | ssh_port | |
ldap_domain_server_id | country_code | |
cluster_node_id | disable_hyperthreading | |
shared_credential_group_id | developer_mode | |
ip_group_id | sync_builtin_admins | |
account_group_id | delayed_job_workers | |
usage_plan_id | log_level | |
lock_version | max_forked_processes | |
hostname | soap_port | |
total_bytes_up | reboot_timestamp | |
total_bytes_down | reboot_time_zone | |
total_pkts_up | limit_sshd_start | |
total_pkts_down | limit_sshd_rate | |
radius_server_id | limit_sshd_full | |
radius_request | use_puma_threads | |
backend_login_at | ||
http_user_agent_id | ||
backend_login_seconds | ||
portal_login_at | ||
omniauth_profile_id | ||
encrypted_password | ||
encrypted_password_iv | ||
conference_id | ||
password |
custom_email | transient_group_membership | time_trigger |
---|---|---|
id | id | id |
name | ip_group_id | account_group_id |
from | mac_group_id | name |
subject | account_group_id | mon |
body | account_id | tues |
event | ip | wed |
note | mac | thurs |
created_by | reason | fri |
updated_by | expires_at | sat |
created_at | created_by | sun |
updated_at | updated_by | start |
send_to_account | created_at | end |
scratch | updated_at | note |
email_recipient | cluster_node_id | created_by |
include_custom_reports_in_body | max_connections_trigger_id | updated_by |
attachment_format | quota_trigger_id | created_at |
custom_event | time_trigger_id | updated_at |
delivery_method | snort_trigger_id | ip_group_id |
sms_gateway_id | hostname | mac_group_id |
reply_to | radius_group_id | scratch |
ldap_group_id | flush_states | |
login_session_id | flush_dhcp | |
log_hits_trigger_id | flush_arp | |
flush_states | flush_vtas | |
flush_dhcp | infrastructure_area_id | |
flush_arp | previous_infrastructure_area_id | |
flush_vtas | duration | |
vulner_assess_trigger_id | current_dwell | |
previous_dwell |
log_hits_trigger | snort_trigger | max_connections_trigger |
---|---|---|
id | id | id |
ip_group_id | ip_group_id | ip_group_id |
mac_group_id | name | name |
name | duration | max_connections |
note | note | duration |
log_file | created_by | note |
duration | updated_by | created_by |
max_hits | created_at | updated_by |
window | updated_at | created_at |
scratch | scratch | updated_at |
created_by | mac_group_id | scratch |
updated_by | flush_states | mac_group_id |
created_at | flush_dhcp | flush_states |
updated_at | flush_arp | flush_dhcp |
flush_states | flush_vtas | flush_arp |
flush_dhcp | flush_vtas | |
flush_arp | max_duration | |
flush_vtas | max_mb | |
period | ||
active_or_expired | ||
max_duration_logic | ||
max_mb_logic |
quota_trigger | health_notice | cluster_node |
---|---|---|
id | id | id |
account_group_id | cluster_node_id | name |
name | name | iui |
usage_mb_down | short_message | database_password |
usage_mb_down_unit | long_message | note |
usage_mb_up | cured_short_message | created_by |
usage_mb_up_unit | cured_long_message | updated_by |
up_down_logic_operator | severity | created_at |
note | cured_at | updated_at |
created_by | created_at | ip |
updated_by | updated_at | ssh_public_key |
created_at | created_by | scratch |
updated_at | updated_by | heartbeat_at |
radius_group_id | fleet_node_id | data_plane_ha_timeout_seconds |
ldap_group_id | node_mode | |
period | cluster_node_team_id | |
unlimited_period | wal_receiver_pid | |
duration | wal_receiver_status | |
unlimited_duration | wal_receiver_receive_start_lsn | |
scratch | wal_receiver_receive_start_tli | |
ip_group_id | wal_receiver_received_lsn | |
mac_group_id | wal_receiver_received_tli | |
flush_states | wal_receiver_latest_end_lsn | |
flush_dhcp | wal_receiver_slot_name | |
flush_arp | wal_receiver_sender_host | |
flush_vtas | wal_receiver_sender_port | |
wal_receiver_last_msg_send_time | ||
wal_receiver_last_msg_receipt_time | ||
wal_receiver_latest_end_time | ||
op_cluster_node_id | ||
priority | ||
auto_registration | ||
permit_new_nodes | ||
auto_approve_new_nodes | ||
pending_auto_registration | ||
pending_approval | ||
control_plane_ha_backoff_seconds | ||
data_plane_ha_enabled | ||
upgrading | ||
enable_radius_proxy |
aged_ar_penalty |
---|
id |
name |
amount |
days |
suspend_account |
note |
created_at |
updated_at |
created_by |
updated_by |
custom_email_id |
scratch |
record_type |
days_type |