YAMAHAのRTX810でDS-Lite安定接続中

先日の記事ではDS-Liteが速くていいけど、なぜか3時間ぐらいで接続が切れちゃう事をかいた。この原因はRTX810と並行して接続してるNTTから借用品のルーターPR-400NEのせいだった。

とりあえずダメだった方の接続方法から説明する・・・・
PR-400NEはONU(光を電気信号に変える機械)とルーターが一体化したもの。

NTT⇒光ファイバー(光)⇒『ONU⇒イーサーケーブル⇒ルーター』⇒PCやひかり電話

上記のONUからルーターまでがPR-400NEのサポートする範囲で、ONUとルーターの間には実際に5センチぐらいのイーサーケーブルが刺さっていて、ここにhubをつければONUからの信号を分岐する事が可能。なんか、むしろそうしてくれと言わんばかりの姿をしてる。
2015-07-29_042117
ここの短いケーブルをハブで分岐させて

NTT

光ファイバー(光)

ONU(PR-400NE)

イーサーケーブル

ハブ⇒イーサーケーブル⇒ルーター(PR-400NE)→ひかり電話

イーサーケーブル⇒RTX810⇒PC達

としてた。IPv4だけだとこれでうまくいくんだけど、IPv6は最長3時間ぐらいで接続が切れる。これの原因はPR-400NEのIPv6のルーター機能が動いてるせいだった。PR-400NEはIPv4のルーター機能は止められるんだけど、IPv6のルーター機能は止められない(後で知った)。まあひかり電話がIPv6を使ったIP電話だから当然か。

なので上記のようにRTX810とPR-400NEを並列で接続すると、IPv6的にはハブにルーターが2台並列で接続されていることになって、ダメダメな状況だった。

それで、このPR-400NEの情報画面のDHCPv6クライアントがのリース時間(この例だと11624秒≒3時間ちょい)が過ぎると、そのタイミングでRTX810側はIPv6の接続だけが出来なくなってしまう(IPv4は大丈夫、DS-LiteはIPv6を使うのでダメ)って事だった。下の方の『DHCP再取得(IPoE)』を押しても同じ症状になる。
2015-07-27_162635A

この接続のまま解決する方法があるのかもしれないが・・・・・ググるとRTX810側のIPv6のアドレスを固定すれば良いと書かれてた記事が見つかったので、その通りやってみたが解決しなかった・・・・・あきらめて、PR-400NE→RTX810と直列につなぐ事にして解決した。

IPv4的にはこんな感じにPR-400NEのLAN側ととRTX810のWAN側を192.168.0のセグメントにして、RTX810のLAN側のPCは192.168.1のセグメントにした。

NTT

光ファイバー(光)

PR-400NE → ひかり電話
(192.168.0.1)

イーサーケーブル

(192.168.0.2)
RTX810
(192.168.1.1)

(192.168.1.2~)
PC達

PR-400NEの設定はRTX810に接続したPC達から出来なくなる(この構成にした後は直接PR-400NEのLANポートに接続したPCでやる事になる)ので、事前に、IPv4のDHCPを止め、静的ルーティングの設定で192.168.x.xを全部192.168.1.1(RTX810のWAN側のアドレス)に送るようにした。あとPPPoEブリッジを有効にした。ISPへの接続は一切しないようにもした。フィルタリング系も全部OFFに。そういう設定をすべて済ませた後にPR-400NE自体のLAN側のアドレスを192.168.0.1に変更した。

結局、PR-400NEはひかり電話の機能(これはOFFに出来ないし、IPv6はこいつからアドレスをもらう感じに使う)と、IPv4のパケットはRTX810に丸投げする設定にした感じ。

ISPの接続はRTX810で行う。私は2つのプロバイダ(IIJmioと朝日ネット)と契約してるのでそれの設定をそれぞれ行った。とりあえずここから下はRTX810の設定ファイルの中身をペタペタ貼り付ける。Webからの『かんたん設定』で最初にISPの設定をした後、必要ない記述を削り、必要なものを追加していった。意味が分からず残してるのも多々あるが・・・。

設定を変更する前に、ヤマハのルーターは初めて使うのでどうやってCUIで設定を変えるのか分からなかった。ググったら設定ファイルをtftpでゲット(読み込み)したりプット(書き込み)したりして書き換えると知った。
まず

tftp host 192.168.1.3
save

をsshで接続したコンソールからか、簡単設定→詳細設定と情報→コマンドの実行からやって、tftp可能なPC(この例の場合192.168.1.3のアドレスのPC)を登録しておく。
登録したPCのコマンドプロンプトから

tftp -i 192.168.1.1 get config/パスワード config.txt

で読み込めて、

tftp -i 192.168.1.1 put config.txt config/パスワード

で書き込める。パスワードはadministratorのものを指定する。

下記のページを大いに参考にした。
YAMAHAルーター Config取得・書換、ファームウェア書換手順 覚書
ファームもここを参考にして現時点の最新版である11.01.21に更新した。

まずちょっとした設定。

console character ascii
login timer 3000

sshで繋げた時に、日本語がShift-JISで面倒なので英語にして、また初期値だと5分操作してないとlogoutしちゃうので長くした。

IPv4のアドレスの設定から。

ip lan2 address 192.168.0.1/24
ip lan1 address 192.168.1.1/24

lan2がWAN側でPR-400NEと繋ぐ側
lan1がPCとかつなげる側

DHCPの設定(PCは全部固定アドレスで使ってるけど、スマホはDHCPで割り当ててる)

dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.1.60-192.168.1.80/24

PPPoEの設定(理解してない)

provider type isdn-terminal
provider filter routing connection
provider lan1 name LAN:
provider lan2 name PPPoE/0/1/5/0/0/0:asahi-net

IIJの接続

pp select 1
pp name PRV/1/1/5/0/0/1:IIJ
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 ログインID パスワード
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
provider set 1 IIJ

フィルターはRTX810の初期設定のまま。NATの定義があるけどIIJ側の回線では使ってない。

朝日ネット

pp select 2
pp name PRV/2/1/5/0/0/0:asahi-net
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 ログインID パスワード
ppp lcp mru on 1454
ppp ipcp ipaddress on
ppp ipcp msext on
ppp ccp type none
ip pp secure filter in 201003 201020 201021 201022 201023 201024 201025 201030 201032 201080 201081 201082 201083 201084 201085
ip pp secure filter out 201013 201020 201021 201022 201023 201024 201025 201026 201027 201099 dynamic 201080 201081 201082 201083 201084 201085 201098 201099
ip pp nat descriptor 1100
pp enable 2
provider set 2 asahi-net

こっちもフィルターはRTX810の初期設定のまま。こちらはWebとTS3のサーバーを公開するためにNATを使ってる(ip pp nat descriptor 1100がそれ)。

NATの設定

#
# NAT Descriptor configuration
#
nat descriptor type 1000 masquerade
nat descriptor type 1100 masquerade
nat descriptor masquerade static 1100 1 192.168.1.2 tcp www
nat descriptor masquerade static 1100 2 192.168.1.2 tcp https
nat descriptor masquerade static 1100 3 192.168.1.2 tcp 53700
nat descriptor masquerade static 1100 4 192.168.1.22 udp 9987
nat descriptor masquerade static 1100 5 192.168.1.22 tcp 30033
nat descriptor masquerade static 1100 6 192.168.1.22 tcp 10011

WEBサーバーが192.168.1.2で、TS3のサーバーが192.168.1.22で動いてるのでそれぞれにポート番号で振り分けてる。

DNSの設定(よくわかってない)

dns server dhcp lan2
dns private address spoof on

IPv6の設定

ngn type lan2 ntt
ipv6 route default gateway dhcp lan2
ipv6 prefix 1 dhcp-prefix@lan2::/64
ipv6 lan1 address dhcp-prefix@lan2::1/64
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
ipv6 lan2 address dhcp
ipv6 lan2 dhcp service client
ipv6 lan2 secure filter out dynamic 200080 200081 200082 200083 200084 200085 200098 200099

ひかり電話がある場合は『DHCPv6-PD』で接続する。PR-400NE経由で接続してる場合は『RAプロキシ』でも接続できるけど、それは正式な方法ではないらしい。
フィルターはGUIで設定したときの初期値。

これでIIJと朝日ネットでIPv4で接続し、かつIPoEでIPv6の接続もできた状態。gatewayを書いてないのでまだ足りない。それは最後に書く

DS-Liteの設定

no tunnel enable all
tunnel select 1
tunnel encapsulation ipip
tunnel endpoint address 2404:8e00::feed:100
ip tunnel mtu 1500
ip tunnel tcp mss limit auto
tunnel enable 1

2404:8e00::feed:100はNTT東日本エリアでの現時点でのIPv4 over IPv6のgatewayのアドレスらしい。ここは名前で解決できないらしいのでアドレスを書くしかない。

これだけでDS-LiteによるIPv4接続もOK。つまりIPv4が3つにIPv6まで使える状態になった。
2015-07-29_062636

次にIPv4のgatewayを書く。朝日ネットは固定アドレスをもらってるので、朝日ネットを基本的に使い、ゲーム用PCはいろいろ実験できるのでDS-Liteでつなげる。Twitchの配信はIIJの回線を使いたいので、PC関係なくそれはIIJで行う。という感じで設定してる。

IPv4のgatewayを設定

ip filter 3003 pass 192.168.1.3 * * * *
ip filter 3004 pass 192.168.1.4 * * * *
ip filter 4001 pass * * tcp * 1935
ip route default gateway pp 1 filter 3004 gateway pp 1 filter 4001 gateway tunnel 1 filter 3003 gateway pp 2

pp 1がIIJでpp 2が朝日ネット, tunnel 1がDS-liteの事で、192.168.1.4はIIJ、192.168.1.3はDS-lite、その他は朝日ネットで、ただしポート番号の1935のパケットはIIJ経由で行う。って感じ。

ポート番号1935はRTMPの番号で、twitch等の配信で使われるポート。IIJは1日15GBまでのアップロード制限があるけど15GB/日なら結構配信できる。朝日ネットも普段は快適で、配信できるだけの上りのスピードはあるんだけど、1度朝日ネットで配信をしてみたら1時間ほどで速度が全くでなくなり配信出来なくなった。なにか制限をかけてきてたらしく朝日ネットでは配信できないと判断した。そのため配信はIIJに固定している。

192.168.1.4は普段使ってなくて、DS-liteが使えなくなった時の予備として置いてある。PCのアドレスを192.168.1.4に変えればIIJの回線がすぐに使える。

PCのアドレスを変えてこちら側のアドレスが分かるサイトで試してみると、まず192.168.1.3の時(DS-Lite)
2015-07-29_062922

192.168.1.4の時(IIJ)
2015-07-29_063018

192.168.1.5の時(朝日ネット)
2015-07-29_063058

という感じに期待通りにPCのアドレス事にISPの接続先が変わった。配信の時にIIJを使ってるかどうかは簡単には判別つかないけど、朝日ネットで繋げてるPCで何時間配信しても制限が起きなかった事からもIIJを使って配信されてるんじゃないかなーと思ってる。確かめるいい方法はないものか・・・追記: これはfilterの所でpassとなっているところをpass-logに変えるとそのフィルターにマッチしたときに下記のようにログに出てくるように出来るので、それで確認できた。
2015-07-29_181525
192.168.1.2からのパケットは普段はPP 2(朝日ネット)を使ってるけど、、ポート1935を使った時だけPP 1(IIJ)を使ってるのが確認できた。

まあ、そんなわけで、やっと理想的な回線状況になった。DS-LiteはIPv6の回線を使用してるから、まだスカスカという事らしく、IIJが22時から0時にかけての一番遅いときに、酷い時は下りが3Mbpsまで落ちる時もDS-Liteなら300Mbps以上を保持してる。IIJだとYoutubeとかTwitchとか見るのにすぐ止まってしまってイライラしてたけど、DS-Liteにしてから快適に見られてる。Guildwars2のpingも常時160ms前後と悪くない。

あとはフィルターの見直しをしないといけないかな。初期値のままで何もいじってないからちょっとだけ心配。

 

Sponsored Links
Pocket
LINEで送る

About Whellie