或者这是启用 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 中看到数据包,但它们未到达 ip6table。
/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 内核 bug(现在运行版本 4.9.5)。
答案1
看起来确实它的设计工作方式与 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
仅用于辅助功能,例如各种标志和特殊数据包行为,而不是用于决定是否重新传输数据包。