はじめに
Windows10にVagrantをを入れてCentOS7をインストールしよう(1、2、3、4、5、6)の方法で
いくつも仮想環境を作ったり消したりしていたのですが、
ある時Vagrantfileに設定したprivate_networkが有効にならないという現象が起こったので対処法を調べました。
使用ツール
- Tera Term
原因
Vagrantfileのprivate_network設定にauto_config:false
を記載していなかったため、
Vagrantが自動でネットワークを設定してしまっていたためでした。
IPアドレスがそれぞれ
192.168.33.10
、192.168.33.20
、192.168.33.30
、192.168.33.40
の4つの仮想環境を作成し、192.168.33.30
、192.168.33.40
の仮想環境を消して、
192.168.33.50
の仮想環境を新たに作ったら、
Vagrantが新しく作った仮想環境に192.168.33.30
のIPアドレスを振ってしまい、
「192.168.33.50
を設定したはずなのに、なぜ192.168.33.30
になってしまうの?」
と悩むことになったのです。
修正手順
1. Vagrantfileの修正
2. Vagrantfile再読み込み
3. 仮想環境にログインしてネットワーク確認
4. デバイスの状態確認
5. デバイスの接続プロファイルの詳細を確認
6. ipv4.addressesに指定したいIPアドレスを設定
7. デバイス再起動
8. pingを打ってうまくいったか確認
やってみよう
1. Vagrantfileの修正
Vagrantfileの該当部分にauto_config:false
を追記します。
config.vm.network :private_network, ip: "192.168.33.50"
config.vm.network :private_network, ip: "192.168.33.50", auto_config:false
2. Vagrantfile再読み込み
以下のコマンドでVagrantfileを再読み込みします。
vagrant reload
3. 仮想環境にログインしてネットワーク確認
Tera Termで仮想環境にログインして、以下のコマンドでネットワークを確認します。
ip addr
この時点では、まだIPアドレスは192.168.33.30
になっていると思います。
4. デバイスの状態確認
以下のコマンドでデバイスの状態を確認します。
nmcli device
以下のように表示されると思います。見るべきデバイスはeth1です。
DEVICE TYPE STATE CONNECTION
eth0 ethernet connected System eth0
eth1 ethernet connected System eth1
lo loopback unmanaged --
STATEがdisconnected
になっていたら以下のコマンドでデバイスの接続を行います。
sudo nmcli device connect eth1
5. デバイスの接続プロファイルの詳細を確認
以下のコマンドでデバイスの接続プロファイルの詳細を確認します。
nmcli con show eth1
結果がずらずらーと表示されますので、その中のipv4.addresses
という欄を見てください。
192.168.33.30
と表示されているはずです。
これを192.168.33.50
に変更するのが次の工程です。
6. ipv4.addressesに指定したいIPアドレスを設定
以下のコマンドでipv4.addresses
を変更します。
sudo nmcli con mod eth1 ipv4.addresses "192.168.33.50/24"
sudo nmcli con mod eth1 ipv4.method "manual"
7. デバイス再起動
以下のコマンドでデバイスを再起動します。
sudo nmcli device disconnect eth1
sudo nmcli device connect eth1
##8. pingを打ってうまくいったか確認
ping 192.168.33.50
pingが返ってきたら成功です。
ip addr
これで確認してもよいです。
参考サイト
Vagrantでprivate_networkを設定できないときの対処方法
関連ページ
Windows10にVagrantをを入れてCentOS7をインストールしよう
1. VagrantインストールからVagrantfileを設置まで
2. 仮想マシンの操作
3. WinSCP、Tera Termに秘密鍵でログイン
4. WinSCP、Tera Termにrootユーザーでパスワードログイン
5. zip/unzipをインストール
6. Vagrantにて仮想環境を配布