Package: ifupdown Version: 0.8.10 Severity: normal Tags: ipv6 I wanted to implement IPv6 in my network, but my debian machine has some issues with it. The IPv6 connection works just fine when configured statically via the /etc/network/interfaces file in the following way:
iface bond0 inet6 static address 2001:470:71:1234::150 netmask 64 gateway 2001:470:71:1234::1 It also works fine when I use the following line instead: iface bond0 inet6 auto But there's some issues when I want to use DHCP: iface bond0 inet6 dhcp In the last case, there's no default route, and the connection simply doesn't work. I tried to configure the network without IPv6 (only IPv4) via the /etc/network/interfaces file, and then manually start dhclient so it could get the IPv6 lease. In this case, the routes were added without problems. I'm using some LXC containers, and I have one bridge interface. Here's the sysctl configuration: net.ipv4.ip_forward = 0 net.ipv4.conf.all.forwarding = 0 net.ipv4.conf.default.forwarding = 0 net.ipv4.conf.bond0.forwarding = 1 net.ipv4.conf.br-lxc.forwarding = 1 net.ipv6.conf.all.forwarding = 0 net.ipv6.conf.default.forwarding = 0 net.ipv6.conf.bond0.forwarding = 1 net.ipv6.conf.br-lxc.forwarding = 1 When forwarding is set only in the case of the br-lxc interface, the LXC containers can't reach the internet. I had to enable forwarding also on the bond0 interface. I'm not sure whether it's required, but it doesn't work otherwise. And here's the problem with DHCPv6. When I set "dhcp" in the /etc/network/interfaces file, and restart the network service, in the log I can see the following message: ifup[75305]: /sbin/sysctl -q -e -w net.ipv6.conf.bond0.accept_ra=1 According to the kernel documentation on this sysctl parameter, there's something like this: 0 Do not accept Router Advertisements. 1 Accept Router Advertisements if forwarding is disabled. 2 Overrule forwarding behaviour. Accept Router Advertisements even if forwarding is enabled. I've set this option manually to 2. That's why when I run dhclient manually, the routes are filled properly. When I try to configure the IPv6 connection via the /etc/network/interfaces file, ifup changes the value of the bond0.accept_ra to 1, and the interface can't simply accept RA packets because of forwarding. So the question is, how to prevent ifup from changing the value of accept_ra sysctl parameter? -- System Information: Debian Release: stretch/sid APT prefers unstable APT policy: (990, 'unstable'), (130, 'experimental') Architecture: amd64 (x86_64) Kernel: Linux 4.4.0-1-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages ifupdown depends on: ii adduser 3.113+nmu3 ii init-system-helpers 1.28 ii iproute2 4.3.0-1+b1 ii libc6 2.21-9 ii lsb-base 9.20160110 Versions of packages ifupdown recommends: ii isc-dhcp-client [dhcp-client] 4.3.3-8 Versions of packages ifupdown suggests: pn ppp <none> pn rdnssd <none>