以前は nf_nat_proto_gre モジュールを読み込む必要があったのですが、最近のカーネル(5.x,6.x)ではこのモジュールがなくなったので、ルータ越えで gre nat は使えないと思い込んでいました。しかし、どこで見たのか忘れましたが、 nat モジュールさえ効いていれば gre は nat ルータを通過できるとのことでした。そこでルータの設定を特にせず gre/gretap を以下のようにしてみたところ、確かに gre/gretap は nat (masquerading) の効いている Debian 12 ルータを同時に通過できました。 まず先にgretapの場合の /etc/network/interfaces.d/以下の設定です。 auto BX_US_DAL iface BX_US_DAL inet6 static address 2001:db8:1000:83::10b netmask 64 pre-up ip link add BX_US_DAL type gretap remote 192.0.2.1 local 10.1.1.106 ttl 255 post-down ip link del dev BX_US_DAL iface BX_US_DAL inet static address 203.0.113.2 netmask 24 ちなみにこちらは、as 番号さえあればフリーで IX に接続できる bgp.exchange というサイトで使用しているものです。(RFC5737 および 3849 に基づき、ドキュメント用にアドレスおよびマスク長を変更しています。以下同様)。 10.1.1.106 が NAT 越えさせたいマシンの内部ネットワークアドレスです。 なお、カーネルソースなどは追っていませんが、 remote ではなく local のアドレスを見て gre nat しているのではないかと思われます。というのも同一クライアントから gretap を複数セッション張る場合、エイリアスのアドレスを与えて local を 10.1.1.106に加え 10.1.1.116, 10.1.1.126のアドレスをイーサネットデバイスに付与し試したところ、同時に複数セッションを張ることが出来たからです。つま
固定IPv6の環境が欲しいので、RIPEからAS番号を取得し、固定IPv6を利用できる環境を構築はしたのですが、プロバイダからはLIRサービスとして、例えば/32や/40などをレンタル出来たりします。しかし、/32や/40に対して 単一のRDNS(ReversDNS、逆引きDNS)の設定をするには、広大すぎます。 また、tunnelbroker.net でも、/64のネットワークだけでなく、/48のネットワークももらえます。そのうえRDNSの登録もできます。 しかし、/48のネットワークでも大きすぎるのでこれを/56のサブネットに分け/56のサブネットに対しRDNSを委任したいと思ったのですが、当然ながらTunnelbroker.netにそのような設定項目はありません。そこで/48で指定したRDNS/bind9上で少し試したところ、/56のサブネットに対し委任でき、また、前述の/40を/48に委任できたので、備忘録として挙げてみることにしました。 bind9のIPv6逆引きゾーンファイル(元が/48で/56を委任する場合)は以下の様になります。 $TTL 3600 ;zone01 2001:db8:abcd::/48 rev $ORIGIN d.c.b.a.8.b.d.0.1.0.0.2.ip6.arpa. @ IN SOA ns01.example.com. admin.example.com. ( 9 ; Serial 3600 ; Refresh 900 ; Retry 360000 ; Expire 3600 ; Negative cache TTL )