หลังจากติดตั้ง Ubuntu 9.0.4 เสร็จเรียบร้อย
eth0 = 10.10.10.3 ต่อ Internet
eth1 = 192.168.0.1 LAN
1. ติดตั้งค่า Network Interface Card
- nano /etc/network/interfaces
iface eth0 inet static
address 10.10.10.3
netmask 255.255.255.240
gateway 10.10.10.1
auto eth1
2. อนุญาตให้ forward packet ได้address 10.10.10.3
netmask 255.255.255.240
gateway 10.10.10.1
auto eth1
- nano /etc/sysctl.conf ให้เอา # ออกจากบรรทัด net.ip4.ip_forward=1
- echo 9 sudo tee /proc/sys/net/ipv4/ip_forward
- nano /etc/modules แล้ว พิมพ์ที่บรรทัดล่างสุด tun
- modprobe tun สั่งให้ทำงานโดยไม่ต้อง restart
- tasksel แล้วเลือก LAMP Server และ Openssh-Server
5. ok มาถึงขั้นติดตั้ง freeradius
- apt-get install freeradius freeradius-mysql ติดตั้ง Freeradius 2
- mysqladmin -ppasswd create radius
- mysql -u root -p radius < /etc/freeradius/sql/mysql/schema.sql -ppassswd สีแดงเปลี่ยนเป็นรหัสผ่าน
- mysql -u root -p radius < /etc/freeradius/sql/mysql/nas.sql -ppasswd สีแดงเปลี่ยนเป็นรหัสผ่าน
- mysql -u root -p
- mysql>GRANT ALL PRIVILEGES ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'Iloveradius';
- mysql>FLUSH PRIVILEGES;
- mysql>quit
- nano -w /etc/freeradius/sql.conf
server = "localhost"
login = "radius"
password = "Iloveradius"
แล้วเอา # หน้า readclient =yes ออก - nano /etc/freeradius/radiusd.conf
ให้เอา comment ที่หน้า 2 บรรทัดนี้ออก
modules {
….
$INCLUDE sql.conf
$INCLUDE sql/mysql/counter.conf
- nano -w /etc/freeradius/clients.conf
client 127.0.0.1 {
secret = Iloveradius
}
- nano -w /etc/freeradius/sites-available/default
authorize {
#file เติม # เข้าไป
sql เอา # ออก
daily เอา # ออก และเพิ่ม 3 บรรทัดข้างล่างต่อท้าย
noresetcounter
dailycounter
monthlycounter
}
ต่อมาก็หาคำว่า accounting { แล้วเอา # หน้า sql ออก
accounting {
detail
radutmp
sql ###change manually
}
ต่อมาก็หาคำว่า session { แล้วเอา # หน้า sql ออก
session {
sql ###change manually
}
10. เพิ่ม User เข้าไปในฐานข้อมูล Radius เสร็จ restart Freeradius แล้วทดสอบ User เลย
- mysql -u root -p
- INSERT INTO radcheck (UserName, Attribute, Value) VALUES ('guest', 'Password','guest'); เพิ่มusername เข้าไปในฐานข้อมูล
- quit
- /etc/init.d/freeradius restart
- radtest guest guest 127.0.0.1 0 Iloveradius
--------------------จบ Freeradius----------------
ต่อด้วย coova-chilli กันต่อเลย (ผมได้ลอง Chillispot แล้วไม่เหมาะกับการทำงาน อีกอย่างหนึ่งเค้าเลิกพัฒนาแล้ว)
11. download และติดตั้ง
- cd /tmp
- 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 config ของ chilli
- cp /etc/chilli/defaults /etc/chilli/config
- mkdir /var/www/hotspot
- cd /var/www/hotspot
- cp /etc/chilli/www/* /var/www/hotspot
- mkdir /var/www/hotspot/images copy สร้าง folder image
- cp /var/www/hotspot/coova.jpg /var/www/hotspot/images copy รูปภาพไปไว้ที่ images
- mkdir /var/www/hotspot/uam
- cd /var/www/hotspot/uam
- wget http://ap.coova.org/uam/
- wget http://ap.coova.org/js/chilli.js
- sed -i 's/ap.coova.org\/js\/chilli.js/192.168.0.1\/uam\/chilli.js/g' /var/www/hotspot/uam/index.html ต่อยาวเป็นบรรทัดเดียวกัน
- sed -i 's/192.168.182.1/192.168.0.1/g' /etc/chilli/www/ChilliLibrary.js ยาวเป็นบรรทัดเดียว
- sed -i 's/192.168.182.1/192.168.0.1/g' /var/www/hotspot/ChilliLibrary.js
- nano -w /etc/default/chilli
START_CHILLI=1
- nano /etc/chilli/config
HS_LANIF=eth1 # Subscriber Interface for client devices
HS_NETWORK=192.168.0.0 # HotSpot Network (must include HS_UAMLISTEN)
HS_NETMASK=255.255.255.0 # HotSpot Network Netmask
HS_UAMLISTEN=192.168.0.1 # HotSpot IP Address (on subscriber network)
HS_UAMPORT=3990 # HotSpot Port (on subscriber network)
HS_NASID=nas01
HS_UAMSECRET=uamsecret
HS_RADIUS=127.0.0.1
HS_RADIUS2=127.0.0.1
HS_RADSECRET=Iloveradius
HS_UAMALLOW=www.google.com,192.168.0.0/24
HS_UAMSERVER=192.168.0.1
HS_UAMFORMAT=https://\$HS_UAMSERVER/uam/
HS_UAMHOMEPAGE=http://\$HS_UAMLISTEN:\$HS_UAMPORT/www/coova.html
HS_UAMSERVICE=https://192.168.0.1/cgi-bin/hotspotlogin.cgi
HS_TCP_PORTS="80 443"
- 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
- apt-get install libapache2-mod-auth-mysql
- apt-get install ssl-cert สร้าง Certificate
- mkdir /etc/apache2/ssl
- nano /etc/hostname
- make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem
- a2enmod ssl
- /etc/init.d/apache2 force-reload
- nano /etc/hosts
127.0.0.1 localhost.local localhost
127.0.1.1 Authen.local Authen
192.168.0.1 Authen.local Authen
- nano -w /etc/apache2/sites-available/hotspot ก๊อบข้างล่างไปวางใน hotspot
NameVirtualHost 192.168.0.1:443
<.VirtualHost 192.168.0.1:443>
ServerAdmin webmaster@domain.org
DocumentRoot "/var/www/hotspot"
ServerName "192.168.0.1"
<.Directory "/var/www/hotspot/">
Options Indexes 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>
<.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>
- a2ensite hotspot
- nano -w /etc/apache2/ports.conf แก้ไขให้เหลือตามข้างล่างเป็นพอ
Listen *:443
Listen *:80
- nano -w /etc/apache2/apache2.conf
- nano -w /etc/apache2/sites-available/default
เพิ่มตรงบนสุด NameVirtualHost *:80
- mkdir -p /var/www/hotspot/
- cd /var/www/hotspot/
- wget http://www.truesoft.co.th/wifi/uam.tgz
- tar -xzvf uam.tgz
- mv index.html index.html-o
- mv chilli.js chilli.js-o
- reboot
ติดตั้ง Daloradius (โดยส่วนตัวแล้ว ผมชอบตัวนี้แหละ)32. ดาวน์โหลด daloRADIUS
- cd /tmp
- wget http://downloads.sourceforge.net/project/daloradius/daloradius/daloradius-0.9-8/daloradius-0.9-8.tar.gz
- tar -zxvf daloradius-0.9-8.tar.gz
- cp daloradius-0.9-8/ /var/www -R
- chown www-data:www-data /var/www/daloradius-0.9-8 -R
- chmod 644 /var/www/daloradius-0.9-8/library/daloradius.conf.php ทำการ chmod ดังนี้
- mysql -u root -p radius < /var/www/daloradius-0.9-8/contrib/db/mysql-daloradius.sql
- nano /var/www/daloradius-0.9-8/library/daloradius.conf.php แ้ล้วแก้ไขค่าสำคัญดังนี้ CONFIG_DB_ENGINE = mysql
CONFIG_DB_HOST = 127.0.0.1
CONFIG_DB_USER = root
CONFIG_DB_PASS = password เปลี่ยนตามที่ได้ตั้งไว้ตอนติดตั้ง Mysql
CONFIG_DB_NAME = radius
$configValues['CONFIG_DB_TBL_RADUSERGROUP'] = 'radusergroup'; แก้ไขบรรทัดนี้ด้วย โดยเพิ่ม rad เข้าไปหน้า usergroup - apt-get install php5-common php5-gd php-pear php-db libapache2-mod-php5
- 39. เพิ่ม touch และกำหนด permission เพื่ออ่าน log
- touch /var/log/freeradius/radacct/sql-relay
- touch /var/log/freeradius/radutmp
- touch /var/log/daloradius.log
- chown 755 /var/log/freeradius
- chown freerad:freerad /var/log/freeradius/radutmp
http://192.168.0.1/daloradius-0.9-8/login.php
Username: administrator
Password: radius
ที่มา
http://www.pug.org/mediawiki/index.php/Coova_Chilli_Hotspot/Installation#Firewall_Script http://wiki.ubuntu.org.cn/UbuntuHelp:WifiDocs/CoovaChilli#Install_CoovaChilli
http://www.truesoft.co.th/wifi/wifi-ubuntu.pdf
https://help.ubuntu.com/community/WifiDocs/CoovaChilli
http://www.itmanage.info/technology/linux/ubuntu/daloRADIUS/install_daloRADIUS_Ubuntu.html
38. ลืมไปเลย ต้องติดตั้งโปรแกรมเกี่ยวกับ php ดังนี้
ผมได้แก้ไขใหม่แล้ว เพราะทำตามที่เขียนไปไม่สำเร็จ คราวนี้ใช้ได้แน่นอน
ตอบลบผมลองลงดูแล้มันขึ้น fail ตอน restart freeradius
ตอบลบตอนนี้ใช้ ubuntu 10.10
/etc/init.d/freeradius restart
* Stopping FreeRADIUS daemon freeradius * /var/run/freeradius/freeradius.pid not found... [ OK ]
* Starting FreeRADIUS daemon freeradius [fail]
แก้ได้แล้วคับ
ตอบลบhttps://help.ubuntu.com/community/WifiDocs/CoovaChilli
/etc/init.d/freeradius start
ใช้ freeradius -XXX
บรรทัดสุดท้ายมี error บอกให้แก้ในไฟล์นั้นๆ
ของผมเขียนผิดในไฟล์
nano -w /etc/freeradius/clients.conf
secret = Iloveradius
ขอบคุณคับ
บ้างครั้ง ไม่ redirec ครับ
ตอบลบและ เพิ่ม user ใน dalo แล้ว
นำมา radtest ผ่าน
แต่มันออกเน็ตไม่ได้ครับ