chouett0's note

掃きだめ的なsomething

ISTSC8 Writeup

初めに

8/26、27の2日間開催されていたISTSC8にチームIPFactoryとして参加してきました。あまりサーバについての(というかLinuxに関する)知識がないので基本的にネットワーク問題オンリーで参加することになりました。その際に担当した問題のwriteup兼戒めとなります。

伝統の国 第一のトラブル

基準点: 120 / 満点: 200

問題

旅の途中、酒場に訪れた。

ドワーフ「お客さん、見ない顔だね。どこから来たんだい?」

エイト「私は始まりの国のはずれよ。この人たちは私が異世界から呼んできたの」 ドワーフ「ほーう。ここに壊れたスイッチがあって修理する当てを探しているんだが……。まぁおまえらじゃあ解決できないだろうな、ほら帰ってくれ」

そう言い残すとドワーフは、店の奥に消えていった。

エイト「キー! 悔しい。あんたたち絶対直してみせなさい!! 解決して見返してやりましょう」

注意事項

2960B を再起動してはいけない。 達成すべき事項

7 番ポートをリンクアップをさせ、原因を特定する パスワードを broken_port? に変更する

このような形で問題が出題されました。どうやら7番ポートがダウンしているようなのでshow interface FastEthernet 0/7をすると、「err disabled」となっているので、ハードではなくソフト的にダウンさせられたんだろうなと予想がつきます。 ちょうど前日にport-securityの設定をすると強制shutdownされるという知見を得ていたのでそれだろうと考えているとどうやらそもそも設定されていない模様。
そこで(というか初めからやるべきでしたが)show logでエラーログを探ると、

*Mar 2 03:46:29.100: %STORM_CONTROL-3-SHUTDOWN: A packet storm was detected on Fa0/7. The interface has been disabled.

というログがったので調べてみると「storm-control」という機能によるものであるとわかりました。
よって、何らかの要因でパケットが大量に送られてきたことによるトラフィックの上昇をstorm-control機能が検知して7番ポートを落としてしまったと推測できます。 復旧方法は単にポートの再起動で可能でした。また、パスワードに「?」を含めるようにする方法ですが、Ctrl + Vでできるようです。

伝統の国 第二のトラブル

問題文

スイッチの問題を解決した後、ドワーフに話しかけられた。

ドワーフ「いや~まさか本当にトラブルを解決するとはビックリしたぜ。ついでにもう一つ頼まれてくれないか?」

ドワーフ「実は魔法陣の構成を 892j から 1941 に変更して、同じ呪文を書き込んだんだがNAT-PTが動作しないんだ。頼む……この>通りだ」

エイト「コンフィグを使いまわしたってこと? そんなことするから動かないのよ。悪いけど、あんたたちやってあげてくれない?」

アクセスできる機材

cisco 1941

892J時の動作

  • Pv4アドレスにIPv6ネットワークからpingをする際には宛先に2017::(IPv4アドレス)を宛先にするとできていた
  • 例として192.168.140.2にpingをする際は2017::192.168.140.2が宛先となる

達成条件

  • NAT-PTを機能させる
  • 1941のgi0/0ポートにつないだIPV6アドレスのみを持つPCから192.168.140.1にpingが通る

この問題はcisoc 892Jを使っていた時のコンフィグをcisco 1941でそのまま流用したけどなぜか動かないからどうにかしてくれ、という問題です。
普通に考えればファームアップしている機器ならそのまま流用するようなことはしないのかもしれないのですがね。。。
というわけでなぜこれが動かないのかをコンフィグから割り出すと、どうやらIPv6でNAT-PTを行っているようなのですが「ipv6 cef」という設定を無効化しないといけないようでしたので、「no ipv6 cef」というコマンドを実行することで動作するようになりました。
CEFとは、cisco社のExpress Forwarding技術の略称のことで、パケットの転送処理をHWで行うことで高速化を図る技術なのですが、これが曲者でNAT-PTを利用する場合はこれを無効にする必要があるようです。

伝統の国 第三のトラブル

問題

NAT-PTの問題を解決した後、再びドワーフが話しかけてきた。

ドワーフ「2つもトラブルを解決してくれるとは驚いた。俺とあんたたちはもう家族も同然だよな? だから最後にあと1つだけいい>か?」

エイト「え~まだあるの?」

ドワーフ「実は新しく喫茶店の支店作っていてなぁ~。そことIPsecで魔法陣をつなぎたいんだが、うまくつながらないんだ。なん>とかしてくれよ~俺たち家族だろう?」

エイト「もう~調子がいいんだから。何度もごめんね。これだけ手伝ってあげてくれない?」

アクセスできる機材

  • 1841-B
  • 1941

注意事項

  • 892J内のNAPTルータのconfigの変更は一切行ってはいけない

達成すべき事項

  • IKE Phase1成功を確認する。
  • IKE Phase2成功を確認する。
  • IPsecによる通信で1941のLoopBack0から1841-BのLoopBack0への疎通を確認する。

この問題は競技中に回答できなかった問題なのですが、ただ単にIPSecVPNを張るだけ…のはずがうまくいきませんでした。
しかもこの問題を解答できたのが1チームだけのようでその難易度がうかがえます。ネットワーク担当としてとても心残りになる問題でした。

今回で参加は2回目になりますが、前回と違い少しはチームに貢献できたかなという感想でした。しかし、やはりまだ戦力にはならない上にサーバ問題になると途端に手足が出せなくなるのでやはりまだまだなんだなと実感しました。
出来れば 来年以降はNOCとして参加してみたいものですね。