環境
ホスト:macOS Mojava バージョン 10.14.6
ゲスト:CentOS 8.0
VirtualBox:バージョン 6.0.14
VirtualBoxで仮想マシンを作る
新規のボタンをクリックします。
名前を入力します。
CentOS〜〜〜と入力すると、自動的に、タイプ、バージョンが切り替わります。
タイプとバージョンを確認して、続きをクリック
メモリーサイズは適当に設定しておきます。少ないと、動作がモッサリ・・・
最低でも2GB以上にしましょう。
仮想ハードディスクを作成します。
VDIを洗濯します。
可変サイズを洗濯しましょう。
それなりのサイズにしておかないと、後々面倒なことに。
余裕を持たせてください。
次にネットワークを設定していきます。
VirtualBoxネットワークの設定
VirtualBoxで一番、面倒なのがネットワーク設定です。
色々と試した結果、ブリッジアダプターかNAT+ポートフォワーディング+ホストオンリーアダプターがオススメです。
この記事では、NAT+ポートフォワーディング+ホストオンリーアダプターで進めていきます。
NAT
NATは下記の接続ができます。
ゲストOS→VirtualBox(ルータの働き)→ホストOS
ゲストOS(CentOS)から、ホストOS(Mac)にアクセスできます。
ゲストOS(CentOS)から、インターネットに接続できるということ(Macがインターネットに接続されている前提)
ただし、ホストOS(Mac)からゲストOS(CentOS)にアクセスできないので、MacのブラウザでCentOSで作ったWordPressなどを操作することができません。
ポートフォワーディング
NATにポートフォワーディングという機能を追加すると、ホストOS(Mac)からゲストOS(CentOS)にアクセスできるようになります。
VirtualBoxの設定・アダプター1
アダプター1に、NAT+ポートフォワーディングを設定します。
先ほど、作成した仮想マシンを選択して、設定をクリック。
ネットワークを選択し、アダプター1を選択。
ネットワークアダプターを有効化して、割り当てがNATであることを確認。
高度の三角マークをクリック。
ポートフォワーディングをクリック。
プラスボタンをクリック
名前:Rule 1(任意の名称)
プロトコル:TCP
ホストIP:0.0.0.0(全ての条件にマッチするので、localhost、ホストの IP、127.0.0.1 などでもアクセスできるようになります)
ホストポート:2222
ゲストIP:空欄
ゲストポート:22
ホストオンリーアダプターの設定
ツールを選択。
作成をクリックすると、自動的に作成されます。
「アダプターを手動で設定」を選択したら、
IPv4アドレスに192.168.58.1
IPv4ネットマスクに255.255.255.0
と自動で設定されました。変更しようとしても変更できませんでした。
DHCPサーバーは有効にしません。
VirtualBoxの設定・アダプター1
ホストネットワークマネージャーの設定が終わったら、アダプター2の設定をします。
仮想マシンを選択。
設定を選択。
ネットワークを選択。
アダプター2を選択。
ネットワークアダプターを有効化にチェック。
割り当てを「ホストオンリーアダプター」にする。
名前を、先程作成したもの(今回はvboxnet2)を選ぶ。
OKをクリック。
CentOSをインストール
CentOSをインストールします。(別記事)
CentOSをインターネットに接続する
CentOSを立ち上げます。
ログインします。最初にユーザー名を入れて、パスワードを入力します。
パスワードは表示されません。
nmtui
コマンドで、nmtuiと入力すると、下記の画面が表示されます。
# nmtui
上下左右のキー、スペースキー、Enterキーを使って設定していきます。
Edit a connectionを選択。
enp0s3から設定していきます。
enp0s3
IPv6 の所を Ignore に設定。
Automatically connect の所にカーソルを合わせて、スペースキーを押して有効(xマークを表示させる)にします。
enp0s8
enp0s8を設定します。
「IPv4 CONFIGURATION」を「Manual」に設定し、「Show」を選択し詳細を表示させます。
「Addresses」の所に、ホストオンリーアダプターで設定したIPアドレスと同じネットワークになるように設定します。
CentOS 8.0 の enp0s8 の IPv4 アドレス末尾の/24はホストオンリーアダプターIPv4ネットマスクで設定した値に対応した値になります。
画面を戻して、Active a connection を選ぶ。
名前の前に*が付いていることを確認します。
*があるとアクティブです。上記の画像は全てアクティブになっています。
Quitで終了します。
NetworkManagerをリスタート
NetworkManagerを下記のコマンドでリスタートします。
# systemctl restart NetworkManager
エラーが表示されなければOKです。
接続確認
接続されているか確認します。
# nmcli device
と入力し、緑色で表示されていれば、接続できています。
グーグルへのpingも確認しておきましょう。
# ping google.com
pingを終了するには「controlキー+cキー」です。
ファイヤーウォール停止
ローカルなので、ファイヤーウォールを停止してしまいます。
ファイヤーウォール停止コマンド
# systemctl stop firewalld
ファイヤーウォール無効化コマンド
# systemctl disable firewalld
CentOSをシャットダウン
下記のコマンドでシャットダウンします。
# shutdown -h now
macを再起動
ホストpcであるmacを再起動をしておきましょう。
macのターミナルでSSH接続をしてみる
ターミナルを起動して、
$ ssh root@192.168.58.101
と打ち込みます。@の後は、CentOSでenp0s8、IPv4の所に192.168.58.101と入力した値と同じものにします。
Yes,Noと聞いてくるので、「yes」
CentOSのパスワードを聞いてくるので、入力します。
これでSSH接続ができました!