Hi,
I’m quite frustrated trying to integrate Alpine Linux in an IPv6 network.
My requirements should be pretty standard, I want to use auto
configuration (SLAAC) for address assignment and classless DHCPv6
for getting the DNS server IPs and domain name from the router.
While SLAAC is working fine, DHCPv6 is a nightmare in Alpine.
The default DHCP client udhcpc6 is simply not ready for use.
They made some changes in busybox v1.27, so it might work,
but that’s available only in the edge branch. Furthermore the
ifup from busybox doesn’t support the use of DHCPv6 for IPv6.
Then I tried using the ifupdown package together with dhclient.
The first stumbling block is, that ifupdown looks for /sbin/dhclient,
while it is installed in /usr/sbin/dhclient. Adding a symlink solves this.
Next is, that ifupdown calls the ip command with options, it doesn’t
support. So I additionally installed iproute2, that solves that.
But the stateless DHCPv6 still doesn’t work. After some more
debugging (and comparing with a working Debian) I saw that
ifup doesn’t wait for a link-local address before starting the DHCPv6
client. Therefore ifup often fails. That was fixed in ifupdown v0.8,
but Alpine still uses 0.7. So I tagged ifupdown as outdated.
At that point I gave up.
Regards
Bernhard
---
Unsubscribe: alpine-user+unsubscribe@lists.alpinelinux.org
Help: alpine-user+help@lists.alpinelinux.org
---
Hi
On Wed, Oct 18, 2017 at 02:36:38PM +0200, Bernhard Ehlers wrote:
> Hi,> > I’m quite frustrated trying to integrate Alpine Linux in an IPv6 network.
There is also a problem with static IPv6 config. Something locks the
IPv6 routing table for 30min (containing the correct routes), but
after 30min the lock goes away, along with the routes. I worked
around this by reseting the routing table, just after the interface is
configured. So the script will stay for 30min and then fix the routing
table, when the lock goes away. (Alpine 3.6)
I haven't reported this because I didn't have time to investigate the
cause or compare to edge. And of course the whole issue is more
complex. The problem has also to do with the fact that although the
default of accept_ra and autoconf are set to 0, the interface comes up
with accept_ra and autoconf set to 1.
$> cat /etc/sysctl.d/01-ipv6.conf
net.ipv6.conf.default.accept_ra = 0
net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.all.autoconf = 0
Again I just worked around it:
iface eth0 inet6 static
address X
netmask 64
gateway X
pre-up echo 0 > /proc/sys/net/ipv6/conf/eth0/accept_ra
pre-up echo 0 > /proc/sys/net/ipv6/conf/eth0/autoconf
My guess even though the interface is set to static, some
auto-configuration mechanism is still being started.
Best,
Jean-Louis
Hi Pavel,
since you have deep knowledge and experience with linux networking, can I ask you to help us with this IPv6 issue on Alpine, please?
Jakub
> On 19. Oct 2017, at 13:24, Jean-Louis Fuchs <ganwell@fangorn.ch> wrote:> > Hi> > There is also a problem with static IPv6 config. Something locks the> IPv6 routing table for 30min (containing the correct routes), but> after 30min the lock goes away, along with the routes. I worked> around this by reseting the routing table, just after the interface is> configured. So the script will stay for 30min and then fix the routing> table, when the lock goes away. (Alpine 3.6)> > I haven't reported this because I didn't have time to investigate the> cause or compare to edge. And of course the whole issue is more> complex. The problem has also to do with the fact that although the> default of accept_ra and autoconf are set to 0, the interface comes up> with accept_ra and autoconf set to 1. > > $> cat /etc/sysctl.d/01-ipv6.conf> net.ipv6.conf.default.accept_ra = 0> net.ipv6.conf.default.autoconf = 0> net.ipv6.conf.all.accept_ra = 0> net.ipv6.conf.all.autoconf = 0> > Again I just worked around it:> > iface eth0 inet6 static> address X> netmask 64> gateway X> pre-up echo 0 > /proc/sys/net/ipv6/conf/eth0/accept_ra> pre-up echo 0 > /proc/sys/net/ipv6/conf/eth0/autoconf> > My guess even though the interface is set to static, some> auto-configuration mechanism is still being started.> > Best,> Jean-Louis>> On 18. Oct 2017, at 14:36, Bernhard Ehlers <be@bernhard-ehlers.de> wrote:>> >> Hi,>> >> I’m quite frustrated trying to integrate Alpine Linux in an IPv6 network.>> My requirements should be pretty standard, I want to use auto>> configuration (SLAAC) for address assignment and classless DHCPv6>> for getting the DNS server IPs and domain name from the router.>> >> While SLAAC is working fine, DHCPv6 is a nightmare in Alpine.>> The default DHCP client udhcpc6 is simply not ready for use.>> They made some changes in busybox v1.27, so it might work,>> but that’s available only in the edge branch. Furthermore the>> ifup from busybox doesn’t support the use of DHCPv6 for IPv6.>> >> Then I tried using the ifupdown package together with dhclient.>> The first stumbling block is, that ifupdown looks for /sbin/dhclient,>> while it is installed in /usr/sbin/dhclient. Adding a symlink solves this.>> Next is, that ifupdown calls the ip command with options, it doesn’t>> support. So I additionally installed iproute2, that solves that.>> >> But the stateless DHCPv6 still doesn’t work. After some more>> debugging (and comparing with a working Debian) I saw that>> ifup doesn’t wait for a link-local address before starting the DHCPv6>> client. Therefore ifup often fails. That was fixed in ifupdown v0.8,>> but Alpine still uses 0.7. So I tagged ifupdown as outdated.>> >> At that point I gave up.>> >> Regards>> >> Bernhard
---
Unsubscribe: alpine-user+unsubscribe@lists.alpinelinux.org
Help: alpine-user+help@lists.alpinelinux.org
---
Hi everyone,
it looks like you are right and the autoconf isn't disabled. Linux
kernel autoconf is tricky and if the script (of which I have no
knowledge right now) waits for something, it would be interesting
to check what that is. I am more into userspace implementations like
dhcpcd, libndp/NetworkManager and the like.
Cheers,
Pavel
On 10/19/2017 01:54 PM, Jakub Jirutka wrote:
> Hi Pavel,> > since you have deep knowledge and experience with linux networking, can I ask you to help us with this IPv6 issue on Alpine, please?> > Jakub> >> On 19. Oct 2017, at 13:24, Jean-Louis Fuchs <ganwell@fangorn.ch> wrote:>>>> Hi>>>> There is also a problem with static IPv6 config. Something locks the>> IPv6 routing table for 30min (containing the correct routes), but>> after 30min the lock goes away, along with the routes. I worked>> around this by reseting the routing table, just after the interface is>> configured. So the script will stay for 30min and then fix the routing>> table, when the lock goes away. (Alpine 3.6)>>>> I haven't reported this because I didn't have time to investigate the>> cause or compare to edge. And of course the whole issue is more>> complex. The problem has also to do with the fact that although the>> default of accept_ra and autoconf are set to 0, the interface comes up>> with accept_ra and autoconf set to 1.>>>> $> cat /etc/sysctl.d/01-ipv6.conf>> net.ipv6.conf.default.accept_ra = 0>> net.ipv6.conf.default.autoconf = 0>> net.ipv6.conf.all.accept_ra = 0>> net.ipv6.conf.all.autoconf = 0>>>> Again I just worked around it:>>>> iface eth0 inet6 static>> address X>> netmask 64>> gateway X>> pre-up echo 0 > /proc/sys/net/ipv6/conf/eth0/accept_ra>> pre-up echo 0 > /proc/sys/net/ipv6/conf/eth0/autoconf>>>> My guess even though the interface is set to static, some>> auto-configuration mechanism is still being started.>>>> Best,>> Jean-Louis> > >>> On 18. Oct 2017, at 14:36, Bernhard Ehlers <be@bernhard-ehlers.de> wrote:>>>>>> Hi,>>>>>> I’m quite frustrated trying to integrate Alpine Linux in an IPv6 network.>>> My requirements should be pretty standard, I want to use auto>>> configuration (SLAAC) for address assignment and classless DHCPv6>>> for getting the DNS server IPs and domain name from the router.>>>>>> While SLAAC is working fine, DHCPv6 is a nightmare in Alpine.>>> The default DHCP client udhcpc6 is simply not ready for use.>>> They made some changes in busybox v1.27, so it might work,>>> but that’s available only in the edge branch. Furthermore the>>> ifup from busybox doesn’t support the use of DHCPv6 for IPv6.>>>>>> Then I tried using the ifupdown package together with dhclient.>>> The first stumbling block is, that ifupdown looks for /sbin/dhclient,>>> while it is installed in /usr/sbin/dhclient. Adding a symlink solves this.>>> Next is, that ifupdown calls the ip command with options, it doesn’t>>> support. So I additionally installed iproute2, that solves that.>>>>>> But the stateless DHCPv6 still doesn’t work. After some more>>> debugging (and comparing with a working Debian) I saw that>>> ifup doesn’t wait for a link-local address before starting the DHCPv6>>> client. Therefore ifup often fails. That was fixed in ifupdown v0.8,>>> but Alpine still uses 0.7. So I tagged ifupdown as outdated.>>>>>> At that point I gave up.>>>>>> Regards>>>>>> Bernhard
---
Unsubscribe: alpine-user+unsubscribe@lists.alpinelinux.org
Help: alpine-user+help@lists.alpinelinux.org
---