EC2(CentOS6)上にOpenswanをインストールし、VPCのVirtual Private GatewayにVPN Connectionを
張ってみました。
○VPCの準備
Customer Gatewayは、あらかじめ取得しておいたEIP(z.z.z.z)を指定します。
(RoutingはとりあえずStaticになります)
上記Customer GatewayとVirtual Private GatewayからVPN Connectionを作成します。Static RoutingのIP Prefixは、上記EC2が所属するVPCのCIDRブロックにしています。
二つのトンネルが準備され、そのIP Addressに対してIPsecを張ることになります。(Tunnel1: x.x.x.x, Tunnel2: y.y.y.y)
○EC2の準備
EIP(z.z.z.z)を付与し、Security Group (Outbound)を下記のようにしておきます。
(x.x.x.xとy.y.y.yに対してUDPの500番と4500番を許可します)
○Openswanのインストールと設定準備
yumでインストールすることができます。
# yum -y install openswan lsof
...
カーネルパラメーターも調整しておきます。
# cat /etc/sysctl.conf
...
net.ipv4.ip_forward = 1
...
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.eth0.send_redirects = 0
net.ipv4.conf.lo.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.eth0.accept_redirects = 0
net.ipv4.conf.lo.accept_redirects = 0
# sysctl -p
...
○Openswanの設定と接続
全体の設定になります。
# cat /etc/ipsec.conf
version 2.0
config setup
protostack=netkey
nat_traversal=yes
oe=off
include /etc/ipsec.d/*.conf
Tunnel1のPre-Shared Keyの設定です。
# cat /etc/ipsec.d/tunnel1.secrets
z.z.z.z x.x.x.x: PSK "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
※キーはAWSコンソールのVPN Connectionからダウンロードでき、設定中にあります。
Tunnel1の本体の設定です。
# cat /etc/ipsec.d/tunnel1.conf
conn tunnel1
type = tunnel
authby = secret
left = %defaultroute
leftid = z.z.z.z
leftnexthop = %defaultroute
right = x.x.x.x
auth = esp
keyexchange = ike
ike = aes128-sha1-modp1024
ikelifetime = 28800s
pfs = yes
esp = aes128-sha1
salifetime = 3600s
dpdtimeout = 10
dpddelay = 3
auto = start
Openswanを起動(service ipsec start)すると、下記のようにAWSコンソールで接続確認ができます。
Tunnel2のPre-Shared Keyの設定です。
# cat tunnel2.secrets
z.z.z.z y.y.y.y: PSK "YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY"
※キーはAWSコンソールのVPN Connectionからダウンロードできる設定中にあります。
Tunnel2の本体の設定
# cat tunnel2.conf
conn tunnel2
type = tunnel
authby = secret
left = %defaultroute
leftid = z.z.z.z
leftnexthop = %defaultroute
right = y.y.y.y
auth = esp
keyexchange = ike
ike = aes128-sha1-modp1024
ikelifetime = 28800s
pfs = yes
esp = aes128-sha1
salifetime = 3600s
dpdtimeout = 10
dpddelay = 3
auto = start
Openswanを再起動(service ipsec restart)すると、下記のようにAWSコンソールで接続確認ができます。
以上で、Openswan on EC2からVPCのVirtual Private GatewayにVPN Connectionを張ることができました。
※尚、ログは/var/log/secureに出力されます。