Discussion:
Getting IPv6 to work
(too old to reply)
James H. Markowitz
2019-10-14 21:17:47 UTC
Permalink
Our local sysadmin has done something concerning IPv6 in our
network, and now my Slackware 14.2 box is not working properly. What is
happening is that, when resolving names that provide both IPv6 and IPv4
addresses, Slackware selects the former over the latter - and some
applications (like e.g. Thunderbird) don't work properly any more. I have
been able to to get around this by disabling IPv6 in the kernel:

# echo 1 > /proc/sys/net/ipv6/conf/eth0/disable_ipv6

but I would like to have a stab at getting IPv6 to work - if it is only
because coworkers running things like Ubuntu, Centos and Debian are
giving me a hard time, since they are not plagued by this problem.

Any suggestions as to how to get IPv6 to work in 14.2?
Chris Vine
2019-10-15 10:26:01 UTC
Permalink
On Mon, 14 Oct 2019 21:17:47 +0000 (UTC)
Post by James H. Markowitz
Our local sysadmin has done something concerning IPv6 in our
network, and now my Slackware 14.2 box is not working properly. What is
happening is that, when resolving names that provide both IPv6 and IPv4
addresses, Slackware selects the former over the latter - and some
applications (like e.g. Thunderbird) don't work properly any more. I have
# echo 1 > /proc/sys/net/ipv6/conf/eth0/disable_ipv6
but I would like to have a stab at getting IPv6 to work - if it is only
because coworkers running things like Ubuntu, Centos and Debian are
giving me a hard time, since they are not plagued by this problem.
Any suggestions as to how to get IPv6 to work in 14.2?
Assuming you have not disabled IPv6 in some way, /sbin/ifconfig should
show a ::1 address for lo, and a fe80::... (link local address) for
other interfaces. Assuming that that is the case, just use
network-manager-applet. It should set up a global IPv6 address for you
automatically if the relevant router is enabled for IPv6.
James H. Markowitz
2019-10-15 13:15:51 UTC
Permalink
Post by Chris Vine
On Mon, 14 Oct 2019 21:17:47 +0000 (UTC)
Post by James H. Markowitz
Our local sysadmin has done something concerning IPv6 in our
network, and now my Slackware 14.2 box is not working properly. What is
happening is that, when resolving names that provide both IPv6 and IPv4
addresses, Slackware selects the former over the latter - and some
applications (like e.g. Thunderbird) don't work properly any more. I
# echo 1 > /proc/sys/net/ipv6/conf/eth0/disable_ipv6
but I would like to have a stab at getting IPv6 to work - if it is only
because coworkers running things like Ubuntu, Centos and Debian are
giving me a hard time, since they are not plagued by this problem.
Any suggestions as to how to get IPv6 to work in 14.2?
Assuming you have not disabled IPv6 in some way, /sbin/ifconfig should
show a ::1 address for lo, and a fe80::... (link local address) for
other interfaces. Assuming that that is the case, just use
network-manager-applet. It should set up a global IPv6 address for you
automatically if the relevant router is enabled for IPv6.
It's not disabled and I need to use a stati IPv6 address. Now
this is not difficult:

# /sbin/ifconfig eth0 inet6 add <ipv6-address>/<ipv6-mask>
# /sbin/route -A inet6 add default gw <ipv6-gateway>

What I would like to do is disable the IPv6 autconfiguration feature, so
I don't get extra (and useless) IPv6 addresses assigned to eth0. That's
easy enough to do:

# echo 0 > /proc/sys/net/ipv6/conf/all/autoconf
# echo 0 > /proc/sys/net/ipv6/conf/eth0/autoconf

I would like to do so automatically at boot time, by means of the systcl
framework - but I can't get it to work. My /etc/sysctl.conf file contains
the following lines

net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.eth0.autoconf = 0

When the system boots, the sysctl command is invoked by rc.S all right -
but the values of the autconf system files above are always 1 when the
boot process is over - and I have some IPv6 addresses assigned to eth0
that I don't want nor need.

Any ideas as to why sysctl is not working at boot time?
Giovanni
2019-10-15 15:25:07 UTC
Permalink
Post by James H. Markowitz
Post by Chris Vine
On Mon, 14 Oct 2019 21:17:47 +0000 (UTC)
Post by James H. Markowitz
Our local sysadmin has done something concerning IPv6 in our
network, and now my Slackware 14.2 box is not working properly. What is
happening is that, when resolving names that provide both IPv6 and IPv4
addresses, Slackware selects the former over the latter - and some
applications (like e.g. Thunderbird) don't work properly any more. I
# echo 1 > /proc/sys/net/ipv6/conf/eth0/disable_ipv6
but I would like to have a stab at getting IPv6 to work - if it is only
because coworkers running things like Ubuntu, Centos and Debian are
giving me a hard time, since they are not plagued by this problem.
Any suggestions as to how to get IPv6 to work in 14.2?
Assuming you have not disabled IPv6 in some way, /sbin/ifconfig should
show a ::1 address for lo, and a fe80::... (link local address) for
other interfaces. Assuming that that is the case, just use
network-manager-applet. It should set up a global IPv6 address for you
automatically if the relevant router is enabled for IPv6.
It's not disabled and I need to use a stati IPv6 address. Now
# /sbin/ifconfig eth0 inet6 add <ipv6-address>/<ipv6-mask>
# /sbin/route -A inet6 add default gw <ipv6-gateway>
What I would like to do is disable the IPv6 autconfiguration feature, so
I don't get extra (and useless) IPv6 addresses assigned to eth0. That's
# echo 0 > /proc/sys/net/ipv6/conf/all/autoconf
# echo 0 > /proc/sys/net/ipv6/conf/eth0/autoconf
I would like to do so automatically at boot time, by means of the systcl
framework - but I can't get it to work. My /etc/sysctl.conf file contains
the following lines
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.eth0.autoconf = 0
When the system boots, the sysctl command is invoked by rc.S all right -
but the values of the autconf system files above are always 1 when the
boot process is over - and I have some IPv6 addresses assigned to eth0
that I don't want nor need.
Any ideas as to why sysctl is not working at boot time?
I used to put the directive :

alias net-pf-10 off

in one file in /etc/modprobe.d/. This avoids the ipv6 stack being
loaded. I normally used /etc/modprobe.d/network.conf and is where I
keep a few alias for my network devices and the options they need.

Ciao
Giovanni
--
A computer is like an air conditioner,
it stops working when you open Windows.
< http://giovanni.homelinux.net/ >
James H. Markowitz
2019-10-15 15:30:24 UTC
Permalink
Post by Giovanni
Post by James H. Markowitz
What I would like to do is disable the IPv6 autconfiguration feature,
so I don't get extra (and useless) IPv6 addresses assigned to eth0.
# echo 0 > /proc/sys/net/ipv6/conf/all/autoconf # echo 0 >
/proc/sys/net/ipv6/conf/eth0/autoconf
I would like to do so automatically at boot time, by means of the
systcl framework - but I can't get it to work. My /etc/sysctl.conf file
contains the following lines
net.ipv6.conf.all.autoconf = 0 net.ipv6.conf.eth0.autoconf = 0
When the system boots, the sysctl command is invoked by rc.S all right
- but the values of the autconf system files above are always 1 when
the boot process is over - and I have some IPv6 addresses assigned to
eth0 that I don't want nor need.
Any ideas as to why sysctl is not working at boot time?
alias net-pf-10 off
in one file in /etc/modprobe.d/. This avoids the ipv6 stack being
loaded. I normally used /etc/modprobe.d/network.conf and is where I
keep a few alias for my network devices and the options they need.
Well, yes; but I do want the IPv6 to be loaded. I just want to
disable the IPv6 autoconf capability at boot time.
Chris Vine
2019-10-15 15:47:15 UTC
Permalink
On Tue, 15 Oct 2019 13:15:51 +0000 (UTC)
Post by James H. Markowitz
Post by Chris Vine
On Mon, 14 Oct 2019 21:17:47 +0000 (UTC)
Post by James H. Markowitz
Our local sysadmin has done something concerning IPv6 in our
network, and now my Slackware 14.2 box is not working properly. What is
happening is that, when resolving names that provide both IPv6 and IPv4
addresses, Slackware selects the former over the latter - and some
applications (like e.g. Thunderbird) don't work properly any more. I
# echo 1 > /proc/sys/net/ipv6/conf/eth0/disable_ipv6
but I would like to have a stab at getting IPv6 to work - if it is only
because coworkers running things like Ubuntu, Centos and Debian are
giving me a hard time, since they are not plagued by this problem.
Any suggestions as to how to get IPv6 to work in 14.2?
Assuming you have not disabled IPv6 in some way, /sbin/ifconfig should
show a ::1 address for lo, and a fe80::... (link local address) for
other interfaces. Assuming that that is the case, just use
network-manager-applet. It should set up a global IPv6 address for you
automatically if the relevant router is enabled for IPv6.
It's not disabled and I need to use a stati IPv6 address. Now
# /sbin/ifconfig eth0 inet6 add <ipv6-address>/<ipv6-mask>
# /sbin/route -A inet6 add default gw <ipv6-gateway>
What I would like to do is disable the IPv6 autconfiguration feature, so
I don't get extra (and useless) IPv6 addresses assigned to eth0. That's
# echo 0 > /proc/sys/net/ipv6/conf/all/autoconf
# echo 0 > /proc/sys/net/ipv6/conf/eth0/autoconf
I would like to do so automatically at boot time, by means of the systcl
framework - but I can't get it to work. My /etc/sysctl.conf file contains
the following lines
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.eth0.autoconf = 0
When the system boots, the sysctl command is invoked by rc.S all right -
but the values of the autconf system files above are always 1 when the
boot process is over - and I have some IPv6 addresses assigned to eth0
that I don't want nor need.
Any ideas as to why sysctl is not working at boot time?
No idea. It should work. You can use network-manager-applet to set up
a static address (including turning off auto configuration), but I would
agree that that is something like overkill unless you need to run
NetworkManager for other reasons. Since you now have IPv6 working I
should just put your commands echoing to /proc/sys, and setting up the
IPv6 address on the eth0 interface and the default route, in a script
which you start from /etc/rc.d/rc.local.
Chris Vine
2019-10-15 15:55:30 UTC
Permalink
On Tue, 15 Oct 2019 16:47:15 +0100
Post by Chris Vine
On Tue, 15 Oct 2019 13:15:51 +0000 (UTC)
Post by James H. Markowitz
Post by Chris Vine
On Mon, 14 Oct 2019 21:17:47 +0000 (UTC)
Post by James H. Markowitz
Our local sysadmin has done something concerning IPv6 in our
network, and now my Slackware 14.2 box is not working properly. What is
happening is that, when resolving names that provide both IPv6 and IPv4
addresses, Slackware selects the former over the latter - and some
applications (like e.g. Thunderbird) don't work properly any more. I
# echo 1 > /proc/sys/net/ipv6/conf/eth0/disable_ipv6
but I would like to have a stab at getting IPv6 to work - if it is only
because coworkers running things like Ubuntu, Centos and Debian are
giving me a hard time, since they are not plagued by this problem.
Any suggestions as to how to get IPv6 to work in 14.2?
Assuming you have not disabled IPv6 in some way, /sbin/ifconfig should
show a ::1 address for lo, and a fe80::... (link local address) for
other interfaces. Assuming that that is the case, just use
network-manager-applet. It should set up a global IPv6 address for you
automatically if the relevant router is enabled for IPv6.
It's not disabled and I need to use a stati IPv6 address. Now
# /sbin/ifconfig eth0 inet6 add <ipv6-address>/<ipv6-mask>
# /sbin/route -A inet6 add default gw <ipv6-gateway>
What I would like to do is disable the IPv6 autconfiguration feature, so
I don't get extra (and useless) IPv6 addresses assigned to eth0. That's
# echo 0 > /proc/sys/net/ipv6/conf/all/autoconf
# echo 0 > /proc/sys/net/ipv6/conf/eth0/autoconf
I would like to do so automatically at boot time, by means of the systcl
framework - but I can't get it to work. My /etc/sysctl.conf file contains
the following lines
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.eth0.autoconf = 0
When the system boots, the sysctl command is invoked by rc.S all right -
but the values of the autconf system files above are always 1 when the
boot process is over - and I have some IPv6 addresses assigned to eth0
that I don't want nor need.
Any ideas as to why sysctl is not working at boot time?
No idea. It should work. You can use network-manager-applet to set up
a static address (including turning off auto configuration), but I would
agree that that is something like overkill unless you need to run
NetworkManager for other reasons. Since you now have IPv6 working I
should just put your commands echoing to /proc/sys, and setting up the
IPv6 address on the eth0 interface and the default route, in a script
which you start from /etc/rc.d/rc.local.
By the way you could try unsetting accept_ra and see if that helps. (I
do accept router advertisements because I do want autoconfiguration to
work, so I have no idea if it will help you or not.)
James H. Markowitz
2019-10-15 17:51:41 UTC
Permalink
Post by Chris Vine
Post by Chris Vine
No idea. It should work. You can use network-manager-applet to set up
a static address (including turning off auto configuration), but I
would agree that that is something like overkill unless you need to run
NetworkManager for other reasons. Since you now have IPv6 working I
should just put your commands echoing to /proc/sys, and setting up the
IPv6 address on the eth0 interface and the default route, in a script
which you start from /etc/rc.d/rc.local.
By the way you could try unsetting accept_ra and see if that helps. (I
do accept router advertisements because I do want autoconfiguration to
work, so I have no idea if it will help you or not.)
Thanks. Setting all the kernel quantities mentioned in this
thread to 0 works. What doesn't work is the sysctl invocation at boot
time - either it doesn't do anything, or else something is quietly
resetting the values of those quantities to their defaults afterwards.
James H. Markowitz
2019-10-15 18:19:08 UTC
Permalink
Post by James H. Markowitz
Post by Chris Vine
Post by Chris Vine
No idea. It should work. You can use network-manager-applet to set
up a static address (including turning off auto configuration), but I
would agree that that is something like overkill unless you need to
run NetworkManager for other reasons. Since you now have IPv6 working
I should just put your commands echoing to /proc/sys, and setting up
the IPv6 address on the eth0 interface and the default route, in a
script which you start from /etc/rc.d/rc.local.
By the way you could try unsetting accept_ra and see if that helps. (I
do accept router advertisements because I do want autoconfiguration to
work, so I have no idea if it will help you or not.)
Thanks. Setting all the kernel quantities mentioned in this
thread to 0 works. What doesn't work is the sysctl invocation at boot
time - either it doesn't do anything, or else something is quietly
resetting the values of those quantities to their defaults afterwards.
OK, based on what I found so far, it would seem that the sysctl
invocation in rc.S does not do anything, when it comes to the aspects of
the IPv6 stack that I am interested in, because the networking stack is
not yet launched when rc.S gets executed. I moved the sysctl invocation
to rc.local, and it works as expected.

It's kind of ironic that IPv6 stack configuration options are
ignored because the networking stack is not yet running - talk about a
catch 22.
Jimmy Johnson
2019-10-18 04:54:40 UTC
Permalink
Post by James H. Markowitz
Our local sysadmin has done something concerning IPv6 in our
network, and now my Slackware 14.2 box is not working properly. What is
happening is that, when resolving names that provide both IPv6 and IPv4
addresses, Slackware selects the former over the latter - and some
applications (like e.g. Thunderbird) don't work properly any more. I have
# echo 1 > /proc/sys/net/ipv6/conf/eth0/disable_ipv6
but I would like to have a stab at getting IPv6 to work - if it is only
because coworkers running things like Ubuntu, Centos and Debian are
giving me a hard time, since they are not plagued by this problem.
Any suggestions as to how to get IPv6 to work in 14.2?
Hi James, we have the same sure name. :)

I was reading a security blog awhile back advising admins to turn ipv6
off. In theory it forces the use of ipv4 which is a local network. And
passably describes the problem you're having. In the blog they suggested
getting a local isp.

I think my network admin is Patrick?
--
Jimmy Johnson

Slackware64 Current - KDE 4.14.38 - EXT4 at sda5
Registered Linux User #380263
Loading...