Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| install_22_4_coova [2024/02/07 17:57] – created system | install_22_4_coova [2024/02/08 18:21] (current) – system | ||
|---|---|---|---|
| Line 2: | Line 2: | ||
| ===== Introduction ===== | ===== Introduction ===== | ||
| - | * RADIUSdesk can function | + | * RADIUSdesk can work perfectly without CoovaChilli. |
| - | * CoovaChilli | + | * However, |
| - | * If you want to install CoovaChilli on a machine; <wrap hi>make sure that there are at least two functional | + | * If you want to install CoovaChilli on a computer, you must ensure |
| - | * One network card will be used by CoovaChilli as the Internet connection (WAN). | + | * One network card is used by CoovaChilli as the Internet connection (WAN). |
| - | * The second network card will be used to run a captive portal | + | * The second network card is used to operate |
| - | * This captive portal is created by the CoovaChilli program | + | * This captive portal is created by the CoovaChilli program, which in turn receives |
| - | ===== Enable Packet | + | ===== Activate packet |
| - | * The machine running | + | * The computer on which Coova Chili is running acts as a router and must therefore |
| - | * This means that the IP packets | + | * This means that the IP packets |
| * Edit the **/ | * Edit the **/ | ||
| - | * Find and uncomment **net.ipv4.ip_forward=1** line. | + | * Find the line net.ipv4.ip_forward=1 |
| - | ===== Installing | + | ===== Installation of CoovaChilli ===== |
| - | * The version of CoovaChilli is 1.6 as of this writing. | + | * The version of CoovaChilli |
| - | * We will download and build the .deb package from source. | + | * We will download and build the .deb package from the sources. |
| - | * First ensure | + | |
| <code bash> | <code bash> | ||
| Line 25: | Line 25: | ||
| </ | </ | ||
| - | * Download the **release 1.6**' | + | * Download the .tar.gz file of the source |
| - | * Before we can build the package, we have to remove a dependency (**hasrl**) specified in the Debian control file. | + | * Before we can build the package, we need to remove a dependency (**hasrl**) specified in the Debian control file. |
| - | * This dependency is not required and including it causes trouble when you want to **install** the package. | + | |
| <code bash> | <code bash> | ||
| Line 57: | Line 57: | ||
| sudo dpkg --install coova-chilli_1.6_amd64.deb | sudo dpkg --install coova-chilli_1.6_amd64.deb | ||
| </ | </ | ||
| - | * From the output of the dpkg command you will see that CoovaChilli is by default | + | * From the output of the dpkg command, you can see that CoovaChilli is disabled |
| <code bash> | <code bash> | ||
| Selecting previously unselected package coova-chilli. | Selecting previously unselected package coova-chilli. | ||
| Line 75: | Line 75: | ||
| sudo vi / | sudo vi / | ||
| </ | </ | ||
| - | * Change it to look like this | + | * Change |
| <code bash> | <code bash> | ||
| START_CHILLI=1 | START_CHILLI=1 | ||
| Line 83: | Line 83: | ||
| * Save the file and start CoovaChilli | * Save the file and start CoovaChilli | ||
| <code bash> | <code bash> | ||
| - | # | + | # |
| sudo systemctl enable chilli | sudo systemctl enable chilli | ||
| # Feedback code should be... | # Feedback code should be... | ||
| Line 90: | Line 90: | ||
| sudo systemctl start chilli | sudo systemctl start chilli | ||
| </ | </ | ||
| - | * Check the feedback on our startup | + | * Check the feedback on our start attempt. |
| <code bash> | <code bash> | ||
| sudo systemctl status chilli | sudo systemctl status chilli | ||
| </ | </ | ||
| - | * Because | + | * Since we have not configured anything |
| <code bash> | <code bash> | ||
| ● chilli.service - LSB: Start CoovaChilli daemon at boot time | ● chilli.service - LSB: Start CoovaChilli daemon at boot time | ||
| Line 114: | Line 114: | ||
| </ | </ | ||
| - | ==== Modify | + | ==== Change |
| * CoovaChilli is configured by editing or creating certain files under the **/ | * CoovaChilli is configured by editing or creating certain files under the **/ | ||
| - | * Before we proceed | + | * Before we continue |
| - | * For CoovaChilli to work correct; there needs to be at least two network interfaces on the machine. (Excluding | + | * For CoovaChilli to work correctly, |
| * One interface will be directly connected to the Internet. We will refer to this interface as the WAN interface | * One interface will be directly connected to the Internet. We will refer to this interface as the WAN interface | ||
| - | * The other interface will be running the captive portal on top of it. We will refer to this interface as the LAN interface. | + | * The captive portal |
| - | * With previous versions of Ubuntu, the network interfaces | + | * In previous versions of Ubuntu, the network interfaces |
| - | * With the current versions of Ubuntu, the naming convention changed. | + | * In the current versions of Ubuntu, the naming convention |
| - | * We would advice | + | * We advise |
| <code bash> | <code bash> | ||
| ip addr | ip addr | ||
| Line 142: | Line 142: | ||
| </ | </ | ||
| - | * Using this, on our system, the WAN will be **enp0s3** and the LAN will be **enp0s8**. | + | * In this way, the WAN becomes |
| - | * Next lets look at how to configure CoovaChilli under **/etc/chilli**. | + | * Next, let us take a look at how to configure CoovaChilli under **/etc/chili**. |
| <panel type=" | <panel type=" | ||
| Line 150: | Line 150: | ||
| | **defaults** | To avoid the splash screen we have to remove one line from this file | | | **defaults** | To avoid the splash screen we have to remove one line from this file | | ||
| | **ipup.sh** | Custom firewall rules for start-up | | | **ipup.sh** | Custom firewall rules for start-up | | ||
| - | | **ipdown.sh** | Custom firewall | + | | **ipdown.sh** | Custom firewall |
| </ | </ | ||
| - | * Use the following / | + | * Use the following / |
| <code bash> | <code bash> | ||
| HS_WANIF=enp0s3 | HS_WANIF=enp0s3 | ||
| Line 188: | Line 188: | ||
| </ | </ | ||
| - | * Comment the following line out of /// | + | * Comment |
| <code bash> | <code bash> | ||
| - | # Same principal goes for HS_UAMHOMEPAGE. | + | # The same principle applies to HS_UAMHOMEPAGE. |
| # | # | ||
| </ | </ | ||
| Line 216: | Line 216: | ||
| ===== Test it out ===== | ===== Test it out ===== | ||
| - | * Restart CoovaChilli | + | * Restart CoovaChilli |
| <code bash> | <code bash> | ||
| sudo systemctl stop chilli | sudo systemctl stop chilli | ||
| Line 223: | Line 223: | ||
| </ | </ | ||
| - | * Confirm it started | + | * Confirm |
| <code bash> | <code bash> | ||
| sudo systemctl status chilli | sudo systemctl status chilli | ||
| Line 250: | Line 250: | ||
| </ | </ | ||
| - | * Reboot the system and make sure CoovaChilli started | + | * Reboot the system and make sure that CoovaChilli |
| ===== Troubleshooting tips ===== | ===== Troubleshooting tips ===== | ||
| - | * When things does not work is can be a bit tricky | + | * If something |
| - | * It might help if you see the captive portal | + | * It might help if you think of the Captive Portal |
| - | * So then there are a couple of important things to check. | + | * So there are a few important things to check. |
| ==== Are you getting an IP address ==== | ==== Are you getting an IP address ==== | ||
| - | * The captive portal | + | * The Captive Portal |
| * You can check both sides (server and client) | * You can check both sides (server and client) | ||
| - | * To check on the server | + | * To check the server, enter the following command. |
| <code bash> | <code bash> | ||
| sudo chilli_query list | sudo chilli_query list | ||
| Line 267: | Line 267: | ||
| </ | </ | ||
| * You can read more about the **chilli_query** command here: [[https:// | * You can read more about the **chilli_query** command here: [[https:// | ||
| - | * After consulting | + | * After reading |
| * This means that they ' | * This means that they ' | ||
| - | * If you are not redirected to a login page we can try the following procedure which basically comes down to two things | + | * If you are not redirected to a login page, we can try the following procedure, which essentially boils down to two things not working as intended. |
| - | * The routing between the LAN and WAN is not working | + | * The routing between the LAN and the WAN is not working |
| - | * The DNS on the setup is not working | + | * The DNS on the setup is not working |
| - | ==== Forcing the login page to display | + | ==== Forcing the login page to be displayed |
| - | * CoovaChilli has a special URL which will log you out and redirect | + | * CoovaChilli has a special URL that logs you out and redirects |
| * The URL is http:// | * The URL is http:// | ||
| - | * If you do get a login page you can next try to test the routing and the DNS. | + | * If you get a login page, the next thing you can try is to test the routing and DNS. |
| ==== Test the routing | ==== Test the routing | ||
| Line 292: | Line 292: | ||
| 08-00-27-8C-D3-32 10.1.0.2 dnat 157706713900000001 0 08-00-27-8C-D3-32 0/0 0/0 0/0 0/0 0 0 0/0 0/0 - | 08-00-27-8C-D3-32 10.1.0.2 dnat 157706713900000001 0 08-00-27-8C-D3-32 0/0 0/0 0/0 0/0 0 0 0/0 0/0 - | ||
| </ | </ | ||
| - | * On the client you can now try to go to an IP Address | + | * On the client, you can now try to get to an IP address |
| - | * I can now again log this client | + | * I can now log off this client |
| <code bash> | <code bash> | ||
| sudo chilli_query logoff ip 10.1.0.3 | sudo chilli_query logoff ip 10.1.0.3 | ||
| Line 304: | Line 304: | ||
| ==== Test the DNS ==== | ==== Test the DNS ==== | ||
| - | * DNS traffic | + | * DNS traffic |
| - | * In order for the client to magically | + | * In order for the client to magically |
| - | * A common problem is that sometimes the client has their own DNS servers | + | * A common problem is that sometimes the client has specified its own DNS servers and then (depending on the configuration settings of CoovaChilli) |
| - | * After you confirmed that the client does not have any hard defined | + | * Once you have confirmed that the client does not have any fixed DNS servers, you can perform |
| - | * With a ping test you just want to test and confirm that the DNS is working | + | * With a ping test, you only want to test and confirm that the DNS is working |
| - | * You can try and ping any known FQDN and see if the system | + | * You can try to ping any known FQDN and see if the system |
| - | * Here I try to ping www.radiusdesk.com. As you can see the name resolution worked | + | * Here I am trying |
| <code bash> | <code bash> | ||
| ping www.radiusdesk.com | ping www.radiusdesk.com | ||
| Line 320: | Line 320: | ||
| ==== Conclusion | ==== Conclusion | ||
| - | * By using these check points on the captive portal setup, you can now point to a component | + | * Using these checkpoints for the captive portal setup, you can now point to a component |
| * Be it the login page. | * Be it the login page. | ||
| * The routing between WAN and LAN. | * The routing between WAN and LAN. | ||
| * The DNS service. | * The DNS service. | ||