web-dev-qa-db-ja.com

net.ipv6.conf.all.forwarding = 1は、すべての個々のインターフェースの転送を有効にすることと同等ですか?

それともIPv6の転送を有効にする唯一の方法ですか?

/proc/sys/net/ipv6/conf# grep '' */forwarding
all/forwarding:0
default/forwarding:1
eth0/forwarding:1
lo/forwarding:1
nat64/forwarding:1
tunl0/forwarding:1
veth_cm/forwarding:1
wifi0/forwarding:1
wlan0/forwarding:1

ルーティングしません。 Wiresharkでパケットを確認しましたが、ip6tablesに到達しません。

/proc/sys/net/ipv6/conf# grep '' */forwarding
all/forwarding:1
default/forwarding:1
eth0/forwarding:1
lo/forwarding:1
nat64/forwarding:1
tunl0/forwarding:1
veth_cm/forwarding:1
wifi0/forwarding:1
wlan0/forwarding:1

これでネットワークが機能し始めます。

/proc/sys/net/ipv6/conf# grep '' */forwarding
all/forwarding:1
default/forwarding:0
eth0/forwarding:0
lo/forwarding:0
nat64/forwarding:0
tunl0/forwarding:0
veth_cm/forwarding:0
wifi0/forwarding:0
wlan0/forwarding:0

ネットワークはまだ機能しています。それらの個々のインターフェイスごとのスイッチは使用されていますか? Linuxカーネルのバグである可能性があります(現在バージョン4.9.5を実行しています)。

5
Vi.

実際、IPv4の*/forwardingおよびall/forwardingとは異なる動作をするように設計されています。

から https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt

conf/all/forwarding - BOOLEAN
    Enable global IPv6 forwarding between all interfaces.

    IPv4 and IPv6 work differently here; e.g. netfilter must be used
    to control which interfaces may forward packets and which not.

    This also sets all interfaces' Host/Router setting
    'forwarding' to the specified value.  See below for details.

    This referred to as global forwarding.

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).

したがって、インターフェイスごとのforwardingは、さまざまなフラグや特別なパケットの動作などの補助的な目的でのみ使用され、パケットを再送信するかどうかを決定するためではありません。

6
Vi.