LoginSignup
0
1

More than 5 years have passed since last update.

network > port mapper > (IP1,2,3: Port A)を(IP4: Port C,D,E)に変換する

Last updated at Posted at 2017-03-13
動作環境
ホストOS: Windows 10 Pro (64bit) Anniversary Update適用済
VMware Workstation v12.5.1
+ linux (CentOS 6.XもしくはUbuntu 14.04など)



を以下に変換するとテストがしやすくなりそう。二台のゲストOSでテストができる。ここで、それぞれのIP上ではWindows 7を使う。



下から上に変換する場合はvmwareでのThe [incomingudp(受信ポートの割当て)] を設定すればいい気がする。
http://griffonworks.net/freebsd/vmware/nat.html

上から下に変換する場合は、思いつく方法の一つはIP1,IP2,IP3に対してゲストOSをそれぞれ用意して、そこから転送する方法。
軽量linuxを立ち上げて、tinyコードを走らせることはできそう。

Pythonコードなど必要かと思ったが、netcatコマンドでもできそう。
http://stackoverflow.com/questions/11350145/are-there-simple-descriptions-on-port-forwarding-using-python

それぞれゲストOSを用意せずとも、もっと簡単に(少メモリ消費で)できる方法もありそうな気はする。

ゲストOS1つに複数のNICを追加して、それぞれの転送をすればいいような気もする。

転送の方法が見つかった

(追記 2017/03/14)

http://qiita.com/7of9/items/e1e6337c49d279b925e0
に記載の通り、socatを使えば転送できそう。

ゲストOS1つに対して以下のようにする。

  • 複数のNICを有効にする
    • ホストオンリーでいい
  • それぞれのNICに対して転送コマンドを実行する
$ sudo socat UDP4-RECVFROM:6000,fork,bindtodevice=eth0 UDP4-SENDTO:192.168.3.141:7000
$ sudo socat UDP4-RECVFROM:6000,fork,bindtodevice=eth1 UDP4-SENDTO:192.168.3.141:7010
$ sudo socat UDP4-RECVFROM:6000,fork,bindtodevice=eth2 UDP4-SENDTO:192.168.3.141:7020
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1