PowerShell でポートフォワードを設定する
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 にアクセスできる他のマシンからもアクセスできるように追加しました
は 0.0.0.0 (全てから受け付けるぞぃ) とします。-ExternalIPAddress
ポートフォワードを設定する例
# 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
ディスカッション
コメント一覧
まだ、コメントがありません