Re: ipv6 accept_ra

2022-06-28 Thread Lee
On 6/28/22, Anssi Saari  wrote:
> Lee  writes:
>
>> I have a desktop and a laptop - neither one is picking up the ipv6
>> network prefix from the router advertisement.  'ifconfig -a' on both
>> show a single 'inet6 fe80::' line under each interface.
>
> Well, how do you manage your network?

Poorly.. Verizon just enabled ipv6 in my area, so I'm trying to figure
out how to get ipv6 working internally.

> Is there a checkbox to check or uncheck somewhere?

Yup - that was it.  Netgate firewall had the DHCPv6 Server & RA set
for Managed -- change it to Assisted and everything gets the ipv6
prefix info now.

>> I checked with wireshark - the RAs look good.
>
> Checked how?

Superficially :(

The RA prefix information just had the On-link flag(L)
After changing the DHCPv6 Server & RA router mode to assisted the RA
prefix information had both the On-link flag(L) and the Autonomous
address-configuration flag(A) set

>> How do I get the default "accept_ra = 1" set on _all_ interfaces?
>
> You use sysctl -w to set those permanently. For testing, manipulate the
> virtual files in /proc/sys/net/ipv6/conf/.
>
> Although, to me that looks OK, as in, it's what I have and for me IPv6
> works, weird as it is. Forwarding is off and accept_ra is like yours:
>
> net.ipv6.conf.all.accept_ra = 1
> net.ipv6.conf.default.accept_ra = 1
> net.ipv6.conf.docker0.accept_ra = 0
> net.ipv6.conf.enp5s0.accept_ra = 0
> net.ipv6.conf.lo.accept_ra = 1
>
> and yet enp5s0 has a public IPv6 address.

Same here.  Forwarding is off, accept_ra is unchanged and yet ipv6
works for me now.

https://sysctl-explorer.net/net/ipv6/accept_ra/
has this bit
  Possible values are: 0 Do not accept Router Advertisements.

but router advertisements are clearly being accepted.  .. or I'm not
understanding what 'Router Advertisements' means.  *sigh*

Thanks
Lee



Re: ipv6 accept_ra

2022-06-28 Thread Anssi Saari
Lee  writes:

> I have a desktop and a laptop - neither one is picking up the ipv6
> network prefix from the router advertisement.  'ifconfig -a' on both
> show a single 'inet6 fe80::' line under each interface.

Well, how do you manage your network? Is there a checkbox to check or
uncheck somewhere? A firewall blocking the RAs?

For me IPv6 works without enabling anything specifically. On my
computers I mostly use systemd-networkd but I seem to have nothing
IPv6-related in configuration. Except in the router but there it's to
make sure RAs are sent and since I only have 6rd, the tunnel is created.

> I checked with wireshark - the RAs look good.

Checked how?

> but so is accept_ra
> $ sysctl -a 2>/dev/null | grep 'accept_ra '
> net.ipv6.conf.all.accept_ra = 1
> net.ipv6.conf.default.accept_ra = 1
> net.ipv6.conf.enp1s0.accept_ra = 0
> net.ipv6.conf.lo.accept_ra = 1
> net.ipv6.conf.wlp2s0.accept_ra = 0
>
> How do I get the default "accept_ra = 1" set on _all_ interfaces?

You use sysctl -w to set those permanently. For testing, manipulate the
virtual files in /proc/sys/net/ipv6/conf/.

Although, to me that looks OK, as in, it's what I have and for me IPv6
works, weird as it is. Forwarding is off and accept_ra is like yours:

net.ipv6.conf.all.accept_ra = 1
net.ipv6.conf.default.accept_ra = 1
net.ipv6.conf.docker0.accept_ra = 0
net.ipv6.conf.enp5s0.accept_ra = 0
net.ipv6.conf.lo.accept_ra = 1

and yet enp5s0 has a public IPv6 address.







ipv6 accept_ra

2022-06-27 Thread Lee
I have a desktop and a laptop - neither one is picking up the ipv6
network prefix from the router advertisement.  'ifconfig -a' on both
show a single 'inet6 fe80::' line under each interface.

if it makes a difference:
$ cat /etc/debian_version
11.3

I checked with wireshark - the RAs look good.
After some searching I came across this

https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt
accept_ra - INTEGER
Accept Router Advertisements; autoconfigure using them.

It also determines whether or not to transmit Router
Solicitations. If and only if the functional setting is to
accept Router Advertisements, Router Solicitations will be
transmitted.

Possible values are:
0 Do not accept Router Advertisements.
1 Accept Router Advertisements if forwarding is disabled.
2 Overrule forwarding behaviour. Accept Router Advertisements
  even if forwarding is enabled.

Functional default: enabled if local forwarding is disabled.
disabled if local forwarding is enabled.

local forwarding is disabled
$ sysctl -a 2>/dev/null | grep ipv6 | grep 'forwarding '
net.ipv6.conf.all.forwarding = 0
net.ipv6.conf.all.mc_forwarding = 0
net.ipv6.conf.default.forwarding = 0
net.ipv6.conf.default.mc_forwarding = 0
net.ipv6.conf.enp1s0.forwarding = 0
net.ipv6.conf.enp1s0.mc_forwarding = 0
net.ipv6.conf.lo.forwarding = 0
net.ipv6.conf.lo.mc_forwarding = 0
net.ipv6.conf.wlp2s0.forwarding = 0
net.ipv6.conf.wlp2s0.mc_forwarding = 0

but so is accept_ra
$ sysctl -a 2>/dev/null | grep 'accept_ra '
net.ipv6.conf.all.accept_ra = 1
net.ipv6.conf.default.accept_ra = 1
net.ipv6.conf.enp1s0.accept_ra = 0
net.ipv6.conf.lo.accept_ra = 1
net.ipv6.conf.wlp2s0.accept_ra = 0

How do I get the default "accept_ra = 1" set on _all_ interfaces?

TIA,
Lee