Open3
ネットワーク勉強まとめ
ピン留めされたアイテム
ネットワーク勉強まとめ
スクラップ一覧
おまけ
Netlinkを触ってみた話
TODO
-
『Linuxで動かしながら学ぶTCP/IPネットワーク入門』
- DHCPの章をやる
- NATの章をやる
- Network Namespaceの勉強ネタ: https://blog.amedama.jp/archive/category/Network Namespace
- Network Namespaceを利用してbridgeを作成する: https://github.com/momijiame/linux-tcpip-book/blob/2nd-edition/commands/4.ethernet/bridge.txt
- シェルでCNIを自作する: https://docs.google.com/presentation/d/1FBf4vp_l3meTrmfoYj7L9Pa2OWLcV47lSmVCWD9_NTc/edit#slide=id.g9103be21a3_0_88
- coil
- flannel: https://github.com/flannel-io/flannel
- goのライブラリ: https://github.com/vishvananda/netlink
- https://blog.revolve.team/2017/04/25/deep-dive-into-docker-overlay-networks-part-1/
- https://github.com/tinynetwork/tinet/tree/master/examples/basic_clos
- https://github.com/mi2428/netben/tree/master
- https://qiita.com/khys/items/ea008e60186e8fad5568
- https://zenn.dev/takai404/articles/9633f5aa669f32
- https://github.com/tinynetwork/tinet/blob/master/examples/basic_bgp/route_server/spec.yaml
- TOR(Top of Rack)とは?: https://macruby.info/network/top-of-rack-and-end-of-row.html
- ネットワーク図: https://zenn.dev/takai404/articles/147efe7b810182
- /etc/nets/: https://zenn.dev/takai404/articles/802744083526ce
- vethの対向インターフェイス名を知る: https://zenn.dev/takai404/articles/ce0f4738a4c7a0
- ネットワーク図: 一般的に?物理構成図と論理構成図の2つを各っぽい
- BGP: https://blog.cybozu.io/entry/bgp-basics
- MetalLB: https://metallb.universe.tf/
目標
以下のようなネットワークに関する知識を実際に構成を作成して動作検証できるレベルで理解する
このリスト作成時点で一応はやったもの
- Network Namespace
- 仮想ネットワークインターフェイス
- ネットワークインターネットへのIPアドレスを付与する
- デフォルトゲートウェイを設定する
- MACアドレスを手動で設定する
- pingやtcpdumpを使ったネットワーク設定のデバッグ
- ARPリクエストやARPテーブルについて
- (IPv4)ルーターについて
- ブリッジについて
- (ブリッジの)MACアドレステーブルについて
- DHCPサーバーの構築やクライアントの起動
- dnsmqsqについて
- SNAT(Source NAT)について
- DNAT(Destination NAT)について
- VXLANを利用したオーバーレイネットワークの構築
- タグVLANによるセグメンテーション
このリスト作成時点ではまだやってない or 不十分なもの
- icmpプロトコルについて
- NAPTの変換ポートのルールについて
- VXLANの仕様や裏でどういう処理を行っているのか
- VLANの仕様や裏でどういう処理を行っているのか
- 覚えるべきネットワークインターフェイスの種類: https://markunet.github.io/blog/Intro_Linux_interfaces_JP/
- 主要なネットワークインターフェイスの使い方の学習
- 3階層ネットワークの構築
- Closネットワーク(Spine&Leaf構成?)の構築
- OSPFについて
- BGPについて
- FRR(FRRouting)の使い方: http://docs.frrouting.org/en/latest/overview.html
- GoBGPの使い方: https://github.com/osrg/gobgp
- tinetの理解
- 物理ネットワーク図の書き方
- 論理ネットワーク図の書き方
- 学習用CNIドライバーの作成
- 学習用のNetwork Namespaceを使ったtinetライクなツールの作成
- https://github.com/vishvananda/netlink を利用したGo言語プログラムからのネットワークの設定
- L2やL3レイヤの通信のパケットの中身を理解する
- flannelのネットワーク設定内容の理解: https://github.com/flannel-io/flannel
- coilのネットワーク設定内容の理解: https://github.com/cybozu-go/coil
- kindnetのネットワーク設定内容の理解: https://github.com/aojea/kindnet
- calicoのネットワーク設定内容の理解: https://github.com/projectcalico/calico
- ePBFの基本の学習
- ciliumのネットワーク設定内容の理解: https://github.com/cilium/cilium
- SRv6の基礎の学習
- BIRDについて: https://bird.network.cz/
- MetalLBについて: https://metallb.universe.tf/
- placemetについて: https://github.com/cybozu-go/placemat
- SDNについて
- NFVについて
- NetBoxについて理解する: https://docs.netbox.dev/en/stable/