coova / coova-chilli

CoovaChilli is an open-source software access controller for captive portal hotspots.
Other
516 stars 258 forks source link

Set diferents UAM Server/Secret per connected client. #134

Closed gbaligh closed 7 years ago

gbaligh commented 8 years ago

Hi, Is there a way to set different UAM Server/Secret per client ? using chilli_query maybe, or other methods ? My problem is that each client must be use a specific UAM Server URL generated according to associated down link interface, and some other information. I don't want to use multi-instance of 'chilli' right now. So I'm using one instance, with MUTLILAN activated. Using the MACUP/MACDOWN script I can handle new client connected and then generate the UAM server, then I'm planning to use chilli_query update mac xx-xx-xx-xx-xx-xx url http://XXXX/ noacct username UUUUUUU. I want to be sure if this gonna to work ? If yes, how can set UAM Secret ? Thanks

gbaligh commented 8 years ago

I'm planning to add MULTI_UAMSERVER support into coova-chilli: What do you think about it ?

teslamint commented 8 years ago

Is the query parameters that chilli sends to captive portal just not enough to your needs?

gbaligh commented 8 years ago

Hi, In fact, I need to send query to separated captive portals, each one is the portal of an internal network. Those captives portals are maintained by the associated internal network administrator, which means that I don't have control of those captives portals. My only solution, in my opinion, is to be able to set the captive portal URL and secret by user session. And the nearest approach, is to use the chilli_query command to set individual session parameters representing the CP\secret, and to use them when generating HTTP response. The default option set using uamserver/uamsecret will be treated as default parameters if there no specific one for the session.

Thanks.

bingyunxl commented 8 years ago

@gbaligh you can route portal by nasid. so easy

gbaligh commented 8 years ago

@bingyunxl, can you explain more ? Suppose that we have 2 URLs for 2 different portals:

I have 2 interfaces (WiFi SSIDs infact) for local LAN in coova-chilli, the first interface is for client that want to login to company1, the second interface is for company2. How can nasid help me to redirect users according to that ? I really need your help. Thanks.

nzamps commented 8 years ago

@gbaligh The 'multi instance of chilli' approach is probably the easiest way to go - why not do that?

gbaligh commented 8 years ago

I'm working in a router, with embedded linux. So 2 instances of chilli will be greedy for my environment.

teslamint commented 8 years ago

If I remember correctly, 2 instance of chilli in TP-LINK TL-WR841N V8.x(32M RAM/4M FLASH) working without problem. But your mileage may vary.

bingyunxl commented 8 years ago

@gbaligh 2 interfaces have 2 mac address, is means, when parameter "called" in redirect URL has different value, you can redirect to different portal once again by parameter "called"

gbaligh commented 8 years ago

I really appreciate your help guys, thanks

@teslamint: you are right, having 2 instances can be a solution but it's not the optimal one for a multi services embedded device.

@bingyunxl: to be able to achieve your proposal, I'll need to handle all HTTP request from chilli , and parse the URL looking for "called" parameter, which in my opinion not convivial. In addition, I have to change all the URL according to homepage path in the destination portal server.

Thanks

bingyunxl commented 8 years ago

@gbaligh not all HTTP URL, just redirect URL, when you set the HS_UAMFORMAT, the redirect parameters will append to the HS_UAMFORMAT automatic, the redirect parameters include "called"

JUST try it

gbaligh commented 8 years ago

I'll try it. Thanks.

gbaligh commented 8 years ago

@bingyunxl, This is not what I'm looking for.

gbaligh commented 7 years ago

I'm using multi-instance of coovachilli after all. Cost me more ressources, but it's working. Thanks.