TRY AND ERROR

自宅NOCオペレータの運用備忘録。

DNS勉強会の会場ネットワークを構築してきた

7月5日(土)に渋谷のGMOインターネット様で開催した自宅ラック勉強会のDNS勉強会「夏のDNS祭り2014 入門セミナ&ハンズオン」の会場ネットワークを構築してきました。来場者の皆様にご利用頂いたネットワーク構築の舞台裏をご紹介したいと思います。今までブログなどでコメントした事はありませんでしたが、私をはじめ6人のメンバーで2014年9月に開催予定のPyConJP2014の会場NOCチームを担当しています。そのPyConJP2014のNOCメンバーの一部、私の他、小林さん金井さん中村さんの4名のチームでネットワークの構築を担当しました。

1.何故ネットワークを作ったのか

会場をご提供して頂いたGMOインターネット様にはゲスト用無線LANがあり、それをそのままお借りする事もできましたが、以下の理由により今回はお借りせずに勉強会スタッフ・NOCメンバーで構築を行いました。

A.PyCon2014で利用する機器やサーバーソフトウエアのテストを行いたかった。

 PyConJP2014の会場ネットワークではMikroTikのRouterBoardシリーズの無線APを一部に利用する事を計画しています。RouterBoardシリーズの無線APは国内の大規模カンファレンスなどでの実績は少ないので、比較的規模の小さい勉強会で先ずはテストをしてみることとしました。なお、RouterBoardシリーズに関しては後述の通り、不具合と思われる様々な事象が発生し、PyConJP2014の会場ネットワークでの採用は見送ることとなりました。

B.IPv4/IPv6デュアルスタックによるネットワークを提供したかった。

 計画段階ではIPv6/IPv4デュアルスタックの環境がハンズオンに必要となることを想定しており、会場のゲスト用無線LANにIPv6環境が無かったために提供を計画しました。最終的にハンズオンの内容としてはデュアルスタック必須ではなくなりましたが、今の時代IPv6接続は絶対に提供したい!というメンバーの思いで提供が決定しました。

C.イベントネットワーク構築が初めてのメンバーのデビュー戦の場として

 PyConJP2014のNOCメンバーにはイベントネットワーク未経験のメンバーが数名入っています。初めてでいきなり500人規模のカンファレンスネットワークを構築することには不安があるので、比較的小規模の環境で未経験のメンバーにカンファレンスネットワーク作りのイメージを掴んで貰いたいという思いで、未経験メンバーを中心にチームを編成しました。

2.構築と運用

会場ネットワークの提供が決まったのは、会場の下見が完了し、GMOインターネット様に許可を頂いた開催4日前。各メンバー共に本業があるため構築作業は各自帰宅してからの時間だけ。超短納期のデスマプロジェクト、どんな条件でも俺らはコネクティビティを提供する!と誓ってプロジェクトスタートです。今回のネットワークの上位はインターネットへの直接接続ではなく、GMOインターネット様のゲスト用有線LANネットワークです。上位のネットワークの仕様は詳しく教えて頂いていなかったので、2つのケースを想定して構成を準備しました。最終的には上位ネットワークのMACアドレス数制限などは無さそうだったので、2段NATによる影響を考慮し、【構成2:NATルーター無しのL2フラット構成】を採用することとしました。

【構成1:NATルーターを使った2段NAT構成】
会場の上位ネットワークのポートでMACアドレス数制限などが掛っている事を想定した2段NAT構成f:id:kt-yamaguchi:20171112234726j:plain

【構成2:NATルーター無しのL2フラット構成】
会場の上位ネットワークをそのまま使う(DHCPやDNSは会場側の設備をそのまま利用)構成

f:id:kt-yamaguchi:20171112234742j:plain

IPv6に関しては現地に環境が無かったので、会場外に引き込んだ「IIJmio FiberAccess/DFサービス」をVPNを利用して会場で利用できる仕組みを緊急で作りました。

【写真:会場外に緊急設置したIPv6 VPNサーバー】f:id:kt-yamaguchi:20171112234756j:plain

勉強会前日はSkypeで連絡を取り合いながら各自自宅でホットステージ。週末の為、仕事の疲れで寝落ちするメンバーが出たりして作業は順調に進まず、就寝したのは朝5時、L2スイッチのコンフィグが終わってないなど不安の残る状態で当日を迎えました。

当日は10:15に会場に入場し構築をスタートしました。作業時間は2時間、ケーブリングはみんなで、コンフィグレーションは無線担当、AP担当、サーバー担当と分かれて行いました。

【写真:会場に仮設したサーバーとCatalystスイッチを設定中】

f:id:kt-yamaguchi:20171112234820j:plain

勉強会開催中は、RouterBoardに起因するもの、準備や検討が不十分だったこに起因するも、カンファレンスネットワークお馴染みの問題まで様々な問題が発生しました。(NOCメンバーもゆっくりハンズオンに参加したい思いがありましたが、それどころじゃなかったり・・・)

・BPDUガードでポートがブロッキング

RouterBoardのAPはデフォルト状態でスパニングツリープロトコルが動作しています。その仕様を知らずにAPをそのままスイッチに接続したため、アップリンクポートがブロッキング状態になりポートがシャットダウンされてしまいました。予想外の仕様だったこともあり、スパニングツリーを停止する方法が分からずRouterBoardユーザ会の方に電話連絡を取り、設定方法を教えて頂き、APのスパニングツリーを停止することができました。(事前の検証不足だったと言われればそれまでなのですが、STPがデフォルト動作しているAPは今までではじめて見た気がします)

・無線APを接続したポートでMACフラッピングが発生

RouterBoardの無線APを接続したスイッチのポートとアップリンクポートの間でMACアドレスフラッピングが発生しているとのログが出続けました。限られた時間の中で解析を行いましたが原因が掴めず、実際の通信に影響を与えていなかった為、そのまま利用する事としました。後日の調査ではRouterBoardのブリッジ周りに起因するバグである可能性がある可能性が高そうです。(2014年9月現在、やはりバグであるとの可能性が高く修正の準備が進んでいるようです)

・野良DHCPサーバーが発生

イベントネットワークではお馴染みの野良DHCPサーバー、今回も発生しました。dhcp snoopingの設定をAPに事前に仕込んでおいたので大きな問題にはならずに済みました。

・野良RAとブロードキャストストームが発生

勉強会開催中にIPv6のRAを出す端末、ブロードキャストストームが発生しました。原因を解析している途中に自然消滅し以後問題は発生しなくなったので当日は特に対応を行いませんでした。後々の解析でRouterBoardのAP自体が何らかの原因により左記のような事象を発生させていた事が分かりました。

最終的にネットワークの疎通確認が完了し、来場者の皆様が接続できる状態となったのは13:00頃。来場者の皆様の入場が始まるのとほぼ同時位でした。途中、近くのビックカメラにバッファローのAPを買いに走ろうか・・・という議論があるなど緊迫したひとときもありましたが、「どんな環境でも快適なネットワークを皆様に届けたい!」というNOCメンバーの熱い思いで乗り切りました。

【IPv4トラフィック】(監視装置の制限上、グラフは取得できていません)

勉強会終了までの総転送量は13.6GB

【IPv6トラフィック】(取得インターフェイスの関係上、送信がインターネットから会場へのトラフィックを指します)

勉強会終了までの総転送量は400MBf:id:kt-yamaguchi:20171112234836p:plain

3.終わりに

この度、勉強会会場を提供頂きネットワーク構築を許可して頂きましたGMOインターネット様、構築作業中にメンバーにアドバイスを頂いたRouterBoardユーザ会の皆様、当日会場の準備ご協力頂きましたスタッフの皆様にあらためましてお礼を申し上げます。また、無理なご要望でご迷惑をお掛け致しました事をお詫び致します。今後も勉強会などでお世話になる機会がありましたらご協力頂けますと幸いです。また、今回の反省を生かし、9月のPyConJP2014の会場ネットワーク構築にはNOCチームメンバー一同万全の体制で臨みたいと思います。