20190323-サーバーネットワーキング講座 – Linuxのルーティングと和解しよう

ref: https://wp.infra-workshop.tech/event/5472/ 

自己紹介

  • 学生の頃にLinuxでルーターを作ってたり
    • そのころの知識から派生して開発でお仕事
    • ISPのDC(つよい)
  • インターネットライクなものを作っていた
  • ネットのお仕事してる

目次

  1. NWって何?
  • ルーティング
  • ネットワークの仕様ってこんなのあるよね←わかる
  1. 市場について
  • 追い付くために・・・
  1. コマンド
  • こんな感じね~の共有

  • セッションしようと思った理由

    • 20190319のセッションでネットワークってなんだっけって話が出たので
    • そういう仕事をしていて、毎回同じようなことを教えているので
    • 10年前から状況が大分変った
      • Juniper, Ciscoだよねから内製とか色々できてきた

1. ルーティングってなんだっけ?

  • ネット / ワーク
    • ネット = 網
    • ワーク = 仕事
  • IPネットワーク
    • 身近なアプリ、ブラウザとか・・・
    • 全部繋ぐのがネットワーク
  • 何故難しい?
  • 家庭では組み込みのDHCP, NAPTとか単純なセグメントのネットワーク設計してくれる
    • 中身についてはよくわからないよね
  • おうちの外・・・ISPやらIXやらIPSやらDCやらと繋がっている
    • こいつら(ネットワークエレメント)を正しくアクセスさせるためにルーティングが必要
    • 時代の中で大分隠蔽化されてきて歯抜けにならないように
    • 「見たらわかるじゃん」→地球規模だとよくわからん
  • ISPの中にも色々
    • N00, N000規模、めっちゃくちゃ複雑。

サーバーネットワーキング

  • internet - L2/L3 - server1 - L2/L3 - server2
    • 家庭のネットワークと違う
    • server1から見た場合、左右どっちにパケットを投げればいい?

まとめ

  • 難しい話は抜きに、膨大な道順をどっちに行けばいいかというのが課題。これを解決する

2. 市場動向

  • サーバーのネットワーキングの盛り上がりの話
    • 超大規模なDCの台頭
      • DCの規模とCisco, Juniperと力関係が逆転しちゃった
      • 内製化(ODM Quanta), 独自OS...主導してきた
  • SDN・NFV
    • 2012年・・・うっ頭が・・・OpenFlowSwitch...
    • そっからクラウドさんが出てきて・・・
  • そんな難しいわけではない
    • 機能の仮想化
      • LB, FW, Router, DPIなんかがOpenStack上に乗っけてきたり(2012ねんごろ)
    • 経路の仮想化
      • マルチテナントで経路をほげほげ
      • VPNaaS, SD-WAN, Service Function Chaining
      • まだまだ気軽には使えない

機能の仮想化

  • 仮想化によるオーバーヘッドの解消
    • SW
      • DPDK...Linuxのネットワークを経由しないパケット操作・・・!?
        • ソフトウェアでやるのは大変->HWは大変
    • HW
      • SmartNIC/P4(Stratum)
        • 最近盛り上がってる
    • これらをもとにv**を制御、高速化
      • OpenなAPIでの組み合わせ・・・市場の要求、さらなる高度化

経路の仮想化

  • NSH方式...パケットの頭につける
    • SRv6
  • 従来拡張
    • ProxyARP+vRT(opencontrailとか), BGP, VxLAN, MPLS(古め)
  • on Torellis Architechture... こういうのを乗っける仕事が(後述)

まとめ

  • 機能、経路仮想化、API標準化がNWの世界でも!!
  • 次に具体化

Torellis Architechtureについて

何が言いたかった?

  • ネットワークてサーバーとかアプリの人間から遠い存在だった
    • 仮想化出てきた
    • Trellis出てきた
    • 身近になってきた
    • ネットワークベンダもRESTとか出してきた
    • どうやってNW運用楽にしようかって話がどんどんDC/Cloudベンダから出てきてる
    • プログラマブルASIC、専用OS、

(ここでマイク瞬断)


3. Linuxのルーティングコマンド

  • 今僕たちってどうやってるんだっけ?を共有
  • net-tools...iproute2うっ頭が...
    • nmcliは悪だ!!
    • nmcliは神だよ
    • nmcliは邪心だよ
    • 正直なところOpenStackがNetworkManager止めろというのでそっちでは出番無さそう
    • 個人的に、単体で普通にサーバー使うときはNetworkManagerとnmcli推奨
  • ip .. とか route, arpとかの比較
    • lsofとかその辺ぐらいで開発できるよ!

で、どう使うの?

  • ip routeコマンドを教えたい
    • 問題(図はスライド参照)
      • 基本的にはip routeでルーティングテーブルの向き先を確認する?
    • 答え
      • ip route get IPアドレス
        • えっこれ便利(知らなかった)
      • 昔はroute PRINTしてみてたけど...
      • 参加者の人みんなrouteで慣れてるw
        • ワイもやで
    • 例示の問題は間違ってる
      • eth2から出るべき
  • 言いたいとこはここに集約されている!!ip route getを覚えろ!!
    • 答え合わせあってた(*´ω`*)

正しく設定するためには

  • 現状確認(図)
    • ip route
  • 現状確認(機器)
    • ip route get IP
  • 設定
    • ip route add ...
  • ...

プチまとめ

  • シンプルルーティングはこんな感じで楽
    1. 宛先IP確認
    2. 宛先IP向けルーティング確認
    3. 誤ってたら設定

他にも...

  • SRE本 ... L3DSR - ip tunnel
  • L2DSR ... ip neigh(わかる)
  • LinuxでPBR
  • VLAN(管理表いやん)
  • 永続化(わかる)

幕間

  • ここからプチハンズオン
  • mininet

4. mininetハンズオン

  • この辺は省略。動画で見てねっ
  • とりあえず面白そう。動作も軽そうでいい。