少校
- 注册时间
- 2008-6-11
- 金币
- 2927 个
- 威望
- 31 个
- 荣誉
- 7 个
尚未签到
|
本帖最后由 bestgo 于 2009-12-29 20:18 编辑 3 {, x( e: m0 |! c6 r4 u1 }
! I/ u' b* M- t9 J: ~* z如何构建hostapd:9 s: N2 i' x- o. U: s
: o: x' d F. V目前hostapd的最新版本是0.7.0,稳定版本是0.6.9,这里使用后者。0 T; {7 e$ r0 I% r; u, x
平台环境为centos 5.4,如果编译不过,可能要根据提示手工安装一些devel的包( I6 }/ g. J$ N1 r N9 y! X
2 X2 o. N& V3 P j
1. 在官方站点获取tar包后解压,进入hostapd这个子目录
9 z0 ?, \: L5 `) s- q u2. 生成.config文件,cp defconfig .config& {/ l3 ?1 S4 ] F
3. 配置.config文件
$ J T3 Y2 n9 o4 A3 p1 t" w% s. GCONFIG_DRIVER_WIRED=y
9 I! ?# y& a8 ~' b4 n8 D4 sCONFIG_DRIVER_NONE=y: S8 U0 g N* L8 x0 t* ?( Y
CONFIG_EAP=y8 v4 A) y* m. R$ I0 p
CONFIG_EAP_MD5=y
8 A: [2 m$ o6 F" u/ o$ H- z' FCONFIG_EAP_TLS=y o) E; J! t/ F" z2 v; r8 v4 o
CONFIG_EAP_MSCHAPV2=y
) s* A! |) g0 U* @CONFIG_EAP_PEAP=y) d% v" F' D+ h
CONFIG_EAP_GTC=y
" J. W) ~' d. kCONFIG_EAP_TTLS=y
# i1 i) `3 j% j; K+ k: j- SCONFIG_EAP_SIM=y, A% {4 T! `. u' R3 y6 }
CONFIG_EAP_AKA=y
. D {; i9 Q+ P; _" o1 {CONFIG_EAP_PAX=y
1 g3 W+ g4 ?( t- kCONFIG_EAP_PSK=y
: U) U- h" L: u1 m( w1 YCONFIG_EAP_SAKE=y' }7 R+ w) c+ h- U
CONFIG_EAP_GPSK=y' b) \; K0 W; h& {' n# k7 k) x% c
CONFIG_EAP_GPSK_SHA256=y
8 L8 C* }0 f( p% e: v; x1 e#CONFIG_EAP_FAST=y
2 H, u' d% n" ]( u8 F% s# N( nCONFIG_EAP_IKEV2=y
. w& T9 h5 I3 e4 P$ D$ l: ^* G yCONFIG_EAP_TNC=y
! k/ N# q9 ~% ?7 T& r9 i/ W: pCONFIG_PKCS12=y) C5 y- c5 X3 z0 N: q) |
CONFIG_RADIUS_SERVER=y
( Z5 @7 w: _5 l( h W9 i. M
4 N8 Z- `+ p' K! g这里需要注意几点:
( P& E; ~& x/ t6 x$ h8 j# `# ]3 f5 C9 j+ s$ b' r
一,这里我仅仅把hostapd作为一个radius server使用,它还能做AP,.config文件的其它部分都注释掉。. {$ J' u: D |2 l2 e1 K- O. `# E
. q5 j, K( w0 y ?9 X9 i. M/ L' b
二,这里我只关心eap-aka,其它的eap类型可以根据自己需要添加,用不到的也可以注释掉。- r" ?! L" w+ I; t# v! W! G0 n
g4 K- i7 p2 D- U2 P三,这里特别注明eap-fast需要注释掉,因为启用该认证类型需要对openssl这个库打补丁openssl-0.9.9-session-ticket.patch,否则编译会失败,系统默认的openssl版本为openssl-0.9.8e-12.el5。5 X" I- S% M( S: a& k9 a2 j# t9 W; x
! t. v/ x6 V: O1 H+ P: @
4. 接着就make,make install, B1 P$ @( X9 D8 _9 B
配置文件在hostapd这个目录下有范例,可以自己参考,我这里也放一下最常用配置
1 ^; W1 T& B8 v! p. T5. 配置hostapd.conf3 x% {1 Y( \9 g0 b ^3 J
interface=eth0 # 这里设置你用来提供服务的网卡接口名
% L6 J0 A/ u( Leap_server=1
! m- K* d1 o! Q# h0 d/ ceap_user_file=/usr/local/etc/hostapd/hostapd.eap_user
% M8 v. h2 g% P& `$ aca_cert=/usr/local/etc/hostapd/certs/wifiCA.pem% C7 j' s- @+ t* i4 a
server_cert=/usr/local/etc/hostapd/certs/radius_cert.pem
& C! S! {& z1 q6 ]) T5 gprivate_key=/usr/local/etc/hostapd/certs/radius_key.pem
) {9 J- W/ P( z: F. ~+ Tradius_server_clients=/usr/local/etc/hostapd/radius_clients
$ d# M& G- m$ k# a! C. Y7 ?radius_server_auth_port=1812 # 提供服务的端口号# f8 B7 t4 H/ { i \
6. 配置hostapd.eap_user( Q- n* v3 h1 e! c& v
使用peap、tls或ttls可以这样配置,这里用户名为anywlan,密码为anywlan123:3 \0 g; m' \( Z
* TLS,PEAP,TTLS
$ z- [+ q# k* Y6 _$ k, L"anywlan" MSCHAPV2,GTC,PSK,PAX,SAKE,TTLS-PAP,TTLS-CHAP,TTLS-MSCHAP,MD5,TTLS-MSCHAPV2 "anywlan123" [2]
$ d% @, ?( a3 Y" p$ z, L4 W3 i# _7 l# L6 _
7. 配置hostapd.radius_clients
* J/ N8 Y. `8 F8 I6 j. v允许IP为192.168.1.1的无线路由器使用这个radius服务器,共享密码为anywlan123:
# Q) k; w4 \3 L' r( |( G _* a8 v192.168.1.1 anywlan123/ u3 o% G( B9 f" ]3 ^) f9 o! t
9 o) q- l# x) z
运行hostapd:
; A, N+ S* \, L }$ e' x' nhostapd hostapd.conf -dd
9 P. i# ~% R/ `/ o+ r0 h使用-dd选项可以输出调试信息,还可以后台运行:6 a7 ~0 n5 m! f3 i/ e: j+ v+ f2 w; u
hostapd hostapd.conf -B: L P3 A$ H2 c2 U5 H; k) t- @
1 A8 T! }( d( X( x查看hostapd的状态,占用1812端口为默认的radius认证协议端口3 e D; G: V' [8 _* `5 C
3 S( q( C* c" u0 R& W
udp 0 0 0.0.0.0:1812 0.0.0.0:* 28046/hostapd
4 c# G) j# w6 B) s" kudp 0 0 0.0.0.0:67 0.0.0.0:* 28046/hostapd
( O/ C2 J, V% w1 ~$ a% S现在,一个能够工作的radius服务器已经配置好了。5 j* K. g- o9 }; D
目前不知道该如何配置eap-sim和eap-aka这类需要智能卡辅助的认证方式,请大侠帮忙。 |
|