iTunesの個人情報
まぁ~なんちゅうか、当たり前のような気もしますが、iTunesで購入した楽曲に個人情報が含まれているそうで、P2Pなんかで共有しない方が良いよ~っと言ったことがSlashdotで話題になっています。
もちろん個人情報を削除する方法(DeDRMS)もあるみたいですが、ふ~って感じですか?(^。^)y-.。o○
« 2007年05月 | メイン | 2007年07月 »
まぁ~なんちゅうか、当たり前のような気もしますが、iTunesで購入した楽曲に個人情報が含まれているそうで、P2Pなんかで共有しない方が良いよ~っと言ったことがSlashdotで話題になっています。
もちろん個人情報を削除する方法(DeDRMS)もあるみたいですが、ふ~って感じですか?(^。^)y-.。o○
Movable Type 4 が発売されるそうです、3系と同様に個人向けは無料らしいので、発売されたらアップグレードしてみようかな~
今日から、公開ベータテストを行うらしいので人柱になりたい方はどうぞ!(^。^)y-.。o○
私は……気が向いたらですかね~(^^ゞ
以前、HDDを間違ってFDISKでパーティション領域を消しちゃった時に、完全復元PRO(2005だったかな~?)って製品を買ったんですが、も~これが駄目駄目で……
製品説明には、4Gを越すファイルも復元可能!!って書いてあったんですが、4Gを超えたファイルで復旧できたファイルは一つもありませんでした。(-_-;)
(おかげで、TV録画のデータが全部消えてしまいましたよ……)
しかも!!
メールで販売元に連絡したら、出来るはずだの一点張り!!
お前の操作が悪いんだ!!っとか、HDDが壊れてるんだ!!
っとか、ファイルを上書きしたんじゃないか!!
っとか色々……<`~´>
(まぁ、もっと口調は柔らかかったですけどね……)
パーティション領域を消しただけだから、ファイルノードは壊れてないと思うんですがね~
え!!そのHDDはどうなったかって?
もちろん、結局パーティションを取り直してフォーマットして再利用しましたよ!!
(いまだに現役です)
まぁ、もう"Jungle"の製品は買いませんね~
書いていることが出来ないし、サポートも最悪だったので……
なぜ今頃って?
下記の記事を見たからでした……(^^ゞ
この頃、携帯のデータが消えたという話をちらほら聞きます。
で、たまたま窓の杜のアップデート情報を見ていたら、「FOMA携帯電話のデータをパソコンで管理できるソフト」なるものを発見しまして、提供元を見てみたらドコモ!!
へ~この頃はメーカーが無料でバックアップソフトを出してんだな~と感心してしまいました。
ちなみに、mova系は製造メーカー毎に用意されているようです。
私の携帯は未だにmova(約4年)なのですが、現役で働いてもらっています。
バックアップなど一度もしたことが無く、そろそろやばいかな~っと思っていたのでGood Newsですね!!(^^ゞ
FOMA
datalink
え~
BUFFALOのWHR-HP-G/Pを購入して、Linuxで無線LANなんかやって見るかな~
っと言う事で、やってみました。
まずは、WLI-CB-G54HPをおもむろにPCに挿します。
で、lspciを実行すると
02:00.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02)
と表示されたが、正常に動作しません。
(まぁ、当然か……)
色々ググルとbcm43xx-fwcutterなるものを使えと出てきました。
debianのWebサイトで調べると、パッケージがあるようなので
apt-get install bcm43xx-fwcutter
E: Couldn't find package bcm43xx-fwcutter
(?_?)
HPをよーく見ると、[contrib]と書かれているので、"/etc/apt/sources.list"を下記のように修正。
-----
deb http://ftp.jp.debian.org/debian/ etch main contrib
deb-src http://ftp.jp.debian.org/debian/ etch main contrib
deb http://security.debian.org/ etch/updates main contrib
deb-src http://security.debian.org/ etch/updates main contrib
-----
再度
apt-get update
apt-get install bcm43xx-fwcutter
を実行すると、正常にインストールされました。
で、ふとカードを見るとLEDが点灯している!!
を!!
iwlist eth4 scan
を~APがずらずらと出てきました!
とりあえず、今日はここまで……
え~昨日の続きです。
まずは、WEPで接続してみましょう!
# iwconfig eth4 essid "xxxxxxxx"
# iwconfig eth4 key s:1234567890123
# dhclient eth4
お~つながりました。
iwconfigのkey登録は、文字列で設定する場合は、s:文字列で16進で入力する場合は、0102-0304-xxxxの様に、2バイトずつハイフンを入れる必要があるようです。
次にWPAですが、WPAを設定するには、wpa_supplicantが必要なので、下記のようにしてインストールしましょう。(Debian Etchの場合です)
# apt-get install wpasupplicant
次に、PreSharedKeyを作成します。
wpa_passphrase ssid passphrase
なので
# wpa_passphrase myid mypass > /etc/wpa_supplicant/wpa_supplicant.conf
中身は
network={
ssid="myid"
#psk="mypass"
psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}
となっています。
認証方式にWPA-PSKを使用し、暗号方式をTKIPとする場合は下記のように修正します。
network={
ssid="myid"
proto=WPA
key_mgmt=WPA-PSK
pairwise=TKIP
group=TKIP
psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}
認証方式にWPA-PSKを使用し、暗号方式をAESとする場合は下記のように修正します。
network={
ssid="myid"
proto=WPA
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}
認証方式にWPA2-PSKを使用し、暗号方式をTKIPとする場合は下記のように修正します。
network={
ssid="myid"
proto=RSN
key_mgmt=WPA-PSK
pairwise=TKIP
group=TKIP
psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}
認証方式にWPA2-PSKを使用し、暗号方式をAESとする場合は下記のように修正します。
network={
ssid="myid"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
psk=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}
ちなみに、supplicantを使用してWEP128を使用する場合は下記のように修正します。
network={
ssid="myid"
key_mgmt=NONE
wep_key0="1234567890123"
wep_tx_keyidx=0
}
設定が済んだら、下記コマンドを実行して動作確認をしましょう!
wpa_supplicant -i eth4 -c /etc/wpa_supplicant/wpa_supplicant.conf -w
・・・
CTRL-EVENT-CONNECTED - Connection to xx:xx:xx:xx:xx:xx completed ・・・
上記のようなメッセージが出力されたら、無事に設定は完了です。
なので、下記のコマンドを実行してバックグラウンドで実行しましょう!!
wpa_supplicant -i eth4 -c /etc/wpa_supplicant/wpa_supplicant.conf -B
次に、IPアドレスを設定して終了です。
DHCPの場合は
dhclient eth4
・・・
bound to xxx.xxx.xxx.xxx -- renewal in xxxxx seconds.
とIPアドレスが表示されれば正常に取得できたと言うことです。
ちなみに、私がはまったのは上記のwpa_supplicantを実行した際に正常にSSIDが設定されないので、接続できない問題でした。
これは、バグなんでしょうね~
回避方法は、下記のように手動でSSIDを設定すればOKです。
iwconfig eth4 essid "myid"
まぁ~ここまで来たら、起動時に認識させたいですよね~
その場合は"/etc/network/interface"に下記を追加します。
auto eth4
iface eth4 inet dhcp
wireless-essid myid ←上記のSSIDが設定されないバグの回避
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
以上でOK!
あとは、ifup eth4 and ifdown eth4でON/OFFが出来ます。
ちなみに、今回使用した無線LANカード(WLI-CB-G54HP)はBroadcomの4318チップを使用していました。このチップのカーネルドライバにまだ問題があるみたいで、設定を変更しての再接続が出来ないことが多く、そのたびにmodprobe -r bcm43xxとmodprobe bcm43xxを実行しなければいけませんでした。
まぁ、それ以外は正常に動作しているので、OKでしょう~(^。^)y-.。o○
下記の記事を見る限りでは使えそう!
どーせここまで調べたら、APも作ってみたいな~って事で実験!
hostapdのHPを見ると、bcm43xxはサポートされていないみたいだ……(-_-;)
で!
何をサポートしているか見てみると
* Host AP driver for Prism2/2.5/3
* madwifi (Atheros ar521x)
* Prism54.org (Prism GT/Duette/Indigo)
* BSD net80211 layer (e.g., Atheros driver) (FreeBSD 6-CURRENT)
と言う事で、madwifiのAtheros ar521x系しか事実上入手しにくいことがわかりました。
これだけ?って感じだよね~(゜o゜)
で、どうするか色々調べてたのですが、どうやら手持ちのNEC AtermWL54AGが使えそう見たいです。
と言う事で、WL54AGを挿入して
# pccardctl ls
Socket 0 Bridge: [yenta_cardbus] (bus IO: 000:01:0a.0)
CardBus card -- see "lspci" for more information
と表示されました。
早速実行!!
# lspci
02:00.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)
よっしゃOK!!
hostspdのHPに対応していると記述されていたチップセットです!!
それでは早速、Atherosのチップセットドライバをインストールしましょう!
"/etc/apt/sources.list"にcontribとnon-freeが登録されていることを確認して、
# apt-get update
# apt-get install madwifi-tools madwifi-doc madwifi-source
上記の作業で、module-assistantというものがインストールされるので
# m-a prepare
# m-a a-i madwifi
とすることで
madwifi-modules-2.6.18-4-686_0.9.2+r1842.20061207-2+2.6.18.dfsg.1-12etch2_i386.deb
と言う長ったらしいファイルが出来上がりました。
早速、インストールして確認しましょう!!
# rpm -i madwifi-modules-2.6.18-4-686_0.9.2+r1842.20061207-2+2.6.18.dfsg.1-12etch2_i386.deb
# modprobe ath-pci
# iwconfig
ath0 IEE802.11g ESSID:""
省略
これで、カードを認識しました。(^。^)y-.。o○
とりあえず、クライアントとして使えるか調べてみましょうかね~(^^♪
(設定方法等は、過去ログ1、過去ログ2を参照してください)
この前の続きと言う事で
# modprobe ath-pci autocreate=ap
として、モジュールをロード
上記の意味は
# modprobe ath-pci
# wlanconfig ath0 create wlandev wifi0 wlanmode ap
と同じと思って良いようだ
ちなみに、この情報はMADWiFiのHPで見つけました。
# iwconfig ath0 mode master
# iwconfig ath0 essid myessid
# iwconfig ath0 key s:1234567890123
# ifconfig ath0 192.168.11.1 netmask 255.255.255.0 up
とすることで、WEPのAPが動作した。(^。^)y-.。o○
このままだと、クライアントも固定IPを設定しないといけなくなるので
# apt-get install dhcp3-server
# vi /etc/dhcp3/dhcpd.conf
ddns-update-style none;
option domain-name "wlan.example.com";
option domain-name-servers 192.168.11.1;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.11.0 netmask 255.255.255.0 {
range 192.168.11.16 192.168.11.32;
option routers 192.168.11.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.11.255;
}
# vi /etc/default/dhcp3-server
INTERFACES="ath0"
# /etc/init.d/dhcp3-server start
とこれで、クライアントは動的IPが使えるようになった!
毎回、手動で設定するのは面倒なので下記のようにして完成!!
# vi /etc/network/interfaces
auto ath0
iface ath0 inet static
pre-up modprobe -r ath-pci
pre-up modprobe ath-pci autocreate=ap
post-up /etc/init.d/dhcp3-server restart
pre-down /etc/init.d/dhcp3-server stop
post-down wlanconfig ath0 destroy
post-down modprobe -r ath-pci
wireless-mode master
wireless-essid myssid
wireless-key s:mywepkey
address 192.168.11.1
netmask 255.255.255.0
ただ、これだとルーティングを設定しないといけない。
自分でルーター兼、無線LAN-APを作るのであればここからルーティングをさせれば良い。
ちなみに、完全なAPとして動作させるなら
# apt-get install bridge-utils
でブリッジユーティリティをインストールして
# vi /etc/network/interfaces
# WEP AP
auto ath0
iface ath0 inet manual
pre-up modprobe -r ath-pci
pre-up modprobe ath-pci autocreate=ap
post-down wlanconfig ath0 destroy
post-down modprobe -r ath-pci
wireless-mode master
wireless-essid myssid
wireless-key s:mywepkey
auto eth1
iface eth1 inet manual
aut0 br0
iface br0 inet static
pre-up ifup eth1
pre-up ifup ath0
post-up /etc/init.d/dhcp3-server restart
pre-down /etc/init.d/dhcp3-server stop
post-down ifdown eth1
post-down ifdown ath0
address 192.168.11.1
netmask 255.255.255.0
bridge_ports eth1 ath0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
として
# ifup br0
で起動する!(^。^)y-.。o○
ブリッジ元のネットワークにDHCPサーバが有る場合は、DHCPの制御の部分を削除してね~
ちなみに、このままだと起動時にうまく動作しないよ~!
気が向いたら、書くつもり……(^^ゞ
さらに、前回に続き、今回はWPAでAPを作るつもりです。
WPAでAPを作る場合は、hostapdを使用します。
# apt-get install hostapd
# vi /etc/hostapd/hostapd.conf
interface=ath0
bridge=br0
driver=madwifi
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2
debug=0
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=YourESSID
max_num_sta=255
macaddr_acl=1
accept_mac_file=/etc/hostapd/accept
auth_algs=1
wme_enabled=1
wme_ac_bk_cwmin=4
wme_ac_bk_cwmax=10
wme_ac_bk_aifs=7
wme_ac_bk_txop_limit=0
wme_ac_bk_acm=0
wme_ac_be_aifs=3
wme_ac_be_cwmin=4
wme_ac_be_cwmax=10
wme_ac_be_txop_limit=0
wme_ac_be_acm=0
wme_ac_vi_aifs=2
wme_ac_vi_cwmin=3
wme_ac_vi_cwmax=4
wme_ac_vi_txop_limit=94
wme_ac_vi_acm=0
wme_ac_vo_aifs=2
wme_ac_vo_cwmin=2
wme_ac_vo_cwmax=3
wme_ac_vo_txop_limit=47
wme_ac_vo_acm=0
eapol_key_index_workaround=0
eap_server=0
own_ip_addr=127.0.0.1
wpa=2
wpa_passphrase=YourPASSPHRASE ← セキュリティー的に問題があるので、wpa_psk=xxxxxを使った方が良い!
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
# vi /etc/hostapd/accept
xx:xx:xx:xx:xx:xx ← 接続を許可したい無線LANクライアントのMACアドレスを記述
# vi /etc/network/interfaces
auto ath0
iface ath0 inet manual
pre-up modprobe -r ath-pci
pre-up modprobe ath-pci autocreate=ap
post-down wlanconfig ath0 destroy
post-down modprobe -r ath-pci
wireless-mode master
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet dhcp
pre-up ifup eth0
pre-up ifup ath0
post-down ifdown eth0
post-down ifdown ath0
bridge_ports eth0 ath0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
で
# ifup br0
確認は
# hostapd -dd /etc/hostapd/hostapd.conf
で、正常に動作してたら
# /etc/init.d/hostapd start
で、起動させる。
あっという間に、WPA2-PSK AESのAPが出来上がり~(^。^)y-.。o○
WPA-PSKに変更する場合は、"/etc/hostapd/hostapd.conf"の"wpa=2"を"wpa=1"に変更する。
TKIPを使用したい場合は、"/etc/hostapd/hostapd.conf"の"wpa_pairwise=CCMP"を"wpa_pairwise=TKIP"に変更する。
まぁ、こんなもんですかね~(^^ゞ
とりあえず、LinuxでAPが作れたので、次はIEEE802.1Xを使ってみようか!!
っと言うわけで、FreeRadiusをインストール!
# apt-get install freeradius
で、色々設定してみたのですが……
FreeRadiusが動きません!!orz
FreeRadiusを動かすのは今回が初めてじゃないんですが、なんせ前にやったのは2~3年前……
忘れています!!(^^ゞ
なんだか、ちょっとだけ設定方法が変わっているみたいです。
# freeradius -X
Starting - reading configuration files ...
reread_config: reading radiusd.conf
Config: including file: /etc/freeradius/eap.conf
main: prefix = "/usr"
main: localstatedir = "/var"
main: logdir = "/var/log/freeradius"
main: libdir = "/usr/lib/freeradius"
main: radacctdir = "/var/log/freeradius/radacct"
main: hostname_lookups = no
main: max_request_time = 30
main: cleanup_delay = 5
main: max_requests = 1024
main: delete_blocked_requests = 0
main: port = 0
main: allow_core_dumps = no
main: log_stripped_names = no
main: log_file = "/var/log/freeradius/radius.log"
main: log_auth = no
main: log_auth_badpass = no
main: log_auth_goodpass = no
main: pidfile = "/var/run/freeradius/freeradius.pid"
main: user = "freerad"
main: group = "freerad"
main: usercollide = no
main: lower_user = "no"
main: lower_pass = "no"
main: nospace_user = "no"
main: nospace_pass = "no"
main: checkrad = "/usr/sbin/checkrad"
main: proxy_requests = no
security: max_attributes = 200
security: reject_delay = 1
security: status_server = no
main: debug_level = 0
read_config_files: reading dictionary
read_config_files: reading naslist
Using deprecated naslist file. Support for this will go away soon.
read_config_files: reading clients
で、プログラムが止まってしまいます。(?_?)
色々調べていると、DebianのFreeRadiusはTLS関連がOFFになっているから、自分で構築する必要があるそうな……
たしかに
# ls /usr/lib/freeradius/
libeap-1.1.3.so rlm_eap-1.1.3.so rlm_ns_mta_md5-1.1.3.so
libeap.so rlm_eap.so rlm_ns_mta_md5.so
libradius-1.1.3.so rlm_eap_gtc-1.1.3.so rlm_pam-1.1.3.so
libradius.so rlm_eap_gtc.so rlm_pam.so
rlm_acct_unique-1.1.3.so rlm_eap_leap-1.1.3.so rlm_pap-1.1.3.so
rlm_acct_unique.so rlm_eap_leap.so rlm_pap.so
rlm_always-1.1.3.so rlm_eap_md5-1.1.3.so rlm_passwd-1.1.3.so
rlm_always.so rlm_eap_md5.so rlm_passwd.so
rlm_attr_filter-1.1.3.so rlm_eap_mschapv2-1.1.3.so rlm_perl-1.1.3.so
rlm_attr_filter.so rlm_eap_mschapv2.so rlm_perl.so
rlm_attr_rewrite-1.1.3.so rlm_eap_sim-1.1.3.so rlm_preprocess-1.1.3.so
rlm_attr_rewrite.so rlm_eap_sim.so rlm_preprocess.so
rlm_chap-1.1.3.so rlm_exec-1.1.3.so rlm_radutmp-1.1.3.so
rlm_chap.so rlm_exec.so rlm_radutmp.so
rlm_checkval-1.1.3.so rlm_expr-1.1.3.so rlm_realm-1.1.3.so
rlm_checkval.so rlm_expr.so rlm_realm.so
rlm_counter-1.1.3.so rlm_fastusers-1.1.3.so rlm_sql-1.1.3.so
rlm_counter.so rlm_fastusers.so rlm_sql.so
rlm_dbm-1.1.3.so rlm_files-1.1.3.so rlm_sql_log-1.1.3.so
rlm_dbm.so rlm_files.so rlm_sql_log.so
rlm_detail-1.1.3.so rlm_ippool-1.1.3.so rlm_sqlcounter-1.1.3.so
rlm_detail.so rlm_ippool.so rlm_sqlcounter.so
rlm_digest-1.1.3.so rlm_mschap-1.1.3.so rlm_unix-1.1.3.so
rlm_digest.so rlm_mschap.so rlm_unix.so
TLS/TTLSなどのライブラリが無いな~
それなら、自分で入れるか~
どうせなら、Debianパッケージでやって見るかな~
と、思いまずは検索!!
どうやら、下記のページがビンゴみたいだ!!
http://stielec.ac-aix-marseille.fr/cours/caleca/lansecure/radius/freeradius1.html
早速、参考にしながら
# apt-get build-dep source freeradius
# apt-get install build-essential
# apt-get install apt-src
# apt-src update
# mkdir freeradius
# cd freeradius
# apt-src install freeradius
# ls -la
drwxr-xr-x 15 root root 4096 Aug 23 2006 freeradius-1.1.3
-rw-r--r-- 1 root root 17124 Dec 17 2006 freeradius_1.1.3-3.diff.gz
-rw-r--r-- 1 root root 998 Dec 17 2006 freeradius_1.1.3-3.dsc
-rw-r--r-- 1 root root 2587376 Aug 28 2006 freeradius_1.1.3.orig.tar.gz
# cd freeradius-1.1.3/debian
"rule"ファイルを修正
===============================================
--- rules.org 2007-06-28 15:00:48.000000000 +0900
+++ rules 2007-06-28 15:07:12.000000000 +0900
@@ -23,10 +23,10 @@
# You will also need to add a Build-Depends on libssl-dev and libpq-dev
# and remove the Build-Conflicts on libssl-dev
# Finally you need to cat debian/control.postgresql >> debian/control
-buildssl=--without-rlm_eap_peap --without-rlm_eap_tls --without-rlm_eap_ttls --without-rlm_otp --without-rlm_sql_postgresql --without-snmp
-modulelist=krb5 ldap sql_mysql sql_iodbc
-#buildssl=--with-rlm_sql_postgresql_lib_dir=`pg_config --libdir` --with-rlm_sql_postgresql_include_dir=`pg_config --includedir`
-#modulelist=krb5 ldap sql_mysql sql_iodbc sql_postgresql
+#buildssl=--without-rlm_eap_peap --without-rlm_eap_tls --without-rlm_eap_ttls --without-rlm_otp --without-rlm_sql_postgresql --without-snmp
+#modulelist=krb5 ldap sql_mysql sql_iodbc
+buildssl=--with-rlm_sql_postgresql_lib_dir=`pg_config --libdir` --with-rlm_sql_postgresql_include_dir=`pg_config --includedir`
+modulelist=krb5 ldap sql_mysql sql_iodbc sql_postgresql
===============================================
# apt-get install libssl-dev libpq-dev
# cat control.postgresql >> control
"control"ファイルを修正
===============================================
--- control.org 2007-06-28 15:26:04.000000000 +0900
+++ control 2007-06-28 15:26:27.000000000 +0900
@@ -1,6 +1,6 @@
Source: freeradius
-Build-Depends: debhelper (>= 5), libltdl3-dev, libpam0g-dev, libmysqlclient15-dev | libmysqlclient-dev, libgdbm-dev, libldap2-dev, libsasl2-dev, libiodbc2-dev, libkrb5-dev, snmp, autotools-dev, dpatch (>= 2), libperl-dev, libtool, dpkg-dev (>= 1.13.19)
-Build-Conflicts: libssl-dev
+Build-Depends: debhelper (>= 5), libltdl3-dev, libpam0g-dev, libmysqlclient15-dev | libmysqlclient-dev, libgdbm-dev, libldap2-dev, libsasl2-dev, libiodbc2-dev, libkrb5-dev, snmp, autotools-dev, dpatch (>= 2), libperl-dev, libtool, dpkg-dev (>= 1.13.19), libssl-dev, libpq-dev
+Build-Conflicts:
Section: net
Priority: optional
Maintainer: Stephen Gran
===============================================
# vi changelog
===============================================
freeradius (1.1.3-3tls) unstable; urgency=low
* Add TLS support for compilation
-- youchikurin
===============================================
/* cd freeradius */
# cd ../../
# apt-src build freeradius
・・・
・・・
・・・
I: Successfully built in /root/freeradius/freeradius-1.1.3
# ls -la *.deb
-rw-r--r-- 1 root root 117676 Jun 28 15:33 freeradius-dialupadmin_1.1.3-3tls_all.deb
-rw-r--r-- 1 root root 31858 Jun 28 15:34 freeradius-iodbc_1.1.3-3tls_i386.deb
-rw-r--r-- 1 root root 32556 Jun 28 15:34 freeradius-krb5_1.1.3-3tls_i386.deb
-rw-r--r-- 1 root root 47206 Jun 28 15:34 freeradius-ldap_1.1.3-3tls_i386.deb
-rw-r--r-- 1 root root 31798 Jun 28 15:34 freeradius-mysql_1.1.3-3tls_i386.deb
-rw-r--r-- 1 root root 32260 Jun 28 15:34 freeradius-postgresql_1.1.3-3tls_i386.deb
-rw-r--r-- 1 root root 765886 Jun 28 15:34 freeradius_1.1.3-3tls_i386.deb
# dpkg -i freeradius_1.1.3-3tls_i386.deb
# ls /usr/lib/freeradius/
libeap-1.1.3.so rlm_eap_gtc.so rlm_ns_mta_md5-1.1.3.so
libeap.so rlm_eap_leap-1.1.3.so rlm_ns_mta_md5.so
libradius-1.1.3.so rlm_eap_leap.so rlm_otp-1.1.3.so
libradius.so rlm_eap_md5-1.1.3.so rlm_otp.so
rlm_acct_unique-1.1.3.so rlm_eap_md5.so rlm_pam-1.1.3.so
rlm_acct_unique.so rlm_eap_mschapv2-1.1.3.so rlm_pam.so
rlm_always-1.1.3.so rlm_eap_mschapv2.so rlm_pap-1.1.3.so
rlm_always.so rlm_eap_peap-1.1.3.so rlm_pap.so
rlm_attr_filter-1.1.3.so rlm_eap_peap.so rlm_passwd-1.1.3.so
rlm_attr_filter.so rlm_eap_sim-1.1.3.so rlm_passwd.so
rlm_attr_rewrite-1.1.3.so rlm_eap_sim.so rlm_perl-1.1.3.so
rlm_attr_rewrite.so rlm_eap_tls-1.1.3.so rlm_perl.so
rlm_chap-1.1.3.so rlm_eap_tls.so rlm_preprocess-1.1.3.so
rlm_chap.so rlm_eap_ttls-1.1.3.so rlm_preprocess.so
rlm_checkval-1.1.3.so rlm_eap_ttls.so rlm_radutmp-1.1.3.so
rlm_checkval.so rlm_exec-1.1.3.so rlm_radutmp.so
rlm_counter-1.1.3.so rlm_exec.so rlm_realm-1.1.3.so
rlm_counter.so rlm_expr-1.1.3.so rlm_realm.so
rlm_dbm-1.1.3.so rlm_expr.so rlm_sql-1.1.3.so
rlm_dbm.so rlm_fastusers-1.1.3.so rlm_sql.so
rlm_detail-1.1.3.so rlm_fastusers.so rlm_sql_log-1.1.3.so
rlm_detail.so rlm_files-1.1.3.so rlm_sql_log.so
rlm_digest-1.1.3.so rlm_files.so rlm_sqlcounter-1.1.3.so
rlm_digest.so rlm_ippool-1.1.3.so rlm_sqlcounter.so
rlm_eap-1.1.3.so rlm_ippool.so rlm_unix-1.1.3.so
rlm_eap.so rlm_mschap-1.1.3.so rlm_unix.so
rlm_eap_gtc-1.1.3.so rlm_mschap.so
お~TLS/TTLS関連が入ってるよ~
早速
# freeradius -X
Starting - reading configuration files ...
reread_config: reading radiusd.conf
Config: including file: /etc/freeradius/eap.conf
main: prefix = "/usr"
main: localstatedir = "/var"
main: logdir = "/var/log/freeradius"
main: libdir = "/usr/lib/freeradius"
main: radacctdir = "/var/log/freeradius/radacct"
main: hostname_lookups = no
main: max_request_time = 30
main: cleanup_delay = 5
main: max_requests = 1024
main: delete_blocked_requests = 0
main: port = 0
main: allow_core_dumps = no
main: log_stripped_names = no
main: log_file = "/var/log/freeradius/radius.log"
main: log_auth = no
main: log_auth_badpass = no
main: log_auth_goodpass = no
main: pidfile = "/var/run/freeradius/freeradius.pid"
main: user = "freerad"
main: group = "freerad"
main: usercollide = no
main: lower_user = "no"
main: lower_pass = "no"
main: nospace_user = "no"
main: nospace_pass = "no"
main: checkrad = "/usr/sbin/checkrad"
main: proxy_requests = no
security: max_attributes = 200
security: reject_delay = 1
security: status_server = no
main: debug_level = 0
read_config_files: reading dictionary
read_config_files: reading naslist
Using deprecated naslist file. Support for this will go away soon.
read_config_files: reading clients
おんなじやんけ!!<`~´>
なぜだろう……(-_-;)
ブログを書いていて、設定データとかの見栄えが悪いのでどうしたものかと思っていたら、HTMLタグをそのまま記述すれば良いって事が書かれていました。
では早速!
network={
ssid="hoge"
key_mgmt=NONE
wep_key0="12345"
wep_key1=
wep_key2=
wep_key3=
wep_tx_keyidx=0
auth_alg=SHARED
}
を~
良いんじゃないの!!\(^o^)/
ただ、CSSに関しては記述できないみたいなので、テンプレートを修正する必要がありました。
組込み機器のターゲットで、無線が使いたいのでターゲット上でMADWIFIをコンパイルしてみました。
まずは、ターゲットで使用しているカーネルソースを"/usr/src/"に展開し、"/usr/src/linux"にリンクします。
現在、ターゲット上にはRootNFSを使用してDebianが動いています。
なので、"過去ログ"で書いたとおりに実行!
Checking requirements... ok.
Checking kernel configuration... ok.
make -C /lib/modules/2.6.21.1/build SUBDIRS=/usr/src/modules/madwifi modules
make[1]: Entering directory `/usr/src/linux-2.6.21.1'
CC [M] /usr/src/modules/madwifi/ath/if_ath.o
In file included from :1:
/usr/src/modules/madwifi/ath/../include/compat.h:60:1: error: "__packed" redefid
In file included from include/linux/compiler-gcc4.h:4,
from include/linux/compiler.h:42,
from include/linux/stddef.h:4,
from include/linux/kernel.h:12,
from /usr/src/modules/madwifi/ath/../include/compat.h:47,
from :1:
include/linux/compiler-gcc.h:30:1: error: this is the location of the previous n
In file included from include/asm/dma-mapping.h:14,
from include/linux/dma-mapping.h:34,
from include/asm/pci.h:15,
from include/linux/pci.h:744,
from /usr/src/modules/madwifi/ath/if_ath_pci.h:43,
from /usr/src/modules/madwifi/ath/if_ath.c:86:
include/linux/mm.h:658:1: error: "offset_in_page" redefined
In file included from /usr/src/modules/madwifi/ath/../net80211/if_media.h:44,
from /usr/src/modules/madwifi/ath/if_ath.c:66:
/usr/src/modules/madwifi/ath/../net80211/ieee80211_linux.h:431:1: error: this in
/usr/src/modules/madwifi/ath/if_ath.c:417:60: error: macro "INIT_WORK" passed 32
/usr/src/modules/madwifi/ath/if_ath.c: In function 'ath_attach':
/usr/src/modules/madwifi/ath/if_ath.c:417: error: 'INIT_WORK' undeclared (first)
/usr/src/modules/madwifi/ath/if_ath.c:417: error: (Each undeclared identifier ie
/usr/src/modules/madwifi/ath/if_ath.c:417: error: for each function it appears )
/usr/src/modules/madwifi/ath/if_ath.c: In function 'ath_vap_create':
/usr/src/modules/madwifi/ath/if_ath.c:1149: error: 'struct net_device' has no m'
/usr/src/modules/madwifi/ath/if_ath.c: In function 'ath_dynamic_sysctl_register:
/usr/src/modules/madwifi/ath/if_ath.c:9573: error: too many arguments to functi'
/usr/src/modules/madwifi/ath/if_ath.c: In function 'ath_sysctl_register':
/usr/src/modules/madwifi/ath/if_ath.c:9727: error: too many arguments to functi'
make[3]: *** [/usr/src/modules/madwifi/ath/if_ath.o] Error 1
make[2]: *** [/usr/src/modules/madwifi/ath] Error 2
make[1]: *** [_module_/usr/src/modules/madwifi] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.21.1'
make: *** [modules] Error 2
コンパイルエラー!!(?_?)
内容を見ると、ヘッダファイルがどうのこうのと書かれていて、面倒だからmadwifi本家からソースを持ってきました。
で、MADWIFIをコンパイルしてみると、下記のエラーが……(?_?)
madwifi-0.9.3.1# make /bin/sh: line 0: cd: /lib/modules/2.6.21.1/build: No such file or directory Makefile.inc:66: *** /lib/modules/2.6.21.1/build is missing, please set KERNELPATH. Stop.
中を見てみると、"build"と"source"はカーネルをコンパイルしたPATHを指しています。
(クロスコンパイラで、作ったやつだから……仕方がないね~)
2.6.21.1# ls -la total 128 drwxr-xr-x 3 root root 4096 Jun 29 06:45 . drwxr-xr-x 3 root root 4096 Jun 29 04:55 .. lrwxrwxrwx 1 root root 70 Jun 29 06:45 build -> /home/…/linux-2.6.21.1 省略 lrwxrwxrwx 1 root root 70 Jun 29 06:45 source -> /home/…/linux-2.6.21.1
リンクを"/usr/src/linux"に張りなおし、再度コンパイル!
madwifi-0.9.3.1# make Checking requirements... ok. Checking kernel configuration... ok. make -C /lib/modules/2.6.21.1/build SUBDIRS=/root/madwifi/madwifi-0.9.3.1 moduls make[1]: Entering directory `/usr/src/linux-2.6.21.1' CC [M] /root/madwifi/madwifi-0.9.3.1/ath/if_ath.o /bin/sh: scripts/basic/fixdep: cannot execute binary file make[3]: *** [/root/madwifi/madwifi-0.9.3.1/ath/if_ath.o] Error 126 make[2]: *** [/root/madwifi/madwifi-0.9.3.1/ath] Error 2 make[1]: *** [_module_/root/madwifi/madwifi-0.9.3.1] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.21.1' make: *** [modules] Error 2
何だ!!(?_?)
ファイルが実行できない?
ふ~ん……
madwifiのディレクトリには、"fixdep"なんてファイルはないから、"/usr/src/linux"の方かな~
!!ビンゴ!!
linux# find . -name fixdep ./scripts/basic/fixdep
で、実行してみたら確かに動かない。
linux# ./scripts/basic/fixdep -bash: ./scripts/basic/fixdep: cannot execute binary file
まぁ、このソースはクロスコンパイラでターゲット用にコンパイルしたソースをそのまま持ってきてるかなな~っと言う事で、ターゲット上で
linux# make oldconfig HOSTCC scripts/basic/fixdep HOSTCC scripts/basic/docproc HOSTCC scripts/kconfig/conf.o HOSTCC scripts/kconfig/kxgettext.o HOSTCC scripts/kconfig/zconf.tab.o HOSTLD scripts/kconfig/conf scripts/kconfig/conf -o arch/powerpc/Kconfig * * Linux Kernel Configuration * 省略
やっぱり、(-_-;)
ここで、作ってんのかよ……
さぁ、これでどうだ!!
madwifi-0.9.3.1# make Checking requirements... ok. Checking kernel configuration... ok. make -C /lib/modules/2.6.21.1/build SUBDIRS=/root/madwifi/madwifi-0.9.3.1 moduls make[1]: Entering directory `/usr/src/linux-2.6.21.1' CC [M] /root/madwifi/madwifi-0.9.3.1/ath/if_ath.o 省略 LD [M] /root/madwifi/madwifi-0.9.3.1/net80211/wlan_scan_ap.o Building modules, stage 2. MODPOST 13 modules /bin/sh: scripts/mod/modpost: cannot execute binary file make[2]: *** [__modpost] Error 126 make[1]: *** [modules] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.21.1' make: *** [modules] Error 2
ぎゃふん!!(>_<)
カーネルをコンパイルしないといけないとですか!!
そんな時間はもったいないので、コンパイルを実行して途中で止めました!(^^ゞ
linux# make scripts/kconfig/conf -s arch/powerpc/Kconfig CHK include/linux/version.h CHK include/linux/utsrelease.h CC arch/powerpc/kernel/asm-offsets.s GEN include/asm-powerpc/asm-offsets.h CC scripts/mod/empty.o HOSTCC scripts/mod/mk_elfconfig MKELF scripts/mod/elfconfig.h HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/modpost.o HOSTCC scripts/mod/sumversion.o HOSTLD scripts/mod/modpost CC init/main.o CHK include/linux/compile.h UPD include/linux/compile.h CC init/version.o CC init/do_mounts.o
どれどれ、madwifiをコンパイルしてみますか!
madwifi-0.9.3.1# make Checking requirements... ok. Checking kernel configuration... ok. make -C /lib/modules/2.6.21.1/build SUBDIRS=/root/madwifi/madwifi-0.9.3.1 moduls make[1]: Entering directory `/usr/src/linux-2.6.21.1' Building modules, stage 2. MODPOST 13 modules CC /root/madwifi/madwifi-0.9.3.1/ath/ath_pci.mod.o 省略 LD [M] /root/madwifi/madwifi-0.9.3.1/net80211/wlan_xauth.ko make[1]: Leaving directory `/usr/src/linux-2.6.21.1' make -C ./tools all || exit 1 make[1]: Entering directory `/root/madwifi/madwifi-0.9.3.1/tools' gcc -o athstats -g -O2 -Wall -I. -I../hal -I.. -I../ath athstats.c gcc -o 80211stats -g -O2 -Wall -I. -I../hal -I.. 80211stats.c gcc -o athkey -g -O2 -Wall -I. -I../hal -I.. athkey.c gcc -o athchans -g -O2 -Wall -I. -I../hal -I.. athchans.c gcc -o athctrl -g -O2 -Wall -I. -I../hal -I.. athctrl.c gcc -o athdebug -g -O2 -Wall -I. -I../hal -I.. athdebug.c gcc -o 80211debug -g -O2 -Wall -I. -I../hal -I.. 80211debug.c gcc -o wlanconfig -g -O2 -Wall -I. -I../hal -I.. wlanconfig.c make[1]: Leaving directory `/root/madwifi/madwifi-0.9.3.1/tools'
を~でけた!!\(^o^)/
ひょっとして、debianパッケージのmadwifiもコンパイルが通るかな~?
っと、思ったら!
ダメジャン!!
きっとdebianのモジュールツールがmadwifiをコンパイルするのに必要な何かが足りないんだろうな~
気を取り直して、本家ソースをインストール!
madwifi-0.9.3.1# make install sh scripts/find-madwifi-modules.sh 2.6.21.1 for i in ./ath ./ath_hal ./ath_rate ./net80211; do \ make -C $i install || exit 1; \ done 省略 install -d /usr/local/man/man8 install -m 0644 man/*.8 /usr/local/man/man8 make[1]: Leaving directory `/root/madwifi/madwifi-0.9.3.1/tools'
続けて、モジュールの読込み!
madwifi-0.9.3.1# modprobe ath-pci ath_hal: module license 'Proprietary' taints kernel. ath_hal: 0.9.18.0 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413, REGO) wlan: 0.8.4.2 (0.9.3.1) ath_pci: 0.9.4.5 (0.9.3.1) ath_rate_sample: 1.2 (0.9.3.1) wifi0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps wifi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps wifi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 3s wifi0: H/W encryption support: WEP AES AES_CCM TKIP wifi0: mac 5.6 phy 4.1 radio 3.6 wifi0: Use hw queue 1 for WME_AC_BE traffic wifi0: Use hw queue 0 for WME_AC_BK traffic wifi0: Use hw queue 2 for WME_AC_VI traffic wifi0: Use hw queue 3 for WME_AC_VO traffic wifi0: Use hw queue 8 for CAB traffic wifi0: Use hw queue 9 for beacons wifi0: Atheros 5212: mem=0xb0000000, irq=21
を!!
madwifi-0.9.3.1# iwconfig 省略 Warning: Driver for device ath0 has been compiled with version 22 of Wireless Extension, while this program supports up to version 20. Some things may be broken... ath0 IEEE 802.11b ESSID:"" Nickname:"" Mode:Managed Channel:0 Access Point: Not-Associated Bit Rate:0 kb/s Tx-Power:0 dBm Sensitivity=0/3 Retry:off RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Warningか……
wireless-toolsを入れ替える必要があるのかな~
先日、下記のWarningが出ていた件ですが
madwifi-0.9.3.1# iwconfig 省略 Warning: Driver for device ath0 has been compiled with version 22 of Wireless Extension, while this program supports up to version 20. Some things may be broken... ath0 IEEE 802.11b ESSID:"" Nickname:"" Mode:Managed Channel:0 Access Point: Not-Associated Bit Rate:0 kb/s Tx-Power:0 dBm Sensitivity=0/3 Retry:off RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
とりあえず、本家のwireless-toolsからversion29-pre22を持ってきて
wireless_tools.29# make wireless_tools.29# make install
とすることで、解決できました。