coova-chill+freeradius2 on ubuntu 9.04

16
Coova-chill+freeradius2 on ubuntu 9.04 เริ่มแรกเลยต้องมีการ์แลนด์สองใบครับ ผมลองใน vmware สบายอยู ่แล้วกี่ใบก็ได้ไม่ต้องซื ้อ (ในการติดตั้งนี้ผมถือว่าผม sudo เป็น root แล้วนะครับได้ไม่ต้องมานั่ง sudo กันอีก) เพิ่มการ์ดแลนให้เจ้า ubuntu กันก่อนจ้า #nano /etc/network/interface แก้ไข ip_forward ที ่ แฟ้ ม /etc/sysctl.cof ให้เอา # ออกจากบรรทัด net.ip4.ip_forward=1 ด้งรูป

Upload: sopon7

Post on 18-Nov-2014

1.261 views

Category:

Documents


6 download

DESCRIPTION

coova manual

TRANSCRIPT

Page 1: Coova-Chill+Freeradius2 on Ubuntu 9.04

Coova-chill+freeradius2 on ubuntu 9.04

เรมแรกเลยตองมการแลนดสองใบครบ ผมลองใน vmware สบายอยแลวกใบกไดไมตองซอ

(ในการตดตงนผมถอวาผม sudo เปน root แลวนะครบไดไมตองมานง sudo กนอก)

เพมการดแลนใหเจา ubuntu กนกอนจา

#nano /etc/network/interface

แกไข ip_forward ทแฟม /etc/sysctl.cof ใหเอา # ออกจากบรรทด net.ip4.ip_forward=1 ดงรป

Page 2: Coova-Chill+Freeradius2 on Ubuntu 9.04

(อยาสบสนนะครบถามเครองหมาย # มนจะไมอานบรรทดนน)

ทดสอบวา ip_forward มนใชงานไดไหมดวยคาสง

# echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward

คาทตอบกลบมาจะได 1 (ตรง 1 ใสไรกไดนะมนเพยงแตใหแสดงใหรวามนทางาน)

เปดการทางานของ tun/tap device ท file /etc/modules

#nano /etc/modules

แลวทาการเพม tun เขาไปในบรรทดสดทายทายสดเลยจา ดงรป

สงใหทางานโดยไมดอง restart

# modprobe tun

มาตดตงตอกนเลย

# apt-get update

# apt-get upgrade

Update ใหมนทนสมยกนหนอยนะครบ

มาตดตง apache2+php5+mysql-server

Page 3: Coova-Chill+Freeradius2 on Ubuntu 9.04

#apt-get install apache2

#apt-get install php5-mysqli

#apt-get install mysql-sever ตอนตดตงกใหใส password ดวยนะครบ

ใครจะตดตง phpmyadmin ดวยกไดนะครบยากมาก ดวยคาสง

# apt-get install phpmyadmin แลวมนจะขนมาใหเลอก กเลอก apache2 เลยนะครบ

ทนไดเวบ server มาแลว

ไดเวลาตดตง radius server และ database

#apt-get install freeradius freeradius-mysql

ทาการสราง ฐานขอมลใหกบ freeradius ในทนผมจะใหชอ radius นะครบ

# mysql –u root –p (enter แลวใสรหสผาน mysql ทเราตงไวตอนทเราตดตง mysql-server)

mysql> CREATE DATABASE radius;

mysql> quit

ตอมากทาการใสฐานขอมลใหกบ freeradius โดยใชฐานขอมลของมนเองนะครบ

mysql -u root -p radius < /etc/freeradius/sql/mysql/schema.sql

mysql -u root -p radius < /etc/freeradius/sql/mysql/nas.sql

mysql -u root –p (enter แลวใสรหสผาน mysql ทเราตงไวตอนทเราตดตง mysql-server)

mysql> GRANT ALL PRIVILEGES ON radius.* TO 'root'@'localhost' IDENTIFIED BY 'sniperthai';

(ตรงsniperthai นคอรหสผานของผมเองนะครบใครตงไวยงไงกเปลยนซะนะครบอยาเหมอนผมนะ)

mysql> FLUSH PRIVILEGES;

mysql> quit

เขาไปแกไข file sql.conf เพอใหใช databases ได

#nano -w /etc/freeradius/sql.conf

server = "localhost"

login = "radius"

password = "sniperthai

Page 4: Coova-Chill+Freeradius2 on Ubuntu 9.04

แลวเอา # ออก

หนา readclient =yes ดวย

ตอมาเขาไปแกไข file clients.conf เปนคยในการเขารหส

#nano -w /etc/freeradius/clients.conf

client 127.0.0.1 {

secret = radiussecret

}

Page 5: Coova-Chill+Freeradius2 on Ubuntu 9.04

ตอไปเปนการ test freeradius ใครจะไมtest กไดนะครบเพราะไมคอยมปญหาเทาไรแตใครจะ test กตามมาเลยนะ

เขาไปท file users

#nano -w /etc/freeradius/users

เอา # หนา john ขางลางนออก

"John Doe" Auth-Type := Local, User-Password == "hello"

Reply-Message = "Hello, %u"

Page 6: Coova-Chill+Freeradius2 on Ubuntu 9.04

ทาการ reboot สกทกอน

#reboot

เมอreboot กนเสรจแลว กมาcheck กนเลย

#/etc/init.d/freeradius stop

# freeradius –XXX

เมอ test แลวกจะเหนขอความ debug:ready ดงรปชางลาง

แลวกด ctrl+c

แลวสง start freeradius ซะ

#/etc/init.d/freeradius start

เสรจแลวมา test user john doe กนดวยคาสง

# radtest "John Doe" hello 127.0.0.1 0 radiussecret

Page 7: Coova-Chill+Freeradius2 on Ubuntu 9.04

มนจะขนขอความวา rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=136, length=37

อาวแลวจะงงวาแลวทาไมของผมมนขนวา Access-Reject ละทมนขนขอมความแบบนไมตองตกใจคดวาเฮยไมผานตาย

แลวทาไงดนกถงหลวงพอดไหม ไมตองนะครบจากทผมหามาไดคาตอบวา ถงแมวาจะมการแจงวา Access-Reject

เปนสาเหตเนองจากไมมสทธในการอานแฟม /etc/shadow ของระบบ

ทนกมากาหนดให freeradius อานขอมลจาก mysql โดยเขาไปแกไขท file

#nano -w /etc/freeradius/sites-available/default

ใหกด ctrl+w หาคาวา authorize { เจอแลวใหเลอนลงมาใส # ท file และเอา # ทหนา sql

Page 8: Coova-Chill+Freeradius2 on Ubuntu 9.04

ตอมากหาคาวา accounting { แลวเอา # หนา sql ออก

accounting {

detail

radutmp

sql ###change manually

}

ตอมากหาคาวา session { แลวเอา # หนา sql ออก

session {

sql ###change manually

}

ทนลงมาแอด user กนเลนดกวาหรอจะเอาจรงดเนย

# echo "INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('mysqltest', 'Password', 'testsecret');" | mysql -u root -p radius

(Enter password:sniperthai)

มาลอง test กนเลยดกวา

#/etc/init.d/freeradius restart

#radtest mysqltest testsecret 127.0.0.1 0 radiussecret

Page 9: Coova-Chill+Freeradius2 on Ubuntu 9.04

เรยบรอยแลว freeradius มาตอกนท coova-chilli กนตอเลย

เรมแรกเลยเรากไป download coova มากอนจา

#wget http://ap.coova.org/chilli/coova-chilli_1.0.13-1_i386.deb

ตดตงกนเลย

#dpkg -i coova-chilli_1.0.13-1_i386.deb

มาจดการ file ตางๆๆ ใน coova

Copy file config ของ chilli

#cp /etc/chilli/defaults /etc/chilli/config

สราง folder hotspot ขน

#mkdir /var/www/hotspot

เขาไปใน folder hotspot

#cd /var/www/hotspot

copy fle ใน folder www ทงหมดไปท hotspot

#cp /etc/chilli/www/* /var/www/hotspot

สราง folder image

#mkdir /var/www/hotspot/images

copy รปภาพไปไวท images

#cp /var/www/hotspot/coova.jpg /var/www/hotspot/images/

สราง folder uam ขนมา

#mkdir /var/www/hotspot/uam

เขาไปใน uam

#cd /var/www/hotspot/uam

Page 10: Coova-Chill+Freeradius2 on Ubuntu 9.04

ดาวโหลด uam และ รปจาก coova.org

#wget http://ap.coova.org/uam/

#wget http://ap.coova.org/js/chilli.js

เปลยน Host Address ใหม

#sed -i 's/ap.coova.org\/js\/chilli.js/192.168.8.1\/uam\/chilli.js/g'

/var/www/hotspot/uam/index.html (ตองเปนบรรทดเดยวกนนครบ)

#sed -i 's/192.168.182.1/192.168.8.1/g' /etc/chilli/www/ChilliLibrary.js

#sed -i 's/192.168.182.1/192.168.8.1/g' /var/www/hotspot/ChilliLibrary.js

เขาไปแกไข file chilli โดยเปลยนคาเปน 1

START_CHILLI=1

CONFFILE="/etc/chilli.conf"

#nano -w /etc/default/chilli

ทาการ restart chilli

# /etc/init.d/chilli start

Page 11: Coova-Chill+Freeradius2 on Ubuntu 9.04

แกไข file /etc/chilli/config

#nano /etc/chilli/config

จะเหนวาในทนผมใช วง 192.168.8.0 นะครบ

file ทตองแกไขม

Page 12: Coova-Chill+Freeradius2 on Ubuntu 9.04
Page 13: Coova-Chill+Freeradius2 on Ubuntu 9.04

ตดตง firewall

#nano /etc/chilli/up.sh

เพมขอความขางลางในบรรทดทายสด

# may not have been populated the first time; run again

[ -e "/var/run/chilli.iptables" ] && sh /var/run/chilli.iptables 2>/dev/null

# force-add the final rule necessary to fix routing tables

iptables -I POSTROUTING -t nat -o $HS_WANIF -j MASQUERADE

มาตดตง ssl ใหกบ apache กนดกวา

# apt-get install libapache2-mod-auth-mysql

สราง Certificate

#apt-get install ssl-cert

Page 14: Coova-Chill+Freeradius2 on Ubuntu 9.04

สราง folder ssl

#mkdir /etc/apache2/ssl

ดดวา hostnameเราชอไร ถาจะแกไขกท file /etc/hostname นะ

#hostname -f

เสรจแลวกเอาชอ hostnameมาใสในการตอบคาถามขางลางน

#ake-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem

ตดตง module ssl

a2enmod ssl

/etc/init.d/apache2 force-reload

เขาไปเพมขอความบรรทดดานลางใน file hotspot

#nano -w /etc/apache2/sites-available/hotspot

NameVirtualHost 198.168.8.1:443

<VirtualHost 198.168.8.1:443> ServerAdmin [email protected] DocumentRoot "/var/www/hotspot" ServerName "198.168.8.1" <Directory "/var/www/hotspot/"> Options FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> Alias "/dialupadmin/" "/usr/share/freeradius-dialupadmin/htdocs/" <Directory "/usr/share/freeradius-dialupadmin/htdocs/"> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /var/www/hotspot/cgi-bin/ #this here is a alias with no hotspot path !!!!!!!

Page 15: Coova-Chill+Freeradius2 on Ubuntu 9.04

<Directory "/var/www/hotspot/cgi-bin/"> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/hotspot-error.log LogLevel warn CustomLog /var/log/apache2/hotspot-access.log combined ServerSignature On SSLEngine on SSLCertificateFile /etc/apache2/ssl/apache.pem </VirtualHost>

สงให hotspot ใน apache ทางาน

#a2ensite hotspot

#/etc/init.d/apache2 reload

จดการเรอง post ใน apche

#nano -w /etc/apache2/ports.conf

Listen *:443 Listen *:80 #<IfModule mod_ssl.c> # Listen 443 #</IfModule>

แกไข default ดวยนะ

#nano -w /etc/apache2/sites-available/default

NameVirtualHost *:80 <virtualhost *:80>

เพม server name ใน apache2.conf

Page 16: Coova-Chill+Freeradius2 on Ubuntu 9.04

#nano -w /etc/apache2/apache2.conf

ServerName 198.168.8.1

192.168.8.1 host.name host #change to your host name

รสตาร apache

#/etc/init.d/apache2 restart

เรยบรอยแลวเรากเรยกวบจากเครองลกในวงแลนไดเลยนะครบ

อางอง https://help.ubuntu.com/community/WifiDocs/CoovaChilli

ขอขอบคณอาจารย เผดจ พราวศร ทเปนแรงบนดาลใหผมทาเอกสารชดนและตอๆๆไปครบ