5
1

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 3 years have passed since last update.

大学のVPNの制限を回避した話

Last updated at Posted at 2021-04-01

はじめに

経緯を飛ばしたい方はこちら

私が通学してる大学は家から大学のVPNを通してアクセスするサイトで履修登録や成績確認をします。
自分が使用しているデスクトップパソコンにはGPUが二枚積んであり、普段マイニングをしていました。

ある日、いつも通りマイニングをしながら成績確認をするために3分ほどVPNを接続したところ
後日VPNの利用規約に反しているとのことで、

大学「君マイニングしたでしょ」
ぼく「あっ・・・」
大学「大学の資源の不正利用ね」
という風にお叱り(注意)を受けました。

以前からゲーム中に成績確認したかったり、VPN接続中のSpotifyの挙動がおかしかったり、自宅鯖をLANでSSH接続中に成績確認したかったりしたかったため、その成績確認するサイトのみVPN経由するルーティングをすることで解決しようとなったわけです。

追記
反省文書いたら許されました。ルーティング設定をしっかりしますって書いたら面白いやつがいるとうわさされたようです。
なんで?()

しばらくこれで運用してみて、もしルーティングがミスってた場合僕はどうなるんでしょう(

免責

この情報で直接的または間接的に被ったいかなる損害についても、私は一切の責任を負いません。

やり方

1.VPN接続のプロファイル作成

Windowsの標準機能だったり、ほかのVPNソフト等を使って普通にVPN接続をしてください。

私は"Kyutech"というプロファイル名(VPN接続名)で作成しているためスクリーンショットはその名称で撮影されています。

2.デフォルトゲートウェイの変更

1.を済ましたら、VPN用の仮想LANアダプタが作成されていると思います。
コントロールパネル->ネットワークとインターネット->ネットワーク接続を開いて、当該接続用アダプタのプロパティを開いてください。
image.png
プロパティ画面のネットワークタブにあるインターネットプロトコル バージョン4(TCP/IPv4)を選択、そのプロパティを開き、そののち、全般タブから詳細設定を選択してください。
image.png  image.png

詳細設定を開くとデフォルトは下のスクリーンショットのようになっていると思います。

image.png 

それを赤矢印のように、リモートネットワークでデフォルトゲートウェイを使うのチェックを外しクラスベースのルートの追加を無視するのチェックを追加してください。
image.png

クラスベースのルートの追加を無視するのチェックが外れていると、VPN接続先のIPアドレスが宛先と同一の場合VPN経由で流れます。

つまり、VPN接続先のIPアドレスと同一のアドレスがLAN内に存在する場合、LAN宛先のパケットがVPN経由で流れてしまいます。

この段階でVPNの接続を再接続すると、すべてのパケットでVPNを通さず通信していることが確認できると思います。

グローバルアドレスを確認したり、tracertコマンドでパケットの流れを確認するとよいでしょう。

3.ルーティングの追加

Powershellで作業していきます。

VPN接続をした状態で

Get-VpnConnection

と入力すると

PS C:\Windows\system32> Get-VpnConnection


Name                  : "VPN_Name"
ServerAddress         : ***
AllUserConnection     : False
Guid                  : {***}
TunnelType            : ***
AuthenticationMethod  : {***}
EncryptionLevel       : ***
L2tpIPsecAuth         : ***
UseWinlogonCredential : ***
EapConfigXmlStream    :
ConnectionStatus      : Connected
RememberCredential    : True
SplitTunneling        : ***
DnsSuffix             :
IdleDisconnectSeconds : ***

とVPNの接続情報が表示されます。

その**"VPN_Name"(各自で置き換えてください)と、VPN経由で接続したい宛先のIPアドレスを取得して、"203.0.113.0/24"**のところに置き換えてください。

特定のサイトのみVPN接続したい場合、***.***.***.***/32のようにサブネットマスクを設定するとよいでしょう

Add-VpnConnectionRoute "VPN_Name" -DestinationPrefix "203.0.113.0/24" -PassThru

を実行すると、

PS C:\Windows\system32> Add-VpnConnectionRoute "VPN_Name" -DestinationPrefix "203.0.113.0/24" -PassThru


DestinationPrefix : 203.0.113.0/24
InterfaceIndex    :
InterfaceAlias    : VPN_Name
AddressFamily     : IPv4
NextHop           : 0.0.0.0
Publish           : 0
RouteMetric       : 1
PolicyStore       :

のように表示されたら完了です。

複数のサイトをVPN経由で接続するよう設定したい場合は3の工程を繰り返してください。

ルーティング設定の確認

Get-NetRoute -InterfaceAlias

とPowershellに入力すると確認することができます。

PS C:\Windows\system32> Get-NetRoute -InterfaceAlias VPN_Name

ifIndex DestinationPrefix                              NextHop                                  RouteMetric ifMetric PolicyStore
------- -----------------                              -------                                  ----------- -------- -----------
30      255.255.255.255/32                             0.0.0.0                                          256 25       ActiveStore
30      224.0.0.0/4                                    0.0.0.0                                          256 25       ActiveStore
30      ***.**.***.**/32                               0.0.0.0                                          256 25       ActiveStore
30      203.0.113.0/24                                 0.0.0.0                                            1 25       ActiveStore

RouteMetricの数値(優先度)が1になっている行の設定を見るとよいでしょう。

ルーティング設定の削除について

Powershellにて下記を入力すると削除されます。

Remove-VpnConnectionRoute -ConnectionName "VPN_Name" -DestinationPrefix "203.0.113.0/24" -PassThru

このように設定することにより、VPN接続毎に設定することができ、永続的にルーティング設定を適用させることができました。

終わりに

とても簡単に設定することができ、なんでもっと前から調べておかなかったんだろうかと悔やんでおります。
これだけで本当にマイニングがVPN経由から外れてるか少し不安なので、VPN接続するときはマイニング止めるのは心がけようと思います:frowning2:

この記事が少しでも参考になればうれしいです。

以上、備忘録も兼ねたVPNのルーティングの設定方法でした。

参考記事

特定の宛先だけ VPN経由で通信させる
Windows10でVPN接続時に自動でrouting設定する方法
特定の宛先だけ VPN経由で通信させる(PowerShellで設定)
Windowsのtracertでネットワークの経路を調査する

5
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
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?