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

今日、やったこと

[やってみよう]Linuxのネットワーク 解説

今日のホワイトボード 

[やってみよう]Linuxのネットワーク 解説

その1 デバイス一覧出力

デバイスはPCのネットワーク接続用ハードウェア。NIC(Network Interface Card)。
nmcliコマンドのdevice(dに省略可)オプションで出力される。
図 デバイス一覧出力
実行結果は以下のとおり。
図 nmcli device実行結果

その2 コネクション一覧出力

コネクションは設定。
nmcliコマンドにconnection(cに省略可)オプションで出力される。
図 コネクション一覧出力

実行結果は以下のとおり。
図 nmcli connection実行結果
このLinuxマシンの設定では、起動直後はネットワークの設定がなにもされていない。

その3 コネクション新規作成

コネクションを作成すると、
  • 設定ファイル(/etc/sysconfig/network-scripts/ifcfg-コネクション名)ができる
  • ハードウェアには反映されない
nmcliコマンドのaddオプションで、各項目を指定して追加。
図 コネクション新規作成

図 実行結果

その4 コネクションの詳細出力

nmcliコマンドのshowオプションで出力。
図 コネクション詳細出力
実行結果は以下のとおり。
図 nmcli connection show 実行結果(一部のみ)
大量に出力されるが、設定ファイル上のIPアドレスはipv4.address、ゲートウェイはipv4.gatewayで確認できる。

その5 ipコマンドでipアドレス、ゲートウェイ確認

nmcliコマンドとipコマンドは守備範囲が異なる。
 nmcliコマンド おもに設定ファイルの操作をするためのコマンド
 ipコマンド 稼働中のネットワークの設定を操作するためのコマンド

〇IPアドレスの確認
ipコマンドで稼働中のネットワークに設定されているIPアドレスの確認は、addr(aに省略可)オプションで出力される。
図 ipコマンドでIPアドレス確認
実行結果は以下のとおり。
有線のネットワークはデバイスeth0に接続されている。
図 ip addr実行結果

〇デフォルトゲートウェイの確認
デフォルトゲートウェイはルーティングテーブルで確認できる。
ipコマンドにroute(rに省略可)オプションで出力される。
図 デフォルトゲートウェイの確認
実行結果は以下のとおり。
図 ip route実行結果

その6 ipコマンドでIPアドレス設定

ipコマンドはIPアドレスの
  • 追加
  • 削除
はできるが、変更ができない
IPアドレスの変更は
 ①新IPアドレスをデバイスに追加
 ②旧IPアドレスをデバイスから削除
の2段階で行う。
図 ipコマンドでIPアドレスを変更
実行結果は以下のとおり。
①新IPアドレスを追加
図 新IPアドレスを追加
追加後、ipコマンドで確認すると、以下のとおり。
図 ip addrでIPアドレス確認
デバイスeth0に、IPアドレスが2つ設定されている。

②旧IPアドレスを削除
図 旧IPアドレスを削除

図 ip addrでIPアドレスを確認

その7 ipコマンドでIPアドレスを確認

その6の確認で実行した、ip addr で確認できる。

その8 nmcliコマンドでIPアドレスを確認

その4で実行した、nmcli connection show コネクション名 で確認。
図 コネクション詳細確認
項目名が
 小文字(ipv4.xxx等)は、設定ファイルでの設定値
 大文字(IP4.XXX等)は、ハードウェアの設定値
で出力される。

実行結果は以下のとおり。
図 nmcli connection実行結果
このコネクションはデバイスに紐づいていないため、項目名が大文字(IP4.XXX)は出力されない。

その9 設定ファイル確認

コネクションを作成すると、設定ファイルが /etc/sysconfig/network-scripts/ifcfg-コネクション名 に作成される。
図 /etc/sysconfig/network-scripts/ifcfg-con1
なお、コネクションを作成しても、ハードウェアには反映されない。
よって、 その6 でipコマンドで設定した172.17.0.200/24が適用されている。
図 コネクション作成後のIPアドレス確認

その10 コネクション変更

nmcliコマンドのmodオプションで変更。
図 コネクション変更

図 nmcli mod 実行結果

nmcliコマンドでコネクションを変更すると、
  • 設定ファイル(/etc/sysconfig/network-scripts/ifcfg-コネクション名)が変更される
  • ハードウェアには反映されない
となる。

その11 コネクション変更後の設定ファイル

nmcli modでコネクションを変更すると、設定ファイルが変更される。
図 コネクション変更後の設定ファイル

その12 コネクション変更後、nmcliコマンドで確認

nmcliコマンドでコネクションの詳細を確認すると、設定ファイル上の値を表す項目名”ipv4.xxx”の設定値も変更されていることが分かる。
図 nmcli connection show con1 実行結果

その13 コネクション切断、接続

〇コネクション切断
nmcli connection downコネクション名 を実行すると、デバイスに紐づくコネクションが切断される。

〇コネクション接続
nmcli connection up コネクション名 を実行すると、コネクションで指定するデバイスとコネクションが紐づく。
デバイスはコネクションで設定した値で稼働する。
図 コネクションの切断、接続

図 コネクション切断、接続 実行結果

その14 ipコマンドでルーティングテーブル確認

ルーティングテーブルの確認は、 ip route を実行。
図 ip route実行結果

ネットワークは以下のイメージ。
Linux1と同一のネットワークは 172.17.0.0/24。
これ以外の宛先は異ネットワークのため、デフォルトゲートウェイに送信している。
図 ネットワーク図

Linux1から172.16.8.11に行くには、デフォルトゲートウェイの172.17.0.1に送信する。

その15 ipコマンドでデフォルトゲートウェイ削除

ルーティングテーブルの変更なので、 ip route del を実行。
図 実行結果

上図では、以下を行っている。
①”ip route del”でデフォルトゲートウェイを削除
②”ip route”でルーティングテーブル確認
③”ping 172.16.8.11”で172.16.8.11へ導通確認
 結果の”Network is unreachable”より、パケットが172.16.8.11には到達できないことがわかる。

その16 ipコマンドでデフォルトゲートウェイ設定

ip route addでルーティングテーブルにルート情報を設定。
図 ルーティングテーブルにルート情報(デフォルトゲートウェイ)を追加

実行結果は以下のとおり。
図 実行結果

今度は異ネットワークに行くためのゲートウェイ(ルーティングテーブルのdefaultの行)があるため、172.16.8.11にパケットを送信できる。

その17 ipコマンドでIPアドレス設定

実行結果は以下のとおり。

①IPアドレス設定前
図 IPアドレス設定前

②新IPアドレス追加
追加後、確認すると、デバイスeth0には2つのIPアドレスが設定されていることがわかる。
図 新IPアドレス追加、確認

③旧IPアドレス削除
旧IPアドレスを削除すると、デバイスeth0には新IPアドレスだけが設定されている。
図 旧IPアドレス削除、確認

その18 ARPキャッシュ(ARPテーブル)確認

ARPキャッシュ(ARPテーブル)は、ARPが使うIPアドレスとMACアドレスの対応表
図 ARPキャッシュ(ARPテーブル)確認
実行結果は以下のとおり。
図 ip neigh実行結果

実行結果から172.17.0.1のMACアドレスが登録されていることがわかる。
その16で172.16.8.11にpingをした際に、ARPで調べた結果が登録されていると思われる。

その19 ARPキャッシュ(ARPテーブル)削除

ARPキャッシュに登録されているデータは一定時間アクセスがなければ削除される。
また、ipコマンドでも削除できる。
図 ARPテーブル削除


図 ip neigh flush実行

その20 172.16.8.11へping実行

172.16.8.11へパケットを送信するには、デフォルトゲートウェイに送信する。
そこで、デフォルトゲートウェイ172.17.0.1のMACアドレスが必要になる。
その19でARPキャッシュから172.17.0.1のデータが削除されたため、ARPに従ってMACアドレスを調べ、その結果をARPキャッシュに登録する。
図 172.16.8.11へping実行、そのあとのARPキャッシュ確認

次回は

その21以降の解説。
なお、現時点では以下のようになっている。
コネクションcon1。

その10でコネクションcon1をパターン2に変更し、その13で有効化。

IPアドレス/サブネットマスク 172.17.0.200/24
デフォルトゲートウェイ 172.17.0.1
アクティブ? アクティブ

稼働中のデバイスeth0のIPアドレス等。

その17でipコマンドで以下に変更。

IPアドレス/サブネットマスク 172.17.0.50/24
デフォルトゲートウェイ 172.17.0.1

よって、次回スタート時には
 ①nmcliコマンドで パターン2 でコネクション作成
 ②コネクションを有効化
 ③ipコマンドでIPアドレスを パターン1 に変更
を行う。

このブログの人気の投稿

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

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

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