[FreeBSD-users-jp 96714] Re: 「v6プラス 固定IPサービス」でのIPIPトンネルの設定の仕方
tomocha
tomo-ml @ gyojya.jp
2021年 3月 9日 (火) 10:47:00 UTC
tomocha です。
渡邊さんより個別に連絡を貰って、助け船を出していたのですが、
MLで直接やった方がよさそうなので、こちらに投稿させていただき
ます。
まず、前提条件として、
- Transix 固定IPサービス (Interlinほか)
- JPNE v6プラス(kamomeほか、etc...)固定IPサービス
- v6connect 固定IPサービス
いずれも、MAPでもDS-Liteでもなく、純粋にLightweigt
4over6(RFC7596)を使われた物だと思います。これは、IPIP tunnel
の応用です。すなわち、DS-Liteとは異なり、NATはCPE側(=この場
合はFreeBSD側)で行う必要があります。
参考にですが、Softbankはこれに近いけど、MAPベースだったかな?
でポートの共有はしていません(v6方面で出された6rd/4rdの資料は
トライアルの時代のものなので、現在の実装とは異なります。)。
その為、FreeBSDでもLinuxでもMacでも、固定IPサービスは簡単に
動きます。
なお、以前検証した際には、とある大手ベンダー機器の
Lightweight 4o6で、policyを定義して、1:1で通信、tunnelで動
作するのを確認しています。なお、Mac, Linux, FreeBSD 13 RC1で
も動作しました。v6プラスも実環境で固定IPについては動作確認し
ています。
> 1. IPv6プレフィックス : aaaa : bbbb :cccc : dddd : eeee : ffff : gggg : hhhh / 56
> 2. IPv4アドレス : 192. 168. 100. 119 / 32
> 3. インターフェースID : iiiii : jjjjj : kkkk : llll
> 4. Border Relay アドレス : mmmm : nnnn : oooo : pp :: 65
基本的には、IPIP tunnel は、Prefix + InterfaceIDを付与された
決められたアドレス と BR(AFTR endpoint) が固定で決め打ちさ
れた1対1のIPトンネルです。
ただ、NGNのアドレスは固定が保証されているわけではなく、非固
定若しくは半固定といわれています。
その為、NTTのNGNメンテナンス、統廃合、機器更改(リプレース)な
どで、prefixが変わる可能性があるため、それを追尾するため、DDNS
など、BR装置のpolicyを更新するための手法が用意されています。
(NEC IXルータなどのサイトに設定事例があるので、その辺から推
測可能です)
https://jpn.nec.com/univerge/ix/Support/ipv6/v6plus-staic/ver9.7.html
登録情報と、実際に割り当てられたprefixに違いがなければDDNSの
処理はスキップ出来る物と思われます。
とはいえ、ここの挙動は確認していませんが、開通処理にDDNSで接
続することが要件になっているか、そこの仕様については、知らな
いので、個別に試してみてください。
この当たりの前提条件を元に、NGNでは2種類の回線があります。
一般的には
ネクスト系
ひかり電話有りDHCPv6 PD ... /56
NGN側のgateway ::ffee
ひかり電話無し RA ... /64
NGN側のgateway ::fffe
クロス系
ひかり電話未提供
DHCPv6 PD /56
NGN側のgateway ::ffee でいいかな?
となります。
上記の登録通知から、ひかり電話あり 若しくは、フレッツ光クロ
スであると考えられます。
すなわち、FreeBSD で 直接ONUの口に直接刺している物と考えられ
ますが、この場合は、DHCPv6(prefix delegation)により、まずは
NGNからprefixを受け取る必要があります。
このあたりは、hiroo さんが記載されているとおりです。
FreeBSD + IPoE での参考事例があまりないようですが、PPPoEv6
の情報がいくつか参考になるかと思います。その辺もあわせて探し
てみてください。interfaceがpppoeではなく、物理interfaceに読
み替えれば良いかと。
https://www.soum.co.jp/misc/flets-ipv6-pppoe/1/
渡邊さんは、v6の方で色々と勘違いされているようですが、
> 1. IPv6プレフィックス : aaaa : bbbb :cccc : dddd : eeee : ffff : gggg : hhhh / 56
> 2. IPv4アドレス : 192. 168. 100. 119 / 32
> 3. インターフェースID : iiiii : jjjjj : kkkk : llll
1. のprefix では、この表記はあり得ません。
通常では、2001:db8::/32 といった形であり、 /56 であれば、
2001:db8:aaaa:bb00::/56 のようになるかと思います。
JPNEだと、240b:250:xxxx:xxx::/56 でしょうか。
interface ID の数がおかしいですが、prefix+interface id を組
み合わせると、
240b:250:aaaa:bb00:iiii:jjjj:kkkk:llll/64 になるのが正解です。
これを、ixl0 に addressを付けてください。
# 別に、net.inet6.ip6.forwarding=1 を有効にして、prefixは、
ixl0に付与、v6 addressを別のinterfaceに付けても良いです。
NGNのgatewayは、::ffee で良いはずですが、
ping6 ff02::1%<interface>
で探してみてください。
そうすれば、外部とIPv6 で疎通が取れるはずです。
# わが家、 /56 の DHCPv6-PD環境がないので、
# これ以上は説明厳しいデス。
あとは、IPv6そのものの疎通が正しく取れれば、
root @ freebsd-test1:~ # ifconfig gif1000 create inet6 tunnel 240b:250:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx \
2001:db8:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx up
root @ freebsd-test1:~ # ifconfig lo0 inet xxx.xxx.xxx.xxx netmask 255.255.255.255 alias
root @ freebsd-test1:~ # route add -inet default -interface gif1000
こんな感じで、tunnel はれば、v4の疎通は出来ます。
loopback に グローバルを付与していますが、pf なりで、NAT す
ればLAN側端末から繋がるでしょう。
以上、参考になれば。
DATE : Mon, 08 Mar 2021 19:25:22 +0900
Subject : [FreeBSD-users-jp 96712] Re: 「v6プラス 固定IPサービス」でのIPIPトンネルの設定の仕方
NAME : Hiroo Ono <hiroo @ oikumene.net> wrote:
> 小野寛生です。
>
> > 1. IPv6プレフィックス : aaaa : bbbb :cccc : dddd : eeee : ffff : gggg : hhhh / 56
> > 2. IPv4アドレス : 192. 168. 100. 119 / 32
> > 3. インターフェースID : iiiii : jjjjj : kkkk : llll
> > 4. Border Relay アドレス : mmmm : nnnn : oooo : pp :: 65
>
> 1. を見ると IPv6 の prefix長が /56 のようなので、DHCPv6 で取得するのかもしれません。
> dhcp6 パッケージを入れて、
>
> dhcp6 -dD -i ixl0
>
> でどういう情報が出てくるか見てください。
> DHCPv6 で設定する場合、
>
> https://vladvasiliu.com/post/20180827-0922-ipv6_prefix_delegation_freebsd/
>
> ここが参考になると思います。
> DHCPv6 での設定を行わない場合は rtsol(d) で設定しますが、
>
> rtsol -DF ixl0
>
> でOフラグがついているかどうか確認した方がよいでしょう。
> こちらで設定する場合は NAT 以外は
>
> https://people.allbsd.org/~hrs/FreeBSD/sato-FBSDW20170825.pdf
>
> に書いてあるようにできると思います。
>
> _______________________________________________
> freebsd-users-jp @ freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp
> To unsubscribe, send any mail to "freebsd-users-jp-unsubscribe @ freebsd.org"
freebsd-users-jp メーリングリストの案内