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 実行結果(一部のみ) |
その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 addrでIPアドレス確認 |
その6の確認で実行した、ip addr で確認できる。
その8 nmcliコマンドでIPアドレスを確認
その4で実行した、nmcli connection show コネクション名 で確認。
|
| 図 コネクション詳細確認 |
小文字(ipv4.xxx等)は、設定ファイルでの設定値
大文字(IP4.XXX等)は、ハードウェアの設定値
で出力される。
コネクションを作成すると、設定ファイルが /etc/sysconfig/network-scripts/ifcfg-コネクション名 に作成される。
|
| 図 /etc/sysconfig/network-scripts/ifcfg-con1 |
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アドレス追加
旧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 に変更
を行う。






































