VPCにクライアントからリモート接続する

VPCにクライアントPCからリモート接続(PPTP)してみた。
VPCVPN connectionは、拠点間接続のための機能なので、出先のPCから接続したい、などといった目的には使えない(使いづらい*1 )。そういった場合には、VPC内にVPNリモートアクセスサーバを用意する事になる。今回はVyattaで構成してみた。

準備

  • VPC内にVyatta AMIを起動する(10.0.0.254/24で起動した)
  • Vyatta用のSecurityGroupでGRE(Custom Protocol 47)と1723/tcpを空けておく

サーバ側設定

Vyattaのドキュメント Vyatta_VPN_R6.3_v01.pdfの 240ページあたり "Remote Access VPN Configuration Examples / PPTP VPN Example" を参照しつつ作業。

vyatta@vyatta:~$ configure 
[edit]
vyatta@vyatta# set vpn pptp remote-access outside-address 10.0.0.254
vyatta@vyatta# set vpn pptp remote-access client-ip-pool start 192.168.100.101
vyatta@vyatta# set vpn pptp remote-access client-ip-pool stop 192.168.100.110
vyatta@vyatta# set vpn pptp remote-access authentication mode local 
vyatta@vyatta# set vpn pptp remote-access authentication local‐users username testuser password testpassword
vyatta@vyatta# commit
vyatta@vyatta# save
vyatta@vyatta# exit

クライアント側設定

Windows7クライアントを接続してみます。

ネットワークと共有センターから新しい接続またはネットワークのセットアップをクリックして設定を開始。

  1. 職場に接続するを選択
  2. インターネット接続(VPN)を使用します」を選択
  3. Vyattaに設定したElasticIPアドレスを指定し、今は接続しないのチェックボックスを付けておく
  4. Vyattaに設定したユーザ名とパスワードを設定
  5. 設定変更をするために、一度閉じます
  6. 接続のプロパティ、セキュリティタブで、VPNの種類をPPTPに設定
  7. 接続してみる


  8. VPC内の他のインスタンスへのアクセスを確認
MacOS Xクライアントを接続

システム環境設定のネットワークから接続設定開始。

  1. +ボタンを押し、インターフェースタイプVPNVPNタイプPPTPを選択
  2. サーバアドレスとアカウント名を入れ、認証設定からパスワードを入れる
  3. 詳細設定ですべてのトラフィックVPN接続経由で送信するにチェック(これを入れないとroutingがVPN側に向かない)
  4. 接続ボタンを押すと接続する
  5. 疎通確認

懸念事項

iOSクライアントからうまく繋がらないのが気になります。
L2TP/IPsecの方がよりセキュアだと思いますが、NATとの相性も悪くてVPC上で動かすのは難しいかもしれない。

*1:実際にはIKE/ESPが通り、IPが固定されている or IPが変わる度に毎回設定する、IPsec/BGPを喋れるなら接続できなくはないのですが