Vagrant+VirtualBox上のホストに外部からアクセス

パブリックネットワークを使って、Vagrant+VirtualBoxのホストにアクセスする。

構成

構成図は以下のとおり:

システム構成

Vagrant+VirtualBoxの設定

WiFi経由の場合

vagrantfileに以下を追加。

config.vm.network :public_network, :bridge => "en0: Wi-Fi (AirPort)"

VirtualBoxは無変更。

host(ubuntu)が起動したら、IPアドレスを確認。ここでは"192.168.128.157"とする。

USB Network Adopter 経由の場合

USBポートにNetwork Adopterを挿して使う場合、vagrantfileとVirtualBoxの変更が必要。

筆者の場合、USB Network Adopterは"en3: AX88179A"と認識されたので、vagrantfileには以下を追加。

config.vm.network :public_network, :bridge => "en3: AX88179A"

VirtualBoxのネットワークは、以下のように変更する。

ネットワークアダプタの変更

sshの設定

Vagrant host側 (Ubuntuの場合)

/etc/ssh/sshd_configを修正する。

PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication yes
PermitEmptyPasswords yes

次に以下のコマンドでポート22と5432を解放する。

$ sudo ufw allow 22
$ sudo ufw allow 5432
$ sudo ufw enable
$ sudo ufw reload
$ sudo ufw status
公開キー転送

以下コマンドでid_rsa.pubvagrant側ホストに転送する。

$ ssh-copy-id -i ~/.ssh/id_rsa.pub [リモートユーザー]@[リモートサーバーのホスト名]

これでhost(OSX)からssh、およびpsqlでアクセスできるようになる。

参考

blog.flinters.co.jp

qiita.com

qiita.com