記憶力が無い

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

RTX830 の設定その2【v6 プラス + VLAN編】

blog.ttk1.net

前回 RTX830 で v6 プラスでインターネット接続するための設定を見ていきました。 今回はその設定に手を加え、v6 プラスで接続しながら VLAN が使えるようにならないか試してみようと思います。

はじめに

自宅サーバーを運用していると、セキュリティ的な事情から VLAN を設定したくなります。

randomsoft.com

こちらのサイトによると RTX810 では、

  • タグ VLAN だと RA メッセージが届かない
  • ポート VLAN だと vlan1 にのみ RA メッセージが届く(vlan1 でしか IPv6 の通信ができない)

みたいな動作になっているようです。 果たして今回の検証環境(RTX830 + 新しいファームウェア)ではどうなっているでしょうか。

検証環境

  • モデル: RTX830
  • ファームウェアバージョン: 15.02.17
  • ひかり電話契約: 無し

設定その1

先ず、一つのプレフィックス ipv6 prefix 1 ra-prefix@lan2::/64 を各ポート(VLAN)で使いまわす設定をしてみます。

ip route default gateway tunnel 1
lan type lan1 port-based-option=divide-network

ip lan1.1 address 192.168.1.1/24
ip lan1.2 address 192.168.2.1/24
ip lan1.3 address 192.168.3.1/24
ip lan1.4 address 192.168.4.1/24

dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.1.200-192.168.1.255/24
dhcp scope 2 192.168.2.200-192.168.2.255/24
dhcp scope 3 192.168.3.200-192.168.3.255/24
dhcp scope 4 192.168.4.200-192.168.4.255/24

ipv6 prefix 1 ra-prefix@lan2::/64
ipv6 lan1.1 address ra-prefix@lan2::1/64
ipv6 lan1.2 address ra-prefix@lan2::1/64
ipv6 lan1.3 address ra-prefix@lan2::1/64
ipv6 lan1.4 address ra-prefix@lan2::1/64

ipv6 lan1.1 rtadv send 1 o_flag=on
ipv6 lan1.2 rtadv send 1 o_flag=on
ipv6 lan1.3 rtadv send 1 o_flag=on
ipv6 lan1.4 rtadv send 1 o_flag=on

ipv6 lan1.1 dhcp service server
ipv6 lan1.2 dhcp service server
ipv6 lan1.3 dhcp service server
ipv6 lan1.4 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 200031 200032 200033 200034 200039
 ip tunnel secure filter out 200099 dynamic 200080 200082 200083 200084 200098 200099
 ip tunnel nat descriptor 1000
 tunnel enable 1

ip filter 200031 pass * 192.168.1.0/24 icmp * *
ip filter 200032 pass * 192.168.2.0/24 icmp * *
ip filter 200033 pass * 192.168.3.0/24 icmp * *
ip filter 200034 pass * 192.168.4.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 descriptor type 1000 masquerade
nat descriptor address outer 1000 map-e

dns host lan1.1 lan1.2 lan1.3 lan1.4
dns server dhcp lan2

この設定を適用して ipconfig の結果を見ると、 IPv6 アドレスが割り当てられたものの、IPv4・IPv6 ともに通信はできませんでした。

設定その2

次に、各ポート毎にプレフィックス ra-prefix@lan2::/64 を定義し、それぞれに割り当てる設定でやってみます。

# 一部抜粋
ipv6 prefix 1 ra-prefix@lan2::/64
ipv6 prefix 2 ra-prefix@lan2::/64
ipv6 prefix 3 ra-prefix@lan2::/64
ipv6 prefix 4 ra-prefix@lan2::/64

ipv6 lan1.1 address ra-prefix@lan2::1/64
ipv6 lan1.2 address ra-prefix@lan2::1/64
ipv6 lan1.3 address ra-prefix@lan2::1/64
ipv6 lan1.4 address ra-prefix@lan2::1/64

ipv6 lan1.1 rtadv send 1 o_flag=on
ipv6 lan1.2 rtadv send 2 o_flag=on
ipv6 lan1.3 rtadv send 3 o_flag=on
ipv6 lan1.4 rtadv send 4 o_flag=on

これも先ほどと同じく、ipconfig の結果を見ると IPv6 アドレスが割り当てられたものの、IPv4・IPv6 ともに通信はできませんでした。

設定その3

今度は、RA で受信した /64 のプレフィックスを /68 に分割して各ポートに割り振る設定をしてみます。

# 一部抜粋
ipv6 prefix 1 ra-prefix@lan2:1000::/68
ipv6 prefix 2 ra-prefix@lan2:2000::/68
ipv6 prefix 3 ra-prefix@lan2:3000::/68
ipv6 prefix 4 ra-prefix@lan2:4000::/68

ipv6 lan1.1 address ra-prefix@lan2:1000::/68
ipv6 lan1.2 address ra-prefix@lan2:2000::/68
ipv6 lan1.3 address ra-prefix@lan2:3000::/68
ipv6 lan1.4 address ra-prefix@lan2:4000::/68

ipv6 lan1.1 rtadv send 1 o_flag=on
ipv6 lan1.2 rtadv send 2 o_flag=on
ipv6 lan1.3 rtadv send 3 o_flag=on
ipv6 lan1.4 rtadv send 4 o_flag=on

ipconfig の結果を見ると IPv6 アドレスは割り当てられず、IPv4・IPv6 ともに通信はできませんでした。 プレフィックス長を /64 より長くするのはダメなんでしょうか?

設定その4

最後に、1番ポートだけにプレフィックス ra-prefix@lan2::/64 を割り当てる設定をしてみます。

# 一部抜粋
ipv6 prefix 1 ra-prefix@lan2::/64
ipv6 lan1.1 address ra-prefix@lan2::/64
ipv6 lan1.1 rtadv send 1 o_flag=on

この設定だと1番ポートに繋いだ場合、ipconfig の結果を見ると IPv6 アドレスが割り振られており、IPv4・IPv6 ともに通信ができました。 また、他のポートに繋いだ場合は、IPv6 アドレスが割り振られず、IPv4 のみで通信が出来ることが確認できました。

プレフィックスを別のポートに割り当てた場合は、割り当てたポートについて同じ結果が得られました(1番ポート固定というわけではなさそうです)。

まとめ

試した範囲では v6 プラス接続時に全ポートで IPv6 の通信ができるように設定することは出来きませんでした。ぐぬぬ。

とはいえ、私が使う上では IPv4 が使えれば十分なので、とりあえずは「設定その4」をもとに設定を作っていこうと思います。

Copyright © 2017 ttk1