ネットワークコミュニティを盛り上げたい男の話とついでにciscoのios-xrのコマンド

# 1.はじめに
これは，NTTコミュニケーションズ Advent Calendar 2018 8日目の記事です．
はじめまして勝男(@katu7414)と申します。NTTComのネットワークサービス部でVPNサービスの開発や
クラウド基盤の調査を行ったりしています。
はるか昔はICTSCの運営委員でネットワーク系の問題を作ったり
異世界転生系の小説書いてました。
http://katu7414.hatenablog.com/entry/2017/09/22/185728
趣味は釣りで最近は数週間に一回釣りに行ってます。来週も行きます。
今回は普段コミュニティー活動として行っているネットワークコンテストと
あまりインターネットにはないcisco-ios-xrについて記事を書いていきたいと思います。
過去に行った勉強会リンク
https://supporterzcolab.com/event/417/
https://supporterzcolab.com/event/459/

# 2.ネットワークコンテストって？
過去に開催されたイベント→https://connpass.com/event/101160/
(CCNA~CCIE対象)ネットワークコンテストというタイトルで開催しています。
この大会の趣旨として近年盛り上がる競技プログラミングやCTFみたいな大会のネットワーク版を
作りたいなぁという気持ちではじめました。
私自身学生時代にICTSC(https://icttoracon.net/archives/date/2018)
の運営委員をしていてその経験を活かしながらの開催となりました。

# 3.開催してみてどうだった？
参加者の中には現在CCIEの取得を目指して勉強中の人も参加して頂けかなりレベルが高いものになりました。
どのような問題を出したかは以下にリンクで別ブログに同じ運営メンバーが
まとめているので貼っておきます。
問題リンク→https://it-networking.jp/category/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B3%E3%83%B3%E3%83%86%E3%82%B9%E3%83%88
![image.png](https://qiita-image-store.s3.amazonaws.com/0/314181/2c3f3613-1f43-ea60-8fe9-4c22b548f31d.png)



# 4.どういう環境で問題を解くのか？
本コンテストでは仮想環境を用意しており、そこに大量のルーターが設定してありそこへアクセスしてもらって
問題を解いてもらいます。
なので参加者はsshクライアントがあれば基本的には参加できますし、
次回大会ではブラウザさえあればconfigが書けるような環境を提供する予定です。

# 5.インフラってどうなってるの？
インフラ部分を開発したのは私ではない運営メンバーなのですが
彼はインターネットには出てこないのでここで代わりに説明します。
#### ネットワーク学習環境の構築方法

ネットワーク機器のエミュレーターとしてeve-ng(community版)を使用


- cisco以外にもvSRXなどを扱いたい
 - (リソース以外の)必須要件:cpuが仮想化機能に対応している必要がある

これはeve-ngが多種の機器をエミュレートするために
内部でKVMを使用しているのでこのような制約が存在します。

主に以下の2種類の構築方法がありますが1の方法が手軽に構築可能で便利です。
1.ova or isoを以下の公式からダウンロードしてきて
  仮想化ソフト(VMware workstationなど)に入れる
  - http://www.eve-ng.net/downloads/eve-ng-2

2.以下のサイトに従いubuntu16.04にeve-ngをインストールする
  - http://www.eve-ng.net/documentation/installation/bare-install


今回はネットワーク勉強会用のインフラとして使用したいということで、
1ではなく2の方法でクラウド上にubuntu16.04のVMをたててeve-ngを構築しました。
そこで、クラウドサービスでnested virtualizationに対応している
Google Cloud Platform(GCP)を利用しました。
以下GCPでnested virtualizationに対応させるために必要な手順の参考にしたサイト
- https://cloud.google.com/compute/docs/instances/enable-nested-virtualization-vm-instances
- https://qiita.com/Link02/items/65e270a9867c504a8e51

またeve-ngはインストール時にinterface名を"eth＋数字"にする必要がありますが、
GCPでは"eth＋数字"でなかったため、
/etc/udev/rules.d/70-persistent-net.rules
を変更して、interface名を"eth＋数字"に変更しました。

後は、上記の構築方法2にあるサイトに従って構築していくだけになります。
環境が構築できたら、"eve-ng vSRX"などエミュレートしたいものを調べることによりiol以外にもセットアップできます。

# 6. cisco-ios-xrについて
本ネットワークでも今後扱う可能性があり、さらに最近のコアルーターで採用されている
ciscoのios-xrについて今回は使用している所感を述べていこうと思います。
基本的なコマンドはcisco ios + Junos です。
基本的にはcommitしてからコマンド反映されます。

cisco iosとios-xrコマンド差分
####同じなものでよく使われるものリスト

show users
terminal monitor
terminal length 0
show log
show clock
show processes cpu
####cisco iosにしかないもの

show startup-config
write memory
####cisco ios-xrにしかないもの

admin show running-config
#####cisco iosとios-xrで意味は同じだがコマンドが違うもの

ios→show ip ospf neighbor
ios-xr→show ospf neighbor
ios→show gsr(ファンや電源モジュールを確認)
ios-xr→admin show platform
その他 show ip系のipはなくなっている。

# 7.今後の予定
12/17に初学者向けのネットワーク勉強会をやります。
今回紹介したハンズオン環境用意しているので体験したい人は申し込みしてください〜
https://supporterzcolab.com/event/653/
こんな感じでネットワークのコミュニティを盛り上げる為に定期的に
イベントをしているので遊びに来てください。

# 8.最後に
文章力がないブログを見ていただきありがとうございました。
今後もネットワークエンジニアのコミュニティを盛り上げられるように精進していきます。
質問があればhttps://twitter.com/katu7414
までお願いします。
次回のネットワークコンテストは2月の予定です。
1月はJANOGがあるので