IPv6におけるルータの働き
なんとなくわかったイメージをメモ。
IPv6について、ルータからはメインの通信の他に、主に2つの働きがあると思います。
1,IPアドレスを決める。
ルータ上で、DHCPサーバー機能(DHCPv6)を用いて、各クライアントにIPアドレスを配布するかどうかを選択できます。
そして、IPv4とちがって、DHCPを使わなくてもクライアントはルータ広告(RA)からIPアドレスを自動生成することができます。
つまり、アドレス「xxxx:xxxx:xxxx:」っていうのがプロバイダから渡されたから、その後ろはご自由に作ってね、ということです。
(OSごとに挙動が違います。AndroidはDHCPv6に対応していません。Googleの理念からのようです。したがって、自動生成のみになります。)
DHCPv6では、ルータ側がクライアントのIPアドレスを作成して配布しますが、そのIPアドレスをバッチリ把握するか、しないのか、といった違いも選択できる場合があります。
この把握のことを「ステート」というように見受けられます。
以上から、下記の分類になります。
DHCPv6によるIPアドレスの配布
・クライアントのIPアドレスを把握する。(ステートフル)
・クライアントのIPアドレスを把握しない。(ステートレス)
RAに基づくIPアドレスの生成(ステートレス)
ルータ上では、Mフラグという名前で設定できるかもしれません。
Mフラグをオンにすると、DHCPv6が利用されます。
Mフラグをオフにすると、RAが利用されます。
オフで良いと思います。
ルータの負担も減るでしょうし。
ルータからIPv6のDNSサーバのアドレスを教えてもらいます。
上記1,のようにDHCPv6を用いるかどうかで異なります。
(ちなみに、クライアントがIPv6のDNSサーバのアドレスを教えてもらえなかった場合でサーバのアドレスを指定していなかった場合、IPv4のDNSサーバにアクセスすることになります。
よって、DNSはIPv4、実際の通信はIPv6であったりと、通信形式に煩雑なことが起こります。)
ここでは、
a, DHCPv6を用いて教えてもらう場合と、
b, 潔く何も教えてもらわない場合と、
c, RAで教えてもらう場合(RDNSS)があります。(比較的新しい方法)
aでは、Windows10は対応していますが、Androidは対応していません。
bでは、クライアントが個別にアドレスを指定してあげる必要があります。
cでは、Windows10もAndroidも対応していますが、ルータが対応していないケースが大半のようです。(私の支給されたルータもそうです)
したがって、a(と選択できるならばcも)を選択しておくのが良いでしょう。
ルータ上では、Oフラグという名前とAフラグという名前で設定できます。
OフラグをオンにするとDHCPv6によるDNSアドレスの通知が行われます。
OフラグをオフにするとDHCPv6によるDNSアドレスの通知が行われません。
AフラグをオンにするとRAによるDNSアドレスの通知が行われます。
AフラグをオフにするとRAによるDNSアドレスの通知が行われません。
ここでRAとDHCPv6のオンオフができるようになっています。
念の為、RAはオンにし、DHCPv6はオフにしておくと良きましょう。
なぜこんなことをするのかというと、
DoTやDoHは現時点でIPv4で行われていることが多いためです。
したがって、クライアント側がIPv6のDNSサーバを知らなければ、
IPv4でDNSを拾いに行くことになりますので、
DNSサーバとの通信をDoT,DoHで行ってくれることになります。
間違ってたらすみません
以上
追記
DNSの設定欄に ffff::x.x.x.x
x.x.x.xはIPv4のDNSアドレス
という方法で適用できました。
本当に簡単ですね。
追記
::ffff:x.x.x.x
でうまく動いていません。
理由不明。
IPv6について、ルータからはメインの通信の他に、主に2つの働きがあると思います。
1,IPアドレスを決める。
2,DNSサーバーのアドレスを教える。
1,IPアドレスを決める。
ルータ上で、DHCPサーバー機能(DHCPv6)を用いて、各クライアントにIPアドレスを配布するかどうかを選択できます。
そして、IPv4とちがって、DHCPを使わなくてもクライアントはルータ広告(RA)からIPアドレスを自動生成することができます。
つまり、アドレス「xxxx:xxxx:xxxx:」っていうのがプロバイダから渡されたから、その後ろはご自由に作ってね、ということです。
(OSごとに挙動が違います。AndroidはDHCPv6に対応していません。Googleの理念からのようです。したがって、自動生成のみになります。)
DHCPv6では、ルータ側がクライアントのIPアドレスを作成して配布しますが、そのIPアドレスをバッチリ把握するか、しないのか、といった違いも選択できる場合があります。
この把握のことを「ステート」というように見受けられます。
以上から、下記の分類になります。
DHCPv6によるIPアドレスの配布
・クライアントのIPアドレスを把握する。(ステートフル)
・クライアントのIPアドレスを把握しない。(ステートレス)
RAに基づくIPアドレスの生成(ステートレス)
ルータ上では、Mフラグという名前で設定できるかもしれません。
Mフラグをオンにすると、DHCPv6が利用されます。
Mフラグをオフにすると、RAが利用されます。
オフで良いと思います。
ルータの負担も減るでしょうし。
2,DNSサーバーのアドレスを教える。
ルータからIPv6のDNSサーバのアドレスを教えてもらいます。
上記1,のようにDHCPv6を用いるかどうかで異なります。
よって、DNSはIPv4、実際の通信はIPv6であったりと、通信形式に煩雑なことが起こります。)
ここでは、
a, DHCPv6を用いて教えてもらう場合と、
b, 潔く何も教えてもらわない場合と、
c, RAで教えてもらう場合(RDNSS)があります。(比較的新しい方法)
aでは、Windows10は対応していますが、Androidは対応していません。
bでは、クライアントが個別にアドレスを指定してあげる必要があります。
cでは、Windows10もAndroidも対応していますが、ルータが対応していないケースが大半のようです。(私の支給されたルータもそうです)
したがって、a(と選択できるならばcも)を選択しておくのが良いでしょう。
ルータ上では、Oフラグという名前とAフラグという名前で設定できます。
OフラグをオンにするとDHCPv6によるDNSアドレスの通知が行われます。
OフラグをオフにするとDHCPv6によるDNSアドレスの通知が行われません。
AフラグをオンにするとRAによるDNSアドレスの通知が行われます。
AフラグをオフにするとRAによるDNSアドレスの通知が行われません。
おすすめの設定
Mフラグのオフ
Oフラグのオン
Aフラグのオン
というのが良いと思います。
IPアドレスは各クライアントが生成します。(ルータからは配布してもらわない。)
DNSアドレスはルータから教えてもらいます。
という設定です。
DoT,DoHを使っている方へのおすすめ設定
プレフィックスデリゲーション(PD)と呼ばれる設定項目があると思います。ここでRAとDHCPv6のオンオフができるようになっています。
念の為、RAはオンにし、DHCPv6はオフにしておくと良きましょう。
Mフラグのオフ
Oフラグのオフ
Aフラグのオフ
としておきます。
これにより、ルータからIPv6のDNSサーバーアドレスがわからなくなります。
としておきます。
これにより、ルータからIPv6のDNSサーバーアドレスがわからなくなります。
なぜこんなことをするのかというと、
DoTやDoHは現時点でIPv4で行われていることが多いためです。
したがって、クライアント側がIPv6のDNSサーバを知らなければ、
IPv4でDNSを拾いに行くことになりますので、
DNSサーバとの通信をDoT,DoHで行ってくれることになります。
間違ってたらすみません
以上
追記
Windows10のIPv6のプロパティからIPv4だけ利用する方法
DNSの設定欄に ffff::x.x.x.x
x.x.x.xはIPv4のDNSアドレス
という方法で適用できました。
本当に簡単ですね。
追記
::ffff:x.x.x.x
でうまく動いていません。
理由不明。
コメント
コメントを投稿