AWSでVyatta AMIを使ってVPN接続してみる
2015/02/01
どうも。aws勉強中です。
今回はVyatta AMIのEC2インスタンスを起動してEIPを付与してそこからVPNで接続してみました。
VPC DashboardにVPN Connectionsがあるのでそっちで良いかなーと思っていたのですが、そちらはAWS側で拠点となるIPアドレスを指定しないといけないみたいで、一般家庭だとルータの再起動なんかでIPアドレスが変わってしまうので、それじゃあ使えないなあと思いましたのです。
いろいろ調べてみるとVyattaというソフトウェアルータを使って接続しているブログがいくつかあったので参考にしつつ接続まで試してみました。
構成はこんな感じを想定。
- VPCを作成
- Public Subnetを作成
- Public Subnet内にVyattaインスタンスを作成
- VyattaインスタンスにEIPを付与
- Vyattaインスタンスの設定変更
- クライアントPCからPPTPで接続できることを確認する
Vyattaインスタンスについて
こちらはCommunity AMI のVyatta Core 6.5 R1 x86_64 rev2 (ami-03830f02)を使用しました。
Vyattaのログインについて
Vyattaのログインユーザは「ec2-user」ではなく「vyatta」ユーザみたいです。(今回使用したのがCommunity AMIなので、他のAMIがどうかは不明ですが。)
Vyattaの設定について
ログイン後以下の設定を行いました。
設定モードに入る
1 |
configure |
ローカルユーザ認証
1 |
set vpn pptp remote-access authentication mode local |
接続できるユーザとパスワードを入れます
1 |
set vpn pptp remote-access authentication local-users username ユーザ名 password パスワード |
接続するPPTPクライアントのアドレスプールを設定する
1 2 |
set vpn pptp remote-access client-ip-pool start 10.0.1.1 set vpn pptp remote-access client-ip-pool stop 10.0.1.100 |
外部とする心するIFのアドレス設定
1 |
set vpn pptp remote-access outside-address 10.1.1.251 |
使用するDNSサーバを設定
1 2 |
set vpn pptp remote-access dns-servers server-1 8.8.8.8 set vpn pptp remote-access dns-servers server-1 8.8.4.4 |
設定の保存
1 2 |
commit save |
これでPPTPでの接続から、VyattaサーバにPINGが飛ぶところまでは確認できました。
次はその他インスタンスを用意して実際にほげほげ作業できるか・・
追記:CentOSからVPN接続
1 2 3 |
yum install -y pptp pptp-setup pptpsetup --create "Vyatta" --server "xx.xx.xx.xx" --username "yourname" --password "yourpassword" --encrypt pppd call Vyatta updetach |
こんな感じ。historyにパスワード残るのなんとかならんか。
ifconfigで確認して
1 2 3 4 5 6 7 |
ppp0 Link encap:Point-to-Point Protocol inet addr:172.16.0.1 P-t-P:10.255.254.0 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1496 Metric:1 RX packets:23 errors:0 dropped:0 overruns:0 frame:0 TX packets:32 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:2853 (2.7 KiB) TX bytes:2916 (2.8 KiB) |
sshをする。
1 |
ssh -i private.pem -l vyatta 10.255.254.0 |
接続を着る場合は以下。VPNでアタッチしている接続を全て切る。
1 |
pkill pppd |
更に追記:
上記の記述でvyattaまでは接続できますが、vyattaから先に接続するには一度vyattaにsshしないといけません。これはVPNに繋いでいる端末のルーティングが設定されていないためです。10.1.1.0/24のアクセスはppp0へ行くようにルーティングして、ppp0のアクセスはをVyattaのIPをデフォルトゲートウェイとします。
以下の設定を追加しましょう。(このコマンドはシステム終了時にリセットされます。)
1 2 |
route add default gw 10.1.1.251 ppp0 route add -net 10.1.1.0 netmask 255.255.255.0 ppp0 |
うまくいかない:)
参考:
VPC上にVyattaでPPTPサーバを構築する
http://blog.serverworks.co.jp/tech/2013/12/27/vyatta_ppt-2/