Windows でパケット転送を有効にするにはどうすればいいですか?

Windows でパケット転送を有効にするにはどうすればいいですか?

Linux システムでは、以下のコマンドを使用してパケット転送を有効にすることができます。

~ # sysctl net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1

しかし、Windowsで同じ機能を実現するにはどうすればよいでしょうか?

私が使うWindows Server 2008 R2

答え1

レジストリ キー に移動してみてくださいHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters。まだ存在しない場合は、REG_DWORDという名前の新しい値を作成しますIPEnableRouterIPEnableRouterを に設定し1て再起動します。これでパケット転送が有効になります。

静的ルートを追加するには、routeコマンドを使用します。

答え2

特定のインターフェースまたはすべてのインターフェースの転送を有効にする場合は、PowerShell から簡単に実行でき、再起動は必要ありません。(注: 設定を変更する場合は、必ず管理者として実行してください)

すべてのインターフェースの転送ステータスを確認するには、次のコマンドを実行します。

Get-NetIPInterface | select ifIndex,InterfaceAlias,AddressFamily,ConnectionState,Forwarding | Sort-Object -Property IfIndex | Format-Table

これにより、すべてのインターフェースと現在の転送構成を示すわかりやすい表が提供されます。

次に、転送を有効にする場合は、次のコマンドを実行します。

Set-NetIPInterface -ifindex <required interface index from table> -Forwarding Enabled

すべてのインターフェースで有効にしたい場合は、次のコマンドを実行します。

Set-NetIPInterface -Forwarding Enabled

その後、再度無効にしたい場合は、「Enabled」を「Disabled」に置き換えるだけです。

そして、有効にすることを忘れないようにしてくださいルーティングとリモート アクセス サービス(デフォルトでは無効になっています) 次のコマンドを実行します:

Set-Service RemoteAccess -StartupType Automatic; Start-Service RemoteAccess

関連情報