中田真秀(なかたまほ)のブログ

研究について、日常について、その他。

Macportsを使ってMacからVPNで理研につなぐ方法

2012-07-29 11:33:18 | 日記
理研のネットワークにつなぐ為にはVPNが必須です。ただ、推奨方法では、VPNで接続するにも
いちいちSafariが必要で(私はfirefox派なので使わない)、接続用クライアントの直接利用も
非推奨(今まで使えていたけど最近のアップデートで接続できなくなりました)。イロイロ設定も面倒で
やはりコマンドラインで一発、ファイルはコレとアレを指定、という感じにしたいものです。
ということでMacportsをつかってMacからVPNで理研につなぐというtipsです。

Macportsからnet/openconnectをインストールしましょう。

* sudo ports install openconnect
これでソフトウェアのインストールはokです。
また、net/vpnc, net/tuntaposxが依存関係よりインストールされます。
net/tuntaposxはtunとtapというトンネルデバイスでカーネルのモジュールで、
openconnectにはtunが必要です。

* tuntaposxのブート時自動ロード
sudo launchctl load -w /Library/LaunchDaemons/org.macports.tuntaposx.plist

* リブートし、tunデバイスがあるか確認します。
$ ls /dev/tun*
/dev/tun0	/dev/tun12	/dev/tun2	/dev/tun6
/dev/tun1	/dev/tun13	/dev/tun3	/dev/tun7
/dev/tun10	/dev/tun14	/dev/tun4	/dev/tun8
/dev/tun11	/dev/tun15	/dev/tun5	/dev/tun9


* 必要なファイルを用意します。

acccCA.cer
00_v000000-00_riken@riken.jp.p12

上はルート認証局、および証明書で、前者はダウンロード、後者はVPNの利用を申し込みをすると際メールで送られてきます。
00_v000000-00_riken@riken.jp.p12は個人個人で変わってきますので置き換えてください。

* つなげます。

sudo openconnect --key-password=XYZ --cafile=/Users/maho/bin/acccCA.cer --certificate=/Users/maho/bin/00_v000000-00_riken@riken.jp.p12 --script=/opt/local/etc/vpnc/vpnc-script vpn.riken.jp

上のファイルはすべて/Users/maho/binにおいてあると仮定しています。また、
--key-password=XYZのXYZについては申し込みの際メールに書いてあるパスワードに書き換えてください。

* 結果

$ sudo openconnect --key-password=XYZ --cafile=/Users/maho/bin/acccCA.cer --certificate=/Users/maho/bin/00_v000000-00_riken@riken.jp.p12 --script=/opt/local/etc/vpnc/vpnc-script vpn.riken.jp
Attempting to connect to XXX.XXX.XXX.XXX:XXX
SSL negotiation with vpn.riken.jp
Connected to HTTPS on vpn.riken.jp
GET https://vpn.riken.jp/
Got HTTP response: HTTP/1.0 302 Object Moved
SSL negotiation with vpn.riken.jp
Connected to HTTPS on vpn.riken.jp
GET https://vpn.riken.jp/+webvpn+/index.html
Got CONNECT response: HTTP/1.1 200 OK
CSTP connected. DPD 30, Keepalive 20
Connect Banner:
| This is Advanced-net VPN.
| You are XX group!
|
....
add net XXX.XX.X.X: gateway XXX.XX.X.X

となってつなぐことができます。

他にもFreeBSDでの接続を確認しています。

* 最後に
Ciscoのを使わなくていいのは気楽で良いですね。Ciscoを使うと、AnyConnect VPNの管理が必要だったり
REPLACE_AsaName2という分けわからんプロファイルがインストールされたりします。
さらに、この程度のことなのにSafariが必要で、いちいちブラウザ立ち上げないと
いけません。Safariのバージョンによってはだめだとあります。
また、32bit環境じゃないとダメだったり、Javaのランタイムが必要、かつ、Safariで使うときにJavaを
利用するとせねばならなかったり、面倒です。

この方法だと大変楽です。