非モテ男の恋愛VPN

非モテ男の、非モテ男による、【女の子にモテたい】非モテ男のための、モテモテになるまで宣言書

スポンサーリンク

プログラミング

VirtualBoxでソケットプログラミングを行うための環境構築

投稿日:

ネットワークの勉強のために、ソケットを扱ったプログラミングをしています。実際にプログラムを動かすときに、本当はPC2台使ってやりたかったのですが、色々な意味でPC2台を準備できませんでした。そこで、自分のPC1台だけで済む環境を用意しました。こういった、環境を整える記事はネットにあまりないと思ったので、今回書いてみます。



まずVirtualBoxでホストOSとゲストOSを用意します。私の環境は以下の通りです。

  • Windows10
  • Ubuntu18.04 (64bits)
  • VirtualBox6.0.8



VirtualBoxにUbuntuを普通に入れるだけでは、ホストOSとゲストOS間の双方向通信が出来ません。

ゲストOSからホストOSにはpingは通るのですが、逆は上手くいきません。このままでは一方通行になってしまい、通信が出来ません。こうなるのは、ネットワーク設定が"NAT"というタイプにデフォルトで設定されているからです。なのでこのネットワーク設定をホストOSとゲストOS間で双方向通信が出来るように、変更してあげる必要があります。



ネットワーク(アダプター)のタイプには"NAT"の他にいくつかありますが、各種タイプの具体的な違いについては、詳しく説明した記事がたくさんありますので割愛します。今回は、いくつかあるタイプの中から"ホストオンリーアダプター"というのを使っていきます。

上の画像のように、

設定>>ネットワーク>>アダプター2

というように進んでください。ネットワークアダプタ-を有効にするにチェックボックスを入れると、好きなタイプを選択することができるようになります。デフォルトのアダプター1(NAT)に加え、アダプター2にホストオンリーアダプターを追加していきます。ホストオンリーアダプターを追加すると、自動でVirtualBox Host-Only Ethernet Adapterが選択されると思います。上の画像では#2がついていますが、初めて追加する人は#2が付きません。


ここのネットワークアダプターの設定をいじれば、最大4つまでインターフェースを追加することができます。

それではしっかり追加出来ているかipconfigとifconfigで確認してみましょう。

しっかりと追加されているのが確認できます。ちなみにホストオンリーアダプターは、ホストOSとゲストOS間でローカルネットワーク(192.168.198.0/24)を形成しているのが分かりますね。上の画像では分かりませんが、192.168.198.2はDHCPサーバに割り当てられています。

補足ですが、ubuntu画面の"enp0s3"というインターフェースは、ネットワークアダプターにNATを指定してあるので、windowsからenp0s3にpingを通そうとしても、通りません。

それでは、双方向通信ができるなら、どちらからでもpingは通るはずです。試しにpingを通してみます。

両方ともpingが通っていますね。あとは両者を通信するプログラムを書けば上手くいくはずです。



最後まで読んでいただきありがとうございました。

スポンサーリンク

-プログラミング

Copyright© 非モテ男の恋愛VPN , 2019 All Rights Reserved Powered by STINGER.