10月7日(火)1、2コマ目

今日、やったこと

Linuxのネットワーク

  • NetworkManager
  • nmcliコマンド
  • ipコマンド

今日のホワイトボード

実習環境

Docker上に2つのLinuxコンテナが動いている。2つのコンテナのシェルが操作できる状態。

図 実習環境

NetworkManager、デバイス、コネクション

デバイスはPCが有線、無線を問わず、ネットワークに接続するための部品。
コネクションは設定。
NetworkManagerは
  • デバイスにコネクション(設定)を反映させる
  • コネクションを作成、変更、削除する
  • デバイスのオン、オフ切り替え
などを行うLinuxのプログラム(アプリケーション)。
図 デバイス、コネクション、NetworkManager

デバイスを確認

nmcliコマンドで確認できる。
図 デバイスの確認

コネクションの新規作成

nmcliコマンドでコネクション(=設定)を作成。
図 コネクションの新規作成
設定項目のうち、ipv.methodには、
  • manual
  • auto
が設定できる。
図 ipv4.method

コネクション新規作成からデバイスへ反映まで

コネクションを作成してもデバイスには反映されない。
コネクション作成からデバイスへの反映の流れを確認。

①コネクション作成

nmcliコマンドでコネクション新規作成。
図 コネクション作成
コネクションを作成すると、設定ファイルができる。

設定ファイルは
 /etc/sysconfig/network-scripts/
以下に、ファイル名
 ifcf-コネクション名
で保存される。
図 設定ファイル
設定内容はnmcliコマンドで確認できる。
図 nmcliコマンドでコネクションの詳細確認
コネクション設定内容は、項目名がipv4.で始まる。
項目名がIP4.で始まる項目は現在、デバイスに設定されている値。
図 nmcli c showの出力内容

コネクションを作成しただけでは、デバイスには反映されていないことがわかる。

nmcliコマンドで、コネクション一覧を確認しても、デバイスには反映されないことがわかる。
図 コネクション一覧表示
"DEVICE"列が"--"になっていることから、作成したコネクションcon-eth0が紐づくでばいすがないことがわかる。

②コネクション有効化

nmcliコマンドにupオプションでコネクションを有効化。
図 コネクション有効化

図 コネクション有効化

コネクションがデバイスに紐づいているか確認。
図 コネクションが紐づくデバイスを確認
コネクションの詳細確認で、項目名IP4.で始まる項目が表示される。
項目名IP4.で始まる項目はデバイスに設定されている値。
図 コネクションの詳細
コネクションの内容がデバイスに反映されていることがわかる。

ipコマンドでIPアドレス等を確認

現在、デバイスに設定されているIPアドレスはipコマンドでも確認できる。
図 ipコマンドでIPアドレスを確認

ipコマンドでIPアドレスを変更

ipコマンドはIPアドレスの確認だけでなく、デバイスに設定されているIPアドレスを変更することもできる。
ただ、IPアドレスの変更は、
 ①デバイスに新IPアドレスを追加
 ②デバイスから旧IPアドレスを削除
の2ステップになる。
図 ipコマンドでIPアドレスを変更

①デバイスeth0に新IPアドレスを追加

まず、ipコマンドで新IPアドレスを追加。
追加後、デバイスeth0には2つのIPアドレスが付与されている。
図 ipコマンドでIPアドレスを追加

nmcliコマンドでコネクションを確認。
図 nmcliコマンドでコネクション確認
項目名ipv4.で始まる設定ファイルの値は変更なし。
項目名IP4.で始まるデバイス設定値は2つのIPアドレスが設定されていることがわかる。

当然、設定ファイルは変更なし。
図 設定ファイル

②デバイスeth0から旧IPアドレスを削除

ipコマンドで旧IPアドレスを削除。
図 旧IPアドレスを削除

nmcliコマンドで確認すると、
  • 設定ファイルの値(項目名ipv4.)は変更なし
  • デバイス設定値(項目名IP4.)は変更
がわかる。
図 nmcliコマンドで確認

ルーティングテーブル確認

ipコマンドのrouteオプションでルーティングテーブルが確認できる。
図 ルーティングテーブル確認

2台のLinuxコンテナと172.16.8.11の関係

下図のように、2台のLinuxコンテナは同一ネットワーク内。=>直接送信
172.16.8.11は異ネットワーク。=>ゲートウェイ経由
図 2台のコンテナと172.16.8.11

pingコマンド

ネットワークが繋がっているか確認(=導通確認)には、Windows、Linuxともにpingコマンドを使う。
図 導通確認=pingコマンド

ルーティングテーブルを変更してみる

ルーティングテーブルからデフォルトゲートウェイを削除してみる。

①ルーティングテーブルからデフォルトゲートウェイを削除

図 デフォルトゲートウェイを削除

②導通確認

同一ネットワーク宛は送信可能。
異ネットワーク宛は”Network is unreachable”(=到達不可能)になる。
図 導通確認すると

③デフォルトゲートウェイ復活

ipコマンドでデフォルトゲートウェイを追加。
図 デフォルトゲートウェイを追加

④導通確認

異ネットワーク宛も通信できるようになる。
図 導通確認

ipコマンドでルーティングテーブルを変更すると

IPアドレスの場合と同じように、
  • デバイスには即反映
  • 設定ファイルは変更されない
となる。

①コネクション作成、有効化

項目名ipv.gatewayでデフォルトゲートウェイを設定。
図 コネクション追加、有効化

nmcliコマンドで作成したコネクションの詳細確認。
項目名”ipv4.gateway”が設定ファイルでのデフォルトゲートウェイ。
項目名”IP4.GATEWAY”がデバイスに反映されているデフォルトゲートウェイ。
図 コネクション詳細確認

②デフォルトゲートウェイ削除

ipコマンドでルーティングテーブルからデフォルトゲートウェイを削除。
図 ipコマンドでデフォルトゲートウェイ削除

削除後、nmcliコマンドで詳細確認をすると、
  • 項目名”ipv4.gateway”(=設定ファイル上の設定値)は変更なし
  • 項目名”IP4.GATEWAY”(=デバイス設定値)は変更されている
が確認できる。
図 コネクション詳細確認

nmcliコマンドと設定

詳細確認(=showオプション)の結果のうち、
項目名が”ipv4.”で始まる項目は設定ファイル上の値。
項目名が”IP4.”で始まる項目はデバイス設定値。

設定ファイルを変更しても、即デバイスには反映されない。
コネクションの無効化(=down)、有効化(=up)を行う必要がある。

次回は

ネットワーク設定の演習をやってもらいます。






































 

このブログの人気の投稿

12月23日(火)1、2コマ目

1月6日(火)1、2コマ目

12月9日(火)1、2コマ目