皆さん、こんにちは。1課のS&mituです。

2月に第6回目の勉強会を実施しました。
LinuxでのIPアドレスの変更とそれに合わせてサービスの再起動を実施してみました。
私たちが想定していた手順は、/etc配下のネットワーク設定ファイルを編集するものでしたが、
調べてみると現在では非推奨のやり方となっているようでした。
想定していた手順であれば知見があるメンバーがいるのと、今まで勉強したコマンドの復習もできるので、
今回はetc配下のネットワーク設定ファイルを編集してIPアドレスの変更を実施してみました。
はたしてこの方法でIPアドレスの変更ができるのか。。。
ぜひ今回の記事を見てみてください。

■事前に想定した大まかな作業の流れ
下記の流れで当日の作業を実施する想定で準備を進めました。
1.現在のIPアドレスを確認
2.設定ファイルの現在の設定値を確認
3.現在の設定ファイルのバックアップを取得
4.設定値編集
5.変更後の差分確認
6.ネットワークサービスの再起動
7.IPアドレスの現在の値を確認

それでは当日どうなったかを書いていきたいと思います。

■当日実施した手順
今まではコマンド単体の勉強を行っていましたが、
今回は実際の作業を意識して実施しました。
そのためここからは手順と実施した結果を項番ごとに見ていきます。

1.現在のIPアドレスを確認〉 
では現在のIPアドレスを確認するために下記のコマンドを実施します。
項番1-1は実行した経験があまりないので、どういった返り値なのか
気になって実行してみました。
1-1.IPアドレス確認の為デバイス名を確認する。
nmcli device

1-2.IP確認の為ネットワーク名を指定してIPアドレスを確認する。
nmcli device show eth0

IP4.ADDRESS[1]:という設定値があればそちらで現在のIPv4のアドレスが確認
できるのですが、上記画像には表示されていません。
本来であれば、GATEWAYの上にIPv4のアドレスが表示されます。

IPアドレスを確認するコマンドで一般的である「ip addr」も実行してみました。

こちらだと確認すべき箇所は[inet]の部分になりますが、こちらだと表示されています。

〈2.設定ファイルの現在の設定値を確認〉 
2-1.rootユーザーに切り替える。
設定変更のためrootユーザーに切り替えます。
su –
2-2.現在ログインしているユーザがrootであることを確認する。
whoami

rootユーザーに切り替えたので、編集すべきファイルがあるディレクトリへ
移動して対象のファイルがあるか確認します。
2-3.ifcfg-eth0があるディレクトリに移動する。
cd /etc/sysconfig/network-scripts/
2-4.移動したディレクトリ内にifcfg-eth0があるかを確認する。
ls -l /etc/sysconfig/network-scripts/ifcfg-eth0

編集予定のファイルがあることが確認出来ました。

3.現在の設定ファイルのバックアップを取得
編集前にバックアップを取得しておきます。
バックアップの取得の際はファイルの末尾にyyyymmddを追記しておくと
いつのファイルかが一目で確認できるので便利です。
3-1.バックアップファイルを作成
cp -ip /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0_20250219.bak

ファイルを作成したら必ずlsコマンドを実施して作成できていることを確認しましょう。

4.設定値編集
4-1.ファイルの内容を確認
まずは現在の設定値を確認します。
cat /etc/sysconfig/network-scripts/ifcfg-eth0

IPADDRやNETMASKが表示されている想定でしたが表示されていません。
この時点でAlmaLinuxはやはり設定変更の方法が違うのか…?と思い始めましたが、今回は練習なので失敗上等で進めてみました。

4-2 ifcfg-eth0の編集画面を開く
ファイルの設定値を確認したので、早速IPアドレスを編集してみましょう。
vi /etc/sysconfig/network-scripts/ifcfg-eth0
4-3. 4-2.で開いたifcfg-eth0の編集画面でIPアドレスを変更する。
IPADDR=変更したいIPアドレスに記載を変える。

今回は練習として実際にインターネットへの接続ではなく、IPアドレスが指定した値になるかの確認のため、練習用として分かりやすい値を追記してみました。

保存して値が追記できたことを確認してみましょう。
4-4.ファイルの内容を確認
cat /etc/sysconfig/network-scripts/ifcfg-eth0

追記できていますね。

〈5.変更後の差分確認〉
では、作業前後のファイルを比較して差分を確認しましょう。
目視で確認は大変なのでdiffコマンドを使用します。
5-1.作業前後の差分を比較
diff /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0_20250219.bak

差分の結果が追記した値のみのため想定通りの返り値となりました。
ここまで想定していた値がなかったりしましたが、手順自体は順調に実施できています。

6.ネットワークサービスの再起動
では、設定を反映させるために一度ネットワークサービスを再起動しましょう。
6-1.サービスの一覧を確認
まず、サービスを理解するため一覧を表示してます。
systemctl list-unit-files –type=service

サービスの一覧が表示されました。[STATE]の表示の意味は下記になります。
enabled →自動起動有効(ON)のサービス
disabled→自動起動無効(OFF)のサービス
static →単体で自動起動設定ができず他のサービスと依存関係があるサービス

6-2.サービスのステータス確認
サービスの一覧を確認したので対象のサービスの状態を確認してみましょう。
systemctl status NetworkManager.service

active状態であることを確認出来ました。
つまり現在サービスは起動している状態です。

6-3.サービスリスタートを実施
ではサービスを再起動しましょう。
service  NetworkManager.service restart

restartを実施した後は返り値がある想定でしたが
何も表示されなかったので[echo $?]を実行してコマンドが正常に実行できているかを確認しました。
[0]が表示されている場合は事前のコマンドが正常に実行できています。
[1]が表示されている場合は正常に実施できていない可能性があるので、事前のコマンドを見直してみてください。

6-4.サービスのステータス確認
サービスを再起動したのでステータスを確認してみましょう。
正常に起動しているでしょうか。
systemctl status NetworkManager.service

active状態であるため再起動は正常に実行できていたようです。

7.IPアドレスの現在の値の確認
最後にIPが変更されているかを確認しましょう。
IPアドレスは変更できているでしょうか。
7-1.IPアドレス確認
ip addr

・・・変わってないですね。
やはりこの方法でのIP変更は対応していないようです。
今回は練習と割り切って次回以降でリベンジしたいと思います。

■感想

今回、私が以前RHELで実施したIPアドレスの変更方法で実施してみましたが
調べてみると新しいOSだと[使用されなくなりました]などの記事を発見し
自分の知識が古くなっていることが分かりました。
OSのバージョンと同じく自分の知識をどんどんアップデートしていかなければ
ならないと痛感したので、今後この勉強会を通して自分の知識をアップデートしていきたいと思います。
1課のメンバーに感想をいただきました!

今回は変更はできずに終わってしまいましたが、次回リベンジに向けて手順の確認を始めています。
果たして無事に変更できるのでしょうか。
次回の勉強会ブログにご期待ください。

The following two tabs change content below.

mitu

愛知県出身で社会人になる際に関東に住み始めました。 趣味はリズムゲーム、歌を歌うこと、たまにプログラミングをすることです。 一度IT業界を離れましたが再度やりたいと思い、日々精進しながら挑戦しております。