libremesh / pirania

Captive portal that will allow the communities to manage access to their Internet Gateways as they want.
MIT License
21 stars 12 forks source link

Captive portal in a multi-mesh bmx6 scenario #1

Closed nicopace closed 7 years ago

nicopace commented 7 years ago

We want to support the case where we have a captive portal on each community border (1 or more per community), and all the communities share one link to Internet.

In this scenario, we want the users of each community to be able to administer their captive portal independently from each other, even thou this borders do not announce Internet on BMX6 (they are borders for their networks, but they are not phisically connected to the Internet on their interfaces).

On the basis that we want everthing to work as plug-and-play as possible, the solution needs to work without manual intervention.

For this to work, we need to add a functionality that captures the traffic that goes through the border node to the internet

So, for each packet that goes through br-lan, if the destination goes to a node that announces Internet Access (bmx6 -c show tunnels | grep '0.0.0.0/0|::/0') then we need to show the Captive Portal to this user.

nicopace commented 7 years ago

We need to figure out a way to know when bmx6 -c show tunnels | grep '0.0.0.0/0|::/0 changes. One way could be by calling it regularly (every 1 sec?). We tried to look for that information via ubus, but it seems it is not being shared over there.

nicopace commented 7 years ago

(migrated issue from https://github.com/libremesh/lime-packages/issues/114)

nicopace commented 7 years ago

deprecated becuase we changed the strategy of how we implemented pitbull.