縦ぽん!!

YAMAHAのルーターは無償でDDNS(ネットボランチDNSサービス)を利用できる。これを利用すると固定IPの契約なしにVPN接続が可能となる。また一部のルーターではWOLのMagic Packetを送信するカスタムGUIを利用できるモデルもある。

この二つの機能を利用出来て、中古品ながら比較的安価で入手しやすいルーターがRTX1200だ。このルーターは中小規模拠点向け製品だが、後継機のRTX1210が2014年に発売されたこともあって、リースアップしたものや買い替えた中古品が多く市場に出回っている。

このRTX1200を自宅に導入し、VPN接続に必要な設定とネットボランチDNSサービスへの登録を行ったので、手順などをまとめてみた。

VPNを導入するメリット

自宅にVPN環境を導入するメリットはいうまでもなく、外出先から自宅ネットワークに接続できることだ。自宅にNASなどを設置していれば外出先から写真データなどにアクセス出来る。重要なデータをクラウドストレージに預けることを危惧する場合に有効だろう。

また、無料Wi-FIを利用する際にVPNを通すことで通信情報を保護できる。無料Wi-FIを利用すると通信内容を傍受されるリスクがあるため、安心して利用するためにはVPN環境は必須と言える。

ネットボランチDNSサービスの留意点

契約しているプロバイダなどによるが、ONUなどの上位機器がルーター機能をOFFにできない(PPPoEブリッジが利用できない)場合はネットボランチDNSサービスは利用できない。RTX1200が直接インターネット回線に接続されている状態にならないとネットボランチDNSサービスが設置したRTX1200を認識できないためだ。このあたりは事前に確認が必要だろう。

私が契約しているBBIQの場合だと、光電話無線ルーター(iA201WL4)は設定画面にルーター機能をOFFにする画面がない。会員サポートページからBBIQ光電話のルーター機能をOFFにすることで、初めてRTX1200を直接インターネットに接続できるようになる。

必要なものと準備しておいた方が良いもの

RTX1200のGUI画面からは、ネットボランチDNSサービスに関する設定などを含め、細かい設定ができないものがある。このような設定はコマンドを投入することで設定を行うのだが、ターミナルソフトを用意した方がなにかと都合がよい。Windowsであれば定番のTeraTermPuTTYあたりを用意すれば問題はない。ターミナルソフトを使用せず、RTX1200のGUI画面にあるコマンドの入力でも設定は可能だが、少々面倒ではある。

続いて準備しておいた方が良いものだが、RTX1200のファームウェアの状態にもよるが、microSDやUSBメモリを使用してファームウェアを更新することも考えられる。ファームウェアが古いまま使われていた個体だと、これらメディアを使用してファームウェアを更新した方が手間が省ける場合がある。ファームウェアが比較的新しいものであれば、ひととおり設定が終わった後で更新してもよいだろう。

また、USBシリアル変換ケーブルクロスケーブルを準備しておいた方が良いかもしれない。必須ではないが、場合によってはターミナルソフトからCONSOLEポートに直接アクセスする事も考えられるからだ。今どきのパソコンはシリアルポートを持つものはほとんどないため、USBからCONSOLEポートにアクセスするにはこの方法を使うしかない。保険みたいなものだがいざという時に頼りになる。

しかしこれらケーブルは他で使う機会は殆どないと言ってよいため、どうしようもない場合は初期化からやり直してコンフィグを投入してやり直すという荒技? で何とかする方法もある。設定したコンフィグはこまめに記録を取ることをおすすめしたい。

他には作業途中で書きだしたコンフィグを比較するために、テキストファイルの差分比較表示ができるソフトがあるとよいかもしれない。定番ではWinMergeあたりだろうか。コンフィグの書き方に慣れないうちはこまめに書き出し、違いを比較できるようにしておくとよいだろう。

RTX1200の設定

初期化から基本設定

RTX1200の初期化は本体のmicroSD + USB + DOWNLOAD の3つのボタンを押しながら電源を入れることで、工場出荷時の状態に初期化される。工場出荷時の状態に戻すとコンフィグが以下のような状態になる。

ip lan1 address 192.168.100.1/24
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.100.2-192.168.100.191/24

この状態でLAN1のポートとパソコンをLANケーブルで接続し、パソコンがDHCPサーバーからIPアドレスを取得する設定になっていれば、ブラウザで”http://192.168.100.1/”へアクセスすることで設定画面のGUIが表示される。ここから初期化設定ウィザードを使用することで、ルーターとしての基本設定を行うことが可能だ。

GUIから設定できる基本設定についてはここでは省略する。初期設定からネットボランチDNSサービスへの登録とL2TP/IPsecの設定までの説明がYAMAHAのサイトにL2TP/IPsecを使用したリモートアクセス : RTX1200 Web GUI設定としてまとめられているので参考にされたい。

基本設定後のコンフィグ

基本設定が終わった直後のコンフィグは概ね以下のようになる。ネットボランチDNSサービスへの登録とL2TP/IPsecの設定を行っていればこの内容に加えて設定されているはずだ。

ip route default gateway pp 1
ip lan1 address 192.168.11.1/24
ip lan1 secure filter in 100000 100001 100002 100003 100004 100005 100006 100007 100099
pp select 1
 description pp PRV/PPPoE/0:BBIQ
 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 [USERNAME] [PASSWORD]
 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
 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
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 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 200085 * * submission
ip filter dynamic 200098 * * tcp
ip filter dynamic 200099 * * udp
nat descriptor type 1000 masquerade
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.11.110-192.168.11.119/24
dns server pp 1
dns server select 500001 pp 1 any . restrict pp 1
dns private address spoof on
statistics cpu on
statistics memory on

ネットボランチDNSサービスへの登録

あらためて、ネットボランチDNSサービスへの登録についての手順をまとめる。登録には以下のコマンドを使用する。

pp select 1
netvolante-dns hostname host pp server=1 [希望するホスト名]
netvolante-dns go pp 1

例えば、[希望するホスト名]を HOGE とすると(HOGEが使用できれば)

HOGE.aa0.netvolante.jp

のような形式でネットボランチDNSサービスへ登録される。VPN接続を行うときはこの登録されたホスト名に対して接続を行うことになる。

L2TP/IPsecの設定

続いて、L2TP/IPsecに関する設定を行う。最初にL2TP/IPsecの設定、続いてトンネルの定義、フィルター調整、NAT設定等を行う。

L2TP/IPsecの設定

L2TP/IPsecの設定例だが、概ね以下のようになるだろう。

pp select anonymous
pp name VPN1
pp bind tunnel1
pp auth request mschap-v2
pp auth username [USERNAME] [PASSWORD]
ppp ipcp ipaddress on
ppp ipcp msext on
ip pp remote address pool dhcp
ip pp mtu 1258
pp enable anonymous

トンネルの定義

トンネルの定義について、使用する番号は上で設定した番号になる。pre-shared keyは事前共有鍵として使用するパスワードになるので、任意の文字列を登録する。もちろん、メモを忘れないように。

tunnel select 1
tunnel encapsulation l2tp
ipsec tunnel 1
ipsec sa policy 1 1 esp aes-cbc sha-hmac
ipsec ike keepalive log 1 off
ipsec ike keepalive use 1 off
ipsec ike nat-traversal 1 on
ipsec ike pre-shared-key 1 text [KEY-TEXT]
ipsec ike remote address 1 any
l2tp tunnel auth off 
l2tp tunnel disconnect time off
l2tp keepalive use on
ip tunnel tcp mss limit auto
tunnel enable 1

フィルター調整

フィルターについてはWAN側にフィルターを追加する。VPN(IPsec)関連のパケットを通過させる設定を追加する。

ip pp secure filter in 200041 200042 200043 200044
ip filter 200041 pass * 192.168.11.1 esp * *
ip filter 200042 pass * 192.168.11.1 udp * 500
ip filter 200043 pass * 192.168.11.1 udp * 1701
ip filter 200044 pass * 192.168.11.1 udp * 4500

NAT設定

NATについても同様にVPN(IPsec)関連のパケットを通過させる設定を追加する。

nat descriptor masquerade static 1000 1 192.168.11.1 esp
nat descriptor masquerade static 1000 2 192.168.11.1 udp 500
nat descriptor masquerade static 1000 3 192.168.11.1 udp 4500
ipsec auto refresh on
ipsec transport 1 1 udp 1701

l2tpサーバの有効化

当然ながら、l2tpを使用する設定をしないとVPNが使用できないので有効にする。

l2tp service on

ネットボランチDNSサービスの登録とVPN設定に関する補足

ネットボランチDNSサービスの登録だが、YAMAHAのサイトにRTシリーズのネットボランチDNSサービスに関するFAQとしてコマンド例があげられているので、こちらも併せて参考にするとよいだろう。

VPN設定についてだが、プロトコルは特に事情がない限りL2TP/IPsecを使用することになる。RTX1200はPPTPもサポートしているが、安全性に問題があるためやむを得ない理由がない限り、使用は避けるべきだ。

余談:VPN経由でNASにアクセスする場合

初期化設定ウィザードを使用した場合、ポート135(RPC:Remote Procedure Call)、137~138(netbios_ns-netbios_ssn)、139(netbios_ssn)、445(SMB Direct Hosting)のパケットが外部に出ないようにフィルタされている。このままだとVPN経由でNASへアクセスできないため、状況に応じてこれらのフィルターを外す必要がある。

基本設定が終わった直後のコンフィグの以下のところが該当の箇所だ

ip lan1 secure filter in 100000 100001 100002 100003 100004 100005 100006 100007 100099
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 * * * * *

設定例

以下のコンフィグは私が実際に自宅のRTX1200で使用しているものだ。一部伏せているところがあるが、このような定義でVPN接続が出来るようになるため、参考にされたい。

user attribute admin administrator=on connection=serial,telnet,remote,ssh,sftp,http login-timer=300 multi-session=on host=any
user attribute user administrator=off connection=serial,telnet,remote,ssh,sftp,http login-timer=300 multi-session=on host=any
ip route default gateway pp 1
ip lan1 address 192.168.11.1/24
ip lan1 proxyarp on
pp select 1
 description pp PRV/PPPoE/0:BBIQ
 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 [USERNAME] [PASSWORD]
 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 200041 200042 200043 200044
 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
 netvolante-dns use pp server=1 auto
 netvolante-dns hostname host pp server=1 hoge-dns.aa0.netvolante.jp
 pp enable 1
pp select anonymous
 pp name VPN1
 pp bind tunnel1
 pp auth request mschap-v2
 pp auth username [USERNAME] [PASSWORD]
 ppp ipcp ipaddress on
 ppp ipcp msext on
 ip pp remote address pool dhcp
 ip pp mtu 1258
 pp enable anonymous
tunnel select 1
 tunnel encapsulation l2tp
 ipsec tunnel 1
  ipsec sa policy 1 1 esp aes-cbc sha-hmac
  ipsec ike keepalive log 1 off
  ipsec ike keepalive use 1 off
  ipsec ike nat-traversal 1 on
  ipsec ike pre-shared-key 1 text [KEY-TEXT]
  ipsec ike remote address 1 any
 l2tp tunnel auth off 
 l2tp tunnel disconnect time off
 l2tp keepalive use on
 ip tunnel tcp mss limit auto
 tunnel enable 1
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 200041 pass * 192.168.11.1 esp * *
ip filter 200042 pass * 192.168.11.1 udp * 500
ip filter 200043 pass * 192.168.11.1 udp * 1701
ip filter 200044 pass * 192.168.11.1 udp * 4500
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 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.11.1 esp
nat descriptor masquerade static 1000 2 192.168.11.1 udp 500
nat descriptor masquerade static 1000 3 192.168.11.1 udp 4500
ipsec auto refresh on
ipsec transport 1 1 udp 1701
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.11.110-192.168.11.129/24
dns service recursive
dns cache use off
dns server pp 1
dns server select 500001 pp 1 any . restrict pp 1
dns private address spoof on
dns notice order msext me
schedule at 1 startup * ntpdate ntp.jst.mfeed.ad.jp
l2tp service on
httpd custom-gui use on
httpd custom-gui user wol directory=/ index=wol.html
statistics cpu on
statistics memory on

RTX1200ならびにVPNの使用感

自宅のインターネット環境をBBIQに変更する前はRTX1100を使用していたが、安定性は問題なかった。今回改めて導入したRTX1200も安定性はもちろん、速度面において特に不満はない。LAN側のポートがすべてギガ対応となっており別にハブを用意しなくても事足りるため、無駄な機器を設置せずに済むのもポイントだろう(実際は既存のギガハブとRTX1200を入れ替えたような感じなので、機器が減ったわけではないのだが)。

VPNについてだが、外出先から自宅ネットワークにつながるというのはなかなか便利だ。自宅のNASに保存してある私用のファイルを当然のように扱えるため、いざというときに役に立つ感じだ。

また、VPNを経由することで無料Wi-Fiを安心して(しかもパケット量を気にせず)使えるのもありがたい。自宅のインターネット環境が比較的良好なためか、無料Wi-FiをVPN経由で使用してもそれほど遅いという感じはなかったのは思わぬ収穫だった。

関連する記事