11
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【Hyper-V】 仮想スイッチ(NAPT)な内側にいるゲスト OS のサービスを公開する

Last updated at Posted at 2016-04-07

ブログからの転載

Hyper-V で組んだ NAPT の内側にいるゲスト OS を、ホスト OS 経由で他の端末からアクセスするためには、ルーティングテーブルにポートフォワードの情報を登録する。

ポートフォワードを設定する

次のコマンドを流します

Add-NetNatStaticMapping [-NatName] <String> -ExternalIPAddress <String> -ExternalPort <UInt16> -InternalIPAddress <String> -Protocol <Protocol> [-InternalPort <UInt16> ]

ポートフォワードを設定する時には、先に下記情報を把握して下さい。

  • ゲスト OS の IP アドレスとポートフォワードするポート番号
  • ホスト OS が受け付けるポート番号

つまり、ホスト OS の何番のポートで受けて、ゲスト OS の何番のポートにフォワードするかを把握しておきます。

今回は、SharePoint をセミナーで使うことを想定して、手元の仮想環境上の SharePoint をホスト OS にアクセスできる他のマシンからもアクセスできるように追加しました

-ExternalIPAddress は 0.0.0.0 (全てから受け付ける) とします。

# NAT テーブル名を確認
PS> Get-NetNat
Name                             : VmNAPT
ExternalIPInterfaceAddressPrefix :
InternalIPInterfaceAddressPrefix : 10.0.1.0/24
IcmpQueryTimeout                 : 30
TcpEstablishedConnectionTimeout  : 1800
TcpTransientConnectionTimeout    : 120
TcpFilteringBehavior             : AddressDependentFiltering
UdpFilteringBehavior             : AddressDependentFiltering
UdpIdleSessionTimeout            : 120
UdpInboundRefresh                : False
Store                            : Local
Active                           : True

# ホスト OS が受けた他の端末(0.0.0.0)からポート 80 へのアクセスを、ゲスト(10.0.1.10) のポート 80 をフォワードする

PS> Add-NetNatStaticMapping "VmNAPT" -ExternalIPAddress 0.0.0.0 -InternalIPAddress 10.0.1.10 -ExternalPort 80 -Protocol TCP -InternalPort 80

StaticMappingID               : 0
NatName                       : VmNAPT
Protocol                      : TCP
RemoteExternalIPAddressPrefix : 0.0.0.0/0
ExternalIPAddress             : 0.0.0.0
ExternalPort                  : 80
InternalIPAddress             : 10.0.1.10
InternalPort                  : 80
InternalRoutingDomainId       : {00000000-0000-0000-0000-000000000000}
Active                        : True

ポートフォワードを確認する

Get-NetNatStaticMapping [[-NatName] <String[]>]

ポートフォワードを確認する例

PS> Get-NetNatStaticMapping

StaticMappingID               : 0
NatName                       : VmNAPT
Protocol                      : TCP
RemoteExternalIPAddressPrefix : 0.0.0.0/0
ExternalIPAddress             : 0.0.0.0
ExternalPort                  : 80
InternalIPAddress             : 10.0.1.10
InternalPort                  : 80
InternalRoutingDomainId       : {00000000-0000-0000-0000-000000000000}
Active                        : True

ポートフォワードを削除する

Remove-NetNatStaticMapping [[-NatName] <String[]>]

設定したポートフォワードを削除する例

PS> Remove-NetNatStaticMapping "VmNAPT"

確認
この操作を実行しますか?
対象 VmNAPT;0;0 の PolicyStore Local に対して操作 Delete を実行しています
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)  [?] ヘルプ (既定値は "Y"): y
11
18
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
11
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?