目的
VirtualBox を使って CentOS を動かしているが
起動するたびにIPアドレスが変わってしまってイライラする!
というわけでアドレスを固定にした際のメモ。
環境
ホストOS は Mac
VirtualBox は Version 5.0.4
ゲストOS は CentOS 7.1
ネットワークはブリッジ接続を使用
試した時期は 2016年の9月
事前にやっておくこと
デバイスの確認
まずはこのコマンドで デバイス を確認しよう。
$ ifconfig
enp0s3: 略
ブリッジ接続なので、デバイスは enp0s3 を使用しているようだ。
default gateway の確認
もう一つ、このコマンドで default gateway のアドレスをチェックしておこう。
$ route
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.0.1 0.0.0.0 UG 100 0 0 enp0s3
略
192.168.0.1 のようだ。
忘れちゃいけない NetworkManager
NetworkManager 、その名の通りネットワーク周りをアレコレしてくれるサービス。
(GUI の時に使われるイメージだけど、CUI でもしっかり機能するんだろうか)
今回の手順ではこれが動いていると失敗するので、停止しておく。
サービスを停止するだけではなく、OS起動時の自動起動設定も無効にしておこう。
# 状態を確認
systemctl status NetworkManager.service
# サービスの停止
systemctl stop NetworkManager.service
# 自動起動設定の無効化
systemctl disable NetworkManager.service
備忘メモ:chkconfigはもう使えない
NetworkManager 停止時、
chkconfig コマンドを使ったら「systemctl を使え!」と怒られてしまった。
そうか、サービス周りはごっそり変わったんだった。
その際の注記はコレ。
注記: この出力は SysV サービスのみであり、ネイティブな systemd のサービスは含まれていません。
systemd services. SysV 設定のデータはネイティブな systemd の設定によって上書きされます。
systemd サービスを一覧表示するには 'systemctl list-unit-files' を使用してください。
特定のターゲットにおいて有効化されているサービスを確認するには、
'systemctl list-dependencies [target]' 。
ネットワーク設定
現在の設定をバックアップしておこう
ネットワーク周りは失敗すると後が大変・・・なので、
今の設定はバックアップを残しておくことをオススメする。
設定ファイルはこれだ。
/etc/sysconfig/network-scripts/ifcfg-enp0s3
設定を書き込む
バックアップが済んだら、IPアドレスを固定にするための情報を書き込もう。
BOOTPROTO=none
IPADDR=xxx.xxx.xxx.xxx ← 固定にするIPアドレス
NETMASK=255.255.255.0
GATEWAY=xxx.xxx.xxx.xxx ← 先ほど確認した default gateway のIPアドレス
NAME=enp0s3
DEVICE=enp0s3
TYPE=Ethernet
ネットワークの再起動
以下のコマンドでネットワークサービスを再起動することで、設定が有効になる。
systemctl restart network.service
コマンドが失敗する場合は、まずは設定内容が間違っていないかよく確認すること。
設定内容が間違っていない場合…
そもそも設定方法が間違っている可能性があるため、その時は書籍やgoogle先生に頼ろう。
感想
ifcfg-xxx の設定ファイルを書き込むだけでうまくいってしまった。
昔はかなり苦労していた気がするが…
OSのバージョンアップで、易しくなったということだろうか。