OracleVMで構築したCentOS7をNATを使用してSSH、外部ネットワーク接続を行うまで
自己紹介
サーバーサイドエンジニア2年目のtakaと申します。普段はPHPやjsといった言語、最近はさくらVPS上にCentOSを使用したアプリケーションサーバーを構築しています(できるとは言っていない。。。)
いつもは社内用に簡易的なドキュメントを作成しています、その延長線上ネットでいろいろな記事を参考にさせて頂いているので自分なりにまとめてみました。
つたない部分はご愛嬌とさせてください(笑)
経緯
OracleVMにてCentOS7環境を構築したが仮想環境から外部ネットワークに接続するのに時間がかかってしまいました、備忘録としてドキュメントに起こそうと思い記事ににしました。
また、本ドキュメントでは仮想環境から外部ネット接続のPing接続を可能とするまで記載いたします。
環境
簡単に構築環境を下記に記載します。
詳細は聞いていただければ追記しますが、だいぶノーマルな構成となっています。
- OracleVM
- CentOS7
- Windows10
概要
NAT接続を行い外部ツール(Rlogin)にてSSH接続を行えるようにします。
また初期設定では外部ネットワークへの接続ができない(yumなどが使えない)ためNATを使用した外部ネットワークへの接続も行えるようにします。
1. ホストOS の IP アドレスを確認(現在のPC)
この手順では、自分の PC の IPアドレスを確認します。
1-1. コマンドプロンプトを起動
アプリ検索で" cmd "または”コマンドプロンプト”で表示されます。
1-2. 現在のIPを確認する
コマンドプロンプト内で下記コマンドを入力してEnterキーを押す
現在利用しているネットワークが表示される
wifi を利用しているので " Wireless Lan adapter Wi-Fi "の項目を確認します。
IPアドレス [ 192.168.10.107 ] である事が確認できました。メモしておきます。
2. CentOS 上の IP アドレスの確認(仮想環境)
この手順では、作成した仮想環境CentOS7を起動し、内部IPを確認します。
2-1. CentOS7 を起動し、ログイン
VMの起動や構築方法は別途記載予定。。。
2-2. CentOS 上の IP アドレスを確認する
$ip a
項目 enp0s3 の inet の行を見ると、 IP アドレスが [ 10.0.2.15 ]である事が確認できます。
3. OracleVirtualBox 上で CentOSのNAT設定
この手順では手順1と手順2で確認したIPを使用しVM上でNAT設定を行う
※設定する際は実行中のOS(CentOS7)を停止させる必要がある。
停止を行わないとネットワーク設定が正しく行えない為。
3-1. 実行中の OS を右クリックし、 [ 設定(S) ]をクリック
3-2. [ ネットワーク ]タブを開き、[ 高度 ]を開き、 [ ポートフォワーディング ] をクリック
3-3. +をクリック、各項目を記入する
名前:ssh(任意)
プロトコル:TCP
ホスト IP : 手順 1 で確認した IP アドレス
ホストポート:お好みの数字(1024 - 65535の範囲で)
ゲスト IP:手順 2 で確認した IP アドレス
ゲストポート: 22
4. CentOS 上で sshd の動作確認
4-1. CentOSにログイン後、rootユーザー に切り替えます。
#su
4-2. sshd が動作しているか確認
#systemctl status sshd
※ inactive となっている場合下記コマンドを実行しネットワーク設定を再起動
#systemctl start sshd
#systemctl restart NetworkManager
#systemctl restart network
5. Rlogin から CentOS へ ssh 接続
Teraturmでも可能ですが、僕自身Rloginが使いやすいのでRloginでSSH接続を行います。
FTPクライアントソフトであれば大丈夫です。
5-1. 各項目を入力
- ホスト(T): "CentOSで利用しているユーザー名”@"手順1で確認した IPアドレス"
- TCPポート#(P): 手順3-3 で入力したホストポートの値
自分の場合
- ホスト(T): resty@192.168.10.107
- TCPポート#(P): 2222
- ユーザー:root
- パスワード:設定した任意のパスフレーズ
5-2. 続行をクリック
5-3. SSH接続完了
6. NAT経由でインターネットに接続できるようにする
• enp0s3
はVirtualBoxのネットワーク構成がデフォルト(ネットワークアダプタ1がNAT)のときから存在するため、enp0s3にNAT用の設定をする。
6-1. 各ステータスの確認
外部ネットワークの接続確認
#ping www.google.co.jp
ping: www.google.co.jp: Name or service not known
デバイスの初期状態を確認
# nmcli device status
DEVICE TYPE STATE CNNECTION
enp0s3 ethernet disconncted --
enp0s8 ethernet disconncted --
コネクションの初期状態を確認
# nmcli connection show
NAME UUID TYPE DEVICE
Wired connection 1 ********-****-****-****-************ ethernet --
enp0s3 ********-****-****-****-************ ethernet --
コネクションenp0s3の状態を確認
# nmcli connection show enp0s3
connection.autoconnect no
6-2. コネクションの自動設定
自動設定をONにする
# nmcli connection modify enp0s3 connection.autoconnect yes
コネクションの状態を確認
# nmcli device status
DEVICE TYPE STATE CNNECTION
enp0s3 ethernet conncted enp0s3
enp0s8 ethernet disconncted --
コネクションの状態を確認
# nmcli connection show
NAME UUID TYPE DEVICE
enp0s3 ********-****-****-****-************ ethernet enp0s3
Wired connection 1 ********-****-****-****-************ ethernet --
6-3. 外部ネットワーク接続確認
# ping www.google.co.jp
PING www.google.co.jp (142.250.196.131) 56(84) bytes of data.
64 bytes from nrt12s36-in-f3.1e100.net (142.250.196.131): icmp_seq=1 ttl=117 time=9.17 ms
64 bytes from nrt12s36-in-f3.1e100.net (142.250.196.131): icmp_seq=2 ttl=117 time=8.87 ms
^C
--- www.google.co.jp ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1003ms
参考サイト
SSH接続に関して
NAT接続に関して