ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

RADIUSコミュのRADIUS

  • mixiチェック
  • このエントリーをはてなブックマークに追加
はじめまして。
RADIUS開発に携わってる者です。
会社の垣根を越えて情報交換したいと思ってますです。

コメント(28)

はじめまして。
私はLinuxの知識はあまり無いのにも関わらず
何故かFreeRADIUSを使ってサーバーを構築する事になりました(^^;)
目的はWPAの認証をRADIUSで行う為です。

どうも勝手が分からないもので
色々なサイトを見ているんですが解決に至りません。

公式のサイトから本体を落としてコンパイルするまではいいんですが
その後のインストールでエラーが出て先に進めません(><)

このような症状について解決策をお持ちの方がいらっしゃいましたら
是非ご教授ください。
rpmとかではなくて、makeからやってますか?
sql_mysql.c:39:20: error: errmsg.h: そのようなファイルやディレクトリはありませんsql_mysql.c:40:19: error: mysql.h: そのようなファイルやディレクトリはありません
sql_mysql.c:47: error: syntax error before ‘MYSQL’
sql_mysql.c:47: 警告: struct や union の最後にセミコロンがありません
sql_mysql.c:48: 警告: type defaults to ‘int’ in declaration of ‘sock’
sql_mysql.c:48: 警告: データ定義が型や記憶クラスを持っていません
sql_mysql.c:49: error: syntax error before ‘*’ token
sql_mysql.c:49: 警告: type defaults to ‘int’ in declaration of ‘result’
sql_mysql.c:49: 警告: データ定義が型や記憶クラスを持っていません
sql_mysql.c:51: error: syntax error before ‘}’ token
sql_mysql.c:51: 警告: type defaults to ‘int’ in declaration of ‘rlm_sql_mysql_sock’
sql_mysql.c:51: 警告: データ定義が型や記憶クラスを持っていません
sql_mysql.c: In function ‘sql_init_socket’:
sql_mysql.c:62: error: ‘mysql_sock’ undeclared (first use in this function)
sql_mysql.c:62: error: (未宣言の各変数については、それが最初に現われたそれぞれの関数
sql_mysql.c:62: error: に対して一度だけ報告されます。)
sql_mysql.c:65: error: syntax error before ‘)’ token
sql_mysql.c:71: 警告: value computed is not used
sql_mysql.c:76: 警告: implicit declaration of function ‘mysql_init’
sql_mysql.c:76: 警告: nested extern declaration of ‘mysql_init’
sql_mysql.c:77: 警告: implicit declaration of function ‘mysql_real_connect’
sql_mysql.c:77: 警告: nested extern declaration of ‘mysql_real_connect’
sql_mysql.c:84: error: ‘CLIENT_FOUND_ROWS’ undeclared (first use in this function)
sql_mysql.c:86: 警告: implicit declaration of function ‘mysql_error’
sql_mysql.c:86: 警告: nested extern declaration of ‘mysql_error’
sql_mysql.c:86: 警告: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
sql_mysql.c: In function ‘sql_destroy_socket’:
sql_mysql.c:103: 警告: unused parameter ‘config’
sql_mysql.c: In function ‘sql_check_error’:
sql_mysql.c:122: error: ‘CR_SERVER_GONE_ERROR’ undeclared (first use in this function)
sql_mysql.c:123: error: ‘CR_SERVER_LOST’ undeclared (first use in this function)sql_mysql.c:131: error: ‘CR_OUT_OF_MEMORY’ undeclared (first use in this function)
sql_mysql.c:132: error: ‘CR_COMMANDS_OUT_OF_SYNC’ undeclared (first use in this function)
sql_mysql.c:133: error: ‘CR_UNKNOWN_ERROR’ undeclared (first use in this function)
sql_mysql.c: In function ‘sql_query’:
sql_mysql.c:151: error: ‘mysql_sock’ undeclared (first use in this function)
sql_mysql.c:160: 警告: implicit declaration of function ‘mysql_query’
sql_mysql.c:160: 警告: nested extern declaration of ‘mysql_query’
sql_mysql.c:161: 警告: implicit declaration of function ‘mysql_errno’
sql_mysql.c:161: 警告: nested extern declaration of ‘mysql_errno’
sql_mysql.c: In function ‘sql_store_result’:
sql_mysql.c:175: error: ‘mysql_sock’ undeclared (first use in this function)
sql_mysql.c:181: 警告: implicit declaration of function ‘mysql_store_result’
sql_mysql.c:181: 警告: nested extern declaration of ‘mysql_store_result’
sql_mysql.c:184: 警告: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
sql_mysql.c:173: 警告: unused parameter ‘config’
sql_mysql.c: In function ‘sql_num_fields’:
sql_mysql.c:202: error: ‘mysql_sock’ undeclared (first use in this function)
sql_mysql.c:204:5: warning: "MYSQL_VERSION_ID" is not defined
sql_mysql.c:207: 警告: implicit declaration of function ‘mysql_num_fields’
sql_mysql.c:207: 警告: nested extern declaration of ‘mysql_num_fields’
sql_mysql.c:211: 警告: format ‘%s’ expects type ‘char *’, but argument 3 has type ‘int’
sql_mysql.c:199: 警告: unused parameter ‘config’
sql_mysql.c: In function ‘sql_num_rows’:
sql_mysql.c:257: error: ‘mysql_sock’ undeclared (first use in this function)
sql_mysql.c:260: 警告: implicit declaration of function ‘mysql_num_rows’
sql_mysql.c:260: 警告: nested extern declaration of ‘mysql_num_rows’
sql_mysql.c:255: 警告: unused parameter ‘config’
sql_mysql.c: In function ‘sql_fetch_row’:
sql_mysql.c:277: error: ‘mysql_sock’ undeclared (first use in this function)
sql_mysql.c:286: 警告: implicit declaration of function ‘mysql_fetch_row’
sql_mysql.c:286: 警告: nested extern declaration of ‘mysql_fetch_row’
sql_mysql.c:286: 警告: assignment makes pointer from integer without a cast
sql_mysql.c:275: 警告: unused parameter ‘config’
sql_mysql.c: In function ‘sql_free_result’:
sql_mysql.c:305: error: ‘mysql_sock’ undeclared (first use in this function)
sql_mysql.c:308: 警告: implicit declaration of function ‘mysql_free_result’
sql_mysql.c:308: 警告: nested extern declaration of ‘mysql_free_result’
sql_mysql.c:303: 警告: unused parameter ‘config’
sql_mysql.c: In function ‘sql_error’:
sql_mysql.c:327: error: ‘mysql_sock’ undeclared (first use in this function)
sql_mysql.c:330: 警告: return discards qualifiers from pointer target type
sql_mysql.c:332: 警告: return makes pointer from integer without a cast
sql_mysql.c:325: 警告: unused parameter ‘config’
sql_mysql.c: In function ‘sql_close’:
sql_mysql.c:346: error: ‘mysql_sock’ undeclared (first use in this function)
sql_mysql.c:349: 警告: implicit declaration of function ‘mysql_close’
sql_mysql.c:349: 警告: nested extern declaration of ‘mysql_close’
sql_mysql.c:344: 警告: unused parameter ‘config’
sql_mysql.c: In function ‘sql_finish_query’:
sql_mysql.c:364: 警告: unused parameter ‘sqlsocket’
sql_mysql.c:364: 警告: unused parameter ‘config’
sql_mysql.c: In function ‘sql_affected_rows’:
sql_mysql.c:395: error: ‘mysql_sock’ undeclared (first use in this function)
sql_mysql.c:397: 警告: implicit declaration of function ‘mysql_affected_rows’
sql_mysql.c:397: 警告: nested extern declaration of ‘mysql_affected_rows’
sql_mysql.c:393: 警告: unused parameter ‘config’
gmake[10]: *** [sql_mysql.o] エラー 1
gmake[10]: Leaving directory `/root/freeradius-1.0.5/src/modules/rlm_sql/drivers/rlm_sql_mysql'
gmake[9]: *** [common] エラー 2
gmake[9]: Leaving directory `/root/freeradius-1.0.5/src/modules/rlm_sql/drivers'gmake[8]: *** [static] エラー 2
gmake[8]: Leaving directory `/root/freeradius-1.0.5/src/modules/rlm_sql/drivers'gmake[7]: *** [common] エラー 2
gmake[7]: Leaving directory `/root/freeradius-1.0.5/src/modules/rlm_sql'
gmake[6]: *** [static] エラー 2
gmake[6]: Leaving directory `/root/freeradius-1.0.5/src/modules/rlm_sql'
gmake[5]: *** [common] エラー 2
gmake[5]: Leaving directory `/root/freeradius-1.0.5/src/modules'
gmake[4]: *** [all] エラー 2
gmake[4]: Leaving directory `/root/freeradius-1.0.5/src/modules'
gmake[3]: *** [common] エラー 2
gmake[3]: Leaving directory `/root/freeradius-1.0.5/src'
gmake[2]: *** [all] エラー 2
gmake[2]: Leaving directory `/root/freeradius-1.0.5/src'
gmake[1]: *** [common] エラー 2
gmake[1]: Leaving directory `/root/freeradius-1.0.5'
make: *** [all] エラー 2



http://www.hidanet.ne.jp/~haya/radius.html
こちらのサイトを参考にしたんですが
makeをして表示された結果の一部です。
この前にも謎の警告がいっぱい出ているんですが
最終的にこのように表示されて止まります(ー_ー;)
全部書くと長くなるので前の部分を省略したんですが
もう少し前の部分も書いたほうがいいでしょうか?
jinさんの言うとおりですね.
ただ、コンパイル等の経験やFreeRADIUSがモジューラブルに作られてることを知らないと厳しいでしょうね・・
使用する認証方式がEAPだけならその機能だけをバイナリに組み込むこともできます.
まずは仕組み自体を色々調べてみることをお勧めします.

それかrpm等のパッケージに頼るかですね.
アドバイスありがとうございます。

なるほど、MySQLがインストールされていないと
FreeRADIUSはインストールできないんですね。
知りませんでした・・・(´ー`;)

明らかにMySQLをインストールした記憶が無いので
まずはそちらをインストールしてみます。
MySQLを入れてみたところmake時に警告は沢山出ましたが
エラーは出ずにコンパイル&インストールできました。

jinさん、RFC2865さん
アドバイスありがとうございました。
はじめまして。RADIUSサーバ「fullflex EG star」について、もしご存知であれば教えてください。

トライアル版をLinux(FedoraCore4)にインストールし、無線LAN環境でEAP-TLSを構築しようと思っています。fullflexはウィザード形式の初期設定で、独自認証局を立てるのは非常に簡単だったのですが、そこで作成されたルートCA証明書をどうやって見つけてよいかわからず、またそれをどこからどうやってクライアントに渡せばいいのか探しているのですがわかりません。
サーバ証明書もクライアント証明書もfullflexで作成しました。


ご経験ございましたらどうぞ宜しくお願い致します。
アクセン●に聞けばよろしいのでは・・
評価版でもそれくらい教えてくれるでしょう
お久しぶりです。
以前freeradiusのインストール方法を教えてもらった者です。
あの後インストールまではいったんですが
各種ファイルを設定しても何故か起動できないので
もう1度最初からやり直したところ
今度はmake時に次のようなエラーが出て止まりました(ー_ー;)


(これより上は省略)
gcc -g -O2 -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DOPENSSL_NO_KRB5 -Wall -D_GNU_SOURCE -g -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -W -Wredundant-decls -Wundef -I../include -DHOSTINFO=\"\" -DRADIUSD_VERSION=\"1.0.5\" -L../lib -o radclient radclient.o -lssl -lcrypto -lnsl -lresolv -lpthread -lradius
gcc -g -O2 -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DOPENSSL_NO_KRB5 -Wall -D_GNU_SOURCE -g -Wshadow -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -W -Wredundant-decls -Wundef -I../include -DHOSTINFO=\"\" -DRADIUSD_VERSION=\"1.0.5\" -L../lib -o radrelay radrelay.o mainconfig.o util.o nas.o client.o log.o conffile.o files.o xlat.o -lssl -lcrypto -lnsl -lresolv -lpthread -lradius
gmake[4]: Leaving directory `/root/freeradius-1.0.5/src/main'
gmake[3]: Leaving directory `/root/freeradius-1.0.5/src'
gmake[2]: Leaving directory `/root/freeradius-1.0.5/src'
Making all in raddb...
gmake[2]: Entering directory `/root/freeradius-1.0.5/raddb'
gmake[2]: `all' に対して行うべき事はありません。
gmake[2]: Leaving directory `/root/freeradius-1.0.5/raddb'
Making all in scripts...
gmake[2]: Entering directory `/root/freeradius-1.0.5/scripts'
gmake[2]: `all' に対して行うべき事はありません。
gmake[2]: Leaving directory `/root/freeradius-1.0.5/scripts'
Making all in doc...
gmake[2]: Entering directory `/root/freeradius-1.0.5/doc'
gmake[3]: Entering directory `/root/freeradius-1.0.5/doc'
Making all in rfc...
gmake[4]: Entering directory `/root/freeradius-1.0.5/doc/rfc'
gmake[4]: `all' に対して行うべき事はありません。
gmake[4]: Leaving directory `/root/freeradius-1.0.5/doc/rfc'
gmake[3]: Leaving directory `/root/freeradius-1.0.5/doc'
gmake[2]: Leaving directory `/root/freeradius-1.0.5/doc'
gmake[1]: Leaving directory `/root/freeradius-1.0.5'
[root@localhost freeradius-1.0.5]#


対処法を御存じの方がいらっしゃいましたら是非ご教授お願いします。
オブジェクトファイルが残っているだけではないでしょうか
再度コンパイルを行うなら
make clean -> make
してみてはいかがでしょう.

あとはjinさんのおっしゃるとおり、デバッグログ参照ですね.
アドバイスありがとうございます。
以前と表示が似てたのでまたエラーだと思ってしまいました。
エラーではありませんでしたか。お騒がせしました(^^;)

教えていただいた通り試してみようと思います。
おかげさまで無事radiusの起動まではできました。

オライリージャパンの本を参考にして
clientファイルとradiusd.confファイルを編集して
1645ポートで起動したんですが
NTRadPingというソフトで接続確認をしたところ
No responseと標示されて接続できませんでした(ー_ー;)

ちなみにradtestをしたところAccess-Acceptが返ってきました。

NTRadPingで接続確認が成功するようにするにはどうしたらよいでしょうか。
色々試してみたのですがNTRadPingで接続確認ができました。
radiusd reloadでリロードできると思っていたのですが
できていなかったらしく
killで終了させてから再び起動させたらうまくいきました。
どうやら設定ファイルが読み込まれていなかったようです(^^;)

今度は認証方式をPEAPにしてみたいと思ってるのですが
設定方法を調べてもよく分かりませんでした。
ご存知の方がいらっしゃれば是非ご教授くださいm(_ _)m
証明書用意しなきゃいけませんね.
クライアントは何で動作確認するんでしょうか.
Windows-AP経由が手っ取り早いですかね.

NTRadPingは良くしらないんですが、PEAPもできるのかな.
NTRadPingとはサーバのIPやポート、
clientsファイルに記述した共有鍵、
unixのユーザ名とパスワード等を入力して
radiusの動作を確認するツールです。
おそらくPEAPにしても問題ないと思います。

radiusサーバ←→無線AP←→ノートPC(windows)
の通信を想定しています。

証明書が必要とのことですがどのように作るのでしょうか?
CAを構築する必要があります.
WindowsならWin2000ServerやWinServer2003で証明機関を作成して、OpenSSLならコマンドで作成できます.

802.1XやるならPKIの仕組み知っておいたほうがよいです.
NTRadPing落としてみてみましたが、
自分が落としたやつでは、どう見ても802.1Xには対応してなさそうです.
これではEAPとかPEAPはしゃべれないでしょうね.
PAP、CHAPのみでMS-CHAPもしゃべれないかと思います.
ですのでやはりPEAPを試したかったらWindowsマシン使うのが手っ取り早いですね.
アドバイスありがとうございます。

Windowsマシンが良いとの事ですが
サーバとして使えるマシンがUNIXしかありませんので
やむを得ず今回はOpenSSLでCAを作りました。

rad-priv.pem
rad-cert.pem
dh2048.pem
cacert.der
の4つのファイルを作成する必要があると聞いたので
とりあえず作成はしてみましたが
肝心なradiusd.confファイルの設定が分かりません(^^;)
default_eap_typeの部分をpeapにするべきだと予想しているんですが
それ以降の設定をご存知でしたら是非ご教授ください。
最近freeRADIUS見てないからはっきりしたこと言えないんですが、
サンプルっていうかマニュアルなかったですか?
docとかいうディレクトリにまとめてあったような・・
確認してみました。
EAPのことが書いてあるファイルがあったので読んでみましたが
PEAPのことには触れていなかったような・・・
見落としかもしれないのでもう少し探してみます。
色々試してみたんですがPEAPが無理だったのでTLSも試してみました。
するとradpingが通らなくなり結局認証できませんでした(ー_ー)
eap.confをいじったらサーバ自体が起動しなくなったのでもはや手詰まりです。

やはり製品版を買うしか・・・(^^;)
テスト用の証明書がsourceに入っているので、そちらでとりあえず試してみてはいかがでしょうか?

証明書が入っているディレクトリ
freeradius-1.1.0/raddb/certs

eap.confではこの証明書を使った例がコメントしてあります。
アドバイスありがとうございます。

色々試してみましたところ
やはり証明書がおかしいようでしたが
私では無理そうなのでfreeradiusは他の人に託しました(ーー;)
はじめまして。
Radiusサーバ構築後radpingを使用して確認できると聞いたのですが、このradpingはどのようにインストールすればいいかご存知の方いらしたら教えていただけないでしょうか。

ログインすると、残り3件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

RADIUS 更新情報

RADIUSのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。