09-19

09-19
入ってきたのは平下だった。平下はPBX部屋に足を踏み入れると同時に、少し慌てた調子で、そう言ってきた。都は、その慌てぶりに酷く緊張もしたが、逆に、お客が来たわけではないことに安堵もした。腰を落としてしまいそうになったが、とにかく、今起こってることを聞かないといけない。そう思い立ち上がった。岸谷は都を支えようとするかのように、一緒に、離れず立ち上がった。
「ど、どうしました?」
都はきちんと言葉が出なかったが、平下は気にせず、事情の説明を始めた。
都たちがそれぞれ別の部屋に設置した、メイン側ルーターと、バックアップ側ルーターの配下には、L2スイッチを挟んで、ファイヤーウォールとL3スイッチがあるという。スタティックルートのネクストホップになっている方がファイヤーウォールで、OSPFが回っている方がL3スイッチだ。そして、これらのLAN機器と、都たちが設置したルーターとの間にあるL2スイッチは、1台ではない。メイン側ルーターであれば、部屋をまたぐ境界になっているL2スイッチを介して、LAN側の機器が収容されている、別のL2スイッチへと繋がっている。バックアップ側ルーターも、ラック跨ぎの箇所で挟まれているL2スイッチに一旦接続され、さらにそこからLAN側の機器が収容されているL2スイッチへと繋がっている。つまり、都たちキャリアの客宅ルーターから、お客のLAN側のL3機器への経路の間には、各々L2スイッチが二つ挟まっているトポロジーだ。今、お客がやっている、「お客LAN内での冗長試験」というのは、お客のLAN機器が収容されているL2スイッチと、メイン側のルーターが繋がっているL2スイッチとの間の接続を断にする、というものだ。
メイン側ルーターが直接接続しているL2スイッチと、バックアップ側ルーターが直接接続しているL2スイッチとは、渡りで繋がっていない。そのため、メイン側ルーター配下のL2スイッチと、お客L3機器を収容しているL2スイッチとの間の接続で障害があると、メイン側ルーターのLANインターフェイスは落ちていないが、LANへの到達性だけが失われ、メイン側ルーターがLANから孤立している状態になる。OSPFが回っているL3機器とは、OSPFのネイバーが落ち、もらえるルートがなくなるので問題はない。しかしスタティックルートは、インターフェイスに紐づいているので落ちない。インターフェイスの紐付きを取って、ネクストホップの指定だけにしたとしても、LANインターフェイスの接続セグメントと、ネクストホップは同一セグメントだ。インターフェイスが落ちなければ、一番のロンゲストマッチルートとなる、LANインターフェイスの接続セグメントは、ルーティングテーブルに乗り続け、ネクストホップへのルートは有効なままので、スタティックルートは消えない。
そのため、BGPの集約ルートの種となるルートが全て消えず、メイン側ルーターは集約ルートを広告し続け、対向の海外拠点から本社拠点へのトラフィックは、メイン側ルーターへ到達してしまい、そこでBGPの集約設定が作ったNull0ルートに吸い込まれ、不達となってしまう。OSPFが回っている機器から上ってくるトラフィックについては、バックアップ側のルーターからしかルートをもらえなくなるので、問題がない。ファイヤーウォールからの上りトラフィックについても、おそらく必要なスタティックルートを、メイン・バックアップ、両客宅ルーター間で回している、デフォルトゲートウェイ冗長プロトコルのバーチャルIPに向けているはずだから、メイン側のルーターが孤立してしまっている状況では、お客L3機器からの、このバーチャルIPへの問い合わせに対して、バックアップ側ルーターしかMACアドレスを返せないため、こちらも問題はない。本社拠点から見て、上りは問題がないが、下りで問題が出る。
都は、平下の説明を聞いている途中で、平下を止めて、自分のバッグの中に入っている、小さなノートとシャープペンシルを出して、平下が口頭で説明した、お客のLAN機器の接続を絵に描き起こしていた。
「ここが断になっている、ってことですよね…。」
その図上で、メイン側ルーターが直結しているL2スイッチと、お客L3機器が収容されているL2スイッチとを結ぶ線の上に、バツを書きながら言った。手が震えているので、書いた線が少しぶれてしまっている。
「そうです、そこです。」
「これ、このL2スイッチ同士は接続出来ないんですか?」
都は、自分で描いた、それぞれの客宅ルーターが直結するL2スイッチを表す四角形の間で、シャープペンシルの先を行ったり来たりさせながら言った。この構成であれば、メイン側ルーターが接続しているL2スイッチと、バックアップ側ルーターが接続しているL2スイッチとの間を接続して、冗長化しておくのがセオリーだと思ったし、そうしてあれば、今起こっている問題は起こらないはずだ。
「そこなんですけど、それ聞いたんですよ。そしたら、そこ接続したら…、なんでしたっけ、なんかL2のループが起きるらしくて、接続してないそうです。」
平下がそう答えた。確かに、L2スイッチの冗長構成は、ループが起こりやすいので、注意は必要だろうが、これくらいの構成であれば、問題ないように思った。全部同じメーカーのL2スイッチを使っていなくて、メーカー同士の相性問題なのか、単に設定間違いや、設定が足りていないだけなのか。もしかしたら、この客宅ルーターを収容しているL2スイッチ間の配線経路がとても長く、UTPケーブルが使えず、光ケーブルを使用しており、どちらかのスイッチが、一芯だけ抜けた時に動作する、片方向通信ループ検知が使えないメーカーの筐体で、実際にそういう障害が起こって、ループしたことがあるとか、そういうことかもしれない。
「そうですか…。そうであれば、スタティックルートのネクストホップをポーリングして、到達性がなくなったら、スタティックルートを落とす設定入れれば良いですね。良いんですが…。」
「あー、やはりそれですか…。それ、やっぱり必要ですよね?」
都が途中まで喋ったところで、平下は、自分の思った通りだと言わんばかりに、割り込んできた。呆れたような、憤っているような調子が含まれているように聞こえた。
「はい…。ただ、このネクストホップって、ファイヤーウォールですよね?さっき、バックアップ側のルーターに入って、試しにping打ってみたんですけど、おそらくファイヤーウォールの設定かポリシーかで、届かないんですよね…。」
都は、平下とトラブル原因について話しているうちに、少しずつ気持ちが落ち着いてくるのがわかった。強い緊張は残るし、岸谷の後ろに隠れてしまいたいくらいの怖い思いは変わらない。しかし、平下から実際の状況を聞き取るにつけ、実情が都の想定と一致していることがわかってきて、自分の推測の正しさが証明されていくような興奮を感じ、これを足掛かりに解決へ辿り着けるかもしれない、とすら思うほどの高揚もある。お客側の設定や設計の変更なしには解消不可能、そう断言し切ることが出来れば、あとはそれに応じた客宅ルーターの設計を練り直すのは、PMを始め、プロジェクト関係者の仕事だ。現場作業員の仕事は今度こそ完了だ。そんな展望が、しゃがみこんでしまいそうな都の脚を、今は支えていた。
「そうなんです、そうなんすよ。これ、実はですね、ヒアリングの段階で問題になったんですよ。」
平下は我が意を得たり、という雰囲気だ。本社拠点のLANセグメントと、その裏で別キャリアのMPLS網や、お客自身で構築したインターネットVPNに接続している、他の日本拠点や海外拠点のセグメントとを、まとめて集約する2本のルートは、最終的にはBGP集約になったが、当初スタティックで設定するよう、ヒアリングシートにお客は返していたという。しかし、ヒアリング回答について、確認する電話会議の中で、スタティックであれば、冗長時の切り替わりのために、スタティックのネクストホップへポーリングして、到達性をトラッキングしなければならない。そうPMから意見があった。お客は、そのネクストホップはファイヤーウォールなので、pingは到達できないようになっている、別の方法はないだろうかと、代替案の検討を依頼してきた。そこでPMは、BGPの集約設定にすれば、問題ないと言って、お客も問題がないのなら、それでやってくれとなり、現在の設計になったと言う。
PMは何かと勘違いしたのか。SEではないので、集約の「種」が消えなければ、集約は消えない、ということまで気が回らなかったのか。何にせよ、BGPの集約で大丈夫と言ったのは、回答としては良くなかった。スタティックを「種」として使用する限り、そのスタティックルートを、今まさに直面している、お客LAN内での断の時に、落とせるようにしないといけない。集約条件オプションも知らなかったくらいなので、BGPの集約をよくわかっていないのかもしれない。その電話会議も、今のように緊迫した雰囲気で、PMも、今の都のように固くなってしまい、そのスタティックルートが残るということが、PMの頭から飛んでしまったのだろうか。いや、都は営業の話だけを聞いているので、もしかしたら、もっと複雑な事情があったのかもしれない。営業の方も、技術的にはそんなに詳細まではわかっていないだろうから、PMが話したことについての真意を掴めていない可能性もある。PMに聞いたら、別の言い分・事情も出てくるだろう。
「でも、これを解決するには、そのファイヤーウォールで、うちのルーターからのpingを許可してもらうよう、設定変えてもらうしかないですよ。」
都は、声は震えてしまうが、出来るだけ泣き言を言うみたいにならないよう気をつけた。ファイヤーウォールは、それが信頼できる側のインターフェイスだろうと、信頼できない側のインターフェイスだろうと、DoS攻撃などを防ぐために、pingはデフォルトで拒否されていることは多い。しかし、設定で変えることは出来るはずだ。ポリシーで許可していないのであれば、メイン側ルーターのLANインターフェイスからのpingだけ許可してくれれば良い。
「いや、それが出来ないんですよ…。ファイヤーウォールはお客さん自身で、他のベンダーさんから導入しているものなのですが、ベンダーさんに設定変更依頼しないといけなくて、それも今日の今やってくれ、って言うのは出来ないんですね。あと、お客さまもセキュリティのため入れているので、許可はしたくない、とも仰っていまして。あとはまあ、お前たちがBGP集約にすれば大丈夫だと言っただろう、とも仰っていて…。」
平下はやはりこれは駄目かもしれない、と言う顔をしていた。あの時、PMがきちんと到達性は絶対に必要、と言ってくれればと、思ったところで仕方のない仮定を考えているのかもしれない。都が派遣社員として働いているこのキャリアに対しては、すぐにやれ、何が何でもやれと、リードタイム無視の無理難題を言ってくるお客は多いが、そういうお客に限って、自分が雇っているベンダーのリードタイムは守りたがる。不思議としか言いようがない。
ファイヤーウォールに穴を開けてもらって、到達性をトラッキングするのが一番簡単だし、確実な方法だ。しかし、この状況では、たとえ営業が頭を下げて、ファイヤーウォールで客宅ルーターからのpingを許可してくれとお願いしても、さらにお客を激昂させるだけだろうし、そうなると、もうどうなってしまうのか、都にはわからなかった。
OSPFが回っているお客のL3スイッチに対してポーリングし、それをトラッキングすれば、と言う話も、PMから先程出たと言う。しかし、こちらも実は透過型のファイヤーウォールが手前にあって、客宅ルーター側から始まったpingは通さないようになっている。都はこの手を思いつかなかったので、最初、そうだ、それ、と言ってしまったが、ぬか喜びになってしまった。そんな簡単なことにも頭が回らなくなっているのは、緊張のせいかもしれないが、そもそもの要件や、設計をわかっていない案件のトラブルに巻き込まれると、普段であれば、あっさり見つかるような回避方法も、要件や設計はどうなっているんだっけと、トラブルそのものへの注意が散漫になってしまい、基本的なことに立ち戻る、ということが出来なくなり、見落としがちになる。
ダイナミックルーティングを、客宅ルーターとお客機器の間で回す時、間にファイヤーウォールが挟まっていると、許可しなければいけないルーティングパケットが許可されておらず、延々とネイバーが張れないと言うトラブルは良くある。しかし、今日はそれは全くなかったし、長いお客試験の間で、ファイヤーウォールの設定漏れのため、通信できないアプリケーションがあった、ということもなかったように思われる。きちんと事前に、お客とお客のベンダーとで必要な要件を洗い出し、ベンダーが要件通り設定して、通すものはきちんと通す、お客が通さないと決めたものは通さない。それはきちんと出来ているようだ。もしかしたら、今日はベンダーが待機できないので、とりあえず、お客のLAN側始まりのものは全部通るようになっていて、客宅ルーター側からは、送信元が対向海外拠点のLANセグメントのものであれば、全て通すと、ざっくりとやってあるだけかもしれない。後日、通信ログを解析して、そこから必要なものだけ許可するポリシーを、ベンダーに作らせる。こちらの方がありそうな気がした。
客宅ルーターからのpingによる、L3機器へのポーリングが使えないのであれば 、都には、もう一つだけやり方が頭に浮かんでいた。OSPFが回っていることはラッキーだったし、お客のOSPF機器も、L3ファイヤーウォールも、同時に到達性がなくなる障害であることもラッキーだ。
「…わかりました。ちょっと上手く行くかどうか、やってみないとわからないですが、設定を追加してみますので、お客さんに15分、20分ください、と言ってきてください。ちょっとややこしいので、少しかかります。」
都は正直自信がなかったが、やってみるしかなかったし、頭に浮かんだものを試してもみたい、と言う欲求もあった。その欲求は、この恐怖と緊張に絡め取られてしまったような状況を、なんとか自分の力で打破してやる、そんな苦し紛れの足掻きなのかもしれない。しかしそれは、都の精神の均衡を保つ力なのだ。
「まじっすか!ありがとうございます!言ってきますので、お願いします!」
平下は驚きと、希望の光が見えたような喜びとが混ざったような表情を見せて、かなり腰を折って会釈をしながら言った。まるでこれで解決するような調子だ。都は、あくまで解決に向けてもうひと頑張りしてみるだけ、ということを付け足さないといけなくなった。
「でも、上手く行くかはわからないです。あと、お客さんに一回接続を戻してくれとも、お願いしてきてもらえますか。」
平下は、踵を返しながら了をを返し、PBX部屋を出て行った。