MR2オーナー吉田貴幸のブログ

MR2(SW20)オーナー吉田貴幸のブログ。仕事はITインフラエンジニア。愛車の記事とIT関連の情報を発信しています

【Windows】[Powershell] VPN接続時に特定の通信のみをVPN経由で通信させる(スプリットトンネル)

f:id:takayuki-yoshida:20190421223552p:plain

 

はじめに

VPN接続した際に、指定した宛先だけVPNへ通信させ、その他の通信はVPNを経由せず、直接インターネット接続ができるようにする”スプリットトンネル設定”を、PowerShellで設定する方法を紹介します。

すべての通信がVPNを経由してしまうことで、VPN接続先のインターネット回線に通信が集中してしまい帯域を圧迫してしまうなど問題があるときに、この設定を行うことで通信を分散させることができます。

この設定は、VPNを接続するWindows10のPCごとに設定を行います。

 

現在のVPN設定の確認

現在設定されているVPN設定を表示します。(コマンドの結果は例です)

  • 既にVPNの接続設定がされている前提です。スプリットトンネルを有効にするには先にVPN接続設定が完了している必要があります。
  • Nameは、VPN名でスプリットトンネルの設定時に使用します。
  • SplitTunnelingが、スプリットトンネルの設定が有効(True)、無効(False)の値です。

PS> get-vpnconnection

Name                  : VPN名
ServerAddress         : **********
AllUserConnection     : False
Guid                  : {CFEF7B63-0CF0-4753-B42D-38A3A084C477}
TunnelType            : L2tp
AuthenticationMethod  : {MsChapv2}
EncryptionLevel       : Optional
L2tpIPsecAuth         : Psk
UseWinlogonCredential : False
EapConfigXmlStream    :
ConnectionStatus      : Disconnected
RememberCredential    : True
SplitTunneling        : False
DnsSuffix             :
IdleDisconnectSeconds : 0

 

スプリットトンネルの有効化

VPN名を指定してスプリットトンネルを有効にします。

  • "VPN"は現在設定されているVPN名に合わせて変更してください
PS> set-vpnconnection -Name "VPN" -SplitTunneling $true

 

VPNを経由する通信を指定する

VPN経由で通信したい宛先をしています。

  • ここではプライベートアドレス「10.0.0.0/8、172.16.0.0/12、192.168.0.0/16」はVPN経由となる設定を例とします。
  • "VPN"は現在設定されているVPN名に合わせて変更してください
PS> Add-VpnConnectionRoute "VPN" -DestinationPrefix "10.0.0.0/8" -PassThru
PS> Add-VpnConnectionRoute "VPN" -DestinationPrefix "172.16.0.0/12" -PassThru
PS> Add-VpnConnectionRoute "VPN" -DestinationPrefix "192.168.0.0/16" -PassThru

 

VPNスプリットトンネルの無効化、経路の削除

もし、スプリットトンネルの無効化、通信系を設定を削除したい場合は、以下のコマンドで削除できます

  • "VPN"は現在設定されているVPN名に合わせて変更してください

PS> #スプリットトンネルの無効化PS> set-vpnconnection -Name "VPN" -SplitTunneling $false


PS> #経路削除PS> Remove-VpnConnectionRoute "VPN" -DestinationPrefix "10.0.0.0/8" -PassThruPS> Remove-VpnConnectionRoute "VPN" -DestinationPrefix "172.16.0.0/12" -PassThruPS> Remove-VpnConnectionRoute "VPN" -DestinationPrefix "192.168.0.0/16" -PassThru

 

参考

docs.microsoft.com