- 论坛徽章:
- 0
|
准备工作:
freebsd 7.2
ftp://ftp.freebsdchina.org/pub/FreeBSD/ISO-IMAGES-i386/7.2/
freeradius 2.1.6
http://freeradius.org/download.html
Mysql5
http://download.chinaunix.net/download/0008000/7159.shtml
TP-LINK TL-WN650G,无线网卡一张,atheros的芯片,能支持hostap模式,这个是关键。淘宝上七八十一张。
一,安装FreeBSD
FreeBSD的安装过程就不在讲述,只是在安装的时候需要注意的是安装的时候要选择内核开发,另外在安装完成的时候,还需要安装gmake软件包,用来编译Freeradius和mysql。
二,配置系统支持无线网卡
FreeBSD默认对无线支持的功能有限,这里需要重新编译内核
#cd /usr/src/sys/i386/conf
#cp GENERIC GENERIC.old
#ee GENERIC
# wireless suport
device ath # Atheros IEEE 802.11 wireless network driver
device ath_hal # Atheros Hardware Access Layer
device ath_rate_sample # John Bicket's SampleRate control algorithm.
device wi
device wlan # 802.11 support (Required)
device wlan_wep # WEP crypto support for 802.11 devices
device wlan_ccmp # AES-CCMP crypto support for 802.11 devices
device wlan_tkip # TKIP and Michael crypto support for 802.11 devices
device wlan_xauth # External authenticator support for 802.11 devices
device wlan_acl # MAC-based ACL support for 802.11 devices
修改成这样。device wlan_xauth这个是我们要用来使用802.1x认证所必须的。
#config GENERIC
#cd ../compile/GENERIC
#make cleandepend; make depend all install
#vi /boot/loader.conf
if_ath_load="YES"
if_wi_load="YES"
wlan_scan_ap_load="YES"
wlan_scan_sta_load="YES"
wlan_wep_load="YES"
wlan_ccmp_load="YES"
wlan_tkip_load="YES"
wlan_xauth_load="YES"
wlan_acl_load="YES"
在系统重启之后, 会在引导时给出的信息中,找到类似下面这样的关于无线设备的信息:
ath0: <Atheros 5212> mem 0xff9f0000-0xff9fffff irq 17 at device 2.0 on pci2
ath0: Ethernet address: 00:11:95:d5:43:62
ath0: mac 7.9 phy 4.5 radio 5.6
在登陆系统后用ifconfig ath0 list caps检查一下看看你的无线设备是否支持HOSTAP
ath0=6783edcf<WEP,TKIP,AES,AES_CCM,FF,TURBOP,IBSS,HOSTAP,AHDEMO,TXPMGT,SHSLOT,SHPREAMBLE,MONITOR,TKIPMIC,WPA1,WPA2,BURST,WME,
结果显示有HOSTAP。
三,配置HOSTAP
hostap这个程序是FreeBSD默认就已经安装的。我们只需要写个配置。
首先写个使用WPA2加密的配置另存为/etc/hostapd.conf
interface=ath0
debug=1
ctrl_interface=/var/run/hostapd
ctrl_interface_group=wheel
ssid=freebsdap
wpa=2
wpa_passphrase=freebsdap
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP TKIP
然后:
#ifconfig ath0 ssid freebsdap channel 1 mode 11g mediaopt hostap
#hostapd /etc/hostapd.conf
上面的详细配置也可以参考freebsd 的handbook里面的network-wireless.html
开启hostapd的802.1x使用freeradius认证。
修改/etc/hostapd.conf
interface=ath0
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
debug=4
ctrl_interface=/var/run/hostapd
ctrl_interface_group=wheel
ssid=freebsdap
max_num_sta=255 #允许最大的station连接
#auth_algs=0
ieee8021x=1 #开启802。1x
eap_message=hello
own_ip_addr=192.168.3.1 #用于radius的NAS-IP-Address
nas_identifier=ap.test.com
auth_server_addr=192.168.3.8 #radius的验证地址
auth_server_port=1812 #radius的验证端口
auth_server_shared_secret=radius #radius的共享密码
acct_server_addr=192.168.3.8 #radius的计费地址
acct_server_port=1813 #radius的计费端口
acct_server_shared_secret=radius #radius的共享密码
radius_acct_interim_interval=60 #向radius传送用户连接数据的间隔时间一般为60~600,单位为秒。
wpa=2 #WPA2
wpa_key_mgmt=WPA-EAP #使用EAP认证
wpa_pairwise=CCMP #使用AES
至此, hostapd配置完毕,但是现在还不能工作。还需要假设freeradius服务器。
hostapd的其他配置请参考http://hostap.epitest.fi/
四,freebsd+mysql配置。
具体步骤请参看:
http://blog.163.com/dyc_888@126/ ... 351200961285927600/
http://blog.163.com/dyc_888@126/ ... 351200911442718796/
这里需要注意的是在FreeBSD下的make和Linux下的make不一样,在FreeBSD要用gmake编译
如#./configure
#gmake
#gmake install
在安装好radius之后,需要做一些修改
#cd /usr/local/radius/etc/raddb 视radius安装路径而定。
修改eap.conf
。。。
default_eap_type =peap
。。。
peap {
。。。
default_eap_type = mschapv2
copy_request_to_tunnel = yes
use_tunneled_reply = yes
。。。
}
再修改sites-available/inner-tunnel
把所有sql前面的#去掉。
然后在MySQL数据库中添加一个用户用来测试.
最好在FreeBSD上安装一个DHCP服务器
#radiusd -X
#hostapd /etc/hostapd.conf
使用winxp客户端来验证,需要修改无线配置如下:
![]()
![]()
认证的时候会在右下方出现一个提示输入用户名密码的气球,单击输入。
日志为后来回忆所写,如有遗漏敬请谅解。
Email:dyc_888@126.com,欢迎各位交流指正。
[ 本帖最后由 dyc888 于 2009-9-25 11:26 编辑 ] |
-
未命名.JPG
(61.79 KB, 下载次数: 27)
winxp客户端设置1
-
未命名2.JPG
(51.69 KB, 下载次数: 29)
winxp客户端设置2
|