はじめに
コンピュータネットワーキングにおいて、IP (Internet Protocol) アドレスは、コンピュータネットワークに接続された各デバイスに割り当てられる数値ラベルです。このアドレスは、ホストまたはネットワークインターフェイスの識別と、ロケーションアドレッシングという 2 つの主要な機能に使用されます。
IP アドレスが割り当てられる主な方法は 2 つあります。
- DHCP (Dynamic Host Configuration Protocol): ネットワーク上のサーバーによって IP アドレスが自動的に割り当てられます。これはクライアントデバイスにとって最も一般的な方法です。
- 静的 IP (Static IP): IP アドレスが手動で設定され、変更されません。これは、一貫したアドレスが必要なサーバー、プリンター、その他のデバイスによく使用されます。
最新の Ubuntu システムでは、ネットワーク設定は netplan と呼ばれるユーティリティによって管理されます。netplan は、ネットワークインターフェイスを記述するためにシンプルな YAML ファイルを使用します。
この実験 (Lab) では、動的 (DHCP) IP アドレスから静的 IP アドレスに切り替える方法、そしてその変更を元に戻す方法を学びます。これは、あらゆる Linux システム管理者に不可欠なスキルです。
現在のネットワーク構成の確認
実際のシナリオでは、リモートサーバーのプライマリ IP アドレスを変更すると、アクセスできなくなる可能性があります。これを避けるため、既存の DHCP 割り当て IP アドレスを静的 IP アドレスに変換することが一般的な手順です。このステップでは、仮想マシン (VM) の現在のネットワーク設定を確認します。
まず、ip コマンドを使用して eth0 インターフェイスのネットワーク設定を表示します。
ip addr show eth0
以下のような出力が表示されます。現在の IPv4 アドレスとサブネットプレフィックス(/ の後の数値)が含まれている inet 行に注目してください。
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:16:3e:0d:25:f1 brd ff:ff:ff:ff:ff:ff
altname enp0s5
altname ens5
inet 172.16.50.173/24 metric 100 brd 172.16.50.255 scope global dynamic eth0
valid_lft 1892159962sec preferred_lft 1892159962sec
inet6 fe80::216:3eff:fe0d:25f1/64 scope link
valid_lft forever preferred_lft forever
次に、デフォルトゲートウェイを見つけます。これは、VM が他のネットワークと通信するために使用するルーターです。
ip route show
default via で始まる行がゲートウェイアドレスを示しています。
default via 172.16.50.253 dev eth0 proto dhcp src 172.16.50.173 metric 100
172.16.50.0/24 dev eth0 proto kernel scope link src 172.16.50.173 metric 100
上記の出力から、IP アドレスは 172.16.50.173、プレフィックスは 24、ゲートウェイは 172.16.50.253 であることがわかります。ご自身の値は異なる場合があるため、次のステップでは必ずご自身のターミナル出力から取得した値を使用してください。
静的 IP アドレスの設定
次に、ネットワーク設定ファイルを編集して、静的 IP アドレスを割り当てます。これには、DHCP を無効にし、直前のステップで見つけた値を使用して、IP アドレス、ゲートウェイ、および DNS サーバーを手動で指定することが含まれます。
まず、nano を使用して設定ファイルを開きます。
sudo nano /etc/netplan/01-netcfg.yaml
次に、現在確認した IP、プレフィックス、ゲートウェイを静的な値として使用するようにファイルを変更します。YAML ファイルはインデントに非常に敏感であるため、タブではなくスペースを使用し、表示されているインデントレベルと完全に一致するように注意してください。
プレースホルダー YOUR_IP/PREFIX および YOUR_GATEWAY を、前のステップで見つけた実際の値に置き換えてください。
## This is the network config written by 'subiquity'
network:
ethernets:
eth0:
dhcp4: false
addresses:
- YOUR_IP/PREFIX
routes:
- to: default
via: YOUR_GATEWAY
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
version: 2
例えば、IP が 172.16.50.173/24、ゲートウェイが 172.16.50.253 だった場合、ファイルは次のようになります。
## This is the network config written by 'subiquity'
network:
ethernets:
eth0:
dhcp4: false
addresses:
- 172.16.50.173/24
routes:
- to: default
via: 172.16.50.253
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
version: 2
設定の詳細は以下の通りです。
dhcp4: false: これにより、IPv4 の自動 DHCP クライアントが無効になります。addresses: これにより、静的 IP アドレスとサブネットが設定されます。routes: このセクションでデフォルトゲートウェイが定義されます。nameservers: これにより DNS サーバーが設定されます。ここでは、Google のパブリック DNS サーバーを使用しています。
変更を加えた後、Ctrl+O を押してファイルを保存し、ファイル名を確認するために Enter キーを押します。最後に、Ctrl+X を押して nano を終了します。
netplan apply コマンドによる変更の適用
このステップでは、新しいネットワーク設定を適用します。設定ファイルを保存するだけでは不十分であり、netplan に対して新しい設定を読み込ませ、システムに適用するように指示する必要があります。
これは netplan apply コマンドで実行されます。このコマンドは /etc/netplan/ 内のすべての .yaml ファイルを解析し、システムが理解できる形式に変換して、変更を有効にします。
このコマンドはシステムのネットワーク状態を変更するため、sudo 権限が必要です。
ターミナルで次のコマンドを実行します。
sudo netplan apply
注記: このコマンドを実行した後、LabEx VM への接続が一時的に切断され、その後自動的に再接続される場合があります。自動的に再接続されない場合は、ブラウザページを更新してください。
コマンドが成功し、YAML 構文が正しい場合、出力なしで実行されます。エラーが表示された場合は、おそらく 01-netcfg.yaml ファイル内のインデントまたは構文の間違いが原因です。その場合は、ファイルを再度開き、前のステップの例と照らし合わせて変更を注意深く確認してください。
静的 IP 設定の検証
このステップでは、静的 IP アドレスが正常に適用されたことを確認します。VM がすでに持っていた IP アドレスと同じものを使用したため、接続が中断されていないはずです。
Linux システムで現在の IP アドレスを確認する最良の方法は、ip コマンドを使用することです。eth0 インターフェースに対して再度 ip addr show コマンドを実行します。
ip addr show eth0
ステップ 1 で見た出力とほぼ同じ内容が表示されるはずです。IPv4 アドレスを示す inet 行を探してください。dynamic や metric のようなキーワードがなくなり、valid_lft が forever に設定されていることに注目してください。
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:16:3e:0d:25:f1 brd ff:ff:ff:ff:ff:ff
altname enp0s5
altname ens5
inet 172.16.50.173/24 brd 172.16.50.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::216:3eff:fe0d:25f1/64 scope link
valid_lft forever preferred_lft forever
重要な違いは、IP アドレスが DHCP サーバーからリースされるのではなく、netplan によって静的に設定されたことです。これにより、静的 IP 設定が成功したことが確認できます。
DHCP への復元
この最終ステップでは、ネットワーク設定を DHCP を使用するように戻します。これは、静的 IP が不要になった場合や、ネットワークにアドレスを自動的に管理させたい場合に便利です。手順は以前に行ったことの逆になります。
まず、nano を使用して設定ファイルを再度開きます。
sudo nano /etc/netplan/01-netcfg.yaml
次に、静的設定の行を削除し、dhcp4 を再び true に設定します。ファイル全体は、シンプルで元のバージョンと同じになるはずです。
## This is the network config written by 'subiquity'
network:
ethernets:
eth0:
dhcp4: true
version: 2
ファイルを保存し (Ctrl+O、Enter)、nano を終了します (Ctrl+X)。
次に、以前に行ったのと同じように変更を適用します。
sudo netplan apply
注記: このコマンドを実行した後、LabEx VM への接続が一時的に切断され、その後自動的に再接続される場合があります。自動的に再接続されない場合は、ブラウザページを更新してください。
最後に、システムが DHCP によって割り当てられた IP アドレスを使用していることを確認します。再度 ip addr show eth0 コマンドを実行します。
ip addr show eth0
出力には、以前と同じ inet アドレスが表示されますが、今回はネットワークの DHCP サーバーによって自動的に割り当てられたものであり、dynamic キーワードと特定のリース時間 (valid_lft) が復活していることで示されます。これにより、DHCP への切り替えが成功したことが確認できます。
まとめ
この実験 (Lab) の完了、おめでとうございます!モダンな Ubuntu システムでネットワーク設定を正常に構成できました。
この実験 (Lab) では、以下の方法を学びました。
/etc/netplan/内のnetplan設定ファイルの場所を見つける方法。sudoと共にnanoエディタを使用してシステム設定ファイルを編集する方法。- 静的 IP アドレスを設定する場合と DHCP を使用する場合の基本的な YAML 構文を理解する方法。
sudo netplan applyコマンドを使用して新しいネットワーク設定を適用する方法。ip addr showコマンドを使用してネットワークインターフェースの現在の IP アドレスを確認する方法。
これらは、任意の Linux サーバーやデスクトップを管理するために不可欠なスキルであり、システムがネットワーク上でどのように識別されるかを制御できるようになります。



