YAMAHA SRT100とWindows7でVPN
Mockup image of hands using and typing on laptop with blank white screen on vintage wooden table in outdoor cafe

以前YAMAHAのRT107eとAndroidをWiMAX経由でVPN(L2TP/IPsec)接続をしてみたが、今回はSRT100とWindows7をWiMAX経由でVPN接続してみた。

ルーターの設定

ヤマハさんの設定事例を見る限りL2TP/IPsecでの接続は、同じ設定でいいようなので、RT107eと同じように設定してみた。プロバイダとの接続が完了しており、インターネットに接続出来ている状態と仮定。

VPNクライアントとLAN内の端末が通信できるようにする

ip lan1 proxyarp on  //リモート端末がLAN内と通信するために必須

anonymousを作成

pp select anonymous    //VPN接続のanonymousインターフェースを作成
pp bind tunnel1 tunnel2    //tunnel1とtunnel2を関連付ける
pp auth request mschap-v2  //暗号化方式を指定
pp auth username hogehoge password    //ユーザーhogehogeをパスワードpasswordで作成
pp auth username hagehage password    //ユーザーhagehageをパスワードpasswordで作成
ppp ipcp ipaddress on  //接続時にIPアドレスを取得します
ppp ipcp msext on  //接続時にDNSのIPアドレスを取得します
ip pp remote address pool 192.168.0.10-192.168.0.11    //クライアントに割り当てるIPを指定します
ip pp mtu 1258  //MTUを指定します
pp enable anonymous  //anonymousを有効にします
save  //一旦保存

tunnelを作成

tunnel select 1  //tunnel1を作成
tunnel encapsulation l2tp  //トンネルインターフェースの種別をl2tpに設定
ipsec tunnel 101  //ipsec tunnelのポリシー番号を指定
ipsec sa policy 101 1 esp aes-cbc sha-hmac   //ポリシー番号101のセキュリティゲートウェイ1にsaを定義
ipsec ike keepalive use 1 off   //セキュリティゲートウェイ1にIKEキープアライブの動作を指定
ipsec ike local address 1 192.168.0.1 //自分側のセキュリティゲートウェイ1のアドレスの設定
ipsec ike nat-traversal 1 on  //natを有効にする
ipsec ike pre-shared-key 1 text [事前共有鍵のテキスト]//事前共有鍵の設定
ipsec ike remote address 1 any//クライアント側のIPが不定の場合の設定
l2tp tunnel auth off  //L2TPトンネル認証を行わない設定
l2tp tunnel disconnect time off  //L2TPトンネルの切断タイマ設定
l2tp keepalive use on 10 3  //L2TPのキープアライブを設定
l2tp keepalive log on  //L2TPのキープアライブのログ設定
l2tp syslog on  //L2TPのsyslog出力の設定
tunnel enable 1  //トンネル1を有効にする
save

※tunnel2についても同じ内容で作成

tunnel select 2
tunnel encapsulation l2tp
ipsec tunnel 102
ipsec sa policy 102 2 esp aes-cbc sha-hmac
ipsec ike keepalive use 2 off
ipsec ike local address 2 192.168.0.1
ipsec ike nat-traversal 2
ipsec ike pre-shared-key 2 text [事前共有鍵のテキスト]
ipsec ike remote address 2 any
l2tp tunnel auth off
l2tp tunnel disconnect time off
l2tp keepalive use on 10 3
l2tp keepalive log on
l2tp syslog on
tunnel enable 2
save

natの設定

nat descriptor type 101 masquerade//NATディスクリプタの動作タイプをIPマスカレード(NAPT)に設定
//101はNATディスクリプタ番号で任意の番号
nat descriptor address outer 101 ipcp //外側アドレスをPPインターフェースのアドレスにする
nat descriptor address inner 101 auto  //内側アドレスをautoに設定
nat descriptor masquerade static 101 1 192.168.0.1 esp//静的IPマスカレードでルーターのIPにespをバインド
nat descriptor masquerade static 101 2 192.168.0.1 udp 500 //上と同じくupdの500をバインド
nat descriptor masquerade static 1100 3 192.168.0.1 udp 4500//同じくudpの4500をバインド

IPsecのトランスポートモードの設定

ipsec transport 1 101 udp 1701//トンネル101でudpの1701に対してトランスポートモードで通信する 
ipsec transport 1 102 udp 1701

Windows7側の設定

Windows7側の設定は実に簡単だが、NATを利用するためにレジストリの変更が必要になります。(※レジストリの変更は最悪の場合、OSの再インストールが必要になる場合がありますので、自己責任でお願いします)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent にエントリを追加します。

作成するのはDWORD値、「AssumeUDPEncapsulationContextOnSendRule」という名前で値を2にします。

レジストリに追加できたら、再起動して、新しい接続を作成します。

「接続オプション」で「職場に接続します」を選択して「次へ」

接続オプション

「職場への接続」の「どの方法で接続しますか?」で「インターネット接続(VPN)をしようします」を選択します。

職場への接続

「接続に使用するインターネットアドレスを入力してください」で、ヤマハルーターのPPで取得しているIPアドレスを入力します。

固定IPならそのIPアドレス。ネットボランチDNSを使っているなら、netvoalnte.jpで取得したURLを入力します。接続先の名前は任意ですからわかりやすい名前を入れましょう。

一番下にある「今は接続しない」にチェックを入れて「次へ」をクリック

vpn04

「ユーザー名およびパスワードを入力してください」で、必要項目を入力後、「作成」をクリック

vpn05

「閉じる」をクリックします。

vpn06

「コントロールパネル」-「ネットワークと共有センター」-「アダプターの設定の変更」を開けると、ローカルエリア接続と並んで先ほど作成したVPN接続のアイコンが出来上がっているので、右クリックでプロパティを開きます。

vpn08

「全般」タブの宛先のホスト名に先ほど入力したインターネットアドレスが入っていることを確認します。

「オプション」タブのダイヤルオプションで「Windowsログオンドメインを含める」のチェックを外します。(環境に依ります)

vpn10

「セキュリティ」タブで「VPNの種類」は、「IPsecを利用したレイヤー2トンネリングプロトコル(L2TP/IPSec)」を選択し、「データの暗号化」で、「暗号化が必要」を選択。「認証」では、「次のプロトコルを許可する」で「MS-CHAP V2」を有効にしておきます。

「セキュリティ」タブの「VPNの種類」にある「詳細設定」を開きます。

「事前共有キーを使う」にチェックを入れて、「キー」を入力し「OK」をクリックします。

「ネットワーク」タブでIPv4を選択して「プロパティ」をクリックします。

vpn13

「全般」タブで「詳細設定」をクリックします。

「IP設定」タブで「リモートネットワークでデフォルトゲートウェイを使う」のチェックを外します。「自動メトリック」のチェックを外して、1より大きい適当な数字を入れます。「OK」をクリックします。
この設定は、VPN接続時にインターネット接続をVPNへ振らないようにするためのものです。

vpn15

これで、詳細設定は完了ですので、すべて閉じます。

VPN接続のアイコンをダブルクリックして、接続を開始します。「ユーザー名」と「パスワード」を入力して、「接続」をクリックします。

なぜかつながらない

上記の設定では、SRT100には接続できません。接続を開始しても、「エラー789 リモートコンピューターと最初にネゴシエートするときに、セキュリティ層で処理エラーが検出されたため、L2TP接続に失敗しました。」と表示されます。

SRT100のsyslogを確認すると、ppに適応しているフィルタで、anonymousの接続がrejectされていました。rejectしているフィルターは、「ip policy filter 1500 reject-log pp* * * * *」というフィルタで、初期設定から入っているフィルタです。

このppのフィルタは、結構大事な内容なので、外すわけにいきませんから、anonymous接続を通すようにポリシーフィルタに設定を追加します。※これが正しいやり方かどうかはわかりません。とりあえずanonymousが通る設定にしてみました。

ip policy interface group 1 name=Private local lan1  //インターフェースグループを作成します。
ip policy filter 1400 pass-log * ppanonymous * * *
ip policy filter 1401 pass-log ppanonymous 1 * * *

フィルター番号は、環境に合わせて設定しましょう。

このフィルタで、Windows7からのL2TP/IPsecのVPNが接続できるようになりました。

おすすめの記事