こんにちは、ワッキーです。
ここ数年でリモートワークの導入が急速に進み、定着した時代になりました。
そのためローカル環境をオフィス環境に接続する機会が増え、ローカル環境からソース管理(社内Git)などへアクセスする際に、SSH Tunnel(以下、踏み台サーバー)を経由する必要がある場面もあると思います。
ローカル仮想環境(ゲストOS)から社内Gitなどへ接続する場合は、普段使っているPCで踏み台サーバーに接続するだけでなく、ゲストOSでの設定を行わなければ接続は出来ません。
更に、ゲストOS内でのDocker開発の場面では、Dockerでの設定も必要になります。
今回は、例として社内Gitへの接続方法を紹介致しますが、踏み台サーバーを経由する必要があるものであれば、同様の方法でゲストOSやゲストOSのDockerから接続できます。
接続ルートは、以下のようになります。
踏み台サーバーとは
目的のサーバーにアクセスするための中継サーバーのことです。
踏み台サーバーを利用する理由はそれぞれの環境によりますが、以下のようなものがあげられます。
- サーバーに直接アクセス出来ないため、外部からアクセスされるリスクを軽減できる。
- アクセス制御の対象を踏み台サーバーに限定できるため運用負荷が軽減できる。
- どこの誰がいつアクセスしたかログを簡単に取ることができる。
PCのIPアドレスを確認
1.検索ボックスに、「コマンドプロンプト」と入力
2.「コマンドプロンプト」アプリを選択
3.ipconfigコマンドを実行
Wi-Fiでインターネットに接続している場合、Wireless LAN adapter Wi-Fi内のIPv4アドレス(今回の場合は192.168.0.101)をコピーします。
このIPアドレスは、ゲストOSでの接続設定(Ubuntu)の項目で、使用します。
※PCのローカルIPを静的IPに設定するのをお勧めします。
PCを踏み台経由で接続するための設定
踏み台サーバーへの接続はPuttyを利用しているため、例としてPuttyの説明になります。
1.踏み台サーバーへの接続設定を行う
※各環境にあった設定を行ってください。
2.Connection→SSH→Tunnelsを選択
3.「Local ports accept connections from other hosts」にチェックを入れる
ここにチェックを入れることにより、ゲストOSとSSH Tunnelを共有できます。
4.Openをクリックし、踏み台サーバーに接続する
5.踏み台サーバー経由で社内Gitにアクセス出来るか確認してください。
VirtualBoxでの接続設定(Ubuntu)
ネットワーク設定
1.VirtualBoxの「設定」を選択
2.「ネットワーク」を選択
3.アダプター1:NAT
4.アダプター2:ホストオンリーアダプター
ポートフォワーディングの設置は不要です。
5.「OK」を押下
ゲストOSでの接続設定(Ubuntu)
1.ゲストOSでネットワークのアイコンをクリック
2.「有線設定」を開く
3.ネットワークプロキシを開く
4.手動を選択し、以下のように設定する
IPアドレスは、「PCのIPアドレスを確認」の項目でコピーしたものを入力します。
踏み台経由のポート番号を「10081」として進めます。 ※各環境にあったポート番号を入力してください。
5.踏み台サーバー経由でゲストOSから社内Gitにアクセス出来るか確認してください。
ゲストOSのDocker内から社内Gitにアクセスする
設定例① コンテナ
1.docker-compose.ymlで、アクセスできるようにしたいコンテナの設定を行う
environmentを追加します。
※各PCのIPアドレスを設定してください。
environment:
- HTTP_PROXY=192.168.0.101:10081
- HTTPS_PROXY=192.168.0.101:10081
2.docker-compose.ymlが配置されているディレクトリ内で、
sudo docker-compose upでDockerコンテナを起動する
設定例② Linux環境(.envファイルを使った方法)
1.docker-compose.ymlがあるフォルダー内に.envファイルを作成する。
※docker-compose.ymlと同一ファイル内にある「.env」という名前のファイルで宣言された環境変数は、自動で参照できるようになっています。
2..envファイルに以下のコードを追加する
HTTP_PROXY=192.168.0.101:10081
HTTPS_PROXY=192.168.0.101:10081
(ftpは状況に応じて設定します)
FTP_PROXY=192.168.0.101:10081
3.docker-compose.ymlを開き、アクセスできるようにしたいコンテナの設定を行う
environmentを追加します。
environment:
- HTTP_PROXY=$HTTP_PROXY
- HTTPS_PROXY=$HTTPS_PROXY
(ftpは状況に応じて設定します)
- FTP_PROXY=$FTP_PROXY
4.docker-compose.ymlが配置されているディレクトリ内で、
sudo docker-compose upでDockerコンテナを起動する
5.踏み台サーバー経由でゲストOSのDocker内から社内Gitにアクセス出来るか確認してください。
以上の設定で、ゲストOSのDocker内から踏み台サーバー経由で社内Gitに接続ができます。