これまでに
- 第1回 VPNクライアントソフトウェアによるリモートアクセス!
- 第2回 IPIPによる接続(NTTフレッツ網を利用したVPN)
- 第6回 同じプライベートアドレス同士の拠点間で通信する
- 第8回 フレッツVPNワイドを利用した運用例の紹介
- 第9回 インターネットVPNの構築
などさまざまなVPN構築を紹介しました。今回は前回紹介したネットボランチDNSサービスを利用したVPN構築を行います。
「第9回 インターネットVPNの構築」の中で説明しましたが、一般的にインターネットに接続する場合、プロバイダから動的IPアドレスが割り当てられます。ネットボランチDNSサービスを利用することでプロバイダからの動的IPアドレスとネットボランチに登録したホスト名がひもづけされるので、接続先をホスト名にすることでプロバイダのIPアドレスが変わってもVPNの接続は継続されます。
今回はネットボランチDNSサービスとインターネットVPN設定(PPTP)を使ったVPN構築例です。
ネットワーク構成
今回構築するネットワーク構成図です。
本社設定
ネットボランチDNSのホスト名:nedia-test-1.aa0.netvolante.jp
PPTPクライアント
支店設定
ネットボランチDNSのホスト名:nedia-test-20.aa0.netvolante.jp
PPTPサーバ
ルータの設定
今回はYAMAHA RTX1200を利用します。
VPNはPPTPを使った設定です。
■本社 ルータAの設定内容
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 |
login password * administrator password * ip route default gateway pp 1 filter 500000 gateway pp 1 ip route 192.168.11.0/24 gateway tunnel 1 ip lan1 address 192.168.1.254/24 ip lan1 proxyarp on ip lan1 secure filter in 100099 pp select 1 pp keepalive interval 30 retry-interval=30 count=12 pppoe use lan2 pppoe auto disconnect off pp auth accept pap chap pp auth myname (ISPの接続アカウント) (ISPのパスワード) 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 200080 200081 ip pp secure filter out 200013 200020 200021 200022 200023 200024 200025 200026 200027 200099 dynamic 200080 200081 200082 200083 200084 200098 200099 ip pp nat descriptor 1000 netvolante-dns hostname host pp server=1 nedia-test-1.aa0.netvolante.jp pp enable 1 pp select 2 pp bind tunnel2 pp always-on on pp auth accept mschap pp auth myname (PPTPのユーザ) (PPTPのパスワード) ppp ipcp ipaddress on ppp ccp type mppe-any ppp ipv6cp use off pptp service type client pp enable 2 tunnel select 2 tunnel encapsulation pptp tunnel endpoint name nedia-test-20.aa0.netvolante.jp pptp tunnel disconnect time off pptp keepalive interval 30 12 tunnel enable 2 ip filter 100000 reject * * udp,tcp 135 * ip filter 100001 reject * * udp,tcp * 135 ip filter 100002 reject * * udp,tcp netbios_ns-netbios_dgm * ip filter 100003 reject * * udp,tcp * netbios_ns-netbios_dgm ip filter 100004 reject * * udp,tcp netbios_ssn * ip filter 100005 reject * * udp,tcp * netbios_ssn ip filter 100006 reject * * udp,tcp 445 * ip filter 100007 reject * * udp,tcp * 445 ip filter 100099 pass * * * * * 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 200080 pass * 192.168.1.254 tcp * 1723 ip filter 200081 pass * 192.168.1.254 gre * * ip filter 200098 reject-nolog * * established ip filter 200099 pass * * * * * 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 200098 * * tcp ip filter dynamic 200099 * * udp nat descriptor type 1000 masquerade nat descriptor masquerade static 1000 1 192.168.1.254 tcp 1723 nat descriptor masquerade static 1000 2 192.168.1.254 gre dhcp service server dhcp server rfc2131 compliant except remain-silent dhcp scope 1 192.168.1.11-192.168.1.50/24 dns server pp 1 dns server select 500001 pp 1 any . restrict pp 1 dns private address spoof on pptp service on |
21行目の
1 |
netvolante-dns hostname host pp server=1 nedia-test-1.aa0.netvolante.jp |
は、下記のネットボランチDNSサービスの登録コマンドで自動で登録されます。
1 2 3 |
# pp select 1 pp1# netvolante-dns hostname host pp nedia-test-1 pp1# netvolante-dns go pp 1 |
また、本社ルータがPPTPクライアントである設定は31行目の
1 |
pptp service type client |
で指定しています。
■支店 ルータBの設定内容
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 |
login password * administrator password * ip route default gateway pp 1 filter 500000 gateway pp 1 ip route 192.168.1.0/24 gateway tunnel 2 ip lan1 address 192.168.11.1/24 ip lan1 proxyarp on ip lan1 secure filter in 100099 pp select 1 pp keepalive interval 30 retry-interval=30 count=12 pppoe use lan2 pppoe auto disconnect off pppoe call prohibit auth-error count off pp auth accept pap chap pp auth myname (ISPの接続アカウント) (ISPのパスワード) 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 200080 200081 ip pp secure filter out 200013 200020 200021 200022 200023 200024 200025 200026 200027 200099 dynamic 200080 200081 200082 200083 200084 200098 200099 ip pp nat descriptor 1000 netvolante-dns hostname host pp server=1 nedia-test-20.aa0.netvolante.jp pp enable 1 pp select 2 pp bind tunnel2 pp always-on on pp auth request mschap pp auth username (PPTPのユーザ) (PPTPのパスワード) ppp ipcp ipaddress on ppp ccp type mppe-any ppp ipv6cp use off pptp service type server pp enable 2 tunnel select 2 tunnel encapsulation pptp tunnel endpoint name nedia-test-1.aa0.netvolante.jp pptp tunnel disconnect time off tunnel enable 2 ip filter 100000 reject * * udp,tcp 135 * ip filter 100001 reject * * udp,tcp * 135 ip filter 100002 reject * * udp,tcp netbios_ns-netbios_dgm * ip filter 100003 reject * * udp,tcp * netbios_ns-netbios_dgm ip filter 100004 reject * * udp,tcp netbios_ssn * ip filter 100005 reject * * udp,tcp * netbios_ssn ip filter 100006 reject * * udp,tcp 445 * ip filter 100007 reject * * udp,tcp * 445 ip filter 100099 pass * * * * * 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.11.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.11.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.11.0/24 icmp * * ip filter 200031 pass * 192.168.11.0/24 established * * ip filter 200032 pass * 192.168.11.0/24 tcp * ident ip filter 200033 pass * 192.168.11.0/24 tcp ftpdata * ip filter 200034 pass * 192.168.11.0/24 tcp,udp * domain ip filter 200035 pass * 192.168.11.0/24 udp domain * ip filter 200036 pass * 192.168.11.0/24 udp * ntp ip filter 200037 pass * 192.168.11.0/24 udp ntp * ip filter 200080 pass * 192.168.11.1 tcp * 1723 ip filter 200081 pass * 192.168.11.1 gre * * ip filter 200098 reject-nolog * * established ip filter 200099 pass * * * * * ip filter 201000 pass * * * * * 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 200098 * * tcp ip filter dynamic 200099 * * udp nat descriptor type 1000 masquerade nat descriptor masquerade static 1000 1 192.168.11.1 tcp 1723 nat descriptor masquerade static 1000 2 192.168.11.1 gre dhcp service server dhcp server rfc2131 compliant except remain-silent dhcp scope 1 192.168.11.11-192.168.11.50/24 dns server pp 1 dns server select 500001 pp 1 any . restrict pp 1 dns private address spoof on pptp service on |
22行目の
1 |
<span class="crayon-v">netvolante</span><span class="crayon-o">-</span><span class="crayon-e">dns </span><span class="crayon-e">hostname </span><span class="crayon-e">host </span><span class="crayon-e">pp </span><span class="crayon-v">server</span><span class="crayon-o">=</span><span class="crayon-cn">1</span> <span class="crayon-v">nedia</span><span class="crayon-o">-</span><span class="crayon-v">test</span><span class="crayon-o">-</span><span class="crayon-cn">20.aa0.netvolante.jp</span> |
は、下記のネットボランチDNSサービスの登録コマンドで自動で登録されます。
1 2 3 |
# pp select 1 pp1# netvolante-dns hostname host pp nedia-test-20 pp1# netvolante-dns go pp 1 |
また、支店ルータがPPTPサーバである設定は32行目の
1 |
pptp service type server |
で指定しています。
上記の設定で本社および支店のルータをそれぞれ設定することでインターネットおよび本社と支店間のVPN通信が確立されます。
まとめ
本社をPPTPクライアントにした理由としてはVPNの接続が切断された場合、手動で接続する際はPPTPクライアント側から接続することになります。緊急時の場合、本社の担当者もしくは担当している業者にとって対応が早くできます。また、支店が増えた場合も接続設定や通信の確立状況などできるので障害時の対応もスムーズに行うことができます。
ネットボランチDNSを利用することで接続元を特定できセキュリティも高く保つことができます。
ただし、問題点もあります。それはルータが故障した場合です。ネットボランチDNSではYAMAHAルータをMACアドレスで識別しているので故障時にはネットボランチDNSに設定されている同じ名前が使える保証がありません。同じ名前を使うには一度、設定されている名前を解除してから別の機種で登録する必要があります。
ネットボランチDNSに設定されている名前が変更となると支店の設定変更も必要となり復旧までに時間が掛かってしまうことがあります。
これを回避するにはプロバイダから固定IPアドレスを割り当ててもらいVPNを構築するのが良いです。
プロバイダから固定IPアドレスを割り当ててもらうには費用が掛かってしまうので、社内環境や故障時の緊急性など検討してネットボランチDNSを利用するか検討する必要があります。