Customized captive portal with external DHCP server


April 2019


28 time


I am stuck in one issue for which I need your help on this. Actually its bit complex to explan about my situatuion but I will try my best.

I am working on customized captive portal on arm processor board with embedded linux os.

For which I need to run this captive portal server on my arm board. I got mostly done if run dhcp server internally with dnsmasq, but my requirement is our infrastructure already has dhcp and dns server running externally and I want to use that in my configuration.

Till now what I tried,

I created bridge - brvl2388 of two interfaces(eth0.2388 vlan and wlan0) on arm board. This bridge is routing traffic between both interface.

So any client device will connect to wlan0 to my arm board and get dhcp ip from external dhcp server via eth0.2388 and get internet access. (Tested Works fine).

Now here I want to add captive portal on my arm board to redirect web traffic to authorized first before using internet. For this I tried IPTables commands to forward port 80 traffic to web server but its not working. And for security reason I can not provide ip to my bridge.

This is generic use case diagram.

  1. Whenever any wireless device will get connect to access point, it will send DHCP request. Access Point will forward DHCP request to Fortinet DHCP server and block all other request for that client. Fortinet DHCP server will assign IP address to wireless device.

  2. Access Point will redirect client to local Terms & Condition page which is hosted by web server and wait until client accepts it.

  3. When client accept the T&C, Access point will give internet access.

*I also looked into coovachilli for my requirement but it didn't help me.

Please let me know if need more information. Any direction or hint will be helpful for me. Thanks in advance..!

0 answers