「nmcliの使い方が多すぎて、どれを覚えればいいか分からない」
CentOS7/RHEL7以降のLinuxでは、ネットワーク管理の仕組みがNetworkManager中心に切り替わりました。
この記事では、CentOS7/RHEL7系でのネットワーク設定方法について、NetworkManagerと
nmcliコマンドを中心に、固定IPアドレス設定・DNS設定・デフォルトゲートウェイ・接続状態の確認・トラブル対処までを解説します。現場でそのまま使える実践コマンドを中心にまとめています。・CentOS7/RHEL7以降はNetworkManagerが標準。設定は
nmcliコマンドで行うのが現場流・接続プロファイル単位で管理され、
connectionとdeviceの2階層を理解すれば全体像が掴める・固定IP・DNS・ゲートウェイ・DHCP切り替えまで、
nmcliだけで完結できるでも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
CentOS7/RHEL7以降のネットワーク管理の仕組み
CentOS6以前は、/etc/sysconfig/network-scripts/ifcfg-*ファイルを直接編集し、service network restartで反映するのが一般的でした。CentOS7以降はNetworkManagerが標準となり、設定・反映・死活監視まで一元的に管理する仕組みに変わっています。・NetworkManager:ネットワーク接続を管理するデーモン。常時起動
・nmcli:NetworkManagerを操作するコマンドラインツール
・nmtui:テキストUI版。対話的に設定したい場合に便利
・ifcfgファイル:nmcliで設定すると自動的に更新される。手動編集も可能だが、競合を避けるため推奨されない
基本的な使い方
1. 接続状態を確認する
まずは全体像を把握します。nmcliを引数なしで実行すると、現在の接続状況を一覧表示します。# 全体のサマリを表示 nmcli # デバイス一覧 nmcli device status # 接続プロファイル一覧 nmcli connection show
2. IPアドレス・ゲートウェイ・DNSを確認する
特定のデバイスや接続の詳細を確認するには、次のようにします。# デバイスの詳細情報 nmcli device show eth0 # 特定の接続プロファイルの設定 nmcli connection show eth0
3. 固定IPアドレスを設定する
接続プロファイルに対してIPv4の設定をまとめて反映します。反映にはconnection upが必要です。# IPアドレス・ゲートウェイ・DNSを設定 sudo nmcli connection modify eth0 ipv4.addresses 192.168.1.100/24 sudo nmcli connection modify eth0 ipv4.gateway 192.168.1.1 sudo nmcli connection modify eth0 ipv4.dns "8.8.8.8 1.1.1.1" sudo nmcli connection modify eth0 ipv4.method manual # 設定を反映 sudo nmcli connection up eth0
4. DHCPに戻す
IPv4のmethodをautoに戻すだけでDHCPクライアントとして動作します。# DHCPに切り替え sudo nmcli connection modify eth0 ipv4.method auto sudo nmcli connection modify eth0 ipv4.addresses "" sudo nmcli connection modify eth0 ipv4.gateway "" sudo nmcli connection up eth0
応用・実務Tips
DNS自動更新を止める(ipv4.ignore-auto-dns)
DHCP環境で/etc/resolv.confが勝手に書き換えられる問題は、ipv4.ignore-auto-dnsをyesにすることで防げます。# DHCPから受け取るDNSを無視し、手動設定を優先 sudo nmcli connection modify eth0 ipv4.ignore-auto-dns yes sudo nmcli connection modify eth0 ipv4.dns "192.168.1.53" sudo nmcli connection up eth0
ホスト名を変更する
hostnamectlを使うのがCentOS7以降の標準です。# ホスト名を変更 sudo hostnamectl set-hostname web01.example.com # 確認 hostnamectl
nmtui(対話モード)で設定する
コマンドを覚えきれない場合は、テキストUIのnmtuiを使うとメニュー形式で設定できます。# テキストUIを起動 sudo nmtui
ifcfgファイルの場所と内容
nmcliで設定した内容は、最終的に以下のファイルに保存されます。設定の確認やバックアップに使います。# 設定ファイルを確認 ls /etc/sysconfig/network-scripts/ifcfg-* cat /etc/sysconfig/network-scripts/ifcfg-eth0
トラブルシュート・エラー対処
設定を変更しても反映されない場合
nmcli connection up eth0を実行するか、NetworkManager自体を再起動してください。物理リンクがdownしている可能性もあるため、ip linkで状態を確認します。# 接続を再適用 sudo nmcli connection up eth0 # NetworkManagerの再起動 sudo systemctl restart NetworkManager # リンク状態の確認 ip link
「Error: Connection activation failed」が出る場合
IPアドレスの重複、ゲートウェイ到達不可、無効なサブネットマスク指定などが典型的な原因です。journalctl -u NetworkManagerでログを追うと原因が掴めます。# NetworkManagerのログを確認 sudo journalctl -u NetworkManager -xe
resolv.confが勝手に書き換わる場合
DHCPで受け取るDNSが上書きしています。前述のipv4.ignore-auto-dns yesを設定してください。systemctl restart networkが使えない場合
CentOS8/RHEL8以降はnetworkサービス自体が廃止されました。NetworkManager一本に統一されているため、sudo systemctl restart NetworkManagerを使ってください。本記事のまとめ
| やりたいこと | コマンド |
|---|---|
| 接続・デバイスの状態確認 | nmcli device status |
| 接続プロファイルの一覧 | nmcli connection show |
| 固定IPアドレスの設定 | sudo nmcli connection modify eth0 ipv4.addresses 192.168.1.100/24 |
| ゲートウェイの設定 | sudo nmcli connection modify eth0 ipv4.gateway 192.168.1.1 |
| DNSの設定 | sudo nmcli connection modify eth0 ipv4.dns "8.8.8.8 1.1.1.1" |
| 手動設定モードに切り替え | sudo nmcli connection modify eth0 ipv4.method manual |
| DHCPに戻す | sudo nmcli connection modify eth0 ipv4.method auto |
| 設定を反映する | sudo nmcli connection up eth0 |
| ホスト名を変更する | sudo hostnamectl set-hostname web01.example.com |
CentOS/RHEL系のネットワーク設定を、迷いなく扱えるエンジニアになりませんか?
nmcliの使いこなしは、サーバー構築・障害対応・セキュリティ運用の全てに関わる基礎体力です。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 次のページへ:Sambaのバージョンを確認するコマンド|現場で使う3つの手順
- 前のページへ:Apacheのエラーログを設定する|ErrorLogとLogLevelの使い方・バーチャルホスト別設定
- この記事の属するカテゴリ:CentOS7・Linuxtips・LinuxコマンドK-O・サーバー管理・システム管理・システム管理コマンド・ネットワーク・ネットワーク管理コマンドへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます