体験しながら学ぶ ネットワーク技術入門
(ローカル)Docker desktop が起動していたら無効にしておくこと
(ローカル)WSL2 Ubuntu に環境構築した
tinet up -c /mnt/c/tinet/spec_01.yaml | sh -x
tinet conf -c /mnt/c/tinet/spec_01.yaml | sh -x
docker exec -it cl1 /bin/bash
code:sh
sv1.example.com
root@cl1:/#
tinet img -c /mnt/c/tinet/spec_01.yaml | dot -Tpng > /mnt/c/tinet/spec_01.png
https://scrapbox.io/files/65e1d5d176444d002504fc3d.png
tinet down -c /mnt/c/tinet/spec_01.yaml | sh -x
tcpdump でパケットをファイルに dump → Wireshark で開いて確認
使った方が良いかも。各コンテナでの作業が一望できる(以下は、L2スイッチにポートVLANを設定した様子. P89辺り)
https://scrapbox.io/files/65e41bf5acd69b0026ba2976.png
LAN 内の端末へ ping したパケットをキャプチャして中身を確認する様子(キャプチャしたファイルは、C:\tinet 配下に保存)
https://scrapbox.io/files/65e32a8a30648f0025bfbf1c.png
https://scrapbox.io/files/65e32a9a15ce150025ef06b2.png
https://scrapbox.io/files/65e32aac269ad50027ebca66.png
タグVLAN 設定後の疎通/パケットキャプチャ(lb1)
MACアドレステーブル(左. L2スイッチ)確認(P96辺り)
https://scrapbox.io/files/65e4280d63df42002562fafa.png
lb1 <-> fw1のパケット(上から4つ目まで)
ネイティブVLANのVLAN1のパケットなので、イーサネットフレーム。VLANタグはない。
https://scrapbox.io/files/65e42bc04dc1770023b7e6fb.png
lb1 <-> sv1/2 のパケット(上から5つ目以降)
VLANタグがある
https://scrapbox.io/files/65e42b6b3c7c6900257732f1.png
静的ルーティング/動的ルーティング(OSPF利用)を設定(P140~辺り)
rt1 <-> ns1 で疎通できるようにルーティングの設定をする(ネットワーク構成) rt2/rt3でOSPF、ns1で静的ルーティング設定する前のルーティングテーブル(それぞれの機器に必要なルーティングエントリが無いため、rt1 <-> ns1 で ping が通ってないことが左上のシェルからわかる)
https://scrapbox.io/files/65ec07497681ea0025d0a1a3.png
rt2/rt3でOSPF、ns1で静的ルーティング設定した後のルーティングテーブル(rt2/rt3のそれぞれで学習したエントリが存在していることを確認できる。また、rt1 <-> ns1 で 疎通できていることが左上のシェルからわかる)
https://scrapbox.io/files/65ec083f5a3d9700245cbc19.png
rt2/rt3 で OSPF 有効化後に、rt2 の net1 インタフェースで OSPF のパケットをキャプチャした様子(tcpdump -i net1 -w /tmp/tinet/ospf.pcapng -n "ip[9]==89" コマンド参考) https://scrapbox.io/files/65ec13e9444e510026fc7ea5.png
Hello packetを rt2/rt3 で送りあってることが分かる
静的ルートを再配布する(P158)
rt2 で静的ルーティングの設定(10.1.3.0/24)をした後、その静的ルートを OSPF に再配布した時(to rt3)のパケットキャプチャ(src) https://scrapbox.io/files/65ec34591c2dec0025c58c65.png
多分、黒いところが再配布のパケットだと思う
rt3 で、tcpdump -i net0 -w /tmp/tinet/ospf_redistribution.pcapng -n "ip[9]==89" を実行