tech.guitarrapc.cóm

Technical updates

(RTX810構築シリーズ 7/7) Yamaha RTX810 で ローカルルータ構成で L2TP/IPsec を利用したリモートアクセス VPNを構築してみよう (NAT環境)

各環境での RTX810 設定を紹介してきたこのシリーズ*1、これが最後です。

締めくくりは、前回の記事で構築した IPsec環境に L2TP/IPsecでのリモートアクセスVPN構築です。

ここまで読んできた人には、簡単です。

あっという間にできるでしょう。

目次

構成

前回の内容そのままです。

tech.guitarrapc.com

概要

配下のサブネット192.168.100.0/24は、グローバルIP11.11.11.2/32にIPマスカレード変換します。

  • GWであるリモートルータのLAN側IPアドレスは192.168.100.2/24

今回の対象となるRTX810は、192.168.100.30/24でWAN側を受け付けて、LAN側プライベートIPは192.168.101.0/24としています。

  • GWであるRTX810のLAN側IPアドレスは192.168.101.1/24

ローカルルータ配下の192.168.101.0/24は、RTX810が192.168.100.0/24とNAT変換しています。

VPNの着信

今回は 1ユーザーのみとします。

VPN設定は以前書いた Yamaha RTX810 で L2TP/IPsec を利用して リモートアクセス VPNを構築してみように準拠します。

L2TP/IPsec で リモートアクセスVPNを構築する

ではさっそく。

一つの L2TPクライアント(アドレス不定)の接続を受け付ける

RTX810側ネットワーク設定例:

pp select anonymous
 pp name "grani L2TP"
 pp bind tunnel3
 pp auth request chap-pap
 pp auth username ユーザー名 パスワード
 ppp ipcp msext on
 ip pp remote address pool dhcp
 ip pp mtu 1258
 pp enable anonymous

tunnel select 3
 tunnel encapsulation l2tp
 ipsec tunnel 3
  ipsec sa policy 3 3 esp aes-cbc sha-hmac
  ipsec ike keepalive log 3 off
  ipsec ike keepalive use 3 off
  ipsec ike local address 3 192.168.100.30
  ipsec ike nat-traversal 3 on
  ipsec ike pre-shared-key 3 text 事前共有鍵
  ipsec ike remote address 3 any
 l2tp tunnel auth off 
 l2tp tunnel disconnect time off
 l2tp keepalive use on
 l2tp keepalive log on
 l2tp syslog on
 ip tunnel tcp mss limit auto
 tunnel enable 3

nat descriptor masquerade static 200 1 192.168.101.1 udp 1701
nat descriptor masquerade static 200 2 192.168.101.1 udp 500
nat descriptor masquerade static 200 3 192.168.101.1 esp
nat descriptor masquerade static 200 4 192.168.101.1 udp 4500

ipsec auto refresh on
ipsec transport 3 3 udp 1701

はい、簡単ですね。必要な設定は以上です。

当然今回も、WAN側グローバルIPではなくIPsecのトンネルであるローカルルータ(RTX810)のWAN側アドレスになります。

ipsec ike local address 3 192.168.100.30

前回の記事からの全体像です。

RTX810側ネットワーク設定全体像:

ip routing on
ip route default gateway 192.168.100.2
ip route 10.0.0.0/16 gateway tunnel 1 hide gateway tunnel 2 weight 0
ip keepalive 1 icmp-echo 10 5 192.168.100.2
ip lan1 address 192.168.101.1/24
ip lan2 address 192.168.100.30/24
ip lan2 proxyarp on
ip lan2 nat descriptor 200
provider lan1 name LAN:
provider lan2 name PRV/0/1/0/0/0:固定IP
pp select anonymous
 pp name "grani L2TP"
 pp bind tunnel3
 pp auth request chap-pap
 pp auth username ユーザー名 パスワード
 ppp ipcp msext on
 ip pp remote address pool dhcp
 ip pp mtu 1258
 pp enable anonymous
tunnel select 1
 ipsec tunnel 201
  ipsec sa policy 201 1 esp aes-cbc sha-hmac
  ipsec ike duration ipsec-sa 1 3600
  ipsec ike encryption 1 aes-cbc
  ipsec ike group 1 modp1024
  ipsec ike hash 1 sha
  ipsec ike keepalive use 1 on dpd 10 3
  ipsec ike local address 1 192.168.100.30
  ipsec ike pfs 1 on
  ipsec ike pre-shared-key 1 text AWSに与えられたkey
  ipsec ike remote address 1 27.yy.yy.144
 ipsec tunnel outer df-bit clear
 ip tunnel address 169.xxx.xxx.30/30
 ip tunnel remote address 169.xxx.xxx.29
 ip tunnel tcp mss limit 1387
 tunnel enable 1
tunnel select 2
 ipsec tunnel 202
  ipsec sa policy 202 2 esp aes-cbc sha-hmac
  ipsec ike duration ipsec-sa 2 3600
  ipsec ike encryption 2 aes-cbc
  ipsec ike group 2 modp1024
  ipsec ike hash 2 sha
  ipsec ike keepalive use 2 on dpd 10 3
  ipsec ike local address 2 192.168.100.30
  ipsec ike pfs 2 on
  ipsec ike pre-shared-key 2 text AWSに与えられたkey
  ipsec ike remote address 2 27.yy.yy.16
 ipsec tunnel outer df-bit clear
 ip tunnel address 169.xxx.xxx.26/30
 ip tunnel remote address 169.xxx.xxx.25
 ip tunnel tcp mss limit 1387
 tunnel enable 2
tunnel select 3
 tunnel encapsulation l2tp
 ipsec tunnel 3
  ipsec sa policy 3 3 esp aes-cbc sha-hmac
  ipsec ike keepalive log 3 off
  ipsec ike keepalive use 3 off
  ipsec ike local address 3 192.168.100.30
  ipsec ike nat-traversal 3 on
  ipsec ike pre-shared-key 3 text 事前共有鍵
  ipsec ike remote address 3 any
 l2tp tunnel auth off 
 l2tp tunnel disconnect time off
 l2tp keepalive use on
 l2tp keepalive log on
 l2tp syslog on
 ip tunnel tcp mss limit auto
 tunnel enable 3
nat descriptor type 200 masquerade
nat descriptor address outer 200 192.168.100.30
nat descriptor address inner 200 auto
nat descriptor masquerade static 200 1 192.168.101.1 udp 1701
nat descriptor masquerade static 200 2 192.168.101.1 udp 500
nat descriptor masquerade static 200 3 192.168.101.1 esp
nat descriptor masquerade static 200 4 192.168.101.1 udp 4500
ipsec auto refresh on
ipsec transport 3 3 udp 1701
syslog notice on
syslog debug on
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.101.50-192.168.101.100/24 gateway 192.168.101.1 expire 48:00
dns service recursive
dns server 192.168.100.2 10.0.0.2
dns server select 1 10.0.0.2 any amazonaws.com
dns private address spoof off
dns notice order msext me server
httpd host lan1

あとはいつも通り show ipsec saなどで、トンネル開通を確認してください。

まとめ

どうでしょうか。

RTX810 を用いた IPsec の構築パターンについていろいろ見てきました。

Yamahaルータは、なんでもできる! というわけではありません。が、中小企業を対象として考えた場合は、価格に対してスループットや機能も充実しています。

RTX3500や5000なら、RTX810 でのIPsec本数の不満も解消する、センタールータとしての役割も果たせるでしょう。

もっと上の性能!となると Juniper SSG や Ciscoですが、用途に応じて検討するといいと思います。

さて最後に、PPTPは暗号的に致命的な欠陥とされます。これらのシリーズがIPsecでの構築の一例として役立てば幸いです。*2*3

*1:シリーズ化してたのか!

*2:最終回にいきなりシリーズとしてみた暴挙

*3:ip filter や dnsに関してはほとんど触れていないのでご注意を