AlmaLinuxでIPアドレスを設定する際、「GUIよりもコマンドの方が早い」と感じることはありませんか?
サーバー用途で使う場合や、リモートでSSH接続している場合は、コマンドラインで設定できた方が圧倒的に便利ですよね。
この記事では、AlmaLinuxでコマンドを使ってIPアドレスを設定する方法を、初心者の方にも分かりやすく解説していきます。
主に使うのは:
- nmcli:NetworkManager用のコマンドラインツール
- ip:低レベルなネットワーク設定コマンド
- 設定ファイルの編集:直接ファイルを書き換える方法
それぞれの特徴と使い分けも説明していくので、状況に応じて最適な方法を選べるようになりますよ。
事前準備:現在の設定を確認しよう

設定を変更する前に、現在のネットワーク状況を確認しておきましょう。
ネットワークインターフェース名の確認
まずは、設定したいネットワークインターフェース(ネットワークカードの名前)を確認します。
ip link show
または
nmcli device status
出力例:
DEVICE TYPE STATE CONNECTION
ens33 ethernet connected ens33
lo loopback unmanaged --
この例では、ens33というイーサネットインターフェースが接続されています。
インターフェース名は環境によって異なり、eth0、enp0s3、ens160などさまざまです。
現在のIPアドレスを確認
現在割り当てられているIPアドレスを確認します。
ip addr show
または
nmcli device show ens33
これで、現在のIPアドレス、サブネットマスク、ゲートウェイなどが確認できます。
方法1:nmcliコマンドを使った設定(推奨)
nmcli(エヌエムシーエルアイ)は、NetworkManagerを操作するためのコマンドラインツールです。
最も推奨される方法で、設定の管理がしやすいのが特徴ですね。
nmcliの基本構文
nmcli [オブジェクト] [コマンド] [オプション]
主なオブジェクト:
- connection:接続プロファイルの管理
- device:デバイスの管理
- general:NetworkManagerの全般設定
DHCPで自動取得する設定
まずは、IPアドレスを自動取得(DHCP)に設定する方法です。
新しい接続を作成する場合:
sudo nmcli connection add type ethernet \
con-name "ens33-dhcp" \
ifname ens33 \
ipv4.method auto
既存の接続を変更する場合:
sudo nmcli connection modify ens33 ipv4.method auto
設定を適用:
sudo nmcli connection up ens33
これで、ルーターから自動的にIPアドレスが割り当てられます。
固定IPアドレスを設定する
サーバー用途では、固定IPを設定することが多いですね。
手順1:接続設定を変更
sudo nmcli connection modify ens33 \
ipv4.method manual \
ipv4.addresses 192.168.1.100/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns "8.8.8.8 8.8.4.4"
各項目の意味:
- ipv4.method manual:手動設定モード
- ipv4.addresses:IPアドレスとサブネットマスク(CIDR形式)
- ipv4.gateway:デフォルトゲートウェイ(通常はルーターのアドレス)
- ipv4.dns:DNSサーバー(複数指定可能)
手順2:設定を適用
sudo nmcli connection up ens33
設定が即座に反映されます。
複数のIPアドレスを追加
1つのインターフェースに複数のIPアドレスを割り当てることもできます。
sudo nmcli connection modify ens33 \
+ipv4.addresses 192.168.1.101/24
先頭の+記号は「追加」を意味します。
削除する場合は-を使います:
sudo nmcli connection modify ens33 \
-ipv4.addresses 192.168.1.101/24
DNSサーバーの追加・変更
DNSサーバーを追加:
sudo nmcli connection modify ens33 \
+ipv4.dns 1.1.1.1
DNSサーバーをすべて置き換え:
sudo nmcli connection modify ens33 \
ipv4.dns "8.8.8.8 1.1.1.1"
設定内容の確認
現在の接続設定を詳しく確認:
nmcli connection show ens33
これで、設定されているすべての項目が表示されます。
接続の管理
接続を無効化:
sudo nmcli connection down ens33
接続を有効化:
sudo nmcli connection up ens33
接続を削除:
sudo nmcli connection delete ens33
nmcliの便利な使い方
対話モードで設定:
sudo nmcli connection edit ens33
対話形式で設定を変更できます。
print ipv4でIPv4設定を表示、set ipv4.addresses 192.168.1.100/24で値を設定、saveで保存します。
設定のリロード:
sudo nmcli connection reload
設定ファイルを直接編集した後に使います。
方法2:ipコマンドを使った一時的な設定
ipコマンドは、より低レベルなネットワーク設定ツールです。
設定は一時的で、再起動すると消えてしまいます。
テストや緊急時の対応に便利ですね。
IPアドレスの割り当て
sudo ip addr add 192.168.1.100/24 dev ens33
複数のIPアドレスを追加することもできます:
sudo ip addr add 192.168.1.101/24 dev ens33
IPアドレスの削除
sudo ip addr del 192.168.1.100/24 dev ens33
インターフェースのオン・オフ
インターフェースを有効化:
sudo ip link set ens33 up
インターフェースを無効化:
sudo ip link set ens33 down
デフォルトゲートウェイの設定
sudo ip route add default via 192.168.1.1
既存のデフォルトルートを削除してから設定:
sudo ip route del default
sudo ip route add default via 192.168.1.1
ルーティングテーブルの確認
ip route show
現在のルーティング設定が表示されます。
ipコマンドの注意点
ipコマンドでの設定は再起動すると消えるため、恒久的な設定にはnmcliまたは設定ファイルの編集が必要です。
ただし、すぐに反映されるため、テスト時には非常に便利ですよ。
方法3:設定ファイルを直接編集
NetworkManagerの設定ファイルを直接編集する方法もあります。
上級者向けですが、スクリプトで自動化する場合などに便利です。
設定ファイルの場所
NetworkManagerの接続プロファイルは、以下のディレクトリに保存されています:
/etc/NetworkManager/system-connections/
または
/etc/sysconfig/network-scripts/
設定ファイルの編集
固定IP設定の例:
sudo vi /etc/NetworkManager/system-connections/ens33.nmconnection
ファイルの内容例:
[connection]
id=ens33
type=ethernet
interface-name=ens33
method=manual address1=192.168.1.100/24,192.168.1.1 dns=8.8.8.8;8.8.4.4;
method=auto
各セクションの説明:
- [connection]:接続の基本情報
- [ipv4]:IPv4設定
method=manual:手動設定address1:IPアドレス/マスク,ゲートウェイdns:DNSサーバー(セミコロン区切り)- [ipv6]:IPv6設定
設定ファイルの権限
セキュリティ上、設定ファイルには適切な権限が必要です:
sudo chmod 600 /etc/NetworkManager/system-connections/ens33.nmconnection
権限が正しくないと、NetworkManagerが設定を読み込まないことがあります。
設定の反映
ファイルを編集した後、NetworkManagerに設定を再読み込みさせます:
sudo nmcli connection reload
sudo nmcli connection up ens33
または、NetworkManager自体を再起動:
sudo systemctl restart NetworkManager
DHCPクライアントの設定
DHCP(自動取得)を使う場合の詳細設定です。
DHCPクライアントIDの設定
一部のネットワークでは、DHCPクライアントIDが必要な場合があります。
sudo nmcli connection modify ens33 \
ipv4.dhcp-client-id "my-client-id"
DHCPホスト名の送信
DHCPサーバーにホスト名を送信する設定:
sudo nmcli connection modify ens33 \
ipv4.dhcp-hostname "myhost"
DHCPタイムアウトの変更
DHCPでIPを取得するまでの待ち時間を変更:
sudo nmcli connection modify ens33 \
ipv4.dhcp-timeout 60
単位は秒です。
静的ルートの追加
特定のネットワークへのルートを追加する方法です。
nmcliで静的ルートを追加
sudo nmcli connection modify ens33 \
+ipv4.routes "10.0.0.0/8 192.168.1.254"
この例では、10.0.0.0/8ネットワーク宛の通信を192.168.1.254経由でルーティングします。
ipコマンドで一時的にルートを追加
sudo ip route add 10.0.0.0/8 via 192.168.1.254
ルートの削除
sudo nmcli connection modify ens33 \
-ipv4.routes "10.0.0.0/8 192.168.1.254"
IPv6の設定

IPv6アドレスの設定方法も簡単に紹介します。
IPv6の自動設定
sudo nmcli connection modify ens33 \
ipv6.method auto
IPv6の固定アドレス設定
sudo nmcli connection modify ens33 \
ipv6.method manual \
ipv6.addresses 2001:db8::100/64 \
ipv6.gateway 2001:db8::1
IPv6を無効化
sudo nmcli connection modify ens33 \
ipv6.method disabled
NetworkManagerの状態確認と制御
NetworkManager自体の管理コマンドです。
NetworkManagerの状態確認
systemctl status NetworkManager
NetworkManagerの起動・停止
起動:
sudo systemctl start NetworkManager
停止:
sudo systemctl stop NetworkManager
再起動:
sudo systemctl restart NetworkManager
自動起動の設定
sudo systemctl enable NetworkManager
無効化する場合:
sudo systemctl disable NetworkManager
トラブルシューティング
よくある問題と解決方法をまとめました。
問題1:設定が反映されない
確認ポイント:
- NetworkManagerが動いているか確認:
systemctl status NetworkManager
- 接続が有効になっているか確認:
nmcli connection show --active
- 接続を再起動:
sudo nmcli connection down ens33
sudo nmcli connection up ens33
問題2:インターネットに繋がらない
確認手順:
ステップ1:IPアドレスの確認
ip addr show ens33
IPアドレスが正しく設定されているか確認します。
ステップ2:ゲートウェイへのping
ping -c 4 192.168.1.1
ゲートウェイに到達できるか確認。
ステップ3:DNSの確認
ping -c 4 8.8.8.8
IPアドレス直接で通信できるか確認。
ステップ4:名前解決の確認
ping -c 4 google.com
ドメイン名で通信できるか確認。DNSが正しく設定されているかがわかります。
問題3:「Connection activation failed」エラー
原因:
設定に誤りがあるか、インターフェースが使用中です。
解決方法:
# 既存の接続をすべて停止
sudo nmcli connection down ens33
# デバイスの状態を確認
nmcli device status
# 接続設定を確認
nmcli connection show ens33
# 問題があれば再作成
sudo nmcli connection delete ens33
sudo nmcli connection add type ethernet con-name ens33 ifname ens33
問題4:DHCPでIPが取得できない
確認ポイント:
- DHCPサーバーが動作しているか
- ネットワークケーブルが接続されているか
- NetworkManagerのログを確認:
sudo journalctl -u NetworkManager -f
強制的にDHCPを再取得:
sudo nmcli connection down ens33
sudo nmcli connection up ens33
問題5:複数のIPアドレスが設定できない
解決方法:
既存のIPを残したまま追加する場合は、+を使います:
sudo nmcli connection modify ens33 \
+ipv4.addresses 192.168.1.101/24
+なしで実行すると、既存のIPが上書きされてしまいます。
設定のバックアップと復元
重要な設定は必ずバックアップを取りましょう。
設定のバックアップ
# 接続設定のバックアップ
sudo cp -r /etc/NetworkManager/system-connections/ \
/root/network-backup-$(date +%Y%m%d)
# または個別ファイルのバックアップ
sudo cp /etc/NetworkManager/system-connections/ens33.nmconnection \
/root/ens33.nmconnection.backup
設定の復元
# バックアップから復元
sudo cp /root/ens33.nmconnection.backup \
/etc/NetworkManager/system-connections/ens33.nmconnection
# 権限を修正
sudo chmod 600 /etc/NetworkManager/system-connections/ens33.nmconnection
# 設定を再読み込み
sudo nmcli connection reload
sudo nmcli connection up ens33
スクリプト化の例
設定を自動化する簡単なスクリプト例です。
固定IP設定スクリプト
#!/bin/bash
# set-static-ip.sh
INTERFACE="ens33"
IP_ADDRESS="192.168.1.100/24"
GATEWAY="192.168.1.1"
DNS="8.8.8.8 8.8.4.4"
# 固定IP設定
nmcli connection modify $INTERFACE \
ipv4.method manual \
ipv4.addresses $IP_ADDRESS \
ipv4.gateway $GATEWAY \
ipv4.dns "$DNS"
# 接続を再起動
nmcli connection down $INTERFACE
nmcli connection up $INTERFACE
echo "IPアドレスを $IP_ADDRESS に設定しました"
使い方:
chmod +x set-static-ip.sh
sudo ./set-static-ip.sh
まとめ:状況に応じて最適なコマンドを選ぼう
AlmaLinuxでコマンドを使ってIPアドレスを設定する方法をまとめます。
主な設定方法:
1. nmcliコマンド(推奨)
- NetworkManagerの標準ツール
- 設定が永続化される
- 管理がしやすい
- 最も推奨される方法
2. ipコマンド
- 低レベルな設定
- 一時的(再起動で消える)
- テストや緊急時に便利
3. 設定ファイル編集
- 直接ファイルを編集
- スクリプト化に適している
- 上級者向け
よく使うnmcliコマンド:
# 固定IP設定
sudo nmcli connection modify ens33 \
ipv4.method manual \
ipv4.addresses 192.168.1.100/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns "8.8.8.8"
# DHCP設定
sudo nmcli connection modify ens33 ipv4.method auto
# 設定を適用
sudo nmcli connection up ens33
# 状態確認
nmcli device show ens33
トラブル時のチェック項目:
- NetworkManagerの状態確認
- インターフェース名の確認
- ゲートウェイへの疎通確認
- DNS設定の確認
- ログの確認
ベストプラクティス:
- 設定変更前にバックアップを取る
- テスト環境で試してから本番に適用
- 設定内容をドキュメント化する
- 定期的に設定を見直す
AlmaLinuxのネットワーク設定は、コマンドラインを使えば素早く確実に行えます。
nmcliコマンドをマスターすれば、GUI環境がなくても、リモートからでも、自在にネットワーク設定を変更できるようになりますよ。
最初は複雑に感じるかもしれませんが、基本的なコマンドを覚えてしまえば、後は応用するだけです。
この記事で紹介したコマンドを実際に試しながら、少しずつ慣れていってくださいね。
サーバー管理の基本スキルとして、ぜひコマンドラインでのネットワーク設定をマスターしましょう!


コメント