ドラッグストア様向けのインフラ構築において、店舗からAWSサーバーへの通信にvRXを導入しました。この際の構築ポイントと使用方法について、以下にナレッジをまとめています。
■構成図
■解説
vRXの構築パターンは、基本的に二つあります。
①L2TP/IPsecを用いたリモートアクセス
②拠点⇔AWS間のIPSec接続
拠点とAWS間のIPsec接続は、拠点からAWS内のリソースにアクセスできるように構築できますが、Direct Connectを使用している場合、外部のリソースへのルーティングができない仕様となっています。これは、VGW(Virtual Private Gateway)が関連付けられたVPCのCIDRと自身がBGPで学習しているルート以外のトラフィックをルーティングできないためです。ただし、VGWに関連付けられているSite-to-Site VPN接続の静的なルートエントリについては、VGWがルーティング可能になります。
この仕様により、AWS内のEC2などへのアクセスが通信要件であれば、vRXを使用して拠点から通信することで問題ありません。vRXはネットワーク仮想化ソフトウェアであり、柔軟なネットワーク構築を可能にします。そのため、Direct Connectを経由せずにvRXを介してAWS内のリソースにアクセスすることで、必要な通信要件を満たすことができます。
■設定方法(L2TP/IPsecを用いたリモートアクセス)
vpnuser01からvpnuser15用のIPアドレスを172.25.10.0/26から払い出しました。
注意!
払い出したセグメントは、AWSの既に使っているセグメントと重複してはいけません。
# vrx Configファイル
vrx user vrx-user *
ip route default gateway dhcp lan2
ip route 172.25.10.128/26 gateway tunnel 100
ip filter source-route on
ip filter directed-broadcast on
description lan1 IP_172.16.30.254
ip lan1 address dhcp
ip lan1 proxyarp on
description lan2 IP_172.16.3.254_EIP_35.78.31.89
ip lan2 address dhcp
ip lan2 nat descriptor 1
pp select anonymous
pp bind tunnel81-tunnel95
pp auth request mschap-v2
ip lan2 nat descriptor 1
pp select anonymous
pp bind tunnel81-tunnel95
pp auth request mschap-v2
pp auth username vpnuser01 *
pp auth username vpnuser02 *
pp auth username vpnuser03 *
pp auth username vpnuser04 *
pp auth username vpnuser05 *
pp auth username vpnuser06 *
pp auth username vpnuser07 *
pp auth username vpnuser08 *
pp auth username vpnuser09 *
pp auth username vpnuser10 *
pp auth username vpnuser11 *
pp auth username vpnuser12 *
pp auth username vpnuser13 *
pp auth username vpnuser14 *
pp auth username vpnuser15 *
ppp ipcp ipaddress on
ppp ipcp msext on
ip pp remote address pool 172.25.10.1-172.25.10.15
ip pp mtu 1258
pp enable anonymous
tunnel select 81
tunnel template 82-95
tunnel encapsulation l2tp
ipsec tunnel 81
ipsec sa policy 81 81 esp aes-cbc sha-hmac
ipsec ike keepalive use 81 off
ipsec ike local address 81 172.16.30.254
ipsec ike nat-traversal 81 on
ipsec ike pre-shared-key 81 *
ipsec ike remote address 81 any
l2tp tunnel disconnect time off
l2tp keepalive use on 10 3
l2tp keepalive log on
l2tp syslog on
ip tunnel tcp mss limit auto
tunnel enable 81
tunnel select 100
description tunnel TEST-MAKNWSupport
ipsec tunnel 200
ipsec sa policy 200 100 esp aes256-cbc sha256-hmac
ipsec ike encryption 100 aes256-cbc
ipsec ike group 100 modp1536
ipsec ike hash 100 sha256
ipsec ike keepalive log 100 off
ipsec ike encryption 100 aes256-cbc
ipsec ike group 100 modp1536
ipsec ike hash 100 sha256
ipsec ike keepalive log 100 off
ipsec ike keepalive use 100 on icmp-echo 172.25.10.190 30 5
ipsec ike local address 100 172.16.30.254
ipsec ike nat-traversal 100 on
ipsec ike pre-shared-key 100 *
ipsec ike remote address 100 any
ipsec ike remote name 100 TESTMAKNW-Support key-id
ip tunnel tcp mss limit auto
tunnel enable 100
ip filter 3100 pass-log * *
nat descriptor type 1 masquerade
nat descriptor address outer 1 primary
nat descriptor masquerade static 1 1 172.16.30.254 udp 500
nat descriptor masquerade static 1 2 172.16.30.254 udp 4500
nat descriptor masquerade static 1 3 172.16.30.254 tcp 22
ipsec auto refresh on
ipsec transport 81 81 udp 1701
ipsec transport 82 82 udp 1701
ipsec transport 83 83 udp 1701
ipsec transport 84 84 udp 1701
ipsec transport 85 85 udp 1701
ipsec transport 86 86 udp 1701
ipsec transport 87 87 udp 1701
ipsec transport 88 88 udp 1701
ipsec transport 89 89 udp 1701
ipsec transport 90 90 udp 1701
ipsec transport 91 91 udp 1701
ipsec transport 92 92 udp 1701
ipsec transport 93 93 udp 1701
ipsec transport 94 94 udp 1701
ipsec transport 95 95 udp 1701
tftp host any
telnetd service on
telnetd host any
dns server dhcp lan2
l2tp service on
sshd service on
sshd host key generate *
■ip route
■AWS側の設定およびポイント
vRX自体の構築は、VRXのAWS構築手順 の通り、設定いただければ問題ありませんが、公式サイトに記載していない細かいところを記載しておきます。
・vRXは二つのENI(LAN、WAN)を持っており、vRXのWAN側(EIP側)のセグメントからのIPSecパケット、sshを受け付けるNAT構成となっておりますので、基本的にはそのままのルーティングはできません。
ここで、172.16.3.254はWAN、172.16.30.254はLANとなります。
・WAN側で、トラフィックを受け入れ、LAN側に渡して、LAN側でルーティングテーブルの設定内容によってリソースにルーティングする仕様となりますので、WAN側のENIのセキュリティグループは通信必要なグローバルIPアドレスを許可し、LAN側のENIのセキュリティグループは、AWS内部のリソース、vRXから配ってくれるIPアドレスを許可する必要になります。
・VPC側のルートテーブルも対応必要です。
送信先172.25.10.0/26の場合、vRX LANのENIをターゲットにして入れる必要になります。(戻りのルートの設定)
■まとめ
上記の通り設定いただければ、通信可能と思いますが、L2TP/IPsecを用いたリモートアクセスの場合です。拠点⇔AWS間のIPSec接続の設定方法については追って記載するようにします。