LoginSignup
31
37

More than 5 years have passed since last update.

AWSと自宅をVPNで接続した際のメモ1

Posted at

自宅側のActiveDirectoryとAWS側のWebサーバを連動させてみる。
まずはVPNを張る所まで。

環境

自宅側
グローバルIP:XXX.XXX.XXX.XXX
ローカルネットワーク:192.168.1.0/24
VPNサーバのIP:192.168.1.7

AWS側
グローバルIP:YYY.YYY.YYY.YYY
ローカルネットワーク:10.0.0.0/24 (Public側)
ローカルネットワーク:10.0.1.0/24 (Private側)
VPNサーバのIP:10.0.0.6 (Public側)
VPNサーバのIP:10.0.1.6 (Private側)

自宅側のセットアップ

参考
ユーザガイド
さくらのVPSにVyOSをインストールする

インストール

最初はCDからブートされるので、ログインしてからユーザーガイドに従ってインストールを行う。
ID/passはvyos/vyos
ログイン後install imageでインストール開始。

セットアップ

各種設定はコンフィグモードによって操作するらしい。

プロンプトの末尾が「$」になっている状態はCiscoルータなどでいうユーザモードです。
設定を変更するためにはコンフィグモードへ遷移する必要があります。

$ configure

プロンプトが「#」に変わりコンフィグモードに遷移するので、下記の通りIPアドレスの設定を流し込んでいきます。

set interface ethernet eth0 address [IPADDRESS/MASK]
set system gateway-address [GATEWAY ADDRESS]

参考サイトに倣って、まずはsshでログインして作業が出来る様に以下のセットアップを行う。
1. IPアドレスの割り当て
2. sshサービス起動設定

$ configure

# set interface ethernet eth0 address 192.168.1.7/24
# set system gateway-address 192.168.1.1
# set service ssh port '22'
# commit
# save
# exit

なお、set inte[tab]と入力するとset interfaceといった具合に入力補完される。

動作確認
ping 8.8.8.8

メモ
設定削除について
IPアドレスを削除する場合delete interface ethernet eth0 address 192.168.1.7/24と打つ。
これも[tab]で入力補完される。

AWS側

参考
VyattaでVPCを拠点間接続する

AWSの画面で色々と設定を実施。

VPC

VPCは10.0.0.0/16で作成。
SubnetはPublic10.0.0.0/24と、Private10.0.1.0/24の2つを作成する。

EC2

ami-07f47b06を利用してPublic側に配置する。
Security Groupは、SSHとCustom UDP(500)とCustom Protocol(50)の3つを、いずれもSource My IPで定義しておく。

ルートテーブル

Private用のルートテーブルとして、宛先が192.168.1.0/24の場合は上記で作成したEC2インスタンスに向けるように設定する。
スクリーンショット 2015-04-30 21.47.14.png

ENI

Privateに所属するENIを作成して、先程作ったEC2インスタンスに割り当てる。
また、Source/Dest Checkを2つのENIで無効にしておく。

EC2の詳細な設定

chmod 600 ~/Downloads/VPN.pem.txt
ssh -i ~/Downloads/VPN.pem.txt vyatta@YYY.YYY.YYY.YYY

/etc/network/interfaces に先ほど作成した ENI の情報を追記。
eth1として認識させる。

$ sudo vi /etc/network/interfaces

auto eth0
iface eth0 inet static
address 10.0.0.6
netmask 255.255.255.0
gateway 10.0.0.1

auto eth1
iface eth1 inet static
address 10.0.1.6
netmask 255.255.255.0

/etc/init.d/networking を再起動する。

$ sudo /etc/init.d/networking restart

---コマンドで設定状況を確認
$ sudo ifconfig
eth0      Link encap:Ethernet  HWaddr 06:c6:ee:1c:ba:d5  
          inet addr:10.0.0.6  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::4c6:eeff:fe1c:bad5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:158 errors:0 dropped:0 overruns:0 frame:0
          TX packets:139 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:15238 (14.8 KiB)  TX bytes:19074 (18.6 KiB)
          Interrupt:25 

eth1      Link encap:Ethernet  HWaddr 06:97:c2:06:da:93  
          inet addr:10.0.1.6  Bcast:10.0.1.255  Mask:255.255.255.0
          inet6 addr: fe80::497:c2ff:fe06:da93/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:24 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:888 (888.0 B)  TX bytes:478 (478.0 B)
          Interrupt:26 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:398 errors:0 dropped:0 overruns:0 frame:0
          TX packets:398 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:23968 (23.4 KiB)  TX bytes:23968 (23.4 KiB)

設定

$ configure
# set interfaces ethernet eth1 address 10.0.1.6/24
# commit
# save

自宅/AWSそれぞれのVPNで共通の作業

以下のコマンドで設定を流し込む。

configure

---AWS側変数
localID=@cloud
destID=@branch
destIP=XXX.XXX.XXX.XXX
localIP=10.0.0.6
destNet=192.168.1.0/24
localNet=10.0.1.0/24

---自宅側変数
localID=@branch
destID=@cloud
destIP=YYY.YYY.YYY.YYY
localIP=192.168.1.7
destNet=10.0.1.0/24
localNet=192.168.1.0/24

--−以下共通でコマンドを流す
set vpn ipsec ipsec-interfaces interface eth0

set vpn ipsec ike-group IKE-G proposal 1 encryption aes128
set vpn ipsec ike-group IKE-G proposal 1 hash sha1
set vpn ipsec ike-group IKE-G lifetime 3600

set vpn ipsec esp-group ESP-G proposal 1 encryption aes128
set vpn ipsec esp-group ESP-G proposal 1 hash sha1
set vpn ipsec esp-group ESP-G lifetime 1800

set vpn ipsec nat-traversal enable
set vpn ipsec nat-networks allowed-network $destNet

set vpn ipsec site-to-site peer $destIP ike-group IKE-G
set vpn ipsec site-to-site peer $destIP default-esp-group ESP-G

set vpn ipsec site-to-site peer $destIP authentication mode pre-shared-secret
set vpn ipsec site-to-site peer $destIP authentication pre-shared-secret my_shared_secret

set vpn ipsec site-to-site peer $destIP authentication id $localID
set vpn ipsec site-to-site peer $destIP authentication remote-id $destID

set vpn ipsec site-to-site peer $destIP local-address $localIP

set vpn ipsec site-to-site peer $destIP tunnel 1 local prefix $localNet
set vpn ipsec site-to-site peer $destIP tunnel 1 remote prefix $destNet

commit
save

my_shared_secretは各環境で任意のパスフレーズを決める

両方の設定完了後、それぞれのipsecのプロセスを再起動する。

sudo /etc/init.d/ipsec stop    #AWS側
sudo /etc/init.d/ipsec restart #自宅側
sudo /etc/init.d/ipsec start   #AWS側

動作確認

vyos@vyos# run show vpn ike sa
Peer ID / IP                            Local ID / IP               
------------                            -------------
YYY.YYY.YYY.YYY                         192.168.1.7                            

    State  Encrypt  Hash    D-H Grp  NAT-T  A-Time  L-Time
    -----  -------  ----    -------  -----  ------  ------
    up     aes128   sha1    5        no     994     3600

vyatta@vyatta# run show vpn ike sa
Peer ID / IP                            Local ID / IP               
------------                            -------------
XXX.XXX.XXX.XXX                         192.168.0.6                            

    State  Encrypt  Hash  D-H Grp  NAT-T  A-Time  L-Time
    -----  -------  ----  -------  -----  ------  ------
    up     aes128   sha1  5        no     284     3600

その他自宅側で実施すること

環境及び製品によって異なると思うが、当方の環境は以下のような感じ。

ルーティングの設定

スクリーンショット 2015-04-16 23.35.33.png

外部からの接続を自宅内のVPNサーバに向ける設定

img.jpg

動作確認

$ ssh -i ~/Downloads/VPN.pem.txt vyatta@10.0.1.6
Linux vyatta 3.3.8-1-amd64-vyatta #1 SMP Wed Mar 13 10:35:28 PDT 2013 x86_64
Welcome to Vyatta.
This system is open-source software. The exact distribution terms for 
each module comprising the full system are described in the individual 
files in /usr/share/doc/*/copyright.
Last login: Thu Apr 16 14:13:48 2015 from ip-192-168-1-7.ap-northeast-1.compute.internal
vyatta@vyatta:~$

VPCのPrivateなIP指定でログインできた。

31
37
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
37