Results 1 to 10 of 25

Thread: 100% Works Ubuntu 12.04 LTS + Freeradius + Coova-Chill + daloRADIUS

Threaded View

  1. #1
    Join Date
    May 2011
    Beans
    10

    Smile 100% Works Ubuntu 12.04 LTS + Freeradius + Coova-Chill + daloRADIUS

    100% Works Ubuntu 12.04 LTS + Freeradius + Coova-Chill + daloRADIUS

    Pre-requisites
    -Ubuntu 12.04 LTS
    -2 NICs eth0 connected to Internet on either static or dhcp, eth1 connect to clients with no IP address

    Install Ubuntu 12.04 LTS Server
    - Install LAMP, SSH Server, BIND

    Update packages cache
    3 sudo apt-get update

    Install freeradius
    12 sudo apt-get install freeradius freeradius-mysql apache2 php5 libapache2-mod-php5 mysql-server mysql-client php5-mysql

    Setup FQDN
    13 nano /etc/apache2/httpd.conf
    e.g.
    servername ppPortal.local

    Download daloradius-0.9-9
    15 wget http://sourceforge.net/settings/mirr...s-0.9-9.tar.gz

    17 tar zxvf daloradius-0.9-9-rc1.tar.gz -C /var/www/
    18 sudo tar zxvf daloradius-0.9-9-rc1.tar.gz -C /var/www/
    21 cd /var/www/
    23 sudo mv daloradius-0.9-9 daloradius
    26 cd daloradius/contrib/db/

    Create RADIUSDB database
    32 mysql -u root -p
    mysql> create database radiusdb;
    mysql>quit
    35 mysql -u root -p radiusdb < fr2-mysql-daloradius-and-freeradius.sql
    36 mysql -u root -p
    mysql>CREATE USER 'raddbuser'@'localhost';
    mysql>SET PASSWORD FOR 'raddbuser'@'localhost' = PASSWORD('raddbpass');
    mysql>GRANT ALL ON radiusdb.* to 'raddbuser'@'localhost';
    mysql> quit

    Test Freeradius
    [https://help.ubuntu.com/community/Wi...turerModel%29]

    The default FreeRadius setup authorize's usernames and passwords from a "file" found in /etc/freeradius/users. We should test the default FreeRadius setup before we change the authorization link from "file" to "sql" (mysql).

    Add username an password to our user "file". edit "John Doe"

    nano -w /etc/freeradius/users

    NOTE: you have to work as root to see this file

    uncomment

    "John Doe" Auth-Type := Local, User-Password == "hello"
    Reply-Message = "Hello, %u"

    At this point you need to reboot your ubuntu box

    reboot

    Check FreeRadius config files.

    sudo /etc/init.d/freeradius stop
    sudo freeradius -XXX

    If all goes well the last line should display

    Mon Jun 29 15:24:34 2009 : Debug: Ready to process requests.
    Ctrl+C to exit.

    NOTE: If you get error “Error binding to port for 0.0.0.0 port 1812”, it means freeradius is already running. Stop it by doing the following:

    # ps –A | grep freeradius

    To get process ID of freeradius
    #kill -9 freeradius-PID

    Start FreeRadius again

    sudo /etc/init.d/freeradius start

    Test password authorization to "file"

    sudo radtest "John Doe" hello 127.0.0.1 0 testing123

    If all goes well you should get a reply

    Sending Access-Request of id 136 to 127.0.0.1 port 1812
    User-Name = "John Doe"
    User-Password = "hello"
    NAS-IP-Address = 255.255.255.255
    NAS-Port = 0
    rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=136, length=37
    Reply-Message = "Hello, John Doe"

    change authorization to sql

    in

    /etc/freeradius/radiusd.conf

    on line 683 include the sql module: uncomment the line "$INCLUDE sql.conf" and " $INCLUDE sql/mysql/counter.conf" in "modules { ... }"

    If the above tests worked we can now change authorization from "file" to "sql" in:

    /etc/freeradius/sites-available/default

    comment "files" (line 152) and uncomment sql on line 159 also uncomment sql on line 428 under the "session {... }" section and also in the accounting section on line 383


    Daloradius Web Interface Pre-requisites
    36 apt-get install php-pear php5-gd php-db

    # wget pear.php.net/go-pear.phar
    # php go-pear.phar
    # pear install DB

    Test apache configuration
    54 apachectl configtest

    Restart apache
    57 apachectl restart

    Install php pear
    91 wget pear.php.net/go-pear.phar
    92 php go-pear.phar

    Install Coova-Chilli
    103 wget http://coova-chilli.s3.amazonaws.com...i-1.2.9.tar.gz
    104 apt-get install build-essential linux-headers-server libssl-dev
    105 tar zxvf coova-chilli-1.2.9.tar.gz
    106 ls
    107 cd coova-chilli-1.2.9/
    111 ./configure --prefix= --enable-miniportal --with-openssl
    112 make
    113 make install
    114 cd
    116 wget http://dfn.dl.sourceforge.net/projec...-0.9.29.tar.gz
    118 tar zxvf haserl-0.9.29.tar.gz
    119 cd haserl-0.9.29/
    120 ls
    121 ./configure --prefix=
    122 make
    123 make install

    Create chilli user
    Useradd chilli
    Set freeradius and Chilli to start at boot time
    124 update-rc.d freeradius defaults
    125 update-rc.d chilli defaults

    Also there is a problem at rebooting time. The workaround is to put the following in

    127 nano /etc/rc.local

    /etc/init.d/freeradius restart
    /etc/init.d/chilli restart
    exit 0

    128 cp /etc/chilli/defaults /etc/chilli/config
    133 reboot

    Check Chilli and freeradius status
    138 ps -A | grep freeradius
    140 ps -A | grep chilli

    IPtables
    The creators of CoovaChilli have predefined rules for iptables, but their script needs a little help before it works. CoovaChilli's iptables config is done in the /etc/chilli/up.sh script which runs after the tun interface is up, so that the exact tun interface is known.

    /etc/chilli/up.sh calls /etc/chilli/ipup.sh, if it exists. By default, it does not. If you need to run your own commands after the main iptables configuration is done, create /etc/chilli/ipup.sh and populate it however you like, being sure to make it executable (chmod +x /etc/chilli/ipup.sh) when done.

    create

    /etc/chilli/ipup.sh

    with the following content:

    # force-add the final rule necessary to fix routing tables
    iptables -I POSTROUTING -t nat -o $HS_WANIF -j MASQUERADE

    142 nano /etc/chilli/ipup.sh
    143 chmod +x /etc/chilli/ipup.sh

    Daloradius Database connection settings
    151 nano /var/www/daloradius/library/daloradius.conf.php

    • $configValues['CONFIG_DB_ENGINE'] = 'mysql';
    • $configValues['CONFIG_DB_HOST'] = 'localhost';
    • $configValues['CONFIG_DB_USER'] = 'raddbuser';
    • $configValues['CONFIG_DB_PASS'] = 'raddbpass';
    • $configValues['CONFIG_DB_NAME'] = 'radiusdb';

    Touch daloradius log file.
    • touch /var/log/daloradius.log

    daloRADIUS 0.9-9 – QUCIK START

    Create Profiles – Time Based Profile
    Go to Management tab > Select Profiles > Create New Profiles >Add Profile Attributes
    Type Profile Name, e.g. 60Mins

    Add attributes
    Check Attributes
    Simultaneous-Use = 1
    Max-All-Session = 3600
    [this is in seconds, for 60mins = 3600seconds]
    Session-Timeout = 3600
    Reply Attributes
    Session-Timeout = 3600
    Idle-Timeout = 60
    Acct-Interim-Interval = 120

    Billing Plans – Time Based
    Go to Billing Tab> Select Plans > New Plan
    1. Enter Plan Information details from Plan Name to Plan Active
    2. Enter Time Settings details
    3. Select Profile from the drop-down

    Add Hotspot
    Go to Management Tab > Hotspots > Click New Hotspot
    Enter Hotspot Name and MAC Address of interface connected to clients, Click Apply

    Add NAS
    Go to Management > Nas > Click New NAS
    Enter NAS Info, IP, NAS secret (e.g. testing123), NAS type, Other and NAS shortname. Set NAS Ports to 3997, Click Apply

    Create Pre-paid Vouchers – Batch Users – Walk-In
    Go to Management > Batch Users > Click Batch Add Users
    Enter Account Info, Batch Id/Name, e.g. 60Mins_12_11_12, a Batch Description, Select Hotspot.
    I use Create Random Users, with default username/password length of 8, and set number of instances to create (number of vouchers).
    Select Group, e.g. 60Mins for 1 hour vouchers, Group Priority 0 or 1 is fine and then the Plan name for 1 hour. Click Apply
    You can print the vouchers/tickets.

    Create Member User Accounts
    Go to Management > Users > Click New User
    Enter Account Info, username, password and select Group. You can also enter User Info First/Last names, email, etc. Click Apply

    Testing Login
    Using a client connected to the same interface as the eth1, open a web browser. You should get an IP in this range 10.1.0.X. Go to www.google.com. You will be redirected to the Coova login page. Login in to the Hotspot using either a Batch User or a Member User
    Last edited by laughmo; October 17th, 2012 at 12:38 PM.

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •