RADIUS Server API

mhooton
Comes here often

RADIUS Server API

Hello,

 

I am trying to set up SSIDs with RADIUS servers using the APIs but for some SSIDs without previous configuration fail with the message that the Failover policy and Load Balancing policy cannot be blank. I haven't been able to find anything about these two options in the API docs and would have thought they'd be given the same defaults as they are in the dashboard. Hopefully I am missing something and any insight would be helpful! Thank you!

 

7 Replies 7
MilesMeraki
Head in the Cloud

Wait, so just so I clearly follow you, you're setting up SSID's with Radius Auth via the API's. You've successfully created an SSID with your API call however when trying again using a slightly altered version of your API call you're getting errors?

Eliot F | Simplifying IT with Cloud Solutions
Found this helpful? Give me some Kudos! (click on the little up-arrow below)
Steinbep
Getting noticed

can you post the code you are using? Maybe someone can find an issue?

mhooton
Comes here often

{
"authMode": "open",
"enabled": "true",
"splashPage": "Password-protected with custom RADIUS",
"radiusServers": [
{
"host":"11.222.333.444",
"port": 1234,
"secret": "secretissecret
},
{
"host": "11.222.333.444",
"port": 1234,
"secret": "secretissecret"
}
],
"radiusAccountingEnabled": true,
"radiusAccountingServers":[
{
"host":"11.222.333.444",
"port": 1234,
"secret": "secretissecret
},
{
"host": "11.222.333.444",
"port": 1234,
"secret": "secretissecret"
}
],
"ipAssignmentMode": "NAT mode",
"radiusFailoverPolicy": "deny",
"radiusLoadbalPolicy": "priority",
"walledGardenEnabled": true,
"walledGardenRanges": "*.cloud4wi.com"
}

I used this json and sent a PUT to https://n23.meraki.com/api/v0/networks/N_1234567890/ssids/10 and received the following error:

{
    "errors": [
        "Validation failed: Radius failover policy can't be blank, Radius loadbal policy can't be blank"
    ]
}
Steinbep
Getting noticed

So I just did a GET on one of my networks and the first thing that I can see is I don't get "radiusFailoverPolicy": "deny" or"radiusLoadbalPolicy": "priority".  Where did you get those fields? 

mhooton
Comes here often

I made them up, because with or without them I get the error. I did not mean to have those in the post, but the question still stands. They are basically camel case forms of the names in the error I was getting and the error was saying that these two fields were blank. The two fields don't seem to exist in the documentation of the APIs but seem to come with default values on the Dashboard itself, so I was surprised when I got the errors.

DexterLaBora
Meraki Employee
Meraki Employee

Hello,

I was able to replicate your scenario where an SSID has never been configured and is not taking the RADIUS related attributes. If the SSID has RADIUS enabled or at one point did, the API calls will work. If its a brand new SSID configuration, you will receive the following error or similar if accounting is used.

 

{
"errors": [
"Validation failed: Radius failover policy can't be blank, Radius loadbal policy can't be blank"
]
}

 

 

This is likely because of the failover and load balancing policies have been set in the Dashboard by default when RADIUS is enabled. The defaults are then available for the API to function going forward.

 

ssid-radius-splash-policies.pngThese API endpoint parameters do not currently exist.

"radiusFailoverPolicy": "deny",
"radiusLoadbalPolicy": "priority",

 

 

We have reported the scenario to Meraki engineering. If you would like to track this issue, please open a Meraki support case and refer to this thread. 

 

Hope this helps!

 

 

-Cory

 

 

FYI, this is the JSON I tested

 

[PUT] https://n143.meraki.com/api/v0/networks/{{networkId}}/ssids/5

{
        "name": "splash radius test",
        "enabled": false,
        "splashPage": "Password-protected with custom RADIUS",
        "authMode": "open",
        "radiusServers": [
            {
                "host": "1.2.3.4",
                "port": 1812,
                "secret": "supersecret"
            }
        ],
        "radiusAccountingEnabled": true,
        "radiusAccountingServers": [
            {
                "host": "1.2.3.4",
                "port": 1813,
                "secret": "supersecret"
            }
        ],
        "ipAssignmentMode": "NAT mode",
        "walledGardenEnabled": true,
        "walledGardenRanges": "*.github.io",
        "minBitrate": 1,
        "bandSelection": "Dual band operation",
        "perClientBandwidthLimitUp": 0,
        "perClientBandwidthLimitDown": 0
    }

Response

{
    "errors": [
        "Validation failed: Radius failover policy can't be blank, Radius loadbal policy can't be blank"
    ]
}

Note: RADIUS accounting is not available by default and must be enabled via a Meraki Support case.

Steinbep
Getting noticed

 

Cory-

 

Thanks for having a look at this and confirming. 

 

-Paul

 

Get notified when there are additional replies to this discussion.