Reputation: 8878
I can login to openWRT router admin portal to configure everything. However, if I want to control the openWRT device programmatically, i.e. sending the command through a socket connection between the openWRT device and the server, any module to recommend?
add a user/password who can login to openWRT wifi network.
QoS which can limit the bandwidth usage of a user; calculate the data usage for a user
Security, create firewalls between different users on openWRT device.
Upvotes: 0
Views: 1156
Reputation: 53
Instead of doing it on router, use radius application (freeradius if looking for opensource), freeradius works on mysql so you can define authentication details as well as authorization and data accounting there. Please explain your project so I can help you more.
If you use radius<->router setup, you you need to manage/monitor only radius server, and radius server will take care of all the back-end process. As well as if you go with radius you can go other then openwrt router (I know fully openwrt supported model is more costly and hard to find). you can use those also because you are following industry standards.
And last point if you want to design by your own that is very good, but I'll suggest first go with coova-chilli/nodogsplash (coovac-chilli has more options). Understand its working, then design your own model.
Upvotes: 0
Reputation: 88
You can use Luci for the local connection.
If you want to create a program in Python or C/C++, I would suggest using libcurl
library or module.
Upvotes: 0
Reputation: 939
If you have just one router to manage, you can use ssh reverse tunnel: https://www.howtoforge.com/reverse-ssh-tunneling
You can establish an openvpn or ipsec tunnel as well.
If you want to control a network of devices, then you can look at different management protocols: TR-069 (freecwmp) and SNMP (net-snmp). However, this approach will require additional time to configure and use.
Upvotes: 4