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