10月7日(火)1、2コマ目
今日、やったこと
Linuxのネットワーク
- NetworkManager
- nmcliコマンド
- ipコマンド
今日のホワイトボード
実習環境
Docker上に2つのLinuxコンテナが動いている。2つのコンテナのシェルが操作できる状態。
![]() |
| 図 実習環境 |
NetworkManager、デバイス、コネクション
デバイスはPCが有線、無線を問わず、ネットワークに接続するための部品。
コネクションは設定。
NetworkManagerは
- デバイスにコネクション(設定)を反映させる
- コネクションを作成、変更、削除する
- デバイスのオン、オフ切り替え
などを行うLinuxのプログラム(アプリケーション)。
![]() |
| 図 デバイス、コネクション、NetworkManager |
デバイスを確認
nmcliコマンドで確認できる。
![]() |
| 図 デバイスの確認 |
コネクションの新規作成
nmcliコマンドでコネクション(=設定)を作成。
![]() |
| 図 コネクションの新規作成 |
- manual
- auto
が設定できる。
![]() |
| 図 ipv4.method |
コネクション新規作成からデバイスへ反映まで
コネクションを作成してもデバイスには反映されない。
コネクション作成からデバイスへの反映の流れを確認。
①コネクション作成
nmcliコマンドでコネクション新規作成。
![]() |
| 図 コネクション作成 |
設定ファイルは
/etc/sysconfig/network-scripts/
以下に、ファイル名
ifcf-コネクション名
で保存される。
![]() |
| 図 設定ファイル |
設定内容はnmcliコマンドで確認できる。
![]() |
| 図 nmcliコマンドでコネクションの詳細確認 |
項目名がIP4.で始まる項目は現在、デバイスに設定されている値。
![]() |
| 図 nmcli c showの出力内容 |
コネクションを作成しただけでは、デバイスには反映されていないことがわかる。
"DEVICE"列が"--"になっていることから、作成したコネクションcon-eth0が紐づくでばいすがないことがわかる。
コネクションがデバイスに紐づいているか確認。
nmcliコマンドで、コネクション一覧を確認しても、デバイスには反映されないことがわかる。
![]() |
| 図 コネクション一覧表示 |
②コネクション有効化
nmcliコマンドにupオプションでコネクションを有効化。
![]() |
| 図 コネクション有効化 |
| 図 コネクション有効化 |
![]() |
| 図 コネクションが紐づくデバイスを確認 |
項目名IP4.で始まる項目はデバイスに設定されている値。
![]() |
| 図 コネクションの詳細 |
コネクションの内容がデバイスに反映されていることがわかる。
ipコマンドはIPアドレスの確認だけでなく、デバイスに設定されているIPアドレスを変更することもできる。
ただ、IPアドレスの変更は、
①デバイスに新IPアドレスを追加
②デバイスから旧IPアドレスを削除
の2ステップになる。
![]() |
| 図 ipコマンドでIPアドレスを変更 |
①デバイスeth0に新IPアドレスを追加
まず、ipコマンドで新IPアドレスを追加。
nmcliコマンドでコネクションを確認。
![]() |
| 図 nmcliコマンドでコネクション確認 |
項目名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アドレスの場合と同じように、
- デバイスには即反映
- 設定ファイルは変更されない
項目名”ipv4.gateway”が設定ファイルでのデフォルトゲートウェイ。
項目名”IP4.GATEWAY”がデバイスに反映されているデフォルトゲートウェイ。
![]() |
| 図 コネクション詳細確認 |
②デフォルトゲートウェイ削除
ipコマンドでルーティングテーブルからデフォルトゲートウェイを削除。
![]() |
| 図 ipコマンドでデフォルトゲートウェイ削除 |
削除後、nmcliコマンドで詳細確認をすると、
- 項目名”ipv4.gateway”(=設定ファイル上の設定値)は変更なし
- 項目名”IP4.GATEWAY”(=デバイス設定値)は変更されている
が確認できる。
![]() |
| 図 コネクション詳細確認 |
nmcliコマンドと設定
詳細確認(=showオプション)の結果のうち、
項目名が”ipv4.”で始まる項目は設定ファイル上の値。
項目名が”IP4.”で始まる項目はデバイス設定値。
設定ファイルを変更しても、即デバイスには反映されない。
コネクションの無効化(=down)、有効化(=up)を行う必要がある。
次回は
ネットワーク設定の演習をやってもらいます。






























