如何使用DD-WRT,FreeRadius和Chillispot。
从头开始创建Wi-Fi Internet热点服务似乎是一项艰巨的任务。 我有很多不眠之夜试图掌握FreeRadius,DD-WRT,Chillispot等。我希望这个如何帮助你避免我遇到的一些问题。
对于Sean Bracken
********警告 ********
遵循这些说明可能会使您的Linksys保修失效。 你自己承担风险。 这些说明假设您了解Linux,PHP MySQL和Apache。 如果您打好AP,您可以通过按住复位针20秒钟将其重新拿回来,同时按住复位按钮20秒再拔下电源,然后重新插上电源,同时保持重置按钮保持另外20秒。 这应该将其恢复为您安装的任何固件的默认值。 您应该能够登录到192.168.1.1
您将需要: -
a)DD-WRT
在这里下载最新版本 http://dd-wrt.com
b)FreeRadius
在这里下载最新版本 http://freeradius.org/
c)phpMyPrepaid
下载最新版本 http://sourceforge.net
d)Linsys WRT54GL AP
e)您还需要PHP,Apache,MySQL amd MySql Delopment Modules(这些需要首先设置)。有些耐心,大量的咖啡和香烟。
第1步 DD-WRT / Chillispot配置
使用标准的Linksys软件配置WRT-54G,并使用升级固件模块在AP上安装dd-wrt包。
*******重要信息*******使用电缆连接进行升级。不是无线连接。
重新启动AP并登录到您的新公司。
设置动态配置DHCP
禁用DHCP(Chillispot将为您的客户端管理DHCP。)
将AP的本地IP更改为192.168.10.1。
设置您的网关和DNS地址。
更新更改并重新登录到新的IP地址。
转到管理页面。
启用Chillispot
输入您的Radius服务器的IP地址。
输入DNS。
输入重定向网址,例如https://123.123.123.123/cgi-bin/hotspotlogin.cgi/(请确保地址在/并且是https。)
输入共享密钥。 (这可以是你喜欢的任何东西,但请记住它,稍后您将需要它。)
将DHCP接口设置为Lan + Wlan
输入NAS ID(您的AP的名称)
输入UAM密码(这是Chilli将用于与hotspotlogin.cgi通话的密码)
保存设置并重新启动AP。请给AP约10分钟重新启动并初始化所有新服务。
第2步 FreeRadius配置。
解开FreeRadius tar文件并输入其目录。
键入./configure --with-experimental-modules
使
以root身份登录,并输入make install
完成此操作后,将之前下载的radiusd.conf文件复制到/ usr / local / etc / raddb /
您不需要编辑radiusd.conf
编辑/usr/local/etc/raddb/sql.conf并在SQL部分进行这些更改。
#数据库类型
#当前支持的是:rlm_sql_mysql,rlm_sql_postgresql,
#rlm_sql_iodbc,rlm_sql_oracle,rlm_sql_unixodbc,rlm_sql_freetds
driver =“rlm_sql_mysql”
#连接信息<br>
server =“localhost”<br>
login =“yourlogin”<br>
password =“你的密码”
#数据库表配置
radius_db =“radius”
编辑/usr/local/etc/raddb/clients.conf文件并输入NAS(AP)的详细信息
客户端xxx.xxx.xxx.xxx {(这是您的NAS或WRT54G的地址)
secret = xxxxxxx(您在Chilli Config中输入的秘密)
shortname = private-network-9(可以是任何名称)
nastype =其他
(如果要用一个秘密设置几个AP,上面的IP地址应该是0.0.0.0/0)
}
第3步 hotspotlogin.cgi
将hotspotlogin.cgi从 http://chillispot.org复制 到/ var / www / cgi-bin
编辑文件并将秘密更改为您在WRT54G上的Chillispot配置中输入的UAM密码。
您也可以使用php脚本。 它不像cgi脚本那么安全,但更容易个性化。 如果你想要一个副本给我发电子邮件到sean@swarmhotspots.com
第4步 phpMyPrepaid和MySQL
将phpMyPrepaid文件解压缩到Web服务器上的目录,例如/ var / www / html / myprepaid
创建一个名为radius的MySQL数据库,并为其创建一个用户和密码。使用一个名为db_mysql.db的脚本,您可以在phpMyPrepaid下载中找到创建数据库表的脚本。
编辑phpMyPrepaid目录中的dbconnect.php文件,并输入MySQL半径数据库的用户名和密码。重要事项将此文件保存在您的网页目录下,否则您的密码将很容易被破解。
编辑config.inc.php并将指向dbconnect的行更改为保存dbconnect.php的位置
在您的网络浏览器中,请访问http://yoursite.com/whereveryouputphpmyprepaid/并创建一些门票。检查您的数据库以查看用户是否已在radcheck中进行设置。使用此命令radiusd -xxyx -l stdout以root身份启动FreeRadius。从数据库中选择用户和密码,然后尝试从无线客户端登录。如果可以,那么现在是第5步的时候了。如果不回到第1步并检查一切。
第5步喝一杯咖啡,放松身心。 如果一切都很好,你已经完成了。 我会留意这个帖子,尽力帮助任何有问题的人。
我为没有访问Radius服务器的人设置了一个免费的Radius测试区域。 您可以使用此服务来测试您的Chillispot配置。 地址是http://swarmhotspots.com/Chilli-Test-Area
我欢迎本文的任何意见,并将竭尽全力帮助您解决问题。
sean@swarmhotspots.com