RHEL/CentOSでNetworkManagerを使用して静的IPアドレスを設定する
ネットワーキングは、あらゆるサーバー管理タスクの基本的な側面です。Red Hat Enterprise Linux (RHEL) やCentOSなどのエンタープライズLinuxディストリビューションでは、NetworkManagerが動的かつ包括的なネットワーク設定および管理サービスとして機能します。DHCP(Dynamic Host Configuration Protocol)は動的IP割り当てに便利ですが、多くのサーバー環境では、予測可能性、信頼性、およびDNS、Webサーバー、データベースなどの固定アドレスに依存するサービスのために、静的IPアドレスが必要です。
この記事では、nmcli(NetworkManagerコマンドラインインターフェース)ユーティリティを使用して、RHELおよびCentOSシステムで永続的な静的IPアドレスを設定する手順を段階的に説明します。nmcliを習得することは、設定ファイルを直接編集することなく、システムのネットワーク設定に対して強力で柔軟な制御を提供するため、あらゆるLinuxシステム管理者にとって不可欠なスキルです。
NetworkManagerとnmcliの理解
設定手順に進む前に、使用するコアコンポーネントについて明確にしましょう。
NetworkManagerとは?
NetworkManagerは、ネットワーク設定を処理するデーモンであり、ネットワーク接続の管理を容易にします。イーサネット、Wi-Fi、モバイルブロードバンド、VPNなど、さまざまな接続タイプを管理できます。ネットワークデバイスを自動的に検出し設定し、必要に応じて利用可能な接続を切り替えながら、アクティブなネットワーク接続を維持しようとします。サーバーの場合、ネットワークインターフェースが正しく設定され、再起動後も維持されることを保証します。
nmcliとは?
nmcliは、NetworkManagerのコマンドラインクライアントです。これにより、ターミナルからNetworkManagerを制御し、ネットワーク接続を設定できます。グラフィカルインターフェースが利用できないヘッドレスサーバー環境で特に役立ちます。nmcliコマンドは直感的であり、ネットワークデバイスの状態表示から複雑な接続プロファイルの作成および変更に至るまで、NetworkManagerの全範囲の機能と対話するための堅牢な方法を提供します。
前提条件
このガイドに従うには、以下が揃っていることを確認してください。
- ルート権限: ネットワーク設定を変更するには、
sudoアクセス権限が必要、またはrootユーザーとしてログインしている必要があります。 - システム情報: 使用する予定の静的IPアドレス、サブネットマスク(またはCIDR表記)、デフォルトゲートウェイ、およびDNSサーバーIPアドレス。
- 識別されたネットワークインターフェース: 設定したいネットワークインターフェースの名前(例:
enp0s3、eth0)の知識。これを見つける方法を説明します。
静的IPアドレスのステップバイステップ設定
nmcliを使用して静的IPアドレスを設定する方法は次のとおりです。
ステップ 1: ネットワークインターフェースの識別
まず、設定したいネットワークインターフェースの名前を知る必要があります。nmcli deviceまたはnmcli device statusを使用して、すべてのアクティブなネットワークデバイスとそのステータスを一覧表示できます。
nmcli device status
出力例:
DEVICE TYPE STATE CONNECTION
enp0s3 ethernet connected System enp0s3
lo loopback unmanaged --
この例では、enp0s3がイーサネットインターフェースです。インターフェース名をメモしてください。
ステップ 2: 新しいネットワーク接続プロファイルの作成
特に簡単に元に戻したい場合に備えて、DHCPで管理されている既存のプロファイルを直接変更するのではなく、静的IP設定用の新しい接続プロファイルを作成することが一般的に良い習慣です。接続プロファイルには、特定のネットワーク接続のすべての設定が保存されます。
新しいイーサネット接続プロファイルを作成するには、nmcli connection addコマンドを使用します。接続タイプ、説明的な接続名(con-name)、およびインターフェース名(ifname)を指定します。
sudo nmcli connection add type ethernet con-name my-static-eth ifname enp0s3
type ethernet: イーサネット接続を指定します。con-name my-static-eth: この新しい接続プロファイルに名前を割り当てます。説明的な名前を選択してください。ifname enp0s3: この接続プロファイルを物理ネットワークインターフェースenp0s3にリンクします。
代替案: 既存プロファイルの変更
既存の接続(例: nmcli device statusの出力にあるSystem enp0s3)を変更したい場合は、既存のcon-nameを使用してnmcli connection modifyを使用します。
sudo nmcli connection modify "System enp0s3" # 接続名に置き換えてください
注意: 簡単にするために、このガイドではmy-static-ethという名前の新しい接続プロファイルを作成したと想定します。
ステップ 3: IPv4設定(IP、ゲートウェイ、DNS)の設定
次に、my-static-eth接続プロファイルの静的IPアドレス、ゲートウェイ、およびDNSサーバーを設定します。DHCPを無効にするために、IPv4メソッドをmanualに設定することが重要です。
IPアドレスとゲートウェイの設定
ipv4.addressesおよびipv4.gatewayプロパティを使用します。IPアドレスはCIDR表記(例: 192.168.1.100/24)である必要があります。
sudo nmcli connection modify my-static-eth ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1
ipv4.addresses 192.168.1.100/24: 静的IPアドレスを192.168.1.100に、24ビットのサブネットマスク(255.255.255.0)に設定します。ipv4.gateway 192.168.1.1: ネットワークのデフォルトゲートウェイを設定します。
DNSサーバーの設定
1つまたは複数のDNSサーバーIPアドレスを指定します。複数のアドレスはコンマで区切ります。
```bash
sudo nmcli connection modify my-static-eth ipv4.dns "