12
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

vagrantで立ち上げた環境にPrivateIpでssh接続ができなかった

Last updated at Posted at 2015-05-23

#vagrantで立ち上げた仮想環境にプライベートIPでssh接続ができなかった

##はじめに
vagrantで仮想環境を立ち上げたとき、プライベートIP(デフォルト:192.168.33.10)でsshが出来ず、個人的に結構詰まったのでメモ。
ちゃんとした原因が分かった訳じゃないのでまた追記します。

##目的

vagrantで立ち上げた仮想環境のeth1に192.168.33.10を割り振る。
ssh 192.168.33.10でssh接続が出来るようにする。

##環境
OS X : 10.9.5
VirtualBox : 4.3.28
Vagrant : 1.7.2

##エラー内容
vagrantのインストールなどは割愛。
仮想環境を立ち上げる所からで...

input.
$ vagrant up

仮想環境を立ち上げたとき、ログにエラーが出た。

output.
The following SSH command responded with a non-zero exitstatus.
Vagrant assumes that this means the command failed!
ARPCHECK=no /sbin/ifup eth1 2> /dev/null

Stdout from the command:

Gerät eth1 scheint zu fehlen, Initialisierung verzögert.


Stderr from the command:

eth1にssh接続できないようだ。
loでも接続出来ないか確認してみる。

input.
$ vagrant ssh

もしくは

input.
$ ssh vagrant@127.0.0.1 -p 2222
$ vagrant@127.0.0.1's password: vagrant

loだと接続することが出来る。
仮想環境のネットワークを確認してみると

input.
$ ifconfig
output.
eth0      Link encap:Ethernet  HWaddr 08:00:27:0D:65:9F  
          inet addr:10.0.2.15  Bcast:10.0.2.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe0d:659f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:534 errors:0 dropped:0 overruns:0 frame:0
          TX packets:342 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:58601 (57.2 KiB)  TX bytes:47212 (46.1 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

eth1が設定されていないようだ。

##解決法

###エラー内容の確認
上記でeth1が設定されていないことがわかったので、まずeth1の状態を調べてみる

input.
dmesg | grep eth1
output.
udev: renamed network interface eth1 to eth2

どうやらeth1がeth2にrenameされているようだ。
という訳でネットワークスクリプトの設定を見に行ってみる。

input.
sudo vim /etc/udev/rules.d/70-persistent-net.rules
/etc/udev/rules.d/70-persistent-net.rules.
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:e4:9f:43", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:0d:65:9f", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

eth1がなくeth2が設定されている。
ここでeth2をeth1に変更する

/etc/udev/rules.d/70-persistent-net.rules.
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:e4:9f:43", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1" 

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="08:00:27:0d:65:9f", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

###eth1の設定ファイルも編集する

input.
sudo vim /etc/sysconfig/network-scripts/ifcfg-eth1
/etc/sysconfig/network-scripts/ifcfg-eth1.
NM_CONTROLLED=no
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.33.10
NETMASK=255.255.255.0
DEVICE=eth1
PEERDNS=no
input.
sudo service network restart

ifconfigで確認するとeth1に192.168.33.10が割り振られている。

これでホストのターミナルからsshできるようになった。

12
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?