CentOS ネットワーク設定 初心者ガイド:詳細解説
はじめに
サーバーOSとして広く利用されているCentOS(現在は後継のCentOS StreamおよびRHEL派生ディストリビューション)は、安定性と堅牢性に優れています。しかし、インストール直後の状態では、ネットワーク設定が適切に行われていないと、外部との通信やサービス提供ができません。ネットワーク設定は、サーバーを運用する上で最も基本的な、かつ重要なステップの一つです。
この記事は、CentOSのネットワーク設定について初めて学ぶ方を対象としています。ネットワークの基本的な概念から、GUIおよびCUI(コマンドラインインターフェース)を使った設定方法、さらにはトラブルシューティングまで、詳細かつ体系的に解説します。約5000語というボリュームで、一つ一つの項目を丁寧に掘り下げていきますので、この記事を読めば、CentOSのネットワーク設定に関する理解を深め、自信を持って作業を進められるようになるでしょう。
CentOSのバージョンによって、推奨されるツールや設定ファイルの場所が若干異なります。この記事では主に、CentOS 7以降で標準となったNetworkManagerを中心に解説しますが、従来のネットワークスクリプトについても触れ、幅広い環境に対応できるよう配慮します。
さあ、CentOSの世界でネットワークを自由に操るための旅を始めましょう。
ネットワークの基本概念
CentOSのネットワーク設定を理解するためには、いくつかの基本的なネットワーク用語を知っておく必要があります。ここでは、最低限押さえておきたい概念を説明します。
IPアドレス (IP Address)
IPアドレスは、インターネットやローカルネットワークに接続されたコンピューターやデバイスを識別するための番号です。「インターネット上の住所」のようなものと考えてください。IPアドレスには主にIPv4とIPv6の二つのバージョンがあります。
- IPv4 (Internet Protocol version 4): 32ビットで表現され、「xxx.xxx.xxx.xxx」のような形式で記述されます。各xxxは0から255までの数値です。例:
192.168.1.100。現在主流ですが、アドレス枯渇問題が深刻化しています。 - IPv6 (Internet Protocol version 6): 128ビットで表現され、より多くのアドレスを扱えます。例:
2001:0db8:85a3:0000:0000:8a2e:0370:7334。省略記法もあります。
サブネットマスク (Subnet Mask)
サブネットマスクは、IPアドレスのどの部分が「ネットワークアドレス」で、どの部分が「ホストアドレス」かを区別するために使用されます。ネットワークアドレスは、そのIPアドレスがどのネットワークに属しているかを示し、ホストアドレスはそのネットワーク内の特定のデバイスを識別します。
サブネットマスクはIPアドレスと同じ形式で表現され、ネットワークアドレス部分に対応するビットが1、ホストアドレス部分に対応するビットが0になります。例: IPv4のサブネットマスク 255.255.255.0 は、IPアドレスの最初の3オクテット(24ビット)がネットワークアドレス、最後の1オクテット(8ビット)がホストアドレスであることを示します。このネットワークは「/24」と表記されることもあります(CIDR表記)。
同じネットワークアドレスを持つデバイス同士は、特別なルーター(ゲートウェイ)を介さずに直接通信できます。異なるネットワークアドレスを持つデバイスと通信するには、必ずゲートウェイを経由する必要があります。
デフォルトゲートウェイ (Default Gateway)
デフォルトゲートウェイは、自分の所属するネットワーク(ローカルネットワーク)から、外部のネットワーク(インターネットなど)へ通信する際に、最初に出る「出口」となるルーターのIPアドレスです。例えば、家庭やオフィスのネットワークでは、インターネットに接続するためのルーターのIPアドレスがデフォルトゲートウェイになります。
デフォルトゲートウェイが正しく設定されていないと、ローカルネットワーク内の他のデバイスとは通信できても、インターネット上のWebサイトを見たり、外部のサーバーに接続したりすることができません。
DNSサーバー (DNS Server)
DNS(Domain Name System)サーバーは、人間にとって分かりやすい「ドメイン名」(例: www.google.com)と、コンピューターが通信に使う「IPアドレス」(例: 172.217.161.196)を相互に変換する役割を担います。
Webブラウザにドメイン名を入力すると、コンピューターはまず設定されたDNSサーバーに問い合わせ、そのドメイン名に対応するIPアドレスを取得します。その後、取得したIPアドレス宛に通信を行います。DNSサーバーが正しく設定されていないと、ドメイン名を使った通信(例: Webサイトの閲覧)ができなくなりますが、IPアドレスを直接指定した通信(例: ping 8.8.8.8)は可能な場合があります。
MACアドレス (Media Access Control Address)
MACアドレスは、ネットワークインターフェースカード(NIC)などのネットワークハードウェアごとに製造時に割り当てられる、世界で一意な物理的なアドレスです。通常「xx:xx:xx:xx:xx:xx」のような16進数12桁で表現されます。
IPアドレスが論理的な住所であるのに対し、MACアドレスは物理的な住所と言えます。ローカルネットワーク内での通信では、IPアドレスから対応するMACアドレスを解決(ARPという仕組み)して、宛先のハードウェアにデータを届けます。
ネットワークインターフェース(NIC)
ネットワークインターフェースカード(NIC)は、コンピューターをネットワークに接続するためのハードウェアです。イーサネットポートやWi-Fiアダプターなどがこれにあたります。CentOSでは、これらのインターフェースは通常 eth0, ens33, enp0s3, wlan0 などのデバイス名で認識されます(デバイス名はハードウェアやCentOSのバージョンによって異なります)。ネットワーク設定は、これらの特定のインターフェースに対して行われます。
DHCPと静的IP設定
IPアドレスなどのネットワーク設定情報を取得する方法として、主に二つがあります。
- DHCP (Dynamic Host Configuration Protocol): ネットワーク上のDHCPサーバーから、IPアドレス、サブネットマスク、デフォルトゲートウェイ、DNSサーバーアドレスなどの情報を自動的に割り当てる方式です。設定の手間が省けるため、多くのクライアント端末や、IPアドレスを固定する必要のないサーバーで利用されます。
- 静的IP設定 (Static IP Configuration): 管理者が手動でIPアドレス、サブネットマスク、デフォルトゲートウェイ、DNSサーバーなどの情報を設定する方式です。サーバーなど、常に同じIPアドレスでサービスを提供したい場合に利用されます。IPアドレスの競合を避けるために、手動で割り当てるIPアドレスはDHCPの配布範囲外にするなどの注意が必要です。
CentOSでのネットワーク管理ツール
CentOSでは、ネットワーク設定を行うためのツールがいくつか存在します。バージョンによって推奨度が異なりますが、主要なものとしてはNetworkManager、従来のネットワークスクリプト、そしてsystemdの一部であるsystemd-networkdがあります。
NetworkManagerについて
CentOS 7以降、特にGUI環境がデフォルトであるCentOS Desktopや、サーバー用途のCentOS Minimalでも標準的に使用されるようになったのがNetworkManagerです。NetworkManagerは、ネットワークの状態を動的に管理し、有線、無線、VPNなど、さまざまな種類の接続を容易に設定・管理できるように設計されています。
NetworkManagerには、いくつかのインターフェースが提供されています。
- GUIツール: GNOMEなどのデスクトップ環境で利用できる直感的なグラフィカルインターフェースです。
nmtui: テキストユーザーインターフェース(TUI)ツールです。CUI環境でもGUIライクな操作でネットワーク設定ができます。初心者にも扱いやすいツールです。nmcli: コマンドラインインターフェース(CLI)ツールです。スクリプトでの自動化や、詳細な設定、リモートからの操作など、高度な用途に適しています。CentOSでのネットワーク設定において、最も強力で柔軟なツールと言えます。
NetworkManagerは、ネットワーク接続の設定を「接続プロファイル」として保存・管理します。例えば、「自宅Wi-Fi」「オフィス有線LAN」「VPN接続」といったプロファイルを複数作成し、必要に応じて切り替えることができます。
従来のネットワークスクリプト (network サービス)
CentOS 6以前では、/etc/sysconfig/network-scripts/ ディレクトリ内の設定ファイルを直接編集し、service network restart コマンドなどでネットワークサービスを再起動する方法が一般的でした。この方法はCentOS 7以降でも互換性のために残されていますが、NetworkManagerとの連携や競合に注意が必要です。特にCentOS 8以降では、ネットワークスクリプトの使用は非推奨となっています。
設定ファイルはインターフェースごとに ifcfg-<interface_name> という名前で作成され、その中にIPアドレス、ネットマスク、ゲートウェイなどの情報が記述されます。
systemd-networkdについて
systemd-networkd は、systemdプロジェクトの一部として提供されるネットワーク管理デーモンです。CentOS Stream 8やRHEL 8以降では、NetworkManager と並ぶ選択肢として存在しますが、デフォルトで有効になっているのは NetworkManager です。systemd-networkd は主にサーバーやコンテナ環境での利用を想定しており、設定は /etc/systemd/network/ ディレクトリ内の .network ファイルで行います。この記事では初心者向けとして NetworkManager を中心に解説するため、systemd-networkd の詳細には触れません。
本記事で主に扱うツール
この記事では、CentOS 7以降で標準的かつ推奨される NetworkManager に焦点を当て、特に nmtui (TUI) と nmcli (CLI) を使ったネットワーク設定方法を詳細に解説します。GUIでの設定方法についても簡単に触れます。
GUI(GNOMEデスクトップ)でのネットワーク設定
CentOSをデスクトップ環境(GNOMEなど)でインストールした場合、直感的で分かりやすいGUIツールを使ってネットワーク設定を行うことができます。
GUIツールの起動方法
画面右上のネットワークアイコン(有線接続なら上下の矢印、無線なら扇形)をクリックすると、ネットワークメニューが表示されます。そこから「Wired Connected (または Wi-Fi Connected)」などの項目を選択し、「Wired Settings (または Wi-Fi Settings)」をクリックすると、ネットワーク設定画面が開きます。
または、アプリケーションメニューから「Settings」(設定)を開き、「Network」(ネットワーク)を選択しても同じ画面にアクセスできます。
有線接続の設定
ネットワーク設定画面では、現在認識されている有線接続(通常は Wired という名前)が表示されます。歯車アイコンをクリックすると、詳細設定画面が開きます。
-
Identity (識別情報):
Profile name: 接続プロファイルの名前(例:My Wired Connection)。デフォルトでデバイス名などが付いています。Connect automatically: チェックを入れると、起動時やケーブル接続時に自動的に接続します。
-
IPv4:
- DHCPで自動取得する場合:
IPv4 MethodをAutomatic (DHCP)に設定します。通常はこれがデフォルトです。他の設定項目(DNSなど)もDHCPサーバーから取得されます。 - 静的IPアドレスを設定する場合:
IPv4 MethodをManualに設定します。Addressesセクションで+ボタンをクリックし、以下の情報を入力します。Address: 設定したいIPアドレス(例:192.168.1.100)Netmask: サブネットマスク(例:255.255.255.0または24)Gateway: デフォルトゲートウェイのIPアドレス(例:192.168.1.1)
DNSセクションでAutomaticのトグルをオフにし、+ボタンをクリックしてDNSサーバーのIPアドレスを入力します(例:8.8.8.8)。複数のDNSサーバーを設定できます。Routesセクションでは、必要に応じて静的ルートを設定できますが、通常はデフォルトゲートウェイの設定だけで十分です。
- DHCPで自動取得する場合:
-
IPv6: IPv4と同様に、DHCPv6 (
Automatic, DHCP only), ステートレス自動設定 (Automatic, DHCP address only), 静的 (Manual), 無効 (Disabled) などを設定できます。
設定が完了したら、画面右上の Apply ボタンをクリックします。設定を有効にするには、一度接続を無効にしてから再度有効にするか、CentOSを再起動する必要がある場合があります。通常はネットワークケーブルを抜き差しするか、GUI上でネットワーク接続をON/OFFすることで反映されます。
無線接続(Wi-Fi)の設定
ネットワーク設定画面で Wi-Fi セクションを選択します。利用可能なWi-Fiネットワークが表示されるので、接続したいSSIDを選択します。
- 初めて接続する場合、Wi-Fiのパスワードを入力するダイアログが表示されます。正しいパスワードを入力して
Connectをクリックします。 - 接続に成功すると、選択したSSIDの下に「Connected」と表示されます。
- 設定の詳細を確認・変更したい場合は、接続中のSSIDの横にある歯車アイコンをクリックします。有線接続と同様に、Identity, Wi-Fi, IPv4, IPv6, Securityなどのタブが表示されます。
Identity: 接続プロファイル名や自動接続設定。Wi-Fi: SSIDやBSSID(アクセスポイントのMACアドレス)、Mode(Clientなど)を確認できます。通常変更不要です。IPv4,IPv6: 有線接続と同様に、DHCPまたは静的IPアドレスの設定が可能です。Security: 設定済みのセキュリティプロトコル(WPA, WPA2など)やパスワードを確認・変更できます。
GUIでの設定ファイルの場所
GUIツールで設定した内容は、NetworkManagerの接続プロファイルとして保存されます。これらの設定ファイルは通常 /etc/NetworkManager/system-connections/ ディレクトリに格納されます。ファイル名は接続プロファイル名に対応しており、権限はrootのみが読み書きできるようになっています。これらのファイルを直接編集することも可能ですが、設定ミスによるトラブルを避けるため、GUI、nmtui、またはnmcliの使用が推奨されます。
CUIでのネットワーク設定:nmtui
nmtui (NetworkManager Text User Interface) は、CUI環境やSSH接続でも利用できる、対話式のネットワーク設定ツールです。カーソルキーとEnterキーを使ってメニューを選択していく方式なので、コマンドを覚える必要がなく、初心者にも扱いやすいツールです。
nmtuiとは
nmtui は、NetworkManagerの機能を利用して、ネットワークインターフェースの設定(IPアドレス、ゲートウェイ、DNSなど)、接続プロファイルの追加/編集/削除、ホスト名の設定などを行うことができます。設定内容はNetworkManagerの接続プロファイルとして保存されます。
nmtuiの起動方法
ターミナルを開き、以下のコマンドを実行します。root権限が必要です。
bash
sudo nmtui
またはrootユーザーでログインしている場合は
bash
nmtui
と実行します。
nmtuiのメニュー
nmtui を起動すると、以下の3つの主要なメニューが表示されます。
Edit a connection(接続の編集)Activate a connection(接続の有効化)Set system hostname(システムホスト名の設定)
カーソルキーで項目を選択し、Enterキーで確定します。Tabキーでボタン間を移動できます。
接続の編集 (Edit a connection)
既存の接続プロファイルを編集したり、新しい接続プロファイルを作成したりする際に使用します。
Edit a connectionを選択してEnterを押します。- 既存の接続プロファイルリストが表示されます。編集したい接続プロファイルを選択してEnterを押すか、リストの下にある
<Add>を選択して新しい接続プロファイルを作成します。 <Add>を選択した場合、作成する接続の種類(Ethernet, Wi-Fi, VPNなど)を選択する画面が表示されます。ここではEthernetを選択してみましょう。
新しい接続プロファイル作成または既存プロファイル編集画面では、以下の項目を設定できます。
- Profile name: 接続プロファイルの名前。分かりやすい名前をつけましょう(例:
eth0-static,MyOfficeNet)。 - Device: このプロファイルを適用するネットワークインターフェースのデバイス名(例:
eth0,ens33)。リストから選択できます。
DHCP設定
- IPv4 CONFIGURATION:
<Automatic>(DHCP) を選択します。 - IPv6 CONFIGURATION:
<Automatic>(DHCPv6 または SLAAC) を選択します。必要に応じて<Ignore>(無効) にすることもできます。 - 他の設定項目は、DHCPサーバーから自動的に取得されるため、通常は入力不要です。
- 画面下部の
<OK>を選択して設定を保存します。
静的IP設定
- IPv4 CONFIGURATION:
<Manual>を選択し、<Show>をクリックして詳細を表示します。- Addresses:
<Add>をクリックし、「IPアドレス/サブネットマスク長」(例:192.168.1.100/24)または「IPアドレス」「サブネットマスク」をそれぞれ入力します。複数のIPアドレスを設定する場合は、再度<Add>をクリックします。 - Gateway: デフォルトゲートウェイのIPアドレスを入力します(例:
192.168.1.1)。 - DNS servers:
<Add>をクリックし、DNSサーバーのIPアドレスを入力します(例:8.8.8.8)。複数のDNSサーバーを設定する場合は、再度<Add>をクリックします。 - Search domains: DNS検索ドメインを入力します(例:
example.com)。ホスト名のみ指定した場合に、このドメインを補完して名前解決を試みます。
- Addresses:
- IPv6 CONFIGURATION: IPv4と同様に
<Manual>を選択し、IPアドレス、ゲートウェイ、DNSなどを設定します。 - Connect automatically: チェックが入っていることを確認します。チェックが入っていると、起動時などに自動的にこの接続プロファイルが有効になります。
- 画面下部の
<OK>を選択して設定を保存します。
設定を保存すると、接続プロファイルリストに戻ります。<Back> を選択してメインメニューに戻ります。
接続の有効化/無効化 (Activate a connection)
作成または編集した接続プロファイルを有効にするには、このメニューを使用します。
Activate a connectionを選択してEnterを押します。- 接続プロファイルリストが表示されます。現在有効なプロファイルにはアスタリスク
*が表示されます。 - 有効にしたい接続プロファイルを選択し、
<Activate>を選択してEnterを押します。 - 無効にしたい接続プロファイルを選択し、
<Deactivate>を選択してEnterを押します。 - 操作が完了したら、
<Back>を選択してメインメニューに戻ります。
nmtui で設定した内容は即座にNetworkManagerに反映され、通常はすぐにネットワーク接続が確立されます。
ホスト名設定 (Set system hostname)
システムのホスト名を設定できます。
Set system hostnameを選択してEnterを押します。- 現在のホスト名が表示されるので、新しいホスト名を入力します。
<OK>を選択して設定を保存します。
この操作は hostnamectl set-hostname <hostname> コマンドと同等です。
nmtui は、CUI環境でも比較的簡単にネットワーク設定ができる便利なツールです。基本的なIP設定やホスト名設定であれば、このツールで十分対応できます。
CUIでのネットワーク設定:nmcli
nmcli は、NetworkManagerの機能を完全に制御できる強力なコマンドラインインターフェースツールです。詳細な設定、自動化、リモートからの操作など、高度なネットワーク管理に不可欠です。最初は少し難しく感じるかもしれませんが、慣れると非常に効率的に作業できます。
nmcliとは
nmcli (NetworkManager Command Line Interface) は、NetworkManagerが管理するネットワーク接続、デバイス、状態などをコマンドラインから操作するためのツールです。NetworkManagerの全ての機能にアクセスでき、スクリプトにも組み込みやすいのが特徴です。
nmcliコマンドの基本構造
nmcli コマンドは、通常以下の構造を持ちます。
bash
nmcli [OPTIONS] OBJECT COMMAND [ARGUMENTS]
- OPTIONS: グローバルオプション(例:
-tタイムスタンプなし,-p見やすい表示)。 - OBJECT: 操作対象(例:
general,networking,radio,connection,device)。 - COMMAND: 実行するコマンド(例:
status,show,add,modify,up,down,delete)。 - ARGUMENTS: コマンドに対する引数(例: 接続名, デバイス名, パラメータとその値)。
オブジェクトは省略されることもあり、その場合は general オブジェクトに対するコマンドとみなされます。
主要なオブジェクトとコマンド
nmcli general: NetworkManager全体の状態確認
NetworkManagerデーモン全体の状態を確認します。
bash
nmcli general status
出力例:
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
connected full enabled enabled enabled enabled
STATE が connected で CONNECTIVITY が full なら、ネットワークが正常に動作し、インターネットにも接続できている状態です。
nmcli networking: ネットワーク接続のON/OFF
NetworkManagerによるネットワーク機能全体を有効/無効にします。
bash
nmcli networking on # ネットワーク機能を有効にする
nmcli networking off # ネットワーク機能を無効にする
nmcli networking status # 状態を確認
nmcli radio: 無線機能(Wi-Fi, WWAN)のON/OFF
Wi-Fiやモバイルブロードバンド(WWAN)のハードウェアスイッチを操作します。
bash
nmcli radio wifi on # Wi-Fiを有効にする
nmcli radio wifi off # Wi-Fiを無効にする
nmcli radio wwan on # WWANを有効にする
nmcli radio wwan off # WWANを無効にする
nmcli radio # 現在の状態を表示
nmcli device: デバイス情報の確認
ネットワークインターフェースデバイス(NIC)の状態や情報を確認します。
- デバイス一覧表示:
bash
nmcli device status
出力例:
DEVICE TYPE STATE CONNECTION
ens33 ethernet connected MyWiredConnection
lo loopback unmanaged --
STATE が connected なら、そのデバイスはアクティブな接続プロファイルによって制御されています。unmanaged はNetworkManagerの管理下ではないことを示します(通常、lo や仮想デバイスなど)。
- デバイスの詳細情報:
bash
nmcli device show <interface_name>
例:
bash
nmcli device show ens33
そのデバイスに割り当てられているIPアドレス、MACアドレス、DNSサーバーなどの詳細情報が表示されます。IP4.ADDRESS[1] や IP6.ADDRESS[1] などを見ると、現在のIPアドレスが分かります。
nmcli connection: 接続プロファイル管理
NetworkManagerの「接続プロファイル」を操作する最も重要なオブジェクトです。
- 接続プロファイル一覧表示:
“`bash
nmcli connection show
または簡潔に
nmcli connection show –active # 有効なプロファイルのみ表示
``NAME列がプロファイル名、UUIDが一意な識別子、DEVICEが関連付けられているデバイスです。有効なプロファイルはDEVICE` 列にデバイス名が表示されます。
- 接続プロファイルの追加:
新しいネットワーク接続プロファイルを作成します。タイプ(ethernet, wifiなど)を指定します。
例: DHCP設定の有線接続を追加
bash
nmcli connection add type ethernet con-name "eth0-dhcp" ifname eth0
* add: 接続プロファイルの追加コマンド
* type ethernet: Ethernet接続であること
* con-name "eth0-dhcp": 作成するプロファイルの名前を “eth0-dhcp” に設定
* ifname eth0: このプロファイルをデバイス eth0 に関連付け
このコマンドは、指定したデバイス(eth0)に対し、DHCPでIPアドレスを取得する新しい接続プロファイルを作成します。
例: 静的IP設定の有線接続を追加
bash
nmcli connection add type ethernet con-name "eth0-static" ifname eth0 \
ip4 192.168.1.100/24 gw4 192.168.1.1 \
ip6 2001:db8::100/64 gw6 2001:db8::1 \
dns4 8.8.8.8 dns4 8.8.4.4 \
dns6 2001:4860:4860::8888
* ip4 192.168.1.100/24: IPv4アドレスとサブネットマスク(CIDR表記)
* gw4 192.168.1.1: IPv4デフォルトゲートウェイ
* ip6 2001:db8::100/64: IPv6アドレスとプレフィックス長
* gw6 2001:db8::1: IPv6デフォルトゲートウェイ
* dns4 8.8.8.8 dns4 8.8.4.4: IPv4 DNSサーバーアドレス(複数指定可能)
* dns6 2001:4860:4860::8888: IPv6 DNSサーバーアドレス
このコマンドでプロファイルを作成しただけでは、まだネットワークは有効になりません。後述の connection up コマンドで有効化する必要があります。
- 接続プロファイルの編集:
既存のプロファイルの設定値を変更します。
bash
nmcli connection modify <connection_name> <setting> <value> ...
例:
“`bash
“eth0-static” プロファイルのIPv4アドレスを変更
nmcli connection modify eth0-static ipv4.addresses 192.168.1.150/24
ゲートウェイを変更
nmcli connection modify eth0-static ipv4.gateway 192.168.1.1
DNSサーバーを追加 (既存のDNS設定に追記)
nmcli connection modify eth0-static ipv4.dns “8.8.8.8 8.8.4.4”
DNSサーバーをクリアして再設定
nmcli connection modify eth0-static ipv4.dns “” # 一度クリア
nmcli connection modify eth0-static ipv4.dns “1.1.1.1 1.0.0.1”
DHCPに変更
nmcli connection modify eth0-static ipv4.method auto
静的IPに戻す (アドレス指定は必須)
nmcli connection modify eth0-static ipv4.method manual ipv4.addresses 192.168.1.100/24
自動接続を無効にする
nmcli connection modify eth0-static connection.autoconnect no
MTUを設定 (例: 1500)
nmcli connection modify eth0-static ethernet.mtu 1500
プロファイルの名前を変更
nmcli connection modify eth0-static connection.id “my-new-eth0-profile”
``modifyコマンドのパラメータ名 (ipv4.addresses,connection.autoconnectなど) は、nmcli connection show の出力やnmcli connection modify –help` で確認できます。
変更を有効にするには、通常その接続プロファイルを一度無効にしてから再度有効にする必要があります。
- 接続プロファイルの削除:
指定した接続プロファイルを削除します。削除したいプロファイルが有効な場合は、先に無効にする必要があります。
bash
nmcli connection delete <connection_name>
例:
bash
nmcli connection delete eth0-dhcp
- 接続プロファイルの有効化/無効化:
作成または編集したプロファイルを適用し、ネットワーク接続を確立/切断します。
bash
nmcli connection up <connection_name> [ifname <interface_name>]
nmcli connection down <connection_name>
例:
“`bash
“eth0-static” プロファイルを有効にする (eth0デバイスに適用)
nmcli connection up eth0-static ifname eth0
“eth0-static” プロファイルを無効にする
nmcli connection down eth0-static
``connection up` コマンドでプロファイルを有効にすると、そのプロファイルに設定された内容(IPアドレス、ゲートウェイ、DNSなど)がデバイスに適用され、ネットワークが使用可能になります。同じデバイスに対して複数のプロファイルがある場合、通常は最後に有効にされたプロファイルが優先されます。
- 接続プロファイルの詳細表示:
特定の接続プロファイルに設定されている全てのパラメータを表示します。
bash
nmcli connection show <connection_name>
例:
bash
nmcli connection show eth0-static
この出力で、プロファイルに設定されている全ての項目名と現在の値を確認できます。modify コマンドで変更する際のパラメータ名もここで確認するのが便利です。
nmcli は非常に多機能で、ここで紹介した以外にも多くのコマンドやオプションがあります。詳細については、man nmcli コマンドでマニュアルページを参照してください。
従来の方法:ネットワークスクリプト (/etc/sysconfig/network-scripts/)
CentOS 7以降ではNetworkManagerが推奨されますが、古いシステムとの互換性や、NetworkManagerを無効にして伝統的な方法で管理したい場合のために、ネットワークスクリプトによる設定も可能です。ただし、NetworkManagerが有効なシステムでネットワークスクリプトを手動で編集する場合、NetworkManagerがその変更を認識しない、あるいはNetworkManagerの設定によって上書きされてしまうなどの問題が発生する可能性があるため、注意が必要です。通常はNetworkManagerを無効にしてから使用します。
CentOS 7以前での主要な方法
CentOS 6以前では、ネットワーク設定は主に /etc/sysconfig/network および /etc/sysconfig/network-scripts/ifcfg-<interface_name> ファイルを編集し、service network restart または ifup/ifdown コマンドで反映させていました。
CentOS 8/9/Streamでの位置づけ
CentOS 8/9/Streamでは、ネットワークスクリプトは非推奨 (deprecated) となっています。NetworkManagerがデフォルトで有効になっており、NetworkManager経由での設定が強く推奨されます。従来のネットワークスクリプトは互換性のために含まれていますが、NetworkManagerが有効な状態では、ifcfg-* ファイルの多くはNetworkManagerによって読み込まれ、NetworkManagerの接続プロファイルに変換されて使用されます。しかし、すべてのオプションが変換されるわけではないため、意図しない動作になる可能性があります。
設定ファイルの構造 (ifcfg-<interface_name>)
ネットワークスクリプトで設定を行う場合、インターフェースごとに /etc/sysconfig/network-scripts/ifcfg-<interface_name> というファイルを作成または編集します。一般的な内容は以下のようになります。
“`ini
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp # 設定方法: dhcp または static または none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=”ens33″ # 接続プロファイル名(通常はDEVICEと同じか、NetworkManagerが生成)
UUID=”xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx” # NetworkManagerが生成する一意なID
DEVICE=”ens33″ # ネットワークインターフェース名
ONBOOT=yes # 起動時にこの接続を有効にするか: yes または no
BOOTPROTO=static の場合、以下の設定が必要
IPADDR=192.168.1.100
PREFIX=24 # または NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
IPV6_ADDR=”2001:db8::100/64″
IPV6_GATEWAY=”2001:db8::1″
IPV6_DNS=”2001:4860:4860::8888″
“`
主要なパラメータ:
TYPE: ネットワークタイプ(Ethernet, Wirelessなど)。BOOTPROTO: IPアドレスの取得方法。dhcp(DHCPで自動取得)、static(静的IP設定)、none(IPアドレスを設定しない)。IPADDR: 静的IP設定時のIPアドレス。NETMASK/PREFIX: サブネットマスク。NETMASK=255.255.255.0またはPREFIX=24の形式で指定。GATEWAY: デフォルトゲートウェイのIPアドレス。DNS1,DNS2, …: DNSサーバーのIPアドレス。ONBOOT: システム起動時にこのインターフェースを有効にするか (yes/no)。サーバーでは通常yesにします。DEVICE: この設定ファイルが適用されるネットワークインターフェースのデバイス名。NAME: NetworkManagerが使用する接続プロファイル名。通常はDEVICEと同じにするか、UUIDをキーとして管理されます。UUID: NetworkManagerが生成・管理する一意なID。手動で設定する場合、重複しないように注意が必要です(通常はNetworkManagerに任せる方が良い)。
手動設定ファイルの作成/編集例
静的IPアドレスを設定する場合、/etc/sysconfig/network-scripts/ifcfg-ens33 のようなファイルをエディタで開き、以下のように記述します。
ini
TYPE=Ethernet
BOOTPROTO=static
NAME="ens33-static"
DEVICE="ens33"
ONBOOT=yes
IPADDR=192.168.1.100
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
ファイルを保存します。
network サービスの再起動
設定を反映させるには、network サービスを再起動します。
bash
sudo systemctl restart network
または、特定のインターフェースのみを操作することもできます。
bash
sudo ifdown ens33
sudo ifup ens33
ただし、NetworkManagerが有効な環境では、これらのコマンドはNetworkManager経由で処理されるか、あるいは競合する可能性があることに注意が必要です。NetworkManagerを完全に無効にする場合は、systemctl disable NetworkManager --now および systemctl enable network --now といった操作が必要になります。
NetworkManagerとネットワークスクリプトの併用における注意点
- NetworkManagerが優先: デフォルトではNetworkManagerがネットワーク管理を担います。
/etc/sysconfig/network-scripts/ifcfg-*ファイルが存在する場合、NetworkManagerはこれを読み込み、内部の接続プロファイルに変換して管理しようとします。 - 手動編集の危険性: NetworkManagerが有効な状態で
ifcfg-*ファイルを直接編集しても、NetworkManagerがその変更を即座に認識しない、あるいはNetworkManagerの他の設定(GUI, nmtui, nmcliで作成されたプロファイルなど)によって上書きされることがあります。 - 推奨: CentOS 7以降では、特別な理由がない限り、NetworkManagerのツール(nmcli, nmtui, GUI)を使ってネットワーク設定を行うことを強く推奨します。ネットワークスクリプトによる設定は、CentOS 6以前からの移行や、NetworkManagerを無効にした環境でのみ使用するのが一般的です。
ホスト名の設定
ホスト名(Hostname)は、ネットワーク上でコンピューターを識別するための名前です。例えば、サーバーに webserver.example.com のようなホスト名をつけることで、IPアドレスではなく名前でアクセスできるようになります。
ホスト名の重要性
- 識別の容易さ: 人間が覚えやすい名前でサーバーを区別できます。
- ネットワークサービス: 一部のネットワークサービス(例: SSH, メールサーバー)は、正引き・逆引きのDNSレコードとホスト名が一致していることを要求する場合があります。
- システムログ: ログファイルにホスト名が表示されることで、どのサーバーで発生したイベントか判断しやすくなります。
hostnamectl コマンド
CentOS 7以降では、ホスト名の設定は hostnamectl コマンドで行うのが標準的です。このコマンドはsystemdの一部であり、ホスト名に関するさまざまな設定を一元管理します。
ホスト名には主に以下の種類があります。
- Static hostname: 永続的に設定されるホスト名。システムの起動時に使用されます。これが最も一般的な「ホスト名」です。
- Transient hostname: カーネルが起動時にネットワークから(例: DHCP)取得する一時的なホスト名。Static hostnameが設定されていない場合や、DHCPサーバーから強制された場合に使用されることがあります。
- Pretty hostname: ユーザー向けの分かりやすい名前(例: “My Laptop”)。スペースや特殊文字を含むことができます。システム内部では使用されません。
通常設定するのはStatic hostnameです。
- 現在のホスト名を確認:
“`bash
hostnamectl status
または単に
hostnamectl
“`
- Static hostname を設定:
bash
sudo hostnamectl set-hostname <新しいホスト名>
例:
bash
sudo hostnamectl set-hostname myserver.example.com
このコマンドを実行すると、永続的なホスト名が /etc/hostname ファイルに書き込まれ、すぐに反映されます。
- Pretty hostname を設定:
bash
sudo hostnamectl set-hostname --pretty "My CentOS Server"
- Transient hostname を設定(通常は不要):
bash
sudo hostnamectl set-hostname --transient <一時的なホスト名>
/etc/hostname ファイル
hostnamectl set-hostname コマンドで設定されたStatic hostnameは、/etc/hostname というプレーンテキストファイルに保存されます。このファイルを直接編集することも可能ですが、hostnamectl コマンドを使うのが推奨されます。
/etc/hostname ファイルの内容は、単にホスト名が1行だけ書かれているシンプルなものです。
bash
cat /etc/hostname
出力例:
myserver.example.com
ホスト名を変更した場合、そのホスト名を名前解決できるように /etc/hosts ファイルやDNSサーバーの設定も必要になる場合があります。
DNS設定
DNS(Domain Name System)は、ドメイン名とIPアドレスの変換を行うシステムです。CentOSからインターネット上のWebサイトにアクセスしたり、ドメイン名で他のサーバーに接続したりするには、正しいDNSサーバーが設定されている必要があります。
/etc/resolv.conf ファイル
Linuxシステムでは、DNSリゾルバの設定は通常 /etc/resolv.conf ファイルに記述されます。このファイルには、問い合わせるべきDNSサーバーのIPアドレスや、名前解決時に補完されるドメインなどが記載されます。
基本的な書式は以下のようになります。
ini
nameserver <DNSサーバーのIPアドレス1>
nameserver <DNSサーバーのIPアドレス2>
search <検索ドメイン1> <検索ドメイン2> ...
例:
“`ini
Generated by NetworkManager
nameserver 8.8.8.8
nameserver 8.8.4.4
search example.com mydomain.local
``nameserverエントリは、DNSサーバーのIPアドレスを指定します。複数指定した場合、通常は上から順に問い合わせが行われます。searchエントリは、ホスト名だけが指定された場合(例:ping webserver)に、指定されたドメインを補完して名前解決を試みるためのものです(例:webserver.example.com,webserver.mydomain.local` を順に試す)。
NetworkManagerによる管理
CentOSでNetworkManagerが有効になっている場合、/etc/resolv.conf ファイルは通常NetworkManagerによって管理・生成されます。NetworkManagerは、各接続プロファイルで設定されたDNSサーバー情報を集約し、このファイルに反映させます。
ifcfg-* ファイルの DNS1, DNS2 パラメータや、nmcli/nmtuiのDNS設定で指定したIPアドレスが、/etc/resolv.conf の nameserver として書き込まれます。
/etc/resolv.conf の先頭に # Generated by NetworkManager のようなコメントがある場合、そのファイルはNetworkManagerによって自動生成されていることを示します。
手動編集する場合の注意点
NetworkManagerが有効なシステムで /etc/resolv.conf を手動で編集すると、NetworkManagerが設定を更新した際に、手動での変更が上書きされて消えてしまう可能性があります。
手動で永続的にDNS設定を行いたい場合は、以下のいずれかの方法をとる必要があります。
- NetworkManager経由で設定する: nmcli, nmtui, またはGUIで接続プロファイルのDNS設定を行う。これが最も推奨される方法です。
- NetworkManagerの管理を無効にする:
/etc/resolv.confファイルの属性を変更してNetworkManagerによる書き換えを防ぐ(例:chattr +i /etc/resolv.conf)。ただし、この方法はNetworkManagerの想定する動作と異なるため、予期しない問題が発生する可能性があり、非推奨です。手動で/etc/resolv.confを管理する場合は、NetworkManagerを無効化することも検討する必要があります。 rc-managerを設定する:/etc/NetworkManager/NetworkManager.confファイルで[main]セクションにrc-manager=resolvconfまたはrc-manager=unmanagedを設定し、NetworkManagerに/etc/resolv.confの管理をさせないようにする。これもNetworkManagerのデフォルトの動作を変更するため、慎重に行う必要があります。
特別な理由がない限り、NetworkManagerのツールを使ってDNSサーバーを設定するのが最も安全で簡単な方法です。
ルーティング設定
ルーティング(Routing)とは、ネットワーク上のデータパケットを、送信元から宛先まで適切に中継する経路を選択するプロセスです。CentOSサーバーが複数のネットワークインターフェースを持っていたり、特定の宛先に対してデフォルトゲートウェイとは異なる経路で通信させたい場合に、ルーティング設定が必要になります。
ルーティングテーブルとは
各コンピューター(ルーターも含む)は、自分が受け取ったデータパケットをどこに転送すべきかを判断するために「ルーティングテーブル」を参照します。ルーティングテーブルには、宛先ネットワークアドレス、その宛先に到達するための次のホップ(next hop)のIPアドレス、使用するネットワークインターフェースなどがリストされています。
ip route show コマンド
現在のルーティングテーブルを確認するには、ip route show コマンドを使用します。これは route -n コマンドの後継であり、より多機能です。
bash
ip route show
出力例:
default via 192.168.1.1 dev ens33 proto dhcp metric 100
192.168.1.0/24 dev ens33 proto kernel scope link src 192.168.1.100 metric 100
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown
* default via 192.168.1.1 dev ens33: これがデフォルトルートです。「どの宛先にも一致しないパケットは、ゲートウェイ 192.168.1.1 を経由してデバイス ens33 から送信せよ」という意味です。
* 192.168.1.0/24 dev ens33 ...: これはローカルネットワークへのルートです。「宛先が 192.168.1.0/24 の範囲内にあるパケットは、デバイス ens33 から直接送信せよ(ゲートウェイは不要)」という意味です。scope link は同じリンク(ネットワークセグメント)内であることを示します。src 192.168.1.100 は、このネットワークからの通信の送信元IPアドレスが 192.168.1.100 であることを示します。
route コマンド(非推奨)
以前は route コマンドが使われていましたが、現在は ip route コマンドの使用が推奨されています。route -n は -n オプションでIPアドレスを数値形式で表示し、見やすくします。
bash
route -n
ip route show と同様の情報が表示されますが、出力形式が異なります。
静的ルートの追加/削除 (ip route add/del)
特定の宛先ネットワークに対して、デフォルトゲートウェイとは異なる経路を設定したい場合は、静的ルートを手動で追加します。
- 静的ルートの追加:
bash
sudo ip route add <宛先ネットワーク/プレフィックス> via <次のホップのIPアドレス> dev <使用するデバイス名>
例: 宛先 10.10.10.0/24 へのパケットを、ゲートウェイ 192.168.1.254 を経由して ens33 から送信するルートを追加
bash
sudo ip route add 10.10.10.0/24 via 192.168.1.254 dev ens33
- 静的ルートの削除:
追加したルートを削除します。追加時とほぼ同じ引数を指定します。
bash
sudo ip route del <宛先ネットワーク/プレフィックス>
例: 10.10.10.0/24 へのルートを削除
bash
sudo ip route del 10.10.10.0/24
ip route add や ip route del で追加・削除したルートは、システムの再起動で消えてしまいます。
永続的なルート設定
システム起動後も静的ルートを有効に保つには、NetworkManagerの接続プロファイルに設定するか、従来のネットワークスクリプトを使用します。
-
NetworkManager経由:
nmcliで接続プロファイルを編集する際に、ルーティング情報を追加します。
bash
nmcli connection modify <connection_name> +ipv4.routes "10.10.10.0/24 192.168.1.254"
または nmtui/GUI の設定画面で Routes セクションに追加します。
これにより、その接続が有効になった際に、指定した静的ルートが自動的に追加されます。 -
ネットワークスクリプト経由:
/etc/sysconfig/network-scripts/route-<interface_name>というファイルを作成し、静的ルート情報を記述します。
例:/etc/sysconfig/network-scripts/route-ens33に以下の内容を記述ini
10.10.10.0/24 via 192.168.1.254 dev ens33
または、以下の形式でも記述できます。ini
ADDRESS0=10.10.10.0
NETMASK0=255.255.255.0
GATEWAY0=192.168.1.254
この設定は、NetworkManagerが有効な場合でも読み込まれることがありますが、NetworkManagerのバージョンや設定によっては正しく解釈されない可能性もあります。NetworkManagerが推奨される環境では、nmcli/nmtui/GUIでの設定が望ましいです。
トラブルシューティング
ネットワーク設定を行ったにも関わらず通信がうまくいかない場合、いくつかの原因が考えられます。ここでは、一般的なネットワークトラブルの切り分けと解決方法を解説します。
一般的なネットワーク問題の切り分け手順
-
物理的な接続を確認:
- ネットワークケーブルがNICとスイッチ/ルーターにしっかりと差し込まれていますか? NICのリンクアップを示すランプは点灯していますか?
- 仮想マシンであれば、ネットワークアダプターが正しく接続され、ホスト側のネットワーク設定(ブリッジ、NATなど)が適切か確認します。
-
ネットワークサービスの起動状態を確認:
NetworkManagerが正しく起動し、動作しているか確認します。bash
sudo systemctl status NetworkManager
もしinactive (dead)となっていたら、サービスを開始します。bash
sudo systemctl start NetworkManager
起動時に自動実行されない設定になっている場合は、有効にします。bash
sudo systemctl enable NetworkManager
従来のnetworkサービスを使用している場合は、その状態を確認します。bash
sudo systemctl status network -
IPアドレスが割り当てられているか確認:
ネットワークインターフェースにIPアドレスが割り当てられているか確認します。bash
ip addr show <interface_name>
例:
bash
ip addr show ens33
inet(IPv4) やinet6(IPv6) の行にIPアドレスが表示されているか確認します。
DHCP設定なのにIPアドレスがない場合は、DHCPサーバーに問題があるか、DHCP要求がブロックされている可能性があります。静的IP設定なのに間違ったIPアドレスが表示されている場合は、設定ミスや他のサービスとの競合が考えられます。 -
デフォルトゲートウェイへの疎通を確認:
IPアドレスが割り当てられていたら、まずデフォルトゲートウェイへの疎通を確認します。bash
ip route show # デフォルトゲートウェイのIPアドレスを確認
ping <デフォルトゲートウェイのIPアドレス>
例: デフォルトゲートウェイが192.168.1.1の場合bash
ping 192.168.1.1
pingが成功すれば、ローカルネットワーク内の通信はできている可能性が高いです。もし失敗する場合、ケーブル問題、NICドライバ問題、IP設定ミス(サブネットマスクなど)、ローカルネットワーク機器(スイッチなど)の問題が考えられます。 -
DNSサーバーへの疎通を確認:
デフォルトゲートウェイへの疎通が確認できたら、DNSサーバーへの疎通を確認します。/etc/resolv.confに記載されているDNSサーバーのIPアドレスをpingします。bash
cat /etc/resolv.conf # DNSサーバーのIPアドレスを確認
ping <DNSサーバーのIPアドレス>
例: DNSサーバーが8.8.8.8の場合bash
ping 8.8.8.8
pingが成功すれば、DNSサーバー自体は生きていて通信可能です。もし失敗する場合、ゲートウェイより先のネットワーク経路に問題があるか、ファイアウォールでブロックされている可能性があります。 -
外部IPアドレスへの疎通を確認:
DNSサーバーへの疎通が確認できたら、インターネット上の任意のIPアドレス(例: GoogleのPublic DNS8.8.8.8)にpingして、外部への基本的な通信が可能か確認します。bash
ping 8.8.8.8
これが成功し、かつ次の「外部ホスト名への疎通」が失敗する場合、DNS設定に問題がある可能性が高いです。 -
外部ホスト名への疎通を確認:
最後に、ドメイン名を使って外部のホストにpingします。bash
ping google.com
これが成功すれば、IP通信とDNS名前解決の両方が正常に機能しています。もしこのステップだけが失敗する場合、DNS設定(/etc/resolv.confのnameserverやsearch)、DNSサーバー自体の問題、あるいはファイアウォールでのDNSポート(UDP/TCP 53)のブロックが考えられます。
その他のトラブルシューティングポイント
- 有効な接続プロファイルを確認:
nmcli connection show --activeコマンドで、現在どの接続プロファイルが有効になっているか、どのデバイスに関連付けられているかを確認します。意図したプロファイルが有効になっているか確認しましょう。 - NetworkManagerのログを確認: より詳細な情報は、NetworkManagerのログに出力されている可能性があります。
bash
sudo journalctl -u NetworkManager
# または特定の時間範囲を指定して
sudo journalctl -u NetworkManager --since "1 hour ago"
エラーメッセージや警告メッセージがないか確認します。 - 設定ファイルを確認: NetworkManagerが管理する設定ファイル (
/etc/NetworkManager/system-connections/) や、従来のネットワークスクリプトファイル (/etc/sysconfig/network-scripts/ifcfg-*) の内容に誤りがないか、手動で編集した場合は構文エラーがないか確認します。 - ファイアウォールの影響: CentOSでは
firewalldがデフォルトで有効になっています。ネットワーク通信がファイアウォールによってブロックされていないか確認します。特定のポート(例: SSHの22番、HTTPの80番、HTTPSの443番など)が開いている必要があります。
bash
sudo systemctl status firewalld
sudo firewall-cmd --list-all --zone=public # デフォルトゾーンの設定を確認
必要なサービスやポートが許可されているか確認し、必要に応じて追加します。 - SELinux の影響: SELinuxがEnforcingモードになっている場合、ネットワーク関連の操作がセキュリティポリシーによってブロックされる可能性があります。SELinuxのログ (
journalctl -t setroubleshootまたは/var/log/audit/audit.log) を確認し、何か拒否されていないか確認します。一時的にPermissiveモードにして問題が解決するか試すこともできますが、根本的な解決には適切なSELinuxポリシーの設定が必要です。 - デバイスドライバ: NICのデバイスドライバが正しくロードされているか、認識されているか確認します。
ip link showやdmesgコマンドが役立ちます。
ネットワークの応用設定(簡単な紹介)
CentOSでは、基本的なネットワーク設定以外にも、サーバーの用途に応じた様々な応用的なネットワーク設定が可能です。ここでは、いくつか代表的なものを簡単に紹介します。これらの詳細な設定は初心者ガイドの範囲を超えるため、興味があれば別途調べてみてください。
- ブリッジ接続 (Bridge): 複数のネットワークインターフェースを論理的に一つにまとめ、それらを同じネットワークセグメントにあるかのように扱う技術です。仮想化環境(KVM, VirtualBoxなど)で、ゲストOSをホストと同じネットワークに直接接続させたい場合によく使用されます。
- チーム/ボンディング (Team/Bonding): 複数のネットワークインターフェースを束ねて、単一の論理インターフェースとして扱う技術です。帯域幅の増加(ロードバランシング)や、耐障害性(フェイルオーバー)の向上を目的とします。
- VLAN (Virtual Local Area Network): 物理的なネットワークを、論理的に複数の仮想的なネットワークに分割する技術です。部署ごとや用途ごとにネットワークを分離したい場合に利用されます。スイッチ側の設定と連携が必要です。
- VPNクライアント設定 (VPN Client): 仮想プライベートネットワーク(VPN)に接続するための設定です。リモートから会社のネットワークに安全にアクセスしたり、インターネット上のプライバシーを保護したりするために利用されます。NetworkManagerはOpenVPN, PPTP, L2TPなど、様々なVPNプロトコルをサポートしています。
これらの応用設定も、多くの場合NetworkManager(nmcli, nmtui, GUI)を使って設定することが可能です。
まとめ
この記事では、CentOSのネットワーク設定について、初心者向けに詳細な解説を行いました。
まず、IPアドレス、サブネットマスク、デフォルトゲートウェイ、DNSといったネットワークの基本的な概念を理解しました。次に、CentOS 7以降で標準となったNetworkManagerとその主要ツールであるGUI、nmtui、nmcliを使った設定方法をステップバイステップで解説しました。特にnmcliについては、各種オブジェクトとコマンドを具体例と共に詳しく紹介しました。また、互換性のために残されている従来のネットワークスクリプトによる設定方法にも触れ、NetworkManagerとの違いや注意点についても説明しました。ホスト名とDNSサーバーの設定方法、ルーティングテーブルの確認と静的ルートの設定についても解説しました。最後に、ネットワークトラブルが発生した場合の切り分け手順や、一般的な解決策についても説明しました。
CentOSでのネットワーク設定において、NetworkManagerは非常に強力で柔軟なツールです。特に nmcli コマンドを習得すれば、CUI環境での作業や自動化が効率的に行えるようになります。最初は難しく感じるかもしれませんが、この記事で解説した基本的なコマンドや手順を繰り返し練習することで、自信を持ってネットワーク設定ができるようになるでしょう。
ネットワークの世界は奥深く、この記事で触れられなかった応用的な設定もたくさんあります。しかし、ここで学んだ基本概念とツールは、より高度な設定を学ぶ上での確固たる土台となります。
このガイドが、あなたのCentOSネットワーク設定スキル習得の一助となれば幸いです。ネットワークの世界をさらに深く探求し、CentOSサーバーを自在に操ってください。