ip addr addとip route addの違い
AWSやKubernetesから学習を始めると、ネットワークの設定って意外と雰囲気でできてしまうことが多いですよね。でも、「そもそも通常のネットワーク設定ってどうやるんだろう?」と疑問に思うことも増えてきたので、まとめていきたいと思います。
Linuxのネットワーク設定でよく使われる「ip addr add」と「ip route add」コマンド。どちらもネットワークの構成に役立つ重要なコマンドですが、それぞれの役割は異なります。ここでは、「本社や支社の場所を増やすこと」と「本社から支社までの道順を設定すること」を例えにして、この2つのコマンドの違いをわかりやすく説明します。
ip addr addとは?
`ip addr add`は、コンピュータの外部との接続に「新しい場所」を追加するコマンドです。
例え話:東京に支社を新たに構える
イメージとしては、東京にある本社の会社が、大阪にも支社を構えることに近いです。たとえば、会社が「東京オフィス(IP番号:192.168.1.10)だけでなく、大阪オフィス(IP番号:192.168.1.11)からもやり取りができるようにする」と設定するようなものです。
新しい支社を構えることで、外部から「大阪オフィス宛て」にも荷物や連絡が届くようになり、会社の別の拠点からもやり取りができるようになります。ネットワークでも同様で、`ip addr add`を使って、コンピュータに「新しい場所(IP番号)」を追加することで、外部からその番号宛ての通信を受け入れる準備が整います。
実際のコマンド例
次のコマンドは、東京の本社(eth0)に新たな大阪の支社(IP番号192.168.1.11)を追加します。
ip addr add 192.168.1.11/24 dev eth0
このコマンドにより、東京オフィス(eth0)が新しい大阪オフィス(IP番号192.168.1.11)としての役割も担い、異なる場所からアクセスが可能になります。
dev eth0の部分は、「やり取りに使う窓口」を指定しています。外部の人が来たときに、どの応接室のどの窓口で対応するか、つまり「どの場所で外部とやり取りできるようにするか」を決めているわけです。
「dev」はデバイス(装置)を意味し、「この窓口をどの場所に設定するか」を指定しています。「eth0」は、その場所を指す名前で、たとえば「大阪支社の応接室の部屋番号1」といった具体的な応接室です。この部屋番号1の応接室に窓口を設け、外部の人とやり取りができるようにします。
つまり、dev eth0で「大阪支社の応接室1にこの窓口を設置して、外部とやり取りしよう」という指定をしているというイメージになります。
ip route addとは?
`ip route add`は、東京の本社から大阪の支社への「道順」を設定するコマンドです。
例え話:東京本社から大阪支社への道順を設定する
これを「道順の設定」に例えるとわかりやすいでしょう。たとえば、「東京本社から大阪支社(192.168.1.0の範囲)に行くには、まず名古屋の中継地点(192.168.2.1)を経由して進む」と道順を決めるイメージです。
この道順を設定することで、東京本社からの荷物や連絡が正しいルートを通り、大阪支社にスムーズに届くようになります。ネットワークにおいても、`ip route add`を使って特定の場所への経路を設定し、その場所にアクセスする際に通るべき中継地点(ゲートウェイ)を指定できます。
実際のコマンド例
次のコマンドは、192.168.1.0/24の範囲(大阪支社)にアクセスするために、まず192.168.2.1(名古屋の中継地点)を経由する道順を設定します。
ip route add 192.168.1.0/24 via 192.168.2.1
これにより、東京本社から大阪支社へ向かう通信は、名古屋を通過するルートでスムーズに到達できるようになります。
ip addr addとip route addの違いを整理
ip addr add
「新しい場所を追加」するように、外部とやり取りするための新しい接続先を増やし、別の場所からもやり取りできるようにします。ip route add
「東京から大阪までの道順を設定」するように、目的地に行くためのルートを決め、通信が正しい経路を通るようにします。
まとめ
`ip addr add`と`ip route add`は、どちらもネットワークの設定に不可欠なコマンドです。`ip addr add`は外部との接続に新しい「場所」を追加し、`ip route add`はその場所から目的地への「道順」を設定します。
東京本社と大阪支社の場所を追加する`ip addr add`と、そこから目的地までの道順を設定する`ip route add`。ネットワークの中でそれぞれの役割を理解することで、効率的な通信経路の管理ができるようになります。