記憶力が無い

プログラミングとランニングとカメラと何か

RTX830 の設定、IPv6 の話

前回の記事で YAMAHA のルーター「RTX830」を買ったことを書きましたが、今回はその設定編その 1 です。 v6 プラスで接続するための設定例を使って、一体どんな設定が必要なのかを見ていきましょう。

設定 (全体)

https://network.yamaha.com/setting/router_firewall/ipv6/v6plus

YAMAHA のサイトに掲載されている v6 プラスの設定例はこんな感じになっています。

一旦全体を眺めた後、個別の設定の意味を解釈していこうと思います。

# ゲートウェイの設定
ip route default gateway tunnel 1

# LAN インターフェースの設定
ip lan1 address 192.168.100.1/24

# WAN インターフェースの設定
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 dhcp service client ir=on
ipv6 lan2 secure filter in 200030 200031 200038 200039
ipv6 lan2 secure filter out 200099 dynamic 200080 200081 200082 200083 200084 200098 200099

# トンネルの設定
tunnel select 1
tunnel encapsulation map-e
tunnel map-e type v6plus
ip tunnel mtu 1460
ip tunnel secure filter in 200030 200039
ip tunnel secure filter out 200099 dynamic 200080 200082 200083 200084 200098 200099
ip tunnel nat descriptor 1000
tunnel enable 1

# フィルターの設定
ip filter 200030 pass * 192.168.100.0/24 icmp * *
ip filter 200039 reject * *
ip filter 200099 pass * * * * *
ip filter dynamic 200080 * * ftp
ip filter dynamic 200082 * * www
ip filter dynamic 200083 * * smtp
ip filter dynamic 200084 * * pop3
ip filter dynamic 200098 * * tcp
ip filter dynamic 200099 * * udp
ipv6 filter 200030 pass * * icmp6 * *
ipv6 filter 200031 pass * * 4
ipv6 filter 200038 pass * * udp * 546
ipv6 filter 200039 reject * *
ipv6 filter 200099 pass * * * * *
ipv6 filter dynamic 200080 * * ftp
ipv6 filter dynamic 200081 * * domain
ipv6 filter dynamic 200082 * * www
ipv6 filter dynamic 200083 * * smtp
ipv6 filter dynamic 200084 * * pop3
ipv6 filter dynamic 200098 * * tcp
ipv6 filter dynamic 200099 * * udp

# NAT の設定
nat descriptor type 1000 masquerade
nat descriptor address outer 1000 map-e

# DHCP の設定
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.100.2-192.168.100.191/24

# DNS の設定
dns host lan1
dns server dhcp lan2

ゲートウェイの設定

ip route default gateway tunnel 1

参考: http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/ip/ip_route.html

トンネルインターフェースの 1 番を IPv4 のデフォルトゲートウェイに設定しています。 この後も何度か登場しますが ip ~ の場合 IPv4 、ipv6 ~ の場合 IPv6 の設定のとなります。

トンネルインターフェースについては後ほど定義を行います。

LANインターフェースの設定

ip lan1 address 192.168.100.1/24

参考: http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/ip/ip_interface_address.html

lan1 インターフェースのネットワークアドレスを 192.168.100.1/24 に設定しています。 RTX830 にはインターフェースが LAN と WAN の二つあり、lan1 が LAN に、lan2 が WAN に対応しています(ちょっとわかりにくいですよね)。

WANインターフェースの設定

ipv6 prefix 1 ra-prefix@lan2::/64

参考: http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/ipv6/ipv6_prefix.html

ルーター広告 (RA) で配布するプレフィックスを定義しています。 この設定では lan2 で受信したものを使用するようになっています。 実際に広告するには ipv6 lan1 rtadv send 1 の設定が必要になります。

ipv6 lan1 address ra-prefix@lan2::1/64

参考: http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/ipv6/ipv6_interface_address.html

lan1 の IPv6 ネットワークアドレスを設定しています。 この設定では lan2 で受信した RA のプレフィックスに ::1 を付け足して IPv6 アドレスにしています。

ipv6 lan1 rtadv send 1 o_flag=on

参考: http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/ipv6/ipv6_interface_rtadv_send.html

上で定義したプレフィックスを lan1 に割り当てています。 o_flag=on は other stateful configuration フラグを立てる設定で、 IPv6 アドレス以外のオプション情報を( DHCPv6 サーバ等から)自動取得するか否かの設定となります。

ipv6 lan1 dhcp service server
ipv6 lan2 dhcp service client ir=on

参考: http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/ipv6/ipv6_interface_dhcp_service.html

DHCPv6 の動作の設定をしています。 LAN 方向にはサーバー、 WAN 方向にはクライアントとして動作するように設定しています。 ir=on はクライアントとして動作する際に Inform-Request (DHCPv6 サーバーにアドレス以外の情報を要求する)を送信する設定になります。

ir=off (デフォルト)に設定した場合、 Solicit が送信されアドレスも DHCPv6 サーバーから取得するようになります。 アドレスを RA によって自動生成する場合は DHCPv6 サーバーから取得したくないので ir=on とするのが良いみたいです。

ipv6 lan2 secure filter in 200030 200031 200038 200039
ipv6 lan2 secure filter out 200099 dynamic 200080 200081 200082 200083 200084 200098 200099

参考: http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/ipv6/ipv6_interface_secure_filter.html

lan2 インターフェースに IPv6 フィルタを設定しています。 フィルタのルールに関しては別途定義を行います。 内側向きのパケットは静的フィルタ、外向きのパケットは静的フィルタ+動的フィルタを設定しています。 内側から開始する通信に関しては、戻りのパケットを破棄せずに通す必要がありますが、それを動的フィルタによってコントロールします。

トンネルの設定

v6 プラスでは IPv6 の上にトンネルを作り、そこで IPv4 の通信を行います。 ここではそのトンネルの設定や IPv4 の設定を行います。

tunnel select 1

参考: http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/operation/tunnel_select.html

設定の対象となるトンネルインターフェースの番号を指定しています。 最初にゲートウェイの設定で指定した 1 番をここでも指定します。

使用できるトンネルインターフェース番号はモデルによって異なるようですが、 RTX830 では 1 ~ 20 のようです(http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/ipsec/ipsec_chapter.html)。

tunnel encapsulation map-e
tunnel map-e type v6plus

参考: http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/tunneling/tunnel_encapsulation.html http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/tunneling/tunnel_map_e_type.html

トンネルインターフェースの種類の設定をしています。 v6 プラスでは MAP-E という方式を使っているので map-e を指定しています。

tunnel map-e type v6plus は使用する MAP-E のサービス(v6プラス)を設定しています。サービス提供事業者ごとに差異を吸収する処理が必要なんですかね?ちょっとよくわかりません。

ip tunnel mtu 1460

参考: http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/ip/ip_interface_mtu.html

トンネルインターフェースの MTU を設定しています。 一次情報は見つけられなかったですが、 v6 プラスでは MTU は 1460 オクテットとなるみたいです。

ip tunnel secure filter in 200030 200039
ip tunnel secure filter out 200099 dynamic 200080 200082 200083 200084 200098 200099

参考: http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/ip/ip_interface_secure_filter.html

トンネルインターフェースに IPv4 フィルタの設定をしています。

※ 設定内容は IPv6 のときとほぼ同じです。

ip tunnel nat descriptor 1000

参考: http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/nat/ip_interface_nat_descriptor.html

トンネルインターフェースに NAT ディスクリプタを適用させます。 NAT ディスクリプタの定義は後ほど行います。

フィルターの設定

ip filter 200030 pass * 192.168.100.0/24 icmp * *
...(省略)

参考: http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/ip/ip_filter.html http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/ip/ip_filter_dynamic.html http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/ipv6/ipv6_filter.html http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/ipv6/ipv6_filter_dynamic.html

先ほどインターフェースの設定で使用したルールがここに定義してあります。

※ 個別のルールについては、長くなりそうなので解説は省略します。 参考のリンク先に説明が書いてあるので、知りたい方はそちらを参照してください。

NAT の設定

nat descriptor type 1000 masquerade

参考: http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/nat/nat_descriptor_type.html

NAT の動作タイプを設定しています。動作タイプは静的 NAT, 動的 NAT, IP マスカレードなどがありますが、ここでは IP マスカレードを選択します。v6 プラスだと割り当てられる IPv4 アドレスは一つだけなので IP マスカレード一択だと思われます。

NAT ディスクリプタ番号はトンネルインターフェースの設定に合わせて 1000 としています。

nat descriptor address outer 1000 map-e

参考: http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/nat/nat_descriptor_address_outer.html

NAT の外側の IP アドレスの設定を行っています。 v6プラスでは MAP-E によって割り当てたものを使用するので map-e を指定します。 NAT ディスクリプタ番号は先ほどと同様に 1000 としています。

DHCP の設定

ここでは LAN インターフェースの DHCP (IPv4) の設定を行います。 IPv6 については「WAN インターフェースの設定」のところですでに設定を行っています。

dhcp service server

参考: http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/dhcp/dhcp_service.html

DHCP をサーバーとして機能させる設定をしています。 サーバー以外ではリレーエージェントとしても機能させることが出来ますが、NAT 時には設定できません。

dhcp server rfc2131 compliant except remain-silent

参考: http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/dhcp/dhcp_server_rfc2131_compliant.html

DHCP サーバーの動作を remain-silent を除いて RFC2131 準拠となるように設定しています。remain-silent はドキュメントによれば「リース情報を持たないクライアントからの DHCPREQUEST を無視する」という動作のようですが、これを何のために除外してるのかはよくわかりません。とりあえずそのまま使うことにします。

dhcp scope 1 192.168.100.2-192.168.100.191/24

参考: http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/dhcp/dhcp_scope.html http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/dhcp/ip_interface_dhcp_service.html

DHCP の対象となるアドレスの範囲(スコープ)を指定しています。 ネットワークアドレスが合致するスコープが自動で選択されるようになっているため、インターフェースとスコープの紐付け設定のようなものはありません。

スコープ ID は割り当てアドレスの予約等の設定で必要になりますが、今回の設定の範囲では使用しないので値は適当でいいと思われます。

DNS の設定

dns host lan1

参考: http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/dns/dns_host.html

DNS サーバーに lan1 側からしかアクセスできないように設定しています。

dns server dhcp lan2

参考: http://www.rtpro.yamaha.co.jp/RT/manual/rt-common/dns/dns_server_dhcp.html

DNS サーバーアドレスを取得するインターフェースを設定しています。ここでは lan2 インターフェースを選択しています。 DNS サーバーのアドレスは DHCP の設定から取得されるようになっているらしく、 lan2 は DHCPv6 の設定をしているので取得される DNS サーバーのアドレスも IPv6 となると思われます。

まとめ

ルーターの設定を読み解いていくことで、 IPv6 のことも何となく分かってきたんじゃないでしょうか。 今後この設定をカスタマイズして実践投入する予定なので、そのうちその話についても書こうと思います。

Copyright © 2017 ttk1