【Network】Internetの疑似構成を作ってみる ~ルーターの活用(その②:仕上げ)~

スポンサーリンク
tech系(Linux)
スポンサーリンク

はじめに、

インターネットの仕組みをラズベリーパイ内で疑似的に作って理解してみよう後編です。

前編(前回の記事)は以下です。

https://apao-m-appare99999.com/?p=483

前回は以下の構成まで構築しました。

ルータ間の設定

まだroute1とroute2の疎通が完了していないのでnamespace1からnamespace2までの疎通ができません。

ルータにルーティングエントリを追加しパケットの経路設定をします。

次のコマンドを実行します。

$ sudo ip netns exec router1 ip route add 201.0.10.0/24 via 199.0.10.2
$ sudo ip netns exec router2 ip route add 192.0.5.0/24 via 199.0.10.1

試しにrouter1のルーティングテーブルの設定を確認してみます。

$ sudo ip netns exec router1 ip route show
192.0.5.0/24 dev gateway1-veth0 proto kernel scope link src 192.0.5.254
199.0.10.0/24 dev gateway1-veth1 proto kernel scope link src 199.0.10.1
201.0.10.0/24 via 199.0.10.2 dev gateway1-veth1

3つめのルーティングエントリが今回追加したものになります。

宛先が201.0.10.0/24(①)でNextHopが199.0.10.2(②)ですね。「199.0.10.2 dev gateway1-veth1」という事は199.0.10.2とgateway1-veth1が直接つながっているという事(③)。(数字は以下の画像と対応)

読み方が分からない場合は前回の記事で確認してねー( ´∀` )

https://apao-m-appare99999.com/?p=483

以下のようなことです。

数字は上記の文と対応。

router2の設定も同様です。

で最終的に以下のような構成ができてます。

確認

では確認してみます。namespace1からnamespace2へpingを打ってみます。通りました!

$ sudo ip netns exec namespace1 ping -c 3 201.0.10.1 -I 192.0.5.1
PING 201.0.10.1 (201.0.10.1) from 192.0.5.1 : 56(84) bytes of data.
64 bytes from 201.0.10.1: icmp_seq=1 ttl=62 time=0.249 ms
64 bytes from 201.0.10.1: icmp_seq=2 ttl=62 time=0.191 ms
64 bytes from 201.0.10.1: icmp_seq=3 ttl=62 time=0.178 ms

--- 201.0.10.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 115ms
rtt min/avg/max/mdev = 0.178/0.206/0.249/0.030 ms

まとめ

はい、という事で2つのルータを介して2つのNetwork Namespace間で疎通ができました。

実際のインターネットは送る点と届く点の間に2つだけでなく、もっと多くのルータを介しています。しかしルータの原理は今回見たものが連なっているだけなので、数が多いから複雑に感じますが、実際は単純な作業をしているだけなのです。

個人的には実際に手を動かし、図を書きながら進められたので非常に勉強になりました。

ということで今回はここまで、以上、読んでいただきありがとうございました!

参考文献「Linuxで動かしながら学ぶTCP/IPネットワーク入門」

Kindle for PC (Windows) [ダウンロード]

新品価格
¥0から
(2021/1/22 21:32時点)

タイトルとURLをコピーしました