Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

1

Share

Download to read offline

Networking technique with shell scripting

Download to read offline

ネットワークシェル芸

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Networking technique with shell scripting

  1. 1. ネットワーク シェル芸 のススメ 第46回シェル芸勉強会 LT
  2. 2. ⾃⼰紹介 • Matsu @pineshrine • https://www.linkedin.com/in/matsu501/ • ネットワークエンジニア歴11年 • 夜型だけど徹夜がしんどくなってきた30代 • シェル⼤好き • 温泉とストライクウィッチーズが好き • シェル芸勉強会初参加 (最近東京に転職してきた&Ryotoさんに誘われて) 似顔絵 by マイワイフ
  3. 3. ネットワークエンジニアの仕事⾵景 ルータ、スイッチ、ロードバランサ、ファイアウォール、仮想環境、無線LAN、光多重伝送装置、電話交換機 etc etc...
  4. 4. ネットワークエンジニアで シェル芸好きな⼈ あまり居ない説 初LT…ども… 俺みたいなネットワークエンジニアでシェル芸する腐れ野郎、 他に、いますかっていねーか、はは 今⽇の職場の会話 あのAnsibleかっこいい とか Pythonを標準⾔語に とか ま、それが普通ですわな かたや俺はパイプを繋げてルータを操作して、呟くんすわ Always on the shell.狂ってる?それ、誉め⾔葉ね。 好きなOSS RANCID 尊敬する⼈間 Mike Gancarz(X Window systemはNO) ⽇が変わって帰宅してLT資料を勉強会の当⽇に作って朝の4 時っすよ(笑) あ〜あ、社畜の⾟いとこね、これ https://kumamine.blogspot.com/2019/12/blog-post_27.html ©くまみね⼯房 ヨシ!
  5. 5. ネットワーク エンジニアの 悩み • 扱う機器の範囲が広くてめん どくさい=死 • 作業ミスして回線が切れると ⽂句⾔われる=死 • 何もしなくても壊れて⽂句⾔ われる=死 • ⾃動化が難しい=死 • というかコーディングは本業 じゃない=死 • でもベンダロックインされる と死 https://www.irasutoya.com/ ©いらすとや
  6. 6. ありえん つらみの深い 存在 それが ネットワーク エンジニア http://sozaing.com/ ©ソザイング
  7. 7. グーグル先⽣に助けを求める • NW機器って基本的に操作はCLIだから ⾃動化し易いはず • ansibleとかpythonとか⼈気 • でもansibleはUNIX哲学じゃない • YAML書くの嫌いだし • pythonで操作するって⾔っても ガリガリコード書くのしんどい • ⾞輪の再発明ってUNIX哲学じゃないよね • ネットワーク機器の操作を⾃動化する既存 の⼿法って無いものかしら?
  8. 8. そんな界隈に颯爽と救世主が RANCID https://www.irasutoya.com/ ©いらすとや https://ja.wikipedia.org/wiki/グル
  9. 9. コレジャナイ
  10. 10. rancid ciscoでググると出てくる • RANCID - Really Awesome New Cisco config Differ • 別に颯爽と現れた訳ではない。 界隈で古い⼈だと知ってるかもしれない。 →「あー、聞いたことある。古いやつでしょ?」的なレベル • コンフィグ差分管理ツール? • CVSって⽂字が⾒えるけど古代レベルでは? • なんでCisco名指し? • 検索でも出てこないしマイナーなのでは? • サブカルなのでは?副⽂化なのでは? • というかシェル芸何か関係あるの?
  11. 11. 今北産業 • Ciscoと⾔いつつ様々なベンダのコンフィグやハードウェアを管理できる →マルチベンダ対応 • コンフィグやハードウェア情報を取得するための、 各種装置へのログインスクリプトをサブセットとして持っている →ログインスクリプト? • 主に⽶国を中⼼に熱⼼な愛好者が多く、 AOL, Global Crossing, MFN, NTT America, Internet Systems Consortium などで現在も使⽤されている →現在も保守されている! RANCIDへの愛が深すぎて3⾏にならなかった
  12. 12. 対応装置⼀覧 agm A Cisco Anomoly Guard Module (aka Riverhead). Suspect that at some point the UI will become more cisco-like and it can be merged with the IOS rancid module. alteon An Alteon WebOS switches. arista An Arista Networks device. avocent An Avocent Cyclades console server. baynet A Bay Networks router. bigip A F5 device running BIG-IP >= v11. cat5 A Cisco catalyst series 5000 and 4000 switches (i.e.: running the catalyst OS, not IOS). ciena-ws A Ciena Waveserver. cisco A Cisco router, PIX, or switch such as the 3500XL or 6000 running IOS (or IOS-like) OS, but not IOS-XR, NX-OS or Cisco small business devices. cisco-sb A Cisco small business devices. cisco-nx A Cisco Nexus switch/router. cisco-xr A Cisco device running IOS-XR. cisco-wlc4 A Cisco Wireless Controller versions up to 4. cisco-wlc5 A Cisco Wireless Controller versions 5 and above. css A Cisco content services switch. enterasys An enterasys NAS. This is currently an alias for the riverstone device type. erx A Juniper E-series edge router. dell A Dell switch. Known working models are DES-3010F, DES- 3052P, DES-3526, and DES-3550. Note that Dell OEMs some equipment and has purchased some companies, so a Dell product may not work with the dell rancid module but may work with smc or force10. extreme An Extreme switch. ezt3 An ADC-Kentrox EZ-T3 mux. f5 A F5 BigIP switch. force10 A Force10 router. fortigate A Fortinet firewall. foundry A Foundry router, switch, or router-switch. This includes HP Procurve switches that are OEMs of Foundry products, such as the HP9304M. hitachi A Hitachi router. hp A HP Procurve switch such as the 2524, 4108 or J9086A (aka. 2610) procurve switches, J9091A, and J8698A. Also see the foundry type. juniper A Juniper router. mikrotik A Mikrotik router. mrtd A host running the (Merit) MRTd daemon. mrv A MRV optical device; including NC316, OptiSwitch 904, OptiSwitch 906G, OptiSwitch 912C, OptiSwitch 940. netscalar A Netscalar load balancer. netscreen A Netscreen firewall. onefinity A Fujitsu 1finity device. paloalto A Palo Alto Networks device. procket A Procket router. redback A Redback router, NAS, etc. riverstone A Riverstone NAS or Cabletron (starting with version ~9.0.3) router. smc A SMC switch, which also account for some Dell OEMs. Including Dell PowerConnect 35xx (3524, 3524P, 3548, 3548P) and 7048. sros A Nokia (Alcatel-Lucent) router, such as the 7750 SR. xirrus A Xirrus array. zebra Zebra routing software. 古い装置から新しい装置、 アプライアンスのレイヤもL1からL7までなんでもあるぞ ここに載っていないHuaweiとかAruba、Brocadeも使える
  13. 13. 秘伝のタレ的な ログインスクリプト群 • 通称「xlogin」スクリプト • 機器毎に味付けされたexpectのラッパー • ログインプロンプト対応 • ユーザ名 • パスワード • 例外処理(警告処理等々)対応 • おまじない対応 • ページング : ciscoだと「terminal length 0」と か • CLIにおける⼀般ユーザモードでのデリミタ 処理 • hostname>,hostname$ • CLIにおける特権ユーザモードでのデリミタ 処理 • hostname# • 装置からのログアウト対応 • logout,exit,quit
  14. 14. expect • スクリプトを基に、対話処理を必要と するプログラムとを「お話」をする プログラム • UNIX哲学において対話的インタ フェースはよろしくないが、それを 解消できる • TCL⽂法を使⽤している • expectのスクリプト書くのめっちゃ ⾟い • https://kazmax.zpp.jp/cmd/e/expec t.1.html
  15. 15. ようやく本題のシェル芸の時間だ • 今回は操作対象としてオンライン ラボを借りてみた • https://labs.networktocode.com /labs • Juniper vMX x2 • Cisco CSR1000v x2 • それぞれ5時間で1000円くらい • 起動中は装置に直接ログインでき るGlobalIPが貰える #けど結構遅いし使いづらい #今回⼀番時間かかったのコレ
  16. 16. やってみる • xloginの使い⽅ • Cisco : clogin xxx.xxx.xxx.xxx • Juniper: jlogin xxx.xxx.xxx.xxx • たたくとユーザに渡される • あとはお好きに
  17. 17. やってみる(Contd.) • hostlistを⽤意
  18. 18. LLDPでも⾒てみましょう
  19. 19. juniper
  20. 20. cisco
  21. 21. デモ
  22. 22. 今までやってみたこと • 障害の発⽣した回線の状態(リンク、光レベル、トラフィック)を⼀ 覧にするツール作ってみた by bash • 通称「サーキットツール」 • syslog⾶んできた装置にログインするteratermマクロを動的に⽣成 するツール作ってみた by bash • 装置のリアルな対向機器の状態をLLDPから定期的に取得し、 HTMLとして吐き出す仕組み作ってみた by bash • 通称「阿部寛のページ」 • shellintheboxを使ってWebから装置にログインできる仕組み作って みた by bash • ウェブログインツール • でも使い捨てでトラブルシューティングの際にシェル芸するのが⼀ 番効果的
  23. 23. ネットワークシェル芸の話をすると • ネットワークシェル芸するにはUNIX哲学の考え⽅に基づいた 設計思想が必要 • 前職:UNIX哲学をネットワークに適⽤する意義を懇々と語るも • 「またMatsuのUNIX哲学が始まったよ〜」 • 現職: UNIX哲学をネットワークに適⽤する意義を懇々と語るも • 「シェル芸でしょ?可読性ないじゃん」 • ⼈望の問題 • みんなにもっとRANCID知って欲しい!使って欲しい!!!11
  • Iketaro1

    Apr. 24, 2021

ネットワークシェル芸

Views

Total views

2,165

On Slideshare

0

From embeds

0

Number of embeds

1,409

Actions

Downloads

2

Shares

0

Comments

0

Likes

1

×