TenForward

あまり詳しくない分野のメモを書きます。技術的なネタは http://d.hatena.ne.jp/defiant/ に書くことが多いです。

コンテナ勉強会回顧録

この記事はIT勉強会/コミュニティ運営 Advent Calendar 2016 (@ADVENTAR) 17 日目のエントリです。

「勉強会/コミュニティ運営」!!

すごいお題なのですが、残念ながら私はあまり「運営」という行為をやってる気がしていないので、運営に役立つ話とか、他の何かの運営に参考になるお話はできそうにありません。

定期的に行っている「コンテナ型仮想化の情報交換会」という勉強会に関するおっさんの回顧録です。たぶん、何度も勉強会の案内でお話してますし、一部は勉強会ページにも書いてあります。

まあ一種のポエムですので、ヒマな方はどうぞ。

ヒマでない方は勉強会ページで過去の勉強会の動画を公開していますので興味のあるやつをご覧になったりして、もしご興味があればconnpassの勉強会グループがありますので、メンバーになっていただいて、開催の際にはぜひご参加をご検討ください。

よろしくです〜。

きっかけ〜第1回

きっかけは全くコンテナという言葉が一般的でないころ、コンテナとはほとんど関係ない場所でした。

2012年の日本Asteriskユーザ会(J*UG)というOSSの電話交換機ソフトウェアのユーザ会の忘年会で @masahide7 さんと、コンテナの勉強会って日本でないよね、来年はぜひやろう!という会話を酔っ払いながらやったのがはじめです。

まだ時代は Docker 前夜ですね。この頃だと、IT業界で「コンテナ」というと IIJ さんとかがコンテナ型データセンターとかで色々発表されていたころなので、そちらをイメージされる方が多かったと思います。これは第2回のあたりまでそんな感じでした。

いちおう、この時期よりだいぶ前 (2011年夏ごろ) には、twitter でのつぶやきが元で @mkouhei さんlxc-jp という Google Group は作っていただいていました。

私は、この頃までは「どっかに日本語で情報交換出来る場はないかな」とか「どっかで勉強会やってないのかな」という他力本願な考えがメインでした。自分で勉強会やるのって大変そうだしどっかでやらないかなあと思っていました。

前述の J*UG 忘年会の後、呑みの場だけの話ではもったいないし、探してもやっぱりコンテナの勉強会ってないし、じゃあこの勉強会全盛の世の中、募集サイトも atnd やら色々ツールがあるので、いっちょう始めてみるか! ってことで、会場もクルーグさんのキレイな会議室を快く提供いただけたので、早速Zusaarに勉強会ページを作成したのでした。

コンテナなんてマイナーな技術だし、少人数だったらセミナー形式でなく、机囲んで色々議論しようかとか考えたので、勉強会名は「コンテナ情報交換会」という「情報交換」という名前を入れたのでした。少人数とはいえ机を囲むくらいは集まるだろうという目論見でした。

ところが! 募集ページを公開したもの、ずっと参加者が2名!! つまり主催者 2 名 (私と @masahide7 さん)!! だけの状態でした。

うわ〜、やばいな。これは主催者ふたりでサシ飲みでコンテナについて語って勉強会か! と本気で考えておりました (^_^;)。

その後、クルーグさんのエンジニアの方、あと奇跡的に参加頂いた一般応募の方 1 名、東京からリモートで参加いただくということで @peo3 さんが参加いただけるということで、なんとか普通の勉強会として開催できたのでした。

プログラムも適当で、私はまだ発表とか慣れてなかったので、コンテナ関連技術について 120 分くらい話してたような気がします。

参加者数が盛り上がらなかったのに反して、内容はこの時期にしてはすごい内容でした。私のはそれまでの機能の推移をまとめただけの発表でしたので置いといて…、

@masahide7 さんはこの時期日本ではほとんど話題にはなっていなかった Docker のお話と、最近結構実用になってきてる感じのあるカーネルのライブパッチングのお話、@peo3 さんはなんと CRIU のお話 でした!!

おふたりの情報収集能力の高さと、この時点で収集だけでなく内部まで踏み込んで調べている先進性には驚いたものです。

ちなみに、この時の参加者であった @tsubasaxZZZ さんには、その後勉強会で二度ご登壇いただいています。この時の出会いがないとその後開催してない勉強会があるかも!?

第1回の後

Docker が OSS になったの 2013 年 3 月で、たぶん日本の勉強会で 1, 2 番を争う速さで 2013 年 6 月 9 日に Docker が紹介されましたが、なんせ 7 名参加でしたし、特に大きな話題になることはありませんでした。

日本でまず最初にそれなりに Docker が話題になったのは、

のエントリとそこに書かれてる podcast からじゃないですかね。惜しい! ほんの半月ほど勉強会が早かった :p

このあたりで少し Docker が盛り上がりはしましたが、まだ大ブレークというわけでもなく、コンテナが一般的になるわけでもありませんでした。

コンテナ勉強会はというと、第1回が終わった後、数人の方から「これ東京でやったら絶対人くるよ」と言われたのですが、第1回開催後の私にはあまり信じられませんでした。それでも「いや絶対くるって」みたいなお話もいただいていたので、本当かなあ、と思いつつ、じゃあちょっと動いてみることにしました。

第2回

とはいえ、東京に人脈があるわけでもなく、会場のアテも全くない状態なので、ひとまず人が集まりそうなのかどうかを調査することにしました。

(今となっては画面キャプチャでも残しておけば!と思ってるんですが)、atnd に 「もしコンテナの勉強会を開催したら参加してもいいよという人は応募してね」 というふざけた仮想イベントを立ち上げたのでした。

イベント募集サイトをこういう風に使ったことある人なかなかいないのでは? :-D

20〜30人くらい参加したいという人が集まったら正式イベントにしようかなという考えでした。人が集まりそうな感触が得られたら開こうということですね。

すると、やはり東京。徐々に応募者が増えまして、20 名を超えだしました。その中に、当時は株式会社paperboy&co.にいらっしゃった、当時から広くお名前が知られていた mizzy さん@hiboma さんがご応募と同時に「うちの会社の会議室を提供しますよ」とおっしゃっていただいたので、「おおこれは会場の手当もついた!開催しよう」と決心をしたのでした。

(↑の募集サイト、仮想イベントの頃の名残も少し残ってますね。コメント欄とかも)

これが当時の勉強会サイトで、参加者欄の番号が若い方をご覧いただくとわかりますが、応募と同時に会場だけでなく、スピーカーも決定しているのがわかります。さらには @syuu1228 さんから運営のお手伝いのお申し出を頂いています。結局この時は @syuu1228 さんに中継、録画と懇親会の幹事をやっていただけることになりました。

また、この時期は依然として「コンテナ」といえば「データセンターかと思った」という声のほうが主流だったので、@syuu1228 さんのアドバイスに従って「仮想化技術であること」「カーネルやVMなどの技術関連の勉強会であること」がはっきりわかるようにしたので、前述のような長い名前の勉強会名になったのでした。結局この時の名前がベースとなって、今でも「コンテナ型仮想化の情報交換会」という名前になっています。

あとはダメ押しで、サブタイトルに「コンテナ型データセンターでも貨物輸送のコンテナの勉強会でもありません :)」と書いてわかりやすくしました。これはコンテナが一般的になった今でもそのまま使ってます。

さて、先に書いたように発表者も大体決まった感じでしたが、この時点では会場は 30 名程度で、参加者もそれにすこし足りない程度だったので、この時点で発表を決めていた人は、それくらいの少人数相手に、当時はマニアックなネタを気軽に話そうかという感じだった気がします。

ところがこの頃から徐々に勉強会が知られたのでしょうか (今考えると信じられないような豪華メンバーなので当然なのかもしれないのですがw)、登録人数が徐々に増加していき、30 名の会場には収まらない応募になっていました。そのあたりで、今でも東京で開催するたびにお世話になっている @BsdHacker さんより IIJ さんの会場のご提供をお申し出いただき、定員の問題は解決したのでした。この時以来、東京での開催の際には IIJ さんの会議室をお借りしています。いつもありがとうございます。

はっきり覚えてないのですが、秋になってから(?)は毎日のように参加登録が続き、毎日何人増えたかなーと楽しみに数字の変化を視てた気がします。最終的には申込者数は 200 名近くまでいきました。当初 30 名程度のつもりで発表ネタを準備していた登壇者大慌てみたいな感じにはなってました (^_^;)

この時は本当に興奮しましたね。まさかこんな大規模な勉強会になるとは思ってなかったということもありますが、ある意味 IT 業界の有名人で雲の上の人という感じの存在だった人に参加していただいて、直接お会いできただけでなく、私のブログを良く見てました、とか言ってもらえたりと、目立たないネタでもアウトプットしておくものだなあと思ったものです。

しかも、皆さんの発表内容も Linux から FreeBSD、Linux でも OpenVZ、LXC、Docker、扱う内容も紹介から技術的な仕組みから活用事例・応用まで幅広く、とても勉強になるものでした。

この第2回は、その後の開催とくらべて結構参加者層が違っていた感じがしていまして、そういう意味でも貴重な体験でした。たぶん @syuu1228 さん人脈(?)経由で勉強会を知ったカーネル/VM方面の方々、mizzy さん人脈(?)経由のインフラを扱ってるけど比較的 Web アプリ開発に近い方々がいらっしゃていたのではないかなと思っています。ここに挙げた以外にも参加者を見るとかなり著名な方の名前を見つけることができます。まさかこんな方々が参加するような勉強会になるなんて、まあ勉強会の中身とは全く関係ないミーハーな感覚なんですが、それでもミーハーな私には興奮するできごとでしたね。

それとともに、その後の勉強会につながる出会いもたくさんありました。この時の興奮は私のブログエントリでも感じられます。

(考えてみると私の持ちネタ、この頃から基本変わってなくて進歩がないな…)

勉強会の翌日(私がまだ大阪に帰ってないとき)には動画が YouTube にアップされて、ページが作成され公開されているとか、@syuu1228 さんの仕事の速さにも驚き感謝しました。この時から流れで、ずっと勉強会の発表の様子を公開しています。

第2回の後

以上のような盛況ではありましたが、まだ一般的に「コンテナ」がブレークする状況ではなかった気がします。このツイートは何度も紹介してるのですがw (@m_asama さんすみません)

コンテナや Docker が一気にブレークしたのは、なんか長い名前で舌を噛みそうなこのあたりではなかったでしょうかね。

その後

この後、大阪では私の所属する会社の会議室で、東京は IIJ さんの会議室をお借りする形で開催しています。一度だけ東京では IIJ さんの本社移転の影響で、会議室がお借りできないときがあありました。

この時は相変わらず人脈ないマンだったので、どうしようかなと迷った挙句に深夜に「誰か貸してくれね?」とつぶやいたら、ニフティの方が(しかも複数!)同時にお返事くださいまして、この時はニフティ株式会社のセミナールームをお借りして開催しました。

つぶやいてみるものです。ありがとうございました。

それと、lxc-jp 創設者の @mkouhei さんに一度ぜひ参加いただかないと!というきっかけで、東京で平日夜開催したことがありました。このときはプログラムの調整では結局 @mkouhei さんにおんぶにだっこでした。また機会があれば平日夜東京ってのもやってみてもいいかなと思っています。

大阪も一度平日開催をやってライバル会社の社長さん登壇ってのやりましたね。ありがとうございました。

この後は、第9回では、なんとGMOペパボ株式会社の福岡支社を会場に開催という、初の大阪東京以外の開催をすることができました!! この福岡の開催の際は一度日程延期にしたり、色々苦労がありました。福岡のペパボの皆さんありがとうございました。

このペースで書いてると今日中にエントリできないので、あとは勉強会ページの各回のページとか動画とかをご覧いただければ。

スピーカー探し

基本、今でもメインスピーカーは私がお話を聞きたい人に直接お願いするようにしています。私が一番満足できる勉強会を目指してますので :-p

全スピーカー公募ってのは大阪で一度失敗したので、当面はやる予定はありません。一部のスピーカーの募集は今後ありますし、LT は毎回一般公募です。

勉強会自体もそれなりに知られるようになって、「あの人の話聞きたいな」とか「面白そうなことつぶやいてる人いる」とかいると、ツイッターなんかで「こういう者ですが、次回お話いただけませんか?」といきなり直撃依頼しても、受けていただけるようになりましたね。今でも会ったことない人や、今でも雲の上の人なんかに直接初めて DM したり、mention 送ったりするのかなり勇気いるんですけど。直接イベントでお願いするなんてこともやりました(ありがとうございます)。

というわけで、今後いきなりお願いされる人、いきなりで失礼ですがよろしくお願いいたします。

感謝

勉強会やコミュニティのような場合、スタッフが複数いて運営されている場合が多いと思いますが、「コンテナ型仮想化の情報交換会」は、以上のような感じで勉強会の企画(開催時期決定、スピーカー依頼、調整)は私だけで行っています。なので組織として運営されている勉強会でもなく、コミュニティ主催の勉強会でもなく、私が開きたいときに、会場をお願いする方に色々お願いをしながら開催しているという感じです。

大阪で開催する際は自社の会議室です。同僚に手伝ってもらって自分含めて準備をしたりしています。お手伝い頂いた方々、ありがとうございます。

遠隔地(東京、福岡)で開催する際は、会場をお借りする会社の方におんぶにだっこで、実は私はスピーカーと日程が決まった後は何もしていません。行って開いて飲んで帰ってくるだけです。その分、会場をお願いした方々、懇親会の幹事をやっていただいた方々には非常にご苦労をおかけしており、ひたすら感謝するだけです。

先日の第10回も「懇親会幹事を募集します」と呼びかけたらかなりの人数の方に応募頂き、お願いして幹事をやっていただきました。ありがとうございました。

本当に自主的にお申し出いただいて、私がお願いする前ですら色々動いてくださる方がいてこそ、このコンテナ勉強会が開けています。ありがとうございます。(特に何度もお願いしている東京の @BSDHacker さん)

それと、やはり東京だと毎回 100 名を超える方に、大阪・福岡でも 30 名を超える方に参加頂いているからこそ、勉強会も盛り上がって続けられている面はあると思います。ありがとうございます。今後も興味のある話題があるかぎりは続けていきたいと思っていますのでよろしくお願いいたします。

そして、毎回依頼を聞いていただいて期待以上の発表をしていただいている登壇者の皆様、ありがとうございます。これこそ勉強会の要です。これがずっと面白いので、期待以上の参加者がずっと集まっているのだと思います。

(お世話になった方の紹介が一部しかできていませんがスミマセン)

開催してよかったこと

私はコミュ障なので、参加者として勉強会に参加すると静かに参加して静かに帰るタイプです。まあなんとなく懇親会は参加しますが、積極的に話すこともない。なので世界も広がらない。

でも勉強会の主催となると、懇親会では全員とお話する理由がありますし、皆さんにアウェー感与えないために全員と無理にでも話をするようにはしてます(完全にはできてないのですが)。(勉強会中もそうできれば良いのですがなかなかできません…)

それに皆さんに顔と名前を覚えてもらえるので、参加者の皆さんから声をかけていただけるので、おかげでお知り合いも増えて世界が広がった気がします。

自分からどんどん知らない人に話しかけたりできないし、勉強会出ても知り合いが増えないという方は、スタッフとして勉強会に携わるか、登壇者として話してみると良いと思いますね。

これも勉強会主催してよかったことのひとつですね。

今後

大阪、東京メインで開催していますが、それ以外でも会場を提供いただける場所と、お話いただける方がいらっしゃれば、私のいつもの持ちネタ「Linuxコンテナ入門」と共にお伺いできます、というかぜひやりたいです!! お声がけお待ちしております。北海道とか沖縄でも行きますよ!(行きたいだけ)

Firefoxでssl_error_bad_mac_alert

とあるサイトに firefox 37.0.1 (Linux版, Mac版で確認) で https アクセスすると

というエラーが出ます。

これだけだと中間証明書がサーバ側に置かれてないのでツリーをたどれないのかな?と思いますが、ここでこのエラーを無視してそのままアクセスすると

こんなエラーに。これは初めて見るなあ。MAC のエラー…

とりあえずサイトに報告しておきます。以下のブラウザでは 問題ありません

  • Windows 版 IE 11, Chrome 41.0.2272.118
  • Mac 版 Chrome 41.0.2272.118, Safari 8.0.4
  • Linux 版 Chrome 41.0.2272.76

Firefox と Fcitx の組み合わせで Facebook にコメントできない

Plamo Linux ではブラウザは Firefox で、日本語入力には fcitx + mozc を使っている (fcitx, mozc は Plamo パッケージでなく自前ビルドのパッケージ)。

いつの頃からか (firefox 35 辺り?) Facebook のコメント (普通のポストは可能) ができなくなっている (ibus も。uim は行けた気がする)。

調べてみると、

  • Facebook のコメント
  • Google Docs

辺りで起こっている模様。

fcitx の preedit モードをオフにすれば良いようだがなんだかみっともない ^^;

StartSSLの発行直後の証明書とOCSP

StartSSL でサーバ証明書を発行して Web サーバに設定しました。確認のために Firefox でアクセスすると、

“sec_error_ocsp_unknown_cert” というエラーです。

Firefox はデフォルトでは OCSP レスポンダに問い合わせて証明書の有効性を確認するようです。

ぐぐってみると似たような話題があります。

StartSSL の OCSP レスポンダに新たに発行した証明書の情報が反映されるのに時間がかかるということでしょうかね。試してみました。フォーラムでは 6 時間くらいしたら反映された、という話もあるのでしばらくかかるのかも。

準備

StartSSL は中間証明書を使いますのでその準備を。StartSSL の CA 証明書と中間証明書を取得し、openssl の c_hash ユーティリティを使ってハッシュ値のリンクを作っておきます。

1
2
3
4
5
6
$ ls -l start.com/
合計 8,192
lrwxrwxrwx 1 karma users    24  3月 19日  17:35 38d751eb.0 -> sub.class1.server.ca.pem
lrwxrwxrwx 1 karma users     6  3月 19日  17:35 ae8153b9.0 -> ca.pem
-rw-r--r-- 1 karma users 2,760  5月  7日 2008年 ca.pem
-rw-r--r-- 1 karma users 2,090  2月  5日  06:10 sub.class1.server.ca.pem

正常な場合

まずは StartSSL で発行した証明書で Firefox からもアクセスできている証明書で試してみましょう。

1
2
3
4
5
6
7
8
9
10
11
$ openssl ocsp \
> -issuer start.com/sub.class1.server.ca.pem \
> -cert guinan.ten-forward.ws.crt \
> -url http://ocsp.startssl.com/sub/class1/server/ca \
> -header Host ocsp.startssl.com \
> -CApath start.com/ 
WARNING: no nonce in response
Response verify OK
guinan.ten-forward.ws.crt: good
  This Update: Mar 19 06:01:44 2015 GMT
  Next Update: Mar 21 06:01:44 2015 GMT
  • issuer: Issuerの証明書
  • cert: チェック対象の証明書
  • url: OCSP レスポンダの URL
  • header: OCSP レスポンダがバーチャルホストの場合に Host ヘッダを送る必要があるのでそれを記述
  • CApath: 事前に準備したディレクトリ

“good” と出ていますね

発行直後のもの

発行直後で Firefox でアクセスするとエラーになる証明書で上記と同様にやってみます。

1
2
3
4
5
6
7
8
9
10
11
$ openssl ocsp \
> -issuer start.com/sub.class1.server.ca.pem \
> -cert kilkenny.harp.gr.jp.crt \
> -url http://ocsp.startssl.com/sub/class1/server/ca \
> -header Host ocsp.startssl.com \
> -CApath start.com/ 
WARNING: no nonce in response
Response verify OK
kilkenny.harp.gr.jp.crt: unknown
  This Update: Mar 19 07:31:50 2015 GMT
  Next Update: Mar 21 07:31:50 2015 GMT

確かに “unknown” と返ってきています。これで”sec_error_ocsp_unknown_cert”となるのもわかります。

少し時間が経った後

上記と同じようにやってみると、

1
2
3
4
5
6
7
8
9
10
11
$ openssl ocsp \
> -issuer start.com/sub.class1.server.ca.pem \
> -cert kilkenny.harp.gr.jp.crt \
> -url http://ocsp.startssl.com/sub/class1/server/ca \
> -header Host ocsp.startssl.com \
> -CApath start.com/
WARNING: no nonce in response
Response verify OK
kilkenny.harp.gr.jp.crt: good
  This Update: Mar 20 06:37:15 2015 GMT
  Next Update: Mar 22 06:37:15 2015 GMT

無事 good になりました

まとめ

StartSSL でサーバ証明書を発行する場合は少し余裕を持って、発行されてから少し経った後に証明書のインストール・入れ替えをすると良いと思います。

おまけ

上記のコマンドで -resp_text とオプションを付けると、レスポンスの出力ができます。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ openssl ocsp (..略..) -resp_text
OCSP Response Data:
    OCSP Response Status: successful (0x0)
    Response Type: Basic OCSP Response
    Version: 1 (0x0)
    Responder Id: C = IL, O = StartCom Ltd. (Start Commercial Limited), CN = StartCom Class 1 Server OCSP Signer
    Produced At: Mar 20 06:37:15 2015 GMT
    Responses:
    Certificate ID:
      Hash Algorithm: sha1
      Issuer Name Hash: 6568874F40750F016A3475625E1F5C93E5A26D58
      Issuer Key Hash: EB4234D098B0AB9FF41B6B08F7CC642EEF0E2C45
      Serial Number: 0564461CA61DBC
    Cert Status: good
    This Update: Mar 20 06:37:15 2015 GMT
    Next Update: Mar 22 06:37:15 2015 GMT
  : (略)

StartSSLのクライアント証明書の認証がエラーになる

StartSSLでは、証明書の発行などの処理を行う場合はクライアント証明書による認証でログインして色々な処理を行いますが、有効な証明書をブラウザにインストールしているのに、なぜかエラーになっていたので少し調べてみました。

にあるのと同じエラーでした。

解決方法は実は以下に書いてあるので、それを見れば終わりです。

Firefox の場合

一応、firefox の場合を書いておきます。

  1. まずは証明書マネージャを開きます。
  2. 認証局の証明書でStartComのモノのうち以下の画像のようなモノを探します。証明書のCNが”StartCom Certification Authority”で、発行者のCNが”StartCom Certification Authority G2”となっているものです。
  3. これを消去します。

終わりです。ただし、この認証局証明書がない場合もあるようです。新しくFirefoxのProfileを作ってみるとありませんでした。ずっとProfileを使い続けているとあるものなのかも知れません。以下のように前述の画像と比べるとStartComの証明書の数が全然違います。問題となる証明書がない場合は正常に認証されるのでしょう。

Chrome (Linux) の場合

Linux 版 Chrome でも証明書マネージャから同じ証明書を探して消去すれば OK でした。

Windows (IE/Chrome) の場合

Windows でも同じエラーになりました。


(IE)


(Chrome)

Windows の証明書ストアを開いて見ましたが、先の HOWTO のように「中間証明機関」のところにも「信頼されたルート証明機関」のところにも目的の証明書を見つけられませんでした。

見つかれば消去すれば良いようですが…

Raspberry Pi を無線 LAN アクセスポイントに

自宅には Buffalo の無線 LAN ルーターがあって,それをアクセスポイント (以降 AP) として使っているのですが,とある理由でもう 1 つ別の AP を置こうということになり,丁度余っていた Raspberry Pi を AP に仕立てる事にしました.

同じ内容を扱うブログエントリは検索すると多数出てきますので,これは単なる個人用メモ代わりに近いです.検索で出てくる多くの内容は無線 LAN 側にアドレスを割り当てて iptables で NAT するパターンが多いですが,自宅だと既に NAT がかかっている事が多く,さらに NAT する意味がウチで使う限りはあまり感じられないので,単なるブリッジとして設定してみました.

USB 無線 LAN 子機

選択した無線 LAN 子機は Buffalo の WLI-UC-GNM2T というものでした.これだと AP として使うソフトの hostapd が対応している模様なので (WLI-UC-GNM2 というパッケージだけ違うモデルもあります.WLI-UC-GNM は似てるけど使ってるチップが違う模様)

Raspberry Pi 側の準備

  1. 普通に Raspbian をインストールします
  2. 追加でパッケージをインストールします
    $ sudo apt-get install bridge-utils hostapd
  3. /etc/network/interfaces の設定
    auto lo
    iface lo inet loopback
    iface eth0 inet manual
    allow-hotplug wlan0 iface wlan0 inet manual
    auto br0 iface br0 inet dhcp bridge_ports eth0
    • ブリッジ br0 を作成し,DHCP でアドレスを取得します.eth0, wlan0 を manual にして,eth0 を br0 にアタッチします.wlan0 は後ほど hostapd で br0 にアタッチする設定をします

hostapd の設定

パッケージに含まれない設定ファイルを /etc/hostapd/hostapd.conf に作成します.あまり意味分かってません.サンプルファイルを元に設定しました.

  • bridge=br0 で br0 にアタッチしています
  • wmm_* という設定は検索して出てくる設定例にはないことが多いですが,ないと問題が起きるという事が書いてある所もあったのでサンプルのものそのままで設定しました
    • WPA2 の所はこんな感じで良いのかなあと.
# interface
interface=wlan0
bridge=br0

# driver
driver=nl80211

# logger
logger_syslog=-1
logger_syslog_level=2
logger_stdout=-1
logger_stdout_level=2

# files
dump_file=/tmp/hostapd.dump
ctrl_interface=/var/run/hostapd

ctrl_interface_group=0


##### IEEE 802.11 related configuration #######################################

ssid=黄巾のLAN
country_code=JP
ieee80211d=1
hw_mode=g
channel=1
beacon_int=100
dtim_period=2
max_num_sta=255
rts_threshold=2347
fragm_threshold=2346

macaddr_acl=0
#accept_mac_file=/etc/hostapd.accept
#deny_mac_file=/etc/hostapd.deny

auth_algs=3
ignore_broadcast_ssid=0

wmm_enabled=1
# Low priority / AC_BK = background
wmm_ac_bk_cwmin=4
wmm_ac_bk_cwmax=10
wmm_ac_bk_aifs=7
wmm_ac_bk_txop_limit=0
wmm_ac_bk_acm=0
# Normal priority / AC_BE = best effort
wmm_ac_be_aifs=3
wmm_ac_be_cwmin=4
wmm_ac_be_cwmax=10
wmm_ac_be_txop_limit=0
wmm_ac_be_acm=0
# High priority / AC_VI = video
wmm_ac_vi_aifs=2
wmm_ac_vi_cwmin=3
wmm_ac_vi_cwmax=4
wmm_ac_vi_txop_limit=94
wmm_ac_vi_acm=0
# Highest priority / AC_VO = voice
wmm_ac_vo_aifs=2
wmm_ac_vo_cwmin=2
wmm_ac_vo_cwmax=3
wmm_ac_vo_txop_limit=47
wmm_ac_vo_acm=0

wpa=2
wpa_passphrase=hogehoge
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP

サービスを起動させると

root@raspberrypi:/etc/cron.d# brctl show
bridge name bridge id       STP enabled interfaces
br0     8000.b0c74546d440   no      eth0
                            wlan0

こんな感じで br0 にアタッチされてます.Android 4.1, iOS 7, Mac OS 10.9 で接続できました.