#743228 ifupdown: IPv6 Address doesn't get configured at/after boot

Package:
ifupdown
Source:
ifupdown
Description:
high level tools to configure network interfaces
Submitter:
Fawkes
Date:
2022-04-30 16:48:04 UTC
Severity:
normal
Tags:
#743228#5
Date:
2014-03-31 17:01:22 UTC
From:
To:
Dear Maintainer,
*** Please consider answering these questions, where appropriate ***

   * What led up to the situation?
   * What exactly did you do (or not do) that was effective (or
     ineffective)?
   * What was the outcome of this action?
   * What outcome did you expect instead?

*** End of the template - remove these lines ***
I installed debian wheezy via debootstrap.
Set up /etc/network/interfaces with ipv4 and ipv6, both statically.
####
# /etc/network/interfaces -start
####

iface eth0 inet static
	address 1.2.3.209
	netmask 255.255.255.224
	#netmask may be important; the first 3 octets of the ip are not.
	gateway 1.2.3.193
	broadcast 1.2.3.223
iface eth0 inet6 static
	address 2a01:aaaa:bbbb:cccc::2
	netmask 64
	gateway fe80::1
	#same as above, masked parts of the IP
####
# /etc/network/interfaces -end
####

The system runs an encrypted rootfs, decryption will happen via dropbear and busybox from any place on earth.
Now if I boot the system, type in the encryption key, the system boots on.
But it only configures the IPv4 Address and completely ignores the IPv6 address.
The machine gets a link-local address, the gateway (fe80::1) is pingable.
If I do "ifdown eth0; sleep 1; ifup eth0" the IPv6 address gets configured. --> Config file must be right. (Workaround 1)
After a few hours of testing around with Kernel 3.12, 3.13 and a few other Realtek drivers, no success (thought about timing problems)
Now if I move the IPv6 part of the config above the IPv4 config,
IPv6 and IPv4 get configured properly. (Workaround 2; since it should work the way I described above too!)

Some other details about the machine:
Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)

Tested drivers:
r8169 (firmware-realtek; wheezy; wheezy-backports)
r8168-8.038.00
r8168-8.037.00

Tested kernels:
3.2.0-4-amd64
3.12-0.bpo.1-amd64
3.13-0.bpo.1-amd64

All combinations have the same effect.

#743228#10
Date:
2022-04-28 16:56:01 UTC
From:
To:
Hi,

I have the same problem with vlan interfaces:

```
» cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)

# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

##### loopback ################################################################
auto lo
iface lo inet loopback
iface lo inet6 loopback

##### physical adapter ########################################################
auto eth0
iface eth0 inet manual
iface eth0 inet6 manual


##### internal ethernet (vlan) #################################################
auto eth0.1
iface eth0.1 inet static
     address 10.xx.xx.xx
     netmask 255.255.255.0


#will use the requested prefix
iface eth0.1 inet6 manual


##### fritx.box ethernet (vlan) ################################################
auto eth0.2
iface eth0.2 inet static
     address 192.xx.xx.xx
     netmask 255.255.255.0
     network 192.xx.xx.xx
     broadcast 192.xx.xx.255
     gateway 192.xx.xx.xx

iface eth0.2 inet6 auto
     request_prefix 1
     mtu 1492
     dhcp 1
     accept_ra 2
```

Can you give me some what to do to not get the link local addresses only.



Thank You

Jan

#743228#15
Date:
2022-04-29 15:36:53 UTC
From:
To:
El 28/04/22 a las 18:56, Jan Christoph Uhde escribió:

Could you please give us the output of `ifup eth0.2 -v`?

#743228#20
Date:
2022-04-30 16:44:36 UTC
From:
To:
interface manually down and then up again it works as supposed. Should I try to
switch to ifupdown2?

» ifup eth0.2 -v
ifup: reading directory /etc/network/interfaces.d
ifup: interface eth0.2 already configured


» ifdown eth0.2 -v && ifup eth0.2 -v
ifdown: reading directory /etc/network/interfaces.d
ifdown: configuring interface eth0.2=eth0.2 (inet)
/bin/run-parts --verbose /etc/network/if-down.d
run-parts: executing /etc/network/if-down.d/resolvconf
run-parts: executing /etc/network/if-down.d/wpasupplicant
  /sbin/ip route del default via 192.xxx.xxx.xxx  dev eth0.2 2>&1 1>/dev/null || true
/sbin/ip addr del 192.xxx.xxx.xxx/255.255.255.0 broadcast 192.xxx.xxx.255 	 eth0.2 label eth0.2
/bin/run-parts --verbose /etc/network/if-post-down.d
run-parts: executing /etc/network/if-post-down.d/vlan
run-parts: executing /etc/network/if-post-down.d/wireless-tools
run-parts: executing /etc/network/if-post-down.d/wpasupplicant
ifdown: configuring interface eth0.2=eth0.2 (inet6)
/bin/run-parts --verbose /etc/network/if-down.d
run-parts: executing /etc/network/if-down.d/resolvconf
run-parts: executing /etc/network/if-down.d/wpasupplicant
/sbin/ip -6 addr flush dev eth0.2 scope global
/bin/run-parts --verbose /etc/network/if-post-down.d
run-parts: executing /etc/network/if-post-down.d/vlan
run-parts: executing /etc/network/if-post-down.d/wireless-tools
run-parts: executing /etc/network/if-post-down.d/wpasupplicant
if test `cat /sys/class/net/eth0/type` -eq 32; then         echo 0x2 > /sys/class/net/eth0/delete_child;     else         /sbin/ip link del eth0.2;     fi

ifup: reading directory /etc/network/interfaces.d
if test -d /sys/class/net/eth0 &&         ! ip link show eth0.2 >/dev/null 2>&1;     then         if test `cat /sys/class/net/eth0/type` -eq 32; then             echo 0x2 > /sys/class/net/eth0/create_child;         else             /sbin/ip link set up dev eth0;             /sbin/ip link add link eth0 name eth0.2 type vlan id 2; 	      fi;     fi

ifup: configuring interface eth0.2=eth0.2 (inet)
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/ethtool
run-parts: executing /etc/network/if-pre-up.d/vlan
run-parts: executing /etc/network/if-pre-up.d/wireless-tools
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
/sbin/ip addr add 192.xxx.xxx.xxx/255.255.255.0 broadcast 192.xxx.xxx.255 	 eth0.2 label eth0.2
  /sbin/ip route add default via 192.xxx.xxx.xxx  dev eth0.2 onlink
/bin/run-parts --exit-on-error --verbose /etc/network/if-up.d
run-parts: executing /etc/network/if-up.d/000resolvconf
run-parts: executing /etc/network/if-up.d/ethtool
run-parts: executing /etc/network/if-up.d/ip
run-parts: executing /etc/network/if-up.d/wpasupplicant
ifup: configuring interface eth0.2=eth0.2 (inet6)
/bin/run-parts --exit-on-error --verbose /etc/network/if-pre-up.d
run-parts: executing /etc/network/if-pre-up.d/ethtool
run-parts: executing /etc/network/if-pre-up.d/vlan
run-parts: executing /etc/network/if-pre-up.d/wireless-tools
run-parts: executing /etc/network/if-pre-up.d/wpasupplicant
/sbin/modprobe -q net-pf-10 > /dev/null 2>&1 || true # ignore failure.

/sbin/sysctl -q -e -w net.ipv6.conf.eth0/2.accept_ra=2
/sbin/sysctl -q -e -w net.ipv6.conf.eth0/2.autoconf=1
/sbin/ip link set dev eth0.2 up
/lib/ifupdown/wait-for-ll6.sh
/sbin/dhclient -6 -v -P -pf /run/dhclient6.eth0.2.pid -lf /var/lib/dhcp/dhclient6.eth0.2.leases -I -df /var/lib/dhcp/dhclient.eth0.2.leases eth0.2
Internet Systems Consortium DHCP Client 4.4.1
Copyright 2004-2018 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/


###########################################################################
IPV6 prefix delegation script in
/etc/dhcp/dhclient-exit-hooks.d/prefix_delegation
reason 'PREINIT6'
nothing to do
###########################################################################

Listening on Socket/eth0.2
Sending on   Socket/eth0.2
PRC: Confirming active lease (INIT-REBOOT).
XMT: Forming Rebind, 0 ms elapsed.
XMT:  X-- IA_PD 32:b2:18:78
XMT:  | X-- Requested renew  +3600
XMT:  | X-- Requested rebind +5400
XMT:  | | X-- IAPREFIX dead:beef:3630:fc::/62
XMT:  | | | X-- Preferred lifetime +7200
XMT:  | | | X-- Max lifetime +7500
XMT:  V IA_PD appended.
XMT: Rebind on eth0.2, interval 940ms.
RCV: Reply message on eth0.2 from fe80::xxxx:70ff:xxxx:fef.
RCV:  X-- Preference 0.
RCV:  X-- IA_PD 32:b2:18:78
RCV:  | X-- starts 1651311586
RCV:  | X-- t1 - renew  +1800
RCV:  | X-- t2 - rebind +2880
RCV:  | X-- [Options]
RCV:  | | X-- IAPREFIX 2a0a:a547:3630:fc::/62
RCV:  | | | X-- Preferred lifetime 3600.
RCV:  | | | X-- Max lifetime 7200.
RCV:  X-- Server ID: 00:03:00:01:xx:xx:70:xx:0f:xx
PRC: Bound to lease 00:03:00:01:xx:xx:70:xx:0f:xx.

###########################################################################
IPV6 prefix delegation script in
/etc/dhcp/dhclient-exit-hooks.d/prefix_delegation
reason 'REBIND6'
== dead:beef:3630:fc::/62 == dead:beef:3630:fc::/62 ==
###########################################################################

/bin/run-parts --exit-on-error --verbose /etc/network/if-up.d
run-parts: executing /etc/network/if-up.d/000resolvconf
run-parts: executing /etc/network/if-up.d/ethtool
run-parts: executing /etc/network/if-up.d/ip
run-parts: executing /etc/network/if-up.d/wpasupplicant


~ J