2018年11月11日日曜日

自宅のネットワーク環境のNVR510の設定(抜粋,一部修正,v6プラス,PPPoE併用,ひかり電話)

私の自宅のネットワーク環境のNVR510の設定です。
抜粋版でIPアドレスなどは修正してあります。

環境は以下のような感じ。
ローカルネットワーク192.168.62.0/23
NVR510ローカル側アドレス192.168.62.1
VPNサーバ192.168.62.200v6プラスでポート開放。
クライアントIP:192.168.63.1-5
DLNAサーバ192.168.62.201PPPoEでポート開放
ひかり電話の電話番号0333333333
ローカルネットワークアドレスが通常の/24ではなく、/23なのかというと、VPNサーバのクライアントIPが違うからです。NVR510がDHCPで配布するIPアドレスは、192.168.62.xxx(62=00111110b)で、VPNクライアントのIPアドレスは、192.168.63.xxx(63=00111111b)なので、ネットワークマスクを/23(255.255.254.0)にすればまとめて扱えます。

NVR510(とNVR700W)は、他のルータとは違う特徴を持っています。それは、ひかり電話を直接扱える事。
ひかり電話を契約すると、通常ONUが内蔵されたHGW(ホームゲートウェイ)がレンタルされます。HGWがアナログ電話との接続をやってくれます。なので、ひかり電話を使いつつ、別のv6プラス対応ルータを接続しようとすると、HGW側でIPv6パススルー設定をして、HGWの後段にv6プラスルータを接続する必要があります。
一方、NVR510はTELポートを持っているので、HGWにアナログ電話を接続しなくてもいいです。
私の自宅のHGWはかなり古いRV-230SEですが、ルータなどの機能を切って、単なるONUとして使うことができます。













こんな感じに、短いLANケーブルがついている部分があるんですが、それを外してNVR510のWANポートに直結できます。アナログ電話はNVR510側に接続します。
こうすれば、古いHGWにIPv6パススルーの処理をさせる必要がなくなるので、私の環境では(通信速度は上がらなかったですが)高負荷時の安定性が増しました。
NVR510は小型ONUにも対応していて、小型ONUを導入すれば、RV-230SE自体が不要になるのですが、小型ONUの入手はちょっと面倒です。

以下は、NVR510の設定です。全部をコマンドでやるのは大変なので、Web GUIである程度設定してから差分をコマンドで設定した方が良いと思います。

ip routing on
ipv6 routing on
今は、両方ともデフォルトonのようなので省略できます。

ngn type lan2 ntt
NGNとの接続設定。ひかり電話を使うのでntt

 ip lan1 address 192.168.62.1/23
NVR510のローカル側のIPアドレス設定

ip route default gateway tunnel 1 gateway pp 1 filter 100
ip filter 100 pass 192.168.62.201 * * * *
DLNAサーバがインターネットと通信するときだけ、pp 1(PPPoE)を使います。
それ以外は、tunnel 1(v6プラス)を使います。

ip lan2 address dhcp
WAN側のIPv4アドレスをDHCPで取得。これが必要なのかちょっと怪しい。
【2020/12/29追記】
   この設定がないとひかり電話が使えません。しかし、まだ検証中なのですが、v6プラス環境の場合、この設定を入れると、DHCPでIPアドレスを取得する処理が2時間に1回走りますが、そのときにv6プラス側のIPv4通信が瞬断するようです。ブラウザなどでは気づきにくいですが、オンラインゲームとかはシビアに影響します。
 tunnel select 1
 tunnel encapsulation map-e
 ip tunnel mtu 1460
 ip tunnel secure filter in 2000 2001 2002 2003 2999
 ip tunnel secure filter out 1000 1001 1002 1999 dynamic 10000 10001 10002 10003 10004 10005 10006 10007
 ip tunnel nat descriptor 1000
 tunnel enable 1
nat descriptor type 1000 masquerade
nat descriptor address outer 1000 map-e
nat descriptor masquerade static 1000 1 192.168.62.200 tcp 55555
 v6プラスの設定。細かい説明は本家のページを。v6プラスの場合、使えるポートが限定されますが、外部からの接続を許すことができますので、使えるポートを使用してVPNサーバを立ち上げました。使えるポートは回線によって違います。v6プラスの設定をして実際に接続するとsyslogにv6プラスが使用するポート番号(=使えるポート番号)が書き込まれます。この例ではポート55555を使っています。

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 user password
 ppp lcp mru on 1454
 ppp ipcp ipaddress on
 ppp ipcp msext on
 ppp ccp type none
 ip pp secure filter in 2000 2001 2002 2003 2999
 ip pp secure filter out 1000 1001 1002 1999 dynamic 10000 10001 10002 10003 10004 10005 10006 10007
 ip pp nat descriptor 2000
 pp enable 1
nat descriptor type 2000 masquerade
nat descriptor masquerade static 2000 1 192.168.62.201 udp *
PPPoEの設定。ほとんどWeb GUIで設定したものを使っています。DLNAサーバは、外部にUDPポートを広範囲に開放する必要があるので、v6プラスでは無理で、PPPoEを使っています。

ipv6 prefix 1 ra-prefix@lan2::/64
ipv6 lan1 address ra-prefix@lan2::1/64
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
ipv6 lan2 secure filter in 4000 4001 4002 4003 4999
ipv6 lan2 secure filter out 3000 3001 3999 dynamic 30001 30002 30003 30004 30005 30006 30007 30008
IPv6の設定。ひかり電話を使っている場合は、RAプロキシではなくDHCPv6-PDの設定になるらしい(YAMAHAサイト1(ひかり電話なし), YAMAHAサイト2(ひかり電話あり))のですが、私の自宅の環境では、ひかり電話ありにも関わらずRAプロキシ設定です。ネットの情報を見ていると、何人かの環境はそうなっているみたいです。NTT側の設定ミスだとかどうとか。

ipv6 lan1 mld router version=2
ipv6 lan2 mld host version=2
IPv6マルチキャストの設定。ひかりTV用です。

dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.62.10-192.168.62.201/23
dhcp scope bind 1 192.168.62.200 ethernet xx:xx:xx:xx:xx:xx
dhcp scope bind 1 192.168.62.201 ethernet yy:yy:yy:yy:yy:yy
dhcp client release linkdown on
DHCPサーバの設定。2つサーバはIP固定に。

ip filter 1000 reject * 192.168.62.0/23 * * *
ip filter 1001 reject * * udp,tcp 135,137-139,445 *
ip filter 1002 reject * * udp,tcp * 135,137-139,445
ip filter 1999 pass * * * * *
ip filter dynamic 10000 * * ftp
ip filter dynamic 10001 * * domain
ip filter dynamic 10002 * * www
ip filter dynamic 10003 * * smtp
ip filter dynamic 10004 * * pop3
ip filter dynamic 10005 * * submission
ip filter dynamic 10006 * * tcp
ip filter dynamic 10007 * * udp
IPv4 outフィルターの設定。ファイル共有などだけブロックして後はスルーさせます。後述しますが、in側のフィルターは基本全ブロックで、動的フィルターで通過させます。

ip filter 2000 reject 192.168.62.0/23 * * * *
ip filter 2001 pass * 192.168.62.0/23 icmp * *
ip filter 2002 pass * 192.168.62.200 tcp * 55555
ip filter 2003 pass * 192.168.62.201 udp * 30000-60000
ip filter 2999 reject * * * * *
IPv4 inフィルターの設定。動的フィルターを使うのでICMPと開放したポート以外は全部拒否。

ipv6 filter 3000 reject-log * * udp,tcp 135,137-139,445 *
ipv6 filter 3001 reject-log * * udp,tcp * 135,137-139,445
ipv6 filter 3999 pass * * * * *
ipv6 filter dynamic 30001 * * ftp syslog=off
ipv6 filter dynamic 30002 * * domain syslog=off
ipv6 filter dynamic 30003 * * www syslog=off
ipv6 filter dynamic 30004 * * smtp syslog=off
ipv6 filter dynamic 30005 * * pop3 syslog=off
ipv6 filter dynamic 30006 * * submission syslog=off
ipv6 filter dynamic 30007 * * tcp
ipv6 filter dynamic 30008 * * udp
IPv6 outフィルターの設定。IPv4と基本同じ。

ipv6 filter 4000 pass * * icmp6 * *
ipv6 filter 4001 pass * * 4
ipv6 filter 4002 pass * * udp * 546
ipv6 filter 4003 pass * xxxx tcp * 55555
ipv6 filter 4999 reject-log * * * * *
IPv6 inフィルターの設定。YAMAHAのv6プラス設定の説明ページを参照。
ルール4001はv6プラスのパケットを通過させるために必要。VPNサーバはIPv6も受け付けれるので、そのために4003ルールを設定しています。

dns host lan1
dns service fallback on
dns private address spoof on
dns private name NVR510
dns server 2001:4860:4860::8888 2001:4860:4860::8844 8.8.8.8 8.8.4.4 
DNSの設定。YAMAHAのv6プラス設定の説明ページだと、dns server dhcp lan2だけでいいはずなんですが、その設定ではうまくDNSが引けないので、Google Public DNSを使う設定にしました。

【2020/5/5追記】
DNSの設定は、今は以下のようになっています。Google Public DNSとCloudflare DNS を使う設定にしています。v6プラスを使う環境だとIPv4よりIPv6の方が絶対に速いので、全部IPv6のアドレスを指定しています。
dns server 2001:4860:4860::8888 2001:4860:4860::8844 2606:4700:4700::1111 2606:4700:4700::1001
【2020/8/15追記】
今のDNSの設定は、以下のようになっています。引っ越したのでネットワークの環境が変わっているのと、これまではパブリックDNSだけ使っていても、ひかりTVのSTBが起動できていたんですが、最近何か環境が変わったようで、DHCPで配布されるDNS(フレッツ網のDNS)を使わないといけなくなりました。ただ、フレッツ網のDNSはたまに障害が起きるので、パブリックDNSも引けるようにしてます。
dns server select 500000 dhcp onu1 any .
dns server select 500001 2001:4860:4860::8888 any .
dns server select 500002 2606:4700:4700::1111 any .
dns server select 500003 2001:4860:4860::8844 any .
dns server select 500004 2606:4700:4700::1001 any .
 
analog wait dial timer 1 2
analog sip arrive permit 1 myname
analog sip call myname 1 sip:0333333333
analog sip arrive permit 2 off
analog sip call permit 2 off
analog supplementary-service pseudo call-waiting
analog extension emergency-call-dial type normal-number
analog extension dial prefix sip prefix="9#"
analog extension dial prefix port=1 ngn lan2
analog extension dial prefix port=2 ngn lan2
sip use on
sip codec permit lan2 g711u
アナログ電話の設定。Web GUIで設定したものそのままです。


0 件のコメント:

コメントを投稿