こんにちは、ネットワーク事業部の渡邉です。
リモートアクセスVPNとしてPPTPやL2TP/IPsecがよく使われますが、これらは併用することができます。
今回はYAMAHAのルータでPPTPとL2TP/IPsecによるリモートアクセスVPNを併用する設定についてご紹介していきます。
PPTPとL2TP/IPsecの併用は必要?
外出先からのアクセスや、在宅ワークにおいて会社のネットワークに接続するための手法として、リモートアクセスVPNはよく利用されています。
PPTPとL2TP/IPsecは、そのリモートアクセスVPNとしてよく利用される代表的なプロトコルですが、PPTPは暗号化強度が低く、セキュリティ的によろしくないため利用は推奨できません。
そのため、ルータのリプレイスのタイミングなどでセキュリティ強化のためにPPTPからL2TP/IPsecに切り替えるといったことがよくあります。
しかし、何らかの事情(例えば使用している機器の都合など)で完全にはL2TP/IPsecに切り替えたくないという場合もあるでしょう。
そのような場合は、PPTPとL2TP/IPsecを両方利用できるようにして、通常はL2TP/IPsecを利用するという方法が取れます。
ネディアのお客様のところでも、L2TP/IPsecの設定をするにあたって「PPTPの利用環境を維持したい」という要望があり、これらを併用する設定をしたことがあります。
とはいえ、先に述べた通りPPTPはセキュリティ的に弱いので、この形はあくまで一時的なものとしておくべきでしょう。
使用するルータについて
今回の設定例で使用しているルータはRTX1210で、ファームウェアのバージョンは14.01.40です。
また、PPPoE接続など基本的な設定とPPTPによるリモートVPNの設定がされている状態から、L2TP/IPsecの設定を追加する形で設定していきます。
以下は設定変更前のコンフィグです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
login password * administrator password encrypted * user attribute connection=serial,telnet,remote,ssh,sftp,http gui-page=dashboard,lan-map,config login-timer=300 ip route default gateway pp 1 ip lan1 address 192.168.1.1/24 ip lan1 proxyarp on pp select 1 pp keepalive interval 30 retry-interval=30 count=12 pp always-on on pppoe use lan2 pppoe auto disconnect off pp auth accept pap chap pp auth myname 接続アカウント パスワード ppp lcp mru on 1454 ppp ipcp ipaddress on ppp ipcp msext on ppp ccp type none ip pp secure filter in 200003 200020 200021 200022 200023 200024 200025 200030 200032 200100 200101 ip pp secure filter out 200013 200020 200021 200022 200023 200024 200025 200026 200027 200099 dynamic 200080 200081 200082 200083 200084 200085 200098 200099 ip pp nat descriptor 1000 pp enable 1 pp select anonymous pp bind tunnel1-tunnel2 pp auth request mschap-v2 pp auth username VPNユーザ名1 パスワード1 pp auth username VPNユーザ名2 パスワード2 ppp ipcp ipaddress on ppp ipcp msext on ppp ccp type mppe-any ip pp remote address pool dhcp pp enable anonymous tunnel select 1 tunnel encapsulation pptp pptp tunnel disconnect time off tunnel enable 1 tunnel select 2 tunnel encapsulation pptp pptp tunnel disconnect time off tunnel enable 2 ip filter 200000 reject 10.0.0.0/8 * * * * ip filter 200001 reject 172.16.0.0/12 * * * * ip filter 200002 reject 192.168.0.0/16 * * * * ip filter 200003 reject 192.168.1.0/24 * * * * ip filter 200010 reject * 10.0.0.0/8 * * * ip filter 200011 reject * 172.16.0.0/12 * * * ip filter 200012 reject * 192.168.0.0/16 * * * ip filter 200013 reject * 192.168.1.0/24 * * * ip filter 200020 reject * * udp,tcp 135 * ip filter 200021 reject * * udp,tcp * 135 ip filter 200022 reject * * udp,tcp netbios_ns-netbios_ssn * ip filter 200023 reject * * udp,tcp * netbios_ns-netbios_ssn ip filter 200024 reject * * udp,tcp 445 * ip filter 200025 reject * * udp,tcp * 445 ip filter 200026 restrict * * tcpfin * www,21,nntp ip filter 200027 restrict * * tcprst * www,21,nntp ip filter 200030 pass * 192.168.1.0/24 icmp * * ip filter 200031 pass * 192.168.1.0/24 established * * ip filter 200032 pass * 192.168.1.0/24 tcp * ident ip filter 200033 pass * 192.168.1.0/24 tcp ftpdata * ip filter 200034 pass * 192.168.1.0/24 tcp,udp * domain ip filter 200035 pass * 192.168.1.0/24 udp domain * ip filter 200036 pass * 192.168.1.0/24 udp * ntp ip filter 200037 pass * 192.168.1.0/24 udp ntp * ip filter 200099 pass * * * * * ip filter 200100 pass * 192.168.1.1 tcp * 1723 ip filter 200101 pass * 192.168.1.1 gre ip filter 500000 restrict * * * * * ip filter dynamic 200080 * * ftp ip filter dynamic 200081 * * domain ip filter dynamic 200082 * * www ip filter dynamic 200083 * * smtp ip filter dynamic 200084 * * pop3 ip filter dynamic 200085 * * submission ip filter dynamic 200098 * * tcp ip filter dynamic 200099 * * udp nat descriptor type 1000 masquerade nat descriptor masquerade static 1000 1 192.168.1.1 tcp 1723 nat descriptor masquerade static 1000 2 192.168.1.1 gre telnetd host lan dhcp service server dhcp server rfc2131 compliant except remain-silent dhcp scope 1 192.168.1.100-192.168.1.199/24 dns host lan1 dns server pp 1 dns server select 500001 pp 1 any . restrict pp 1 dns private address spoof on pptp service on statistics traffic on |
L2TP/IPsecに必要な設定内容について
では、上記の設定に、L2TP/IPsecの設定を追加していきます。
必要な内容はざっくり言って次のような感じです。
①L2TP/IPsecで使用するトンネルの設定をする
②L2TP/IPsecの通信がルータを通過できるようにする
まずはL2TP/IPsecで使用するトンネルの設定を追加します。
既にPPTPでトンネル番号1と2が使用されているので、L2TP/IPsec用に3番以降のトンネルを新たに設定します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
tunnel select 3 tunnel encapsulation l2tp ipsec tunnel 1 ipsec sa policy 1 1 esp aes-cbc sha-hmac ipsec ike keepalive use 1 off ipsec ike nat-traversal 1 on ipsec ike pre-shared-key 1 text 事前共有鍵 ipsec ike remote address 1 any l2tp tunnel disconnect time off ip tunnel tcp mss limit auto tunnel enable 3 tunnel select 4 tunnel encapsulation l2tp ipsec tunnel 2 ipsec sa policy 2 2 esp aes-cbc sha-hmac ipsec ike keepalive use 2 off ipsec ike nat-traversal 2 on ipsec ike pre-shared-key 2 text 事前共有鍵 ipsec ike remote address 2 any l2tp tunnel disconnect time off ip tunnel tcp mss limit auto tunnel enable 4 |
追加したトンネルをanonymousインタフェースで使用するトンネルに追加します。
1 2 |
pp select anonymous pp bind tunnel1-tunnel4 |
これでトンネルの設定はOKです。
続いて、L2TP/IPsecの通信がルータを通れるようにします。
まずはIPsecのパケットを通すフィルタを作成します。
1 2 3 4 |
ip filter 200102 pass * 192.168.1.1 udp * 500 ip filter 200103 pass * 192.168.1.1 esp ip filter 200104 pass * 192.168.1.1 udp * 4500 ip filter 200105 pass * 192.168.1.1 udp * 1701 |
作成したフィルタをpp1に適用します。
1 2 |
pp select 1 ip pp secure filter in 200003 200020 200021 200022 200023 200024 200025 200030 200032 200100 200101 200102 200103 200104 200105 |
NATの設定をします。
1 2 3 4 |
nat descriptor masquerade static 1000 3 192.168.1.1 udp 500 nat descriptor masquerade static 1000 4 192.168.1.1 esp nat descriptor masquerade static 1000 5 192.168.1.1 udp 4500 nat descriptor masquerade static 1000 6 192.168.1.1 udp 1701 |
トランスポートモードで通信するように設定します。
1 2 |
ipsec transport 1 1 udp 1701 ipsec transport 2 2 udp 1701 |
IPsecの管理情報(暗号など)の自動更新を有効にします。
1 |
ipsec auto refresh on |
L2TPを有効化します。
1 |
l2tp service on |
これでL2TP/IPsecの設定は完了です。
設定後のconfigは次のようになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
login password * administrator password encrypted * user attribute connection=serial,telnet,remote,ssh,sftp,http gui-page=dashboard,lan-map,config login-timer=300 ip route default gateway pp 1 ip lan1 address 192.168.1.1/24 ip lan1 proxyarp on pp select 1 pp keepalive interval 30 retry-interval=30 count=12 pp always-on on pppoe use lan2 pppoe auto disconnect off pp auth accept pap chap pp auth myname 接続アカウント パスワード ppp lcp mru on 1454 ppp ipcp ipaddress on ppp ipcp msext on ppp ccp type none ip pp secure filter in 200003 200020 200021 200022 200023 200024 200025 200030 200032 200100 200101 200102 200103 200104 200105 ip pp secure filter out 200013 200020 200021 200022 200023 200024 200025 200026 200027 200099 dynamic 200080 200081 200082 200083 200084 200085 200098 200099 ip pp nat descriptor 1000 pp enable 1 pp select anonymous pp bind tunnel1-tunnel4 pp auth request mschap-v2 pp auth username VPNユーザ名1 パスワード1 pp auth username VPNユーザ名2 パスワード2 ppp ipcp ipaddress on ppp ipcp msext on ppp ccp type mppe-any ip pp remote address pool dhcp pp enable anonymous tunnel select 1 tunnel encapsulation pptp pptp tunnel disconnect time off tunnel enable 1 tunnel select 2 tunnel encapsulation pptp pptp tunnel disconnect time off tunnel enable 2 tunnel select 3 tunnel encapsulation l2tp ipsec tunnel 1 ipsec sa policy 1 1 esp aes-cbc sha-hmac ipsec ike keepalive use 1 off ipsec ike nat-traversal 1 on ipsec ike pre-shared-key 1 text 事前共有鍵 ipsec ike remote address 1 any l2tp tunnel disconnect time off ip tunnel tcp mss limit auto tunnel enable 3 tunnel select 4 tunnel encapsulation l2tp ipsec tunnel 2 ipsec sa policy 2 2 esp aes-cbc sha-hmac ipsec ike keepalive use 2 off ipsec ike nat-traversal 2 on ipsec ike pre-shared-key 2 text 事前共有鍵 ipsec ike remote address 2 any l2tp tunnel disconnect time off ip tunnel tcp mss limit auto tunnel enable 4 ip filter 200000 reject 10.0.0.0/8 * * * * ip filter 200001 reject 172.16.0.0/12 * * * * ip filter 200002 reject 192.168.0.0/16 * * * * ip filter 200003 reject 192.168.1.0/24 * * * * ip filter 200010 reject * 10.0.0.0/8 * * * ip filter 200011 reject * 172.16.0.0/12 * * * ip filter 200012 reject * 192.168.0.0/16 * * * ip filter 200013 reject * 192.168.1.0/24 * * * ip filter 200020 reject * * udp,tcp 135 * ip filter 200021 reject * * udp,tcp * 135 ip filter 200022 reject * * udp,tcp netbios_ns-netbios_ssn * ip filter 200023 reject * * udp,tcp * netbios_ns-netbios_ssn ip filter 200024 reject * * udp,tcp 445 * ip filter 200025 reject * * udp,tcp * 445 ip filter 200026 restrict * * tcpfin * www,21,nntp ip filter 200027 restrict * * tcprst * www,21,nntp ip filter 200030 pass * 192.168.1.0/24 icmp * * ip filter 200031 pass * 192.168.1.0/24 established * * ip filter 200032 pass * 192.168.1.0/24 tcp * ident ip filter 200033 pass * 192.168.1.0/24 tcp ftpdata * ip filter 200034 pass * 192.168.1.0/24 tcp,udp * domain ip filter 200035 pass * 192.168.1.0/24 udp domain * ip filter 200036 pass * 192.168.1.0/24 udp * ntp ip filter 200037 pass * 192.168.1.0/24 udp ntp * ip filter 200099 pass * * * * * ip filter 200100 pass * 192.168.1.1 tcp * 1723 ip filter 200101 pass * 192.168.1.1 gre ip filter 200102 pass * 192.168.1.1 udp * 500 ip filter 200103 pass * 192.168.1.1 esp ip filter 200104 pass * 192.168.1.1 udp * 4500 ip filter 200105 pass * 192.168.1.1 udp * 1701 ip filter 500000 restrict * * * * * ip filter dynamic 200080 * * ftp ip filter dynamic 200081 * * domain ip filter dynamic 200082 * * www ip filter dynamic 200083 * * smtp ip filter dynamic 200084 * * pop3 ip filter dynamic 200085 * * submission ip filter dynamic 200098 * * tcp ip filter dynamic 200099 * * udp nat descriptor type 1000 masquerade nat descriptor masquerade static 1000 1 192.168.1.1 tcp 1723 nat descriptor masquerade static 1000 2 192.168.1.1 gre nat descriptor masquerade static 1000 3 192.168.1.1 udp 500 nat descriptor masquerade static 1000 4 192.168.1.1 esp nat descriptor masquerade static 1000 5 192.168.1.1 udp 4500 nat descriptor masquerade static 1000 6 192.168.1.1 udp 1701 ipsec auto refresh on ipsec transport 1 1 udp 1701 ipsec transport 2 2 udp 1701 telnetd host lan dhcp service server dhcp server rfc2131 compliant except remain-silent dhcp scope 1 192.168.1.100-192.168.1.199/24 dns host lan1 dns server pp 1 dns server select 500001 pp 1 any . restrict pp 1 dns private address spoof on pptp service on l2tp service on statistics traffic on |
あとはL2TP/IPsecを利用したい端末でリモートアクセスVPNの設定をすればOKです。
端末側の設定については、こちらの記事などを参考にしてください。
ちなみに、L2TP/IPsecとPPTPで使用するユーザ名とパスワードは共通となります。
まとめ
最初の方にも書きましたが、PPTPはセキュリティ的に推奨できません。
PPTPを使用しなければいけない機器などがあれば、それも含めてリプレイスを検討する必要があると言えます。
今回のように併用する設定をするとしても、基本的には一時的なものと考えてL2TP/IPsecなどセキュリティ強度の高いものに早めに切り替えましょう。