
IPv6転送を有効にすると、ホストから送信されたネイバー検索パケットに「IsRouter」フラグが設定されていることを文書で確認しました。実際に転送が有効になると、「ルータの動作が想定されます」と指定されます。
これは良いロジックのように見えますが、IPv6 NATの極端なケースを排除します。(はい、まれです)。たとえば、ULAサブネットでNAT仮想ネットワークを実行するコンテナホスト(Docker)ですfc00::/64
。内部ネットワークはすべてコンテナソフトウェア(Docker)で構成され、NDを使用しません。ただし、外部LANでは、ホストは単なるホストであり、他の場所へのルーターではありません。
ホストが自分自身をルーターとして宣伝することはほとんど意味がありません。
ホストがへのルートを持つLANに広告しているかどうかはわかりませんfc00::/64
。同じサブネットへのアクセスをブロードキャストする同じLANに多数のホストがある可能性があるため、これはうまくいかない可能性があります。
特に、NDパケットについてforwarding
別の仮定を行わずにIPv6を有効にする方法はありますか?IsRouter
https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt
forwarding - INTEGER
Configure interface-specific Host/Router behaviour.
Note: It is recommended to have the same setting on all
interfaces; mixed router/host scenarios are rather uncommon.
Possible values are:
0 Forwarding disabled
1 Forwarding enabled
FALSE (0):
By default, Host behaviour is assumed. This means:
1. IsRouter flag is not set in Neighbour Advertisements.
2. If accept_ra is TRUE (default), transmit Router
Solicitations.
3. If accept_ra is TRUE (default), accept Router
Advertisements (and do autoconfiguration).
4. If accept_redirects is TRUE (default), accept Redirects.
TRUE (1):
If local forwarding is enabled, Router behaviour is assumed.
This means exactly the reverse from the above:
1. IsRouter flag is set in Neighbour Advertisements.
2. Router Solicitations are not sent unless accept_ra is 2.
3. Router Advertisements are ignored unless accept_ra is 2.
4. Redirects are ignored.
Default: 0 (disabled) if global forwarding is disabled (default),
otherwise 1 (enabled).