Bug#916457: grub2-common: Grub refuses to re-enable IPv6 traffic

Colin Watson cjwatson at debian.org
Fri Dec 14 22:56:30 GMT 2018


On Fri, Dec 14, 2018 at 05:23:35PM +0000, Alan Reding wrote:
> To block IPv6 traffic, I do the following:
> 
> 1. Add the following line to /etc/default/grub
> 
> GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet"
> 
> 2. Run update-grub
> 
> 3. In /etc/hosts, add # in front of all lines that mention IPv6 hosts
> 
> 3. Reboot machine
> 
> To re-enable IPv6 traffic, I do the following:
[...]

GRUB just passes the stuff in GRUB_CMDLINE_LINUX_DEFAULT straight
through to the kernel; it has no other involvement in how the operating
system's networking stack is set up.  This could only possibly be a GRUB
bug if you're finding that update-grub isn't correctly transferring
GRUB_CMDLINE_LINUX_DEFAULT into /boot/grub/grub.cfg, or if the kernel
parameters are somehow not actually being passed to the kernel (which
you can check after boot by looking in /proc/cmdline).  Otherwise, this
cannot possibly be a GRUB bug, and I'd appreciate it if you could either
close it or figure out some other suitable package to reassign it to, as
appropriate.

> Method A
> 
> 4. Add # in front of the line that contains
> GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet" as in below:
> 
> #GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet"
> 
> 5. Run update-grub
> 
> 6. In /etc/hosts, remove # from all lines that mention IPv6 hosts
> 
> 7. Reboot machine
> 
> Result: IPv6 traffic is still blocked
> 
> Method B
> 
> 8. In /etc/default/grub, I delete the line
> GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet"
> 
> 9. Run update-grub
> 
> 10. In /etc/hosts, I ensure that # does not appear in front of lines that
> mention IPv6 hosts
> 
> 11. Reboot machine
> 
> Result: IPv6 traffic is still blocked
> 
> Method C
> 
> 12. In /etc/default/grub, I change the value of ipv6.disable=0 as in:
> 
> GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=0 quiet"
> 
> 13. Run update-grub
> 
> 14. In /etc/hosts, I ensure that # does not appear in front of lines that
> mention IPv6 hosts
> 
> 15. Reboot machine
> 
> Result: IPv6 traffic is NOT blocked. IPv6 traffic is re-enabled

These symptoms indicate to me that the equivalent of ipv6.disable=1 is
being set somewhere else *as well*, which causes things to only work
properly if you explicitly pass the kernel argument ipv6.disable=0.  I'd
suggest looking around in /etc/, perhaps /etc/modprobe.d/.

-- 
Colin Watson                                       [cjwatson at debian.org]



More information about the Pkg-grub-devel mailing list