Chillispot

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 13:51, 29 July 2009 (edit)
S2s2 (Talk | contribs)
m (same)
← Previous diff
Revision as of 13:53, 29 July 2009 (edit) (undo)
S2s2 (Talk | contribs)
m (typo)
Next diff →
Line 127: Line 127:
Changes MSS to fit inside Chillispot tunnel. Important so some websites work properly, otherwise 'MTU Bug' Changes MSS to fit inside Chillispot tunnel. Important so some websites work properly, otherwise 'MTU Bug'
-<code>/usr/sbin/iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1421:65535 -j TCPMSS --clamp-mss-to-pmtu<code/>+<code>/usr/sbin/iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1421:65535 -j TCPMSS --clamp-mss-to-pmtu</code>
More info [http://www.chillispot.org/forum/viewtopic.php?t=1038 in this forum post] More info [http://www.chillispot.org/forum/viewtopic.php?t=1038 in this forum post]

Revision as of 13:53, 29 July 2009


Contents

Brief Introduction

Chillispot:

ChilliSpot is an open source Captive_Portal or wireless LAN access point controller. It is used for authenticating users of a wireless LAN. It supports web based login which is today's standard for public HotSpots. Authentication, authorization and accounting (AAA) is handled by your favorite radius service.

It cannot work alone and needs 2 additional services externally provided:

  • A web portal to which users are redirected. This portal can provide any mean of access control service such as user login, online billing, etc...
  • A Radius service for authentication and accounting. Most of the time, the Radius server and the web server will be tightly integrated to offer advanced services.

There are several online services that provide such services: Captive_Portal#Provider

Note: original chillispot.org author gave up supporting chillispot. Chillispot.info website is only a copy of the original chillispot.org website, without any development. DD-WRT uses the old chillispot.org version.

Fortunately Chillispot development is continued here with many new features including a major shrink on memory use. Inclusion into dd-wrt would be a good thing.

Terms and Definitions

  • Client Computer: Your laptop
  • DD-WRT Device: Your Linksys WRT54GL or equivalent
  • Chillispot Account: Your [free] account on WorldSpot.net or another On-line Provider of Chillispot services.
  • Chillispot Service Provider: An on-line (Internet-based) provider of the necessary Back-end Services for the DD-WRT Device running Chilllispot.

Prerequisites & Assumptions

  • Obviously: A DD-WRT-Compatible Device programmed with V24 Final or V23SP2. This will be your public access point, Chilli-enabled.
  • Check to make sure that you can connect to the Internet from your computer. If not, configure your Internet connection.
  • IMPORTANT: internet must come from the WAN (internet) port of the router, not from the lan port.
    • If you connect the LAN port to an existing network (managed by another router or by your modem router), you will have wifi access, but it won't be managed by dd-wrt. In this case, the router will only act as a wireless access point with no additionnal services.
    • If your existing network has a subnet like 192.168.1.X, which is probable, there will be a conflict with dd-wrt default LAN subnet. You MUST change dd-wrt lan ip address to another subnet like 192.168.2.1
    • As you have an existing LAN network, dd-wrt WAN interface will be inside this network. It is recommended that you open management interfaces to the WAN so you can control dd-wrt from the existing network.
  • For those using an On-line Chillispot Back-end Provider, the DD-WRT Device must already have Internet access. Example, check your laptop is working through the DD-WRT Device to get Internet.
  • When using Chillispot without using an on-line Chillispot Back-end Provider service, you must provide your own Web Server to host the redirect website and a Radius Server for accounting. The Web Server and Radius Server may be installed on the same machine, but generally not the DD-WRT Device. Installation and Set-up of Chillispot without an Online Chillispot Back-end Provider is beyond the scope of this guide.
  • The advantage of a Chillispot Service Provider is Chillispot can be up and running in minutes.
    • Create a Chillispot Account on WorldSpot.net or equivalent provider.
    • After signing up, WorldSpot.net gives you a convenient customized screen-image (based on V2.3SP2) displaying the entries for the DD-WRT Device. Other providers may do the same.
  • A cable connecting to your laptop LAN port and a LAN port on the DD-WRT Device.
  • The DD-WRT Device's Web Management Interface must work. You should be able to connect to at http://192.168.1.1/ (default), or whatever LAN IP you have set your DD-WRT Device.
  • Setup your Wireless LAN, but disable encryption for the WLAN for now.
  • Check to make sure you can connect to the Internet from a Wireless client.
  • These instructions assume your DD-WRT Device currently provides your clients a single, homogeneous, private subnet. If this sounds technical, don't worry: it is the default setup of DD-WRT. By factory setup, a DD-WRT Device uses 192.168.1.1 as a LAN IP, and all clients are assigned an address automatically of 192.168.1.x. While other configurations are possible, the examples used here assume your DD-WRT Device is using the default settings.
  • http://192.168.1.1: The assumed LAN IP address of your DD-WRT Device's Web Management. If you have changed this number, use in place, whatever you changed it to.
  • V23SP2 Introduces the option of Enabling 'Separation of Wifi [WLAN] from the LAN Bridge': having ChilliSpot control ONLY the WLAN interface. The WLAN is used only for Chillispot, and the existing DD-WRT Device settings are only used for the LAN. The DD-WRT Device behaves as if the WLAN and LAN are separate networks completely. Most guides including the WorldSpot.net guide, assume this 'Separate WiFi' configuration is Enabled.
    However:
    • If you have Secondary Access Points specifically to increase the WLAN coverage, and these SAP's are physically wired into the LAN ports on the main Chillispot'ed DD-WRT Device, you do not want to 'Separate Wifi from the LAN Bridge'.
    • If you have Public Access terminals which are Wired in, such as in a Library, to the DD-WRT Device, and you want these clients to be directed to the ChilliSpot Authentication Splash Page, you also do not want to 'Separate Wifi from the LAN Bridge'.
    • If you want to maintain a homogeneous network [all internet-connected devices shares the same private subnet], of wireless and wired clients, and your wired clients have been made secure from wireless attacks [outside of the scope of this guide], then you do not want to 'Separate Wifi from the LAN Bridge'.

Additional Prerequisites for Older Firmware

  • Firmware V23xx: If you haven't reset to factory settings after installation, do it, then reboot once more.

Anyone familiar with the V23-series firmware, please change the above point if this is only needed on specific revisions

  • Resetting to factory defaults is NOT needed for V24Final.

Configuration

After carefully following the above sections:

2 options: (1) One Network: Keeping the WLAN & LAN clients on Chilli, or (2) Keeping the LAN clients on normal services while splitting off the WLAN clients onto Chilli.

One Network:

Keep your pre-Chilli private subnet throughout. Also known as 'Separate WLAN from LAN' - DISABLE

Chillispot has it's own DHCP Server. If 'Separate WiFi from LAN Bridge' is disabled, the DD-WRT Device's normal DHCP Server must be off. When you have fixed-IP services on your lan, like a web-server with an independent PPPoE login, for normal clients to continue to use the same subnet, as before enabling Chillispot, do as in the following example:

Your existing LAN subnet was 192.168.1.x and your DD-WRT Device LAN IP was 192.168.1.1.
  1. From the DD-WRT Web Setup page, change the DD-WRT Device LAN IP to another subnet, such as 192.168.2.1 & press Apply.
  2. Reconfigure your local client with 192.168.2.10, and reconnect to the Administration Web Site of the DD-WRT Device on 192.168.2.1.
  3. From the Setup (Main page) turn off the DD-WRT DHCP Server.
Now, the LAN IP of the DD-WRT Device does not interact with Clients. After enabling and configuration of Chillispot (covered later), Chillispot will create a virtual LAN Adapter at 192.168.1.1 and provides DHCP Services on 192.168.1.x for all your Wireless and Wired clients.
Now enable Chillispot options:
    1. With v24: Services, Hotspot - Chillispot section. or
    2. With v23xx: Administration, Hotspot - Chillispot section.
  1. Enable Chillispot

Two Networks, WLAN separate from LAN:

If you choose to have a Chillispot-managed WLAN, and leave your LAN as before:
The assumption here is your existing DD-WRT setup uses 192.168.1.0/24 as the IP range and your DD-WRT Device is at 192.168.1.1. Substitute your own numbers if there is a difference.
  1. 'Separate WiFi from the LAN Bridge' - ENABLE, also select:
  2. Chillispot DHCP Interface, select WLAN.
  3. Remote Network: the default value is '192.168.182.0/24' (192.168.182.x), but you can choose something else, like 192.168.155.0/24, so long as it is NOT your existing DD-WRT LAN Range of '192.168.1.0/24'.
This is 'Bridge Separation'. It makes ChilliSpot control only your WLAN. The wired LAN continues to connect directly to the Internet without going through Chillispot, as before Chillispot was enabled. Your LAN ports are also inaccessible by the WLAN computers.
  • RADIUS Server 1 As assigned by On-line Chillispot Back-end Provider. the IP address of your primary RADIUS server.
  • RADIUS Server 2 As assigned by OCBP. The IP address of your secondary RADIUS server.
    • If you have only one Radius Server, leave as 0.0.0.0 or specify the same field value of Radius Server 1.
  • DNS IP YOUR ISP's 1st DNS Server.
  • Remote Network 192.168.1.0/24 (1)
  • Redirect URL As given by your Online Chillispot Back-end Provider. The address of the UAM Server, the web authentication portal.
  • Shared Key As given by your OCBP. It's also called your RADIUS secret password
  • RADIUS NAS ID As given by your OCBP. The RADIUS name of your Hotspot
  • UAM Secret is a secret password between the Redirect URL and the Hotspot.
  • UAM AnyDNS Allows Clients to use their own DNS servers. Allows ANY traffic through port 53. Only set this to 1 if you know what you are doing, and can reconfigure IPTABLES properly!
  • UAM Allowed is a list of websites that unauthenticated users are allowed to access.
  • MacAUTH Enabled or Disabled. Allows authentication of clients by their WLAN or LAN card MAC (hardware) address. Not used in this guide.
  • Additional Chillispot Options
    • If your local domain is 'local', then
      domain local
    • Your provider may offer another, optional setting for domain.
    • If your second Internet DNS is for example 4.2.2.4, then for redundancy
      dns2 4.2.2.4
    • To tell Chillispot to issue addresses 192.168.1.128 through 191 to clients (DHCP)
      dynip 192.168.1.128/26 (2)
  • Apply Changes/Save, and if needed, reboot your DD-WRT Device.
  • Your Chillispot Hotspot should work now. If you tested your wireless client device before setting up Chillispot, repair the WLAN in XP to get a new Chillispot-provided IP address.

(1) Remote Network is the same as the net command, found on the Internet, elsewhere in references to ChilliSpot configuration and chilli.conf. net defines the Chillispot network. In DD-WRT, the field is called Remote Network, but it is the same setting as net.

(2) dynip tells Chillispot to use a limited range of IP's within net for the Client DHCP pool, instead of using the entire net range. In this example, address assignments from 192.168.1.128 to 192.168.1.191 are given to Clients. IP's from 2 through 127 are left for fixed assignements, and can be used by statip, or used by existing network servers.

Notes

If you are not knowledgeable about your LAN security, or have insecure (i.e. poorly configured XP) devices on your LAN, to reduce possible attacks from WLAN Clients, you can enable the option: "Separate WiFi from the LAN Bridge" (your LAN won't be visible to WLAN Clients). If you /know/ your LAN is configured as secure, which it should be anyway, and you want to have access to your LAN equipment from your WLAN, then leave "Separate..." Disabled.

  • Chillispot will not start unless it can see the DNS Server specified the Chillispot settings.
  • Note that after reboot, it can take a certain time before a wifi client receives an IP address. Don't forget to enable automatic ip assignment (dhcp) on your Client Wireless or Wired Interfaces when testing!

Troubleshooting

Your Client gets a Chillispot IP but you see no welcome page, or certain websites don't open (MTU Bug)

Maybe you are using a PPPOE modem and you are experiencing the MTU bug?

Add this to your Firewall Commands (Administration tab in the Web Interface, Commands sub-tab): Changes MSS to fit inside Chillispot tunnel. Important so some websites work properly, otherwise 'MTU Bug'

/usr/sbin/iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1421:65535 -j TCPMSS --clamp-mss-to-pmtu

More info in this forum post

DD-WRT Firmware: Administration/Hotspot/Chillispot tab does not show

Make sure you are using a package that includes chillispot. Chillispot is not in the micro and mini versions of dd-wrt (consult this table).

Connection Failed on Older Firmware

If your client does not recieve a Chillispot IP address you may have changed the Chillispot DHCP Interface. On older versions of DD-WRT Firmware, touching this setting breaks Chillispot. A fix is to reset to factory defaults and re-enter all your settings or use newer firmware.

If the UAM Secret you entered in Chillispot Settings is incorrect, you will have an authentication failure.

If the RADIUS Shared Secret is incorrect, the login process will hang.

More things to try

If it does not work, you must connect with ssh or telnet to your router.

login: root 
password: <your password>

First, check that you have internet access:

ping google.com

Worldspot Users: if you don't have any ping return, check the output of "ifconfig", and post it on the WorldSpot forum

If internet works from your router but you don't have chillispot working, check first that the chillispot process is launched with

ps -ef

You should see a "chilli -c /tmp/chilli.conf" process. If not, recheck your chillispot settings. For example, if you put a whitespace in the NAS ID, the chilli process won't launch.

Worldspot Users: If you need more assistance, you can post on the WorldSpot forum

For the FON Hotspot

Please see the FON Hotspot page for a guide and advice on setting up a FON hotspot using DD-WRT and Chillispot.

List of Online Chillispot Back-end Providers

A hosted Chillispot portal can be used to speed-up HotSpot setup and Management, and ease payment and other back-end requirements. Only a DD-WRT Device is necessary, the rest is done by third parties listed below.
Disclaimer: NONE of the following links are endorsements. You are Entirely Responsible Solely for your Choices.

Note: WorldSpot.net has been recommended by many people as having the best support and development. Some of the links are simply ads which were inserted into this Wiki in a badly-organized fashion (HotSpotExpress.In), if this helps inform you about which one to test.

WorldSpot.net. Free for free hotspots. Earn 75% in revenue sharing.
Skyrove free for free hotspots only, otherwise a payed account is required.
HotSpotSystem.com. Free sign up with a revenue share based solution for paid hotspots.
Hotspotexpress HotSpot services to use with Chillispot]
Chillifire Free or Fee Hotspots. Earn 80-90% of the revenue created. Immediately receive your revenue into your own PayPal account - no delays, no currency conversion losses, no bank fees.]

Any of these systems linked above are designed to replace both a local radius server and webserver, and bring powerful features. Simply register online and create your hotspot. Then you can get the chillispot configuration setting:

SkyRove Chillispot Page
Setup DD-WRT for WorldSpot
HotSpotSystem.com to enter in the steps below, and you can get your hotspot working in some minutes.
Chillispot info

News & Updates

11:58, 4 September 2008 (CEST): Chillispot does not play nice with UPnP. Clients are blocked from setting up UPnP mappings. Someone aught to figure out the correct IPTABLES command to unblock the UPnP ports.

Here is what I got from Microsoft's site:
Port numbers for UPnP
1900 UDP port used by SSDP protocol.
5120 TCP port used for UPnP control and eventing.

11:58, 4 September 2008 (CEST): If there is no WLAN signal from the Client for 10 minutes, the Chillispot service sends a 'Lost Carrier' message to the Radius server. What this means is, should a client walk away from their laptop for a triple-latte mocha supreme (or whatever), and the laptop goes to sleep for more than 10 minutes, the Client is pushed back to the splash page to log in. Part of this logic is should the Client fail to log out, before getting up to get his triple-mocha, the system forcibly logs the Client off to save on ticket time, should it be a fee-ticket system.

Problems only seem to occur if the client is using an OpenVPN or SSH connection tunnel for the web access. The Client must disconnect these and setup a direct connection, or have another browser setup for direct Internet access. Refresh the page of the direct browser, and click the Disconnect/Connect button.