仮想マシンとの接続はNAT + ホストオンリーアダプタで設定します。
ゲストOSには固定IPアドレスを割り当てます。
最後にTeratermにてsshで接続確認します。
■1. VirtualBoxの設定
VirtualBoxで仮想マシンを新規作成
ホストオンリーアダプタの追加
CentOSのインストール
■2. ホストOS側(Windows)の設定
ホストPCのイーサネットを共有
ホストオンリーアダプタのIPアドレスを変更(変えたい場合のみ)
■3. ゲストOS側(CentOS7.6)の設定
ネットワークの設定
(固定IPの割り当て、ゲートウェイ、自動接続など)
ssh接続の設定(DNS無効化)
以上が大まかな設定となります。
■1. VirtualBoxの設定
仮想マシンの新規作成
Oracle VM VirtualBoxを起動し、新規ボタンにて作成を開始します。
Name: CentOS7.6
タイプ: Linux
バージョン: Red Hat(64-bit)
特に必要がなければ、すべてデフォルト設定のままで良いと思います。
仮想マシンの設定変更(ホストオンリーアダプタの追加)
作成したCentOS7.6を選択して設定ボタンで仮想マシンの設定を開き、ネットワークを選択。
アダプター1、NATはそのままの設定でOK
アダプター2のタブを選択し、有効化にチェックを入れ、「ホストオンリーアダプタ」「VirtualBox Host-Only Ethernet Adapter」を選択します。
Graphics Controllerを「VBoxVGA」に変更します。(変えないと起動途中にエラーが一瞬表示されます)
CentOS7.6のインストール
設定が終わったら仮想マシン(CentOS7.6)を起動させます。
ダウンロードしておいたCentOSのイメージファイルを指定して起動させます。
インストーラ画面が出るので、画面に従って進めます。
SYSTEMのところに警告マークがでているのでクリックします。
そのまま何も変えずにDoneをクリック
警告マークが消えて「Begin Installation」ボタンで進めるようになります。
インストール中にROOTパスワードの設定とユーザの作成をします。
インストールが終了したらRebootで再起動させます。
■2. ホストOS側(Windows)の設定
イーサネットの状態を開き、プロパティを開く。
共有タブを開き、チェックを入れて接続を許可する。
上記のように警告がでる。 ホストオンリーアダプタにIP(192.168.137.1)が勝手に割り当てられます。
ホストオンリーアダプタのIPアドレスを変更
※この設定は特に必要なければ不要です。
私はサブネットをホストPCと合わせたかったので変更しました。
「VirtualBox Host-Only Network」のプロパティを開く
「インターネットプロトコル バージョン4(TCP/IPv4)」のプロパティを開く
IPアドレスを[192.168.11.250]に変更。
※ここで変更したIPアドレスが、ゲストOSのGatewayとなります。
変更しなかった場合は「192.168.137.1」
ipconfigコマンドにて設定を確認
> ipconfig
Windows IP 構成
イーサネット アダプター VirtualBox Host-Only Network #3:
接続固有の DNS サフィックス . . . . .:
リンクローカル IPv6 アドレス. . . . .: fe80::7999:c782:e18a:eae7%17
IPv4 アドレス . . . . . . . . . . . .: 192.168.11.250
サブネット マスク . . . . . . . . . .: 255.255.255.0
デフォルト ゲートウェイ . . . . . . .:
イーサネット アダプター イーサネット:
接続固有の DNS サフィックス . . . . .:
リンクローカル IPv6 アドレス. . . . .: fe80::101f:a328:7352:eeaa%3
IPv4 アドレス . . . . . . . . . . . .: 192.168.11.2
サブネット マスク . . . . . . . . . .: 255.255.255.0
デフォルト ゲートウェイ . . . . . . .: 192.168.11.1
以上でWindows側の設定は終了です。
■3. ゲストOS側(CentOS7.6)の設定
ゲストOS(CentOS7.6)を起動してログインします。
※以下の設定の変更はroot権限が必要です。
nmcli deviceコマンドでネットワークデバイスを確認
# nmcli device
DEVICE TYPE STATE CONNECTION
enp0s3 ethernet disconnected --
enp0s8 ethernet disconnected --
小さい方(enp0s3)がNAT、大きい方(enp0s8)がホストオンリーアダプタになっていると思います。
どちらも切断状態にあるので自動接続を有効にして、enp0s8に固定IPを割り当てる。
nmtui を使ってネットワークの設定を変更
# nmtui
enp0s3を開き、「Automatically connect」にチェックを入れてOKする。
次にenp0s8を開き、まずは上記のように「Automatically connect」にチェックを入れ、
CONFIGURATION を「Manual」 に変更して以下のように設定する
IPv4 Address: 「192.168.11.101/24」
※サブネット(192.168.11の部分)はGatewayと同じにする。 /24の指定も忘れずに!
Gateway: 「192.168.11.250」
※先に割り当てた、ホストオンリーアダプタのIPアドレスを指定する
DNS servers: 「192.168.11.250」
Gatewayと同じにする
変更したらネットワークを再起動します。
# systemctl restart network
nmcli deviceにてconnectedになっている事を確認する
ip addr でも確認してみる
# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:ab:8f:e1 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global noprefixroute dynamic enp0s3
valid_lft 85263sec preferred_lft 85263sec
inet6 fe80::169e:33ca:6d0f:8994/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:bd:e5:d7 brd ff:ff:ff:ff:ff:ff
inet 192.168.11.101/24 brd 192.168.11.255 scope global noprefixroute enp0s8
valid_lft forever preferred_lft forever
inet6 fe80::ed56:9457:8861:cbb4/64 scope link noprefixroute
valid_lft forever preferred_lft forever
ssh接続の設定(DNS無効化)
※DNSへの問い合せのタイムアウト待ちが発生して接続に時間がかかってしまうのでDNS使用を無効化します
# vi /etc/ssh/sshd_config
次の1行を追記して保存します。
UseDNS no
sshdを再起動する
# systemctl restart sshd
以上でCentOS側の設定は完了です。
TeraTermにて接続を確認する。
コマンドラインがでたら接続完了です。
外部に接続できるかpingで確認。 (Yahoo.co.jp 98.137.246.7)
# ping 98.137.246.7 -c 5
PING 98.137.246.7 (98.137.246.7) 56(84) bytes of data.
64 bytes from 98.137.246.7: icmp_seq=1 ttl=42 time=150 ms
64 bytes from 98.137.246.7: icmp_seq=2 ttl=42 time=142 ms
64 bytes from 98.137.246.7: icmp_seq=3 ttl=42 time=151 ms
64 bytes from 98.137.246.7: icmp_seq=4 ttl=42 time=131 ms
64 bytes from 98.137.246.7: icmp_seq=5 ttl=42 time=149 ms
--- 98.137.246.7 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4019ms
rtt min/avg/max/mdev = 131.971/145.065/151.155/7.296 ms```