【5日目】TCP/IPネットワーク入門(第3章ルータありネットワーク編)

皆さん,こんにちは.bb_lotusです. さて,今回はTCP/IPネットワークに関しての5日目のアウトプットになります.

すぐアウトプットだけ見たい人はこちらから

(ネットワーク初学者のため,記載内容等間違いがありましたらどしどしコメント,指摘等していただければと思います.)

使用する教材はこちらです.

 

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

 

Linuxで動かしながら学ぶTCP/IPネットワーク入門 | もみじあめ |本 | 通販 | Amazon

www.amazon.co.jp

 

--------------↓ここからアウトプット--------------

さてさて,今回も第3章の続きになります.

前回まではルータがないネットワークを組んでいましたが,今回はルータがある場合のネットワークを組んでいこうと思います.

 

今回組むネットワークは以下になります.

(眠気と闘っていました..字汚いです..ごめんなさい.)

f:id:bb_lotus:20220408020157j:plain

f:id:bb_lotus:20220408020156j:plain

 

ネットワークを組むときは以下のことをやるんでしたね.

 

その1. Network Namespaceの作成

その2. ネットワークインターフェースを作成し,つなげる.

その3. 2をNetwork Namespaceで使えるようにする.

その4. お互いが通信できるようにインターフェースにIPアドレスを付与する.

その5. ネットワークインターフェースを有効にする.

その6. pingで疎通確認.

 

では捌いていくううう!!!

 

※補足

Network Namespaceを削除

$ sudo ip netns delete ns1

 

まとめて削除

$ sudo ip -all netns delete

 

 

その1. Network Namespaceの作成

$ sudo ip netns add ns1
$ sudo ip netns add router
$ sudo ip netns add ns2

 

その2. ネットワークインターフェースを作成し,つなげる.

$ sudo ip link add ns1-veth0 type veth peer name gw-veth0
$ sudo ip link add ns2-veth0 type veth peer name gw-veth1

 

その3. 2をNetwork Namespaceで使えるようにする.

$ sudo ip link set ns1-veth0 netns ns1
$ sudo ip link set gw-veth0 netns router
$ sudo ip link set gw-veth1 netns router
$ sudo ip link set ns2-veth0 netns ns2

 

その4. お互いが通信できるようにインターフェースにIPアドレスを付与する.

・ns1とrouter間

$ sudo ip netns exec ns1 ip address add 192.0.2.1/24 dev ns1-veth0 
$ sudo ip netns exec router ip address add 192.0.2.254/24 dev gw-veth0

 

・ns2とrouter間

$ sudo ip netns exec ns2 ip address add 198.51.100.1/24 dev ns2-veth0 
$ sudo ip netns exec router ip address add 198.51.100.254/24 dev gw-veth1

 

その5. ネットワークインターフェースを有効にする.

$ sudo ip netns exec ns1 ip link set ns1-veth0 up
$ sudo ip netns exec router ip link set gw-veth0 up
$ sudo ip netns exec router ip link set gw-veth1 up
$ sudo ip netns exec ns2 ip link set ns2-veth0 up

 

その6. pingで疎通確認

・ns1からrouter

$ sudo ip netns exec ns1 ping -c 3 192.0.2.254 -I 192.0.2.1
PING 192.0.2.254 (192.0.2.254) from 192.0.2.1 : 56(84) bytes of data.
64 bytes from 192.0.2.254: icmp_seq=1 ttl=64 time=0.047 ms
64 bytes from 192.0.2.254: icmp_seq=2 ttl=64 time=0.044 ms
64 bytes from 192.0.2.254: icmp_seq=3 ttl=64 time=0.055 ms

--- 192.0.2.254 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2056ms
rtt min/avg/max/mdev = 0.044/0.048/0.055/0.004 ms

 

・ns2からrouter

$ sudo ip netns exec ns2 ping -c 3 198.51.100.254 -I 198.51.100.1
PING 198.51.100.254 (198.51.100.254) from 198.51.100.1 : 56(84) bytes of data.
64 bytes from 198.51.100.254: icmp_seq=1 ttl=64 time=0.040 ms
64 bytes from 198.51.100.254: icmp_seq=2 ttl=64 time=0.073 ms
64 bytes from 198.51.100.254: icmp_seq=3 ttl=64 time=0.054 ms

--- 198.51.100.254 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2042ms
rtt min/avg/max/mdev = 0.040/0.055/0.073/0.013 ms

 

ひとまず,それぞれのNetwork Namespace(ns1,ns2)からrouterへの疎通確認は成功しました!

やることは増えるけれども,基本に忠実に行えばやっていることは変わっていません!

 

今回はここまで!

次回はルータを介した疎通確認の実装を行っていきたいと思います!

 

ではまた次回!!