ICTSC8に参加した

ICTSC8にuecmmaとして参加して優勝してきた。

半分以上メンバーが入れ替わったけど結果が残せてよかったかな。

かなり間が開いてしまったけど、自分が解いた問題くらいは何か残しておこうと思ったので適当に書いていきたい(若干忘れかけてる)
サーバ系の問題を解きたかったけど、Cisco機器を触れる人がいなかったのでネットワーク系の問題を雰囲気で解いていたので解答が微妙なのは許して欲しい。

問題10 荒廃の国 第一のトラブル

問題

ドワーフが経営している寂れた宿に訪れた。

ドワーフ「いらっしゃいませ……何もないところですがごゆっくりしてください……。」

エイト「ありがとうございます。 あれ? 宿の魔法陣が繋がらないわ?」

ドワーフ「すいません……。盗賊対策にACLを書いたんですが、繋がらなくなって困っているんです……」

エイト「なるほどね。これはあんたたちの出番じゃない?」

アクセスできる機材

機材名 enable パスワード 備考
892J guild_party interface3に参加者のPCを接続してアクセスする

達成すべき事項

  • 参加者手元PCからloopback0にpingが通る。

解答

以下のようなACLが書かれていた。

ip access-list extended guild
 permit ospf any any
 permit icmp any any echo-reply
 permit icmp any any time-exceeded
 permit icmp any any unreachable
 permit tcp any any established

問題文の通りloopback0にはpingが通らなかったのでACLに何か追加すればいいだろうと思って以下を追加(したはず…送信した解答が残ってなかった…)

permit icmp any any echo

これでpingは通るようになったけど、問題文の 盗賊対策に~ という部分が気になりながら解答提出。

案の定 90/150 で採点されたけどひとまず基準点を超えたので放置。

問題13 伝統の国 第一のトラブル

問題

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

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

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

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

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

アクセスできる機材

機材名 enable パスワード
2960B cisco

注意事項

  • 2960B を再起動してはいけない。

達成すべき事項

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

解答

1. FastEthernet 0/7がリンクアップしない問題の解決
FastEthernet 0/7 のステータスが `err-disabled` になっていたため、インターフェイスの `shutdown` -> `no shutdown` を行ったところ、ステータスが `connected` になりリンクアップしていることを確認した。  
`show log` でログを確認したところ、 `*Mar  3 06:52:16.965: %PM-4-ERR_DISABLE: storm-control error detected on Fa0/7, putting Fa0/7 in err-disable state` というログが出ていたため、ループを検出し、ステータスが `err-disabled` になったいたものと思われる。  

2. パスワードの変更
`enable secret broken_port?` によってenableパスワードを `broken_port?` に変更した。  
`?` は特殊文字のため、先に `Ctrl+v` を入力することで入力可能となる。

これは解答した文が丸々残っていた。

1つ目はループを検出してインターフェイスerr-disable になっていたのを shutdown -> no shutdown することで解決。

2つ目はパスワードを変更する問題だったが、 ?Cisco機器だとコマンドのヘルプを出す特殊文字なのでそのまま入力してもパスワードには使えない。
Google先生に頼ると Ctrl+v を事前に送信すると入力可能とのことだったのでそれで解決。

無事に 200/200 で満点を獲得できた。

問題14 伝統の国 第二のトラブル 300/300

問題

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

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

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

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

アクセスできる機材

機材名 enable パスワード
1941 router_as_router

892J時の動作

  • IPv4アドレスに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が通る

解答

1. IPv6 CEFの無効化
NAT-PT利用時にIPv6 CEFはサポートされていないため、以下のコマンドで無効にする。
`no ipv6 cef`
2. GE0/0ポートに繋いだPC(IPv6のみ)から192.168.140.1にpingが通ることを確認する
% ping6 2017::192.168.140.1 -c 3
PING6(56=40+8+8 bytes) 1::e86c:8162:779f:bdc5 --> 2017::c0a8:8c01
16 bytes from 2017::c0a8:8c01, icmp_seq=0 hlim=254 time=1.326 ms
16 bytes from 2017::c0a8:8c01, icmp_seq=1 hlim=254 time=1.365 ms
16 bytes from 2017::c0a8:8c01, icmp_seq=2 hlim=254 time=1.285 ms
--- 2017::192.168.140.1 ping6 statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 1.285/1.325/1.365/0.033 ms

Cisco独自のCEF(Cisco Express Forwarding)はIPv6のNAT-PTをサポートしていないという問題だった。
そのため no ipv6 cef をすることで解決、IPv6アドレスしか持っていないPCから 2017::192.168.140.1pingが通るようになった。

NAT-PTに関しては聞いたことはあったものの、利用したことはないので解決できるような知識はなかった。
問題文に 構成を 892j から 1941 に変更して とあったので、892Jと1941のコンフィグを見比べてみたところ、IPv6 CEFが892Jでは有効で1941では無効だった。
またもやGoogle先生にNAT-PTとIPv6 CEFの関係について聞いてみたところビンゴ。

300/300 で満点。

問題17 研究の国 第二のトラブル

補足事項

各ルータのIPアドレスのプレフィックスを示します。 router1: 192.168.9.10/26 router2: 192.168.9.68/26 router3: 192.168.9.130/26 router4: 192.168.9.200/26 router5: 192.168.9.201/26 各ルータと同じネットワークのアドレスを、 手元のPCにスタティックで設定してL2で繋いでsshsしてアクセスしてください。

問題

トラブルを解決し、女の子との距離が縮まった。

女の子「ありがと~ さっきは助かったわ。私は、B組のパトリシア・トライよ。パトリシアって呼んでね? ところであなたたちはどこのクラスの人なの?」

エイト「実は私たちここの学校の生徒じゃないの。学校がどんなところか知りたくてきたのよ」

パトリシア「そうなんだ……お礼と言ってはなんだけど、学校を案内しようか?」

エイト「わーい! ありがと~」

パトリシア「あっ忘れてた! 魔法陣学入門の課題をやらなくちゃ。OSPFを動かしたいんだけど……」

エイト「え〜! 早く学校を見て回りたいのに〜! あんたたち、なんとかしてあげて!」

アクセスできるルータ

ルータ名 アドレス ユーザ パスワード 備考
router1 192.168.9.10 admin ospf_assignment 2960-A_fa0/13からL2でsshできる
router2 192.168.9.68 admin ospf_assignment 2960-A_fa0/14からL2でsshできる
router3 192.168.9.130 admin ospf_assignment 2960-A_fa0/15からL2でsshできる
router4 192.168.9.200 admin ospf_assignment 2960-A_fa0/16からL2でsshできる
router5 192.168.9.201 admin ospf_assignment 2960-A_fa0/16からL2でsshできる

注意事項

  • 各ルータのOSPFのエリアを変更してはいけない。

達成すべき事項

  • router1からrouter5に疎通性が取れる。
  • 各ルータにルート情報が正しく回っている。

その他

各ルータにOSPFで動的にルートを回すことが望ましい。

解答

1. 各ルータで実行したコマンド
どのルータともconfigモードであることを前提とする。
#### router1
`set protocol static route 192.168.9.192/26 next-hop 192.168.9.11`
#### router2
`set protocol static route 192.168.9.192/26 next-hop 192.168.9.69`
#### router3
`set protocol static route 192.168.9.192/26 next-hop 192.168.9.131`
#### router5
`set protocol static route 192.168.9.0/26 next-hop 192.168.9.200`
2. router1->router5の疎通確認
上記の設定により、疎通が取れることを確認した。以下に結果を記載する。
admin@vyos:~$ show interfaces ethernet eth0 brief
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface        IP Address                        S/L  Description
---------        ----------                        ---  -----------
eth0             192.168.9.10/26                   u/u
admin@vyos:~$ ping 192.168.9.201
PING 192.168.9.201 (192.168.9.201) 56(84) bytes of data.
64 bytes from 192.168.9.201: icmp_req=1 ttl=61 time=0.690 ms
64 bytes from 192.168.9.201: icmp_req=2 ttl=61 time=0.711 ms
64 bytes from 192.168.9.201: icmp_req=3 ttl=61 time=0.560 ms
^C
--- 192.168.9.201 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 0.560/0.653/0.711/0.073 ms

1日目に出た問題で、コンフィグを全部抜いたら環境が再現できたので懇親会後帰宅して仮眠して日付が変わったくらいから解き始めた問題。
環境を再現できたから勝ちと思っていたらダメだったので悔しい(解いてたら朝になった)

OSPFはバックボーンエリアであるエリア0に他のエリアが全て隣接していないといけない。
この問題はVirtual Linkでエリアが隣接していないのを解決する問題のようだった。
構成は以下のリンク先とほぼほぼ同じだったのでCisco機器とVyOSの違いかと思っていたが、VyOSでどうしてもVirtual Linkが構成できなかったため挫折。

www.infraexpert.com

各ルータにOSPFで動的にルートを回すことが望ましい。

との文があったので、最終手段としてStaticにルートを書くことでrouter1->router5にpingが通ることを確認した。

諦めて上記の解答を送信したところ、部分点として 140/200 と採点されたため基準点をクリアした。

僕が解けた問題は以上のはず、後はお茶くみ係として他の問題に茶々を入れるしかできなかった。

最後に

ICTSCでしかCisco機器を触らないような人間なので、ネットワーク系を担当したけど難しめの問題が解けず個人的には消化不良感があった。

運営は早く解答例を出してくれ~~~

というわけでサーバ系を解いた人たちが強くて、おんぶにだっこで優勝してしまった。

ICTSC9は2018年3月に大阪であるらしく、またuecmmaで参加できるかな?ということで、解けなかった問題も含めもっと勉強しないとな~。

あまり参考にならないと思うけど、もし何かの参考になればということで終わり。