投稿

2月, 2015の投稿を表示しています

ルーター内のSoftEtherでWAN(UDP)高速化機能を使用する

ルーター内のSoftEtherでWAN(UDP)高速化機能を使用する 前回の記事でVyOS+SoftEtherによるUDP高速化機能を実現したが、いくつかの問題点がある。

VyOSのバージョンアップ時に毎回SoftEtherを入れなおさないとならないルーターの機能とVPNの機能は分離しておきたい
(普通のルーター環境でも実現したい)
そこでUDP高速化機能の仕様について問い合わせてみた。
まとめてみるとUDPのアクセス方法が見えてきた。

UDPが開放されているかはUDPホールパンチングで確認する
→サーバー側からまずUDPパケットを送信する通信方法は特別ではなく通常の通信方法で行われる
→エフェメラルポートを用いてポートを確定(OSの仕様に準拠)
以上の事から、以下の条件を満たせば容易にルーター内でUDP高速化機能を実現することが出来る事がわかる。

サーバーOSのエフェメラルポートを制限し、範囲を特定・狭めるルーターからUDPの開放を行う(エフェメラルポートの範囲)
これらの機能を実現するためにはSoftEtherを実行するサーバーは専用OSとしたほうが望ましい。
(エフェメラルポートを絞るので他の通信があると被ってしまい塞がってしまう可能性があるため)

■実装例 Windows Severを用いてSoftEther専用サーバーを立ててみる

1.Windows OSのインストール(省略) 2.エフェメラルポートを制限する ここでは使用するポートを1025~2025(1000個)とする。
プロトコルは一応TCPとUDP両方設定しておく。
設定はコマンドラインで出来る。
netsh int ipv4 set dynamicport tcp start=1025 num=1000
netsh int ipv4 set dynamicport udp start=1025 num=1000
netsh int ipv6 set dynamicport tcp start=1025 num=1000
netsh int ipv6 set dynamicport udp start=1025 num=1000 3.ルーター側でポートフォワーディングする 以下はVyOSでの設定
接続用の5555(TCP)とUDP高速化機能用の1025~2025(TCPとUDP)を開放する。
set na…