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であれば定番のTeraTerm、PuTTYあたりを用意すれば問題はない。ターミナルソフトを使用せず、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経由で使用してもそれほど遅いという感じはなかったのは思わぬ収穫だった。
コメント