IPsec:EAP-MSCHAPv2: WIndows 7のセットアップ

Windows 7でEAP-MSCHAPv2のセットアップでstrongSwanサイトの設定でよかったが認証でエラーが起こったため調べて設定したときのメモです。

CAはあらかじめp12形式に変換したものをWindows 7において置き、管理者権限でmmcを実行しFile>Add/Remove Snap in…からCetificates選択しComputer accountでsnap-inする。Console RootからTrust Root Certification Authorities>Certificatesに移動してp12形式のCAをインポートします。

Nework ConnectionsにつくったVPNアイコンのプロパティのセキュリティタブは下図のように設定しています。

Control PanelからNetwork and Sharing Centerを開き、Set up a new connection or network -> Connect to a workplaceを選択します。そしてUse my Internet connectionを選択します。

次にInternet address:をFQDNで入力します。そしてDon’t connect now; just set it up I can connect laterチェックして、Nextボタン、次にCreateボタンを押してウィンドゥを閉じます。

次にネットワークの設定に戻り、Change adaptor settingsを選択し新しくできたVPNのアイコンのプロパティ画面を開き次のように設定します。

設定が済んだらトレイのネットワークアイコンをクリンクしてVPN接続を行います。

トラブルシュート

次のようなエラーが起きた場合の対処法です。

検索してみたところ次のように設定します。

管理者権限でregeditを開き次のディレクトリに移動します。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RasMan\Parameters

DWORDを追加しNameDisableIKENameEkuCheckとしValue Data1とします。

Windows 7側のmtuの設定

ipsec属性をipヘッダーに付け加えるためmtuサイズが大きくなり調整する必要があるかも知れません。Windowsの場合は少し設定が煩雑です。ネットワークの一覧表示はDOS画面から次のようにします。

netsh interface ipv4 show subinterface

どのインターフェースをターゲットにするかわかったら次の例のようにします。この例ではmtuは1352に設定します。

netsh interface ipv4 set subinterface "VPN名" mtu=1352 store=persistent

最後にサーバーのゲートウェイのipsec.confの設定を参考に載せておきます。

config setup
 plutostart=no

conn %default
 ikelifetime=60m
 keylife=20m
 rekeymargin=3m
 keyingtries=1
 keyexchange=ikev2

conn common
 left=xxxxxxx.vps.xxxxx.jp
 leftcert=vpnServerCert.pem
 leftsourceip=%config
 leftid=xxxxxxx.vps.xxxxx.jp
 leftauth=pubkey
 leftfirewall=yes

conn vps-client-windows
 leftsubnet=0.0.0.0/0
 right=%any
 rightsourceip=192.168.200.0/24
 rightauth=eap-mschapv2
 eap_indentity=%any
 ike=aes256-sha1-modp1024!
 esp=aes256-sha1!
 dpdaction=clear
 dpddelay=300s
 rekey=no
 leftdns=xx.xx.xx.254
 also=common
 auto=add

References

Buffalo WMR-300 トラベルルーターにOpenWrtをインストール

OpenWrtを入れられる小型ルーターはいくつかありますが、バッファローのルーターはある程度スペックをクリアしてるのと値段がなんと言っても手頃なので安心して使えます。ほかにはRavPower RP-WD02なんてマイクロSDリーダーにUSBポート、さらにバッテリーまでついて魅力的だがに日本では販売してないので、海外から取り寄せる送料を考えたら現実的ではありません。そこででバッファローという選択になりますが、100%とは言えないまでもスペック的にはそこそこ満足できる製品がこのトラベルルーターです。

早速、OpenWrtを入れてみることにしました。インストール方法は簡単ですが準備がそれなりに必要です。というのも最初にRAMにロードするFWを作る必要があります。そこでVBに開発環境を作りDebian 8(64bit)をインストールしてみました。つぎにOpneWrtのソースをgitで持ってきてサイトBuffalo WMR-300にある要領で作りファームウェア(以下FW)をtftpで送り込んでみました。debianのtfpd-hpaはinetデーモンも必要なのでインストールして設定しておく必要があります。FWをRAMに送り込んだら設定画面にアクセスして公式FWにアップグレードすれば、めでたくインストールは完了します。私が作ったFWは次のところにあります。

WMR-300 Custom ROM

Image Generatorを使ったファームウエアの作成

トラベルルーターのフラッシュメモリの容量が8MBと限られているので必要なパッケージのみで構成したカスタムファームウェアを作成しました。usbはどうも電源を取るだけのものらしいので関連のパッケージを外しておきました。Image Builderを使うとソースからビルドするより簡単に作成することができます。

OpenWrt-ImageBuilder-15.05.1-ramips-mt7620.Linux-x86_64.tar.bz2

Image Generator (Image Builder) – EN

Image 1:

#!/bin/sh

make image PACKAGES=\
"libiwinfo libiwinfo-lua liblua libubus-lua libuci-lua lua\
 luci luci-app-firewall luci-lib-ip luci-lib-nixio\
 luci-mod-admin-full luci-proto-ipv6 luci-proto-ppp rpcd\
 uhttpd uhttpd-mod-ubus -wpad-mini wpad iperf ipset kmod-tun\
 nano openssh-client openssh-sftp-client openssl-util zlib\
 iptables-mod-filter iptables-mod-nat-extra ppp-mod-pppoe\
 xl2tpd ppp-mod-pppol2tp ntpd privoxy\
 kmod-crypto-authenc kmod-crypto-cbc kmod-crypto-crc32c\
 kmod-crypto-deflate kmod-crypto-des kmod-crypto-hash\
 kmod-crypto-hmac kmod-crypto-iv kmod-crypto-manager\
 kmod-crypto-md5 kmod-crypto-pcompress kmod-crypto-rng\
 kmod-crypto-sha1 kmod-crypto-sha256 kmod-crypto-user\
 kmod-crypto-wq kmod-crypto-crc32c kmod-sched-core kmod-sched-connmark\
 kmod-iptunnel kmod-iptunnel4 kmod-iptunnel6 iptables-mod-filter\
 kmod-ipt-ipsec kmod-ipsec kmod-ipsec4 kmod-ipsec6\
 kmod-udptunnel4 kmod-udptunnel6 kmod-lib80211\
 iptables-mod-ipsec -kmod-usb2 -kmod-usb-ohci\
 ddns-scripts luci-app-ddns luci-app-privoxy\
 luasocket lua-sha2 lua-bencode uboot-envtools"

この例ではL2TPをデフォルトで使えるようにし、strongSwanはパッケージをあとからインストールできるようにモジュール入れました。strongSwanのメタパッケージをインストールすると、ipパッケージも自動的にインストールするがあとでip-fullに入れ替えます。privoxyもデフォルトで入れておき、あやしいwifiスポットに対して間接的に接続できるようにしました。注意することはログが相当溜まるのでLuciの設定でデフォルトから最小限のログ出力にしたほうが良いでしょう。さもないとログがいっぱいになりシステムが止まります。sshクライアントはRSA鍵でログインできるようにdropbearのsshから変更しました。wpadはwpaエンタープライズ用でも使えるようにフル装備のパッケージに入れ替えました。

これだけの機能を入れても残りはだいたい900KBちょっと残っているので、まだまだ余裕があります。

Image 2:

必要最小限の構成で作ってみました。

#!/bin/sh

#make image PROFILE=Default PACKAGES=\
make image PACKAGES=\
"libiwinfo libiwinfo-lua liblua libubus-lua libuci-lua lua\
 luci luci-app-firewall luci-lib-ip luci-lib-nixio\
 luci-mod-admin-full luci-proto-ipv6 luci-proto-ppp rpcd\
 uhttpd uhttpd-mod-ubus -wpad-mini wpad ipset kmod-tun\
 nano openssh-client openssh-sftp-client openssl-util zlib\
 iptables-mod-filter iptables-mod-nat-extra ppp-mod-pppoe\
 kmod-sched-core kmod-sched-connmark\
 iptables-mod-filter\
 kmod-lib80211\
 -kmod-usb2 -kmod-usb-ohci\
 luasocket lua-sha2 lua-bencode uboot-envtools\
 -ip ip-full"

# UPDATE: OpenWRT 18.06.1

make image PROFILE=wmr-300 PACKAGES=\
"libiwinfo libiwinfo-lua liblua libubus-lua libuci-lua lua\
luci luci-app-firewall luci-lib-ip luci-lib-nixio\
luci-mod-admin-full luci-proto-ipv6 luci-proto-ppp rpcd\
uhttpd uhttpd-mod-ubus -wpad-mini wpad-wolfssl ipset kmod-tun\
nano zlib\
iptables-mod-filter iptables-mod-nat-extra \
kmod-sched-core kmod-sched-connmark\
iptables-mod-filter\
kmod-lib80211\
-kmod-usb2 -kmod-usb-ohci\
luasocket lua-sha2 lua-bencode"

 

 

References:

Buffalo WMR-300 [OpenWrt Wiki]