AWS VPC
若干ハードル高いですが、ヨチヨチ歩きでいきます。
色々調べた結果、AWSではVPNサーバは自前で用意する必要があるので、
PublicSubnetにVPNサーバを置いて、
PrivateSubnetにセキュリティを確保したいサーバを置く構成がいいのではと。
ハードウェアVPNは、運用考えると楽だとは思うのですが、接続者が色んな場所にいるので(基本モバイルルータ)
VPC作成
ダッシュボードからウィザード使って作ります。「VPC with Public and Private Subnets」を選択。
フルデフォルトで作成。
NATインスタンスのKeyPair忘れずに。
NATインスタンス
NAT インスタンス - Amazon Virtual Private Cloud
プラス、UDP1194の解放
NATインスタンスのSource/Dest. Checkを無効に。(元々無効)
$ sudo vi /etc/sysctl.conf net.ipv4.ip_forward = 1 $ sudo /sbin/sysctl -p
接続方式どうしようかと迷ったんですが、
クライアントもWindowsがほとんどなので、PPPTPが良かったんですが、
諸々の理由から心折れまして、OoenVPNにしました。
OpenVPNのインストールと設定。yumでサクッと。
証明書を作成
OpenVPNの設定(その1:認証用ファイルの生成) | Blog on fuketch.net
OpenVPNでもプラグインなどでユーザパスワード認証出来るらしいですが、
[OpenVPN TIPS] 証明書認証ではなく、ID/パスワード認証を使用する
OpenVPNが起動せず、うまく動作しませんでした。まぁ私の設定が悪い可能性が高いですが...
server.confはこんな感じ
port 1194 proto udp dev tun ca ca.crt cert server.crt key server.key dh dh2048.pem #script-security 2 #client-cert-not-required #username-as-common-name #auth-user-pass-verify /etc/openvpn/auth.py via-file server 10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "route 10.0.1.0 255.255.255.0" keepalive 10 120 persist-tun persist-key client-to-client duplicate-cn comp-lzo status /etc/openvpn/openvpn.log verb 3
管理者都合からだと鍵をたくさん用意するのが面倒なので、
同じ鍵で複数接続を許可するのが、duplicate-cnオプションらしいです。
これ指定しないと同じ鍵で接続した場合、
後の接続が優先されて、前の接続は切断されます。
実際は、あんまりサクサク進まなくて、手こずった感ありますが、
なんとかVPNで接続できて、Privateなインスタンスにアクセスする事が出来ました。
いいですね。
お疲れ様でした。
参考
Amazon VPCにVyattaを使ってVPN接続をしてみた - まめ畑
suz-lab.com - このウェブサイトは販売用です! - suz-lab リソースおよび情報
複数のAmazon VPCのプライベートネットワークをOpenVPNを使って接続する | DevelopersIO