2021年5月8日土曜日

自宅のネットワーク環境のNVR510の設定(抜粋,小型ONU接続,v6プラス固定IP,ひかり電話)

現在の私の自宅のネットワーク環境のNVR510の設定です。
小型ONU接続+v6プラス固定IP+ひかり電話というかなりマニアックな構成になっています。

抜粋版でIPアドレスなどは修正してあります。

環境は以下のような感じ。
ローカルネットワーク192.168.62.0/23
NVR510ローカル側アドレス192.168.62.1
VPNサーバ192.168.62.200ポート開放。
クライアントIP:192.168.63.1-5
DLNAサーバ192.168.62.201ポート開放。
v6プラス固定IP
IPv4アドレス
111.111.111.111
インタフェースID2222:2222:2222:2222
BRアドレス3333:3333:3333:3333::3333
ひかり電話の電話番号0333333333


ローカルネットワークアドレスが通常の/24ではなく、/23なのかというと、VPNサーバがクライアントに割り当てるIPアドレス192.168.62.xxxにできないからです。NVR510がDHCPで配布するIPアドレスは、192.168.62.xxx(62=00111110b)で、VPNクライアントのIPアドレスは、192.168.63.xxx(63=00111111b)なので、ネットワークマスクを/23(255.255.254.0)にすればまとめて扱えます。

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

ngn type onu1 ntt

NGNとの接続設定。ひかり電話を使うのでntt。小型ONU接続の場合はlan2ではなくて、onu1。


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

ip onu1 address dhcp
WAN側のIPv4アドレスをDHCPで取得。ひかり電話を使う場合には必須。

ipv6 route default gateway dhcp onu1
ipv6 prefix 1 dhcp-prefix@onu1::/64
ipv6 lan1 address dhcp-prefix@onu1::2222:2222:2222:2222/64
ipv6 lan1 prefix change log on
ipv6 lan1 rtadv send 1 o_flag=on
ipv6 lan1 dhcp service server
ipv6 onu1 dhcp service client

IPv6の設定。ひかり電話を使っているのでDHCPv6-PDの設定。v6プラス固定IPの場合、インタフェースIDに指定されたものを使わないと(=IPv6アドレスに指定したものを使わないと)、BRがv6プラス通信してくれません。


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

ip route default gateway tunnel 1
tunnel select 1
 tunnel encapsulation ipip
 tunnel endpoint address 3333:3333:3333:3333::3333
 ip tunnel mtu 1460
 ip tunnel tcp mss limit auto
 ip tunnel nat descriptor 1000
 tunnel enable 1
nat descriptor type 1000 masquerade
nat descriptor address outer 1000 111.111.111.111
nat descriptor masquerade incoming 1000 discard 
nat descriptor masquerade static 1000 1 192.168.62.200 tcp 55555
nat descriptor masquerade static 1000 2 192.168.62.201 udp 30000-60000
IPv4は、tunnel 1(v6プラス固定IP)を使います。v6プラス固定IPだと、いわゆるポート開放も簡単。

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固定に。

tunnel select 1
 ip tunnel secure filter out 1000 1001 1002 1999 dynamic 10000 10001 10002 10003 10004 10005 10006 10007
ip filter 1000 reject * 192.168.62.0/23 * * *
ip filter 1001 reject * * udp,tcp 135,netbios_ns-netbios_ssn,445 *
ip filter 1002 reject * * udp,tcp * 135,netbios_ns-netbios_ssn,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側のフィルターは基本全ブロックで、動的フィルターで通過させます。

 

tunnel select 1
  ip tunnel secure filter in 2000 2001 2002 2003 2004 2999
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 onu1 secure filter out 3000 3001 3999 dynamic 30001 30002 30003 30004 30005 30006 30007 30008
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 onu1 secure filter in 4000 4001 4002 4003 4999
ipv6 filter 4000 pass * * icmp6 1,2,3,4,129,130-255
ipv6 filter 4001 reject * * icmp6 *
ipv6 filter 4002 pass * * 4
ipv6 filter 4003 pass * * udp * 546
ipv6 filter 4999 reject-log * * * * *

IPv6 inフィルターの設定。
ルール4002はv6プラスのパケットを通過させるために必要。

dns private name NVR510
dns host lan1
dns service fallback on
dns server dhcp onu1
dns server select 100000 dhcp onu1 edns=on any flets-east.jp
dns server select 100001 dhcp onu1 edns=on any iptvf.jp
dns server select 100002 2001:4860:4860::8888 edns=on 2606:4700:4700::1111 edns=on any .
dns server select 100003 2001:4860:4860::8844 edns=on 2606:4700:4700::1001 edns=on any .
dns server select 100004 dhcp onu1 edns=on any .
dns private address spoof on
dns notice order dhcp me
dns notice order dhcpv6 me
dns notice order msext me

DNSの設定。flets-east.jpとiptvf.jpはフレッツ網のDNSで処理します。これを入れないと、ひかりTVのSTBが起動しません。それ以外のDNS参照は、Google Public DNSとCloudflare DNSを使うようにしていて、念のため最後にフレッツ網のDNSを参照するようにしています。


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 onu1
analog extension dial prefix port=2 ngn onu1
sip use on

 アナログ電話の設定。Web GUIで設定したものそのままです。