以前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を入力します。接続先の名前は任意ですからわかりやすい名前を入れましょう。
一番下にある「今は接続しない」にチェックを入れて「次へ」をクリック
「ユーザー名およびパスワードを入力してください」で、必要項目を入力後、「作成」をクリック
「閉じる」をクリックします。
「コントロールパネル」-「ネットワークと共有センター」-「アダプターの設定の変更」を開けると、ローカルエリア接続と並んで先ほど作成したVPN接続のアイコンが出来上がっているので、右クリックでプロパティを開きます。
「全般」タブの宛先のホスト名に先ほど入力したインターネットアドレスが入っていることを確認します。
「オプション」タブのダイヤルオプションで「Windowsログオンドメインを含める」のチェックを外します。(環境に依ります)
「セキュリティ」タブで「VPNの種類」は、「IPsecを利用したレイヤー2トンネリングプロトコル(L2TP/IPSec)」を選択し、「データの暗号化」で、「暗号化が必要」を選択。「認証」では、「次のプロトコルを許可する」で「MS-CHAP V2」を有効にしておきます。
「セキュリティ」タブの「VPNの種類」にある「詳細設定」を開きます。
「事前共有キーを使う」にチェックを入れて、「キー」を入力し「OK」をクリックします。
「ネットワーク」タブでIPv4を選択して「プロパティ」をクリックします。
「全般」タブで「詳細設定」をクリックします。
「IP設定」タブで「リモートネットワークでデフォルトゲートウェイを使う」のチェックを外します。「自動メトリック」のチェックを外して、1より大きい適当な数字を入れます。「OK」をクリックします。
この設定は、VPN接続時にインターネット接続をVPNへ振らないようにするためのものです。
これで、詳細設定は完了ですので、すべて閉じます。
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が接続できるようになりました。