# dhcpcd: no IPv6 Routers available

## vlynd

Since a few days, dhcpcd can't find a IPv6 route on my VServer. I don't know what caused this since it worked for years.

But since I'm using a professional hoster I suppose the error lies on my side.

This is my dhcpcd.conf:

```

hostname

duid

persistent

option rapid_commit

option domain_name_servers, domain_name, domain_search, host_name

option classless_static_routes

option interface_mtu

require dhcp_server_identifier

slaac private

#interface eth0

#noipv6rs

```

ifconfig:

```

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 88.99.169.1  netmask 255.255.255.255  broadcast 88.99.169.1

        inet6 fe80::f0f2:23ce:b338:4799  prefixlen 64  scopeid 0x20<link>

        ether 52:54:a2:01:c8:8d  txqueuelen 1000  (Ethernet)

        RX packets 44958  bytes 18601805 (17.7 MiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 46601  bytes 35767202 (34.1 MiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

```

netstat -rn6:

```

Kernel IPv6 routing table

Destination                    Next Hop                   Flag Met Ref  Use If

fe80::/64                      ::                         U    256 1      0 enp0s3

::/0                           ::                         !n   -1  1      0 lo

::1/128                        ::                         Un   0   4      0 lo

fe80::f0f2:23ce:b338:4799/128  ::                         Un   0   3      0 enp0s3

ff00::/8                       ::                         U    256 3      0 enp0s3

::/0                           ::                         !n   -1  1      0 lo

```

Log:

```

Nov 30 09:41:04 hihn dhcpcd[10506]: dhcpcd-9.99.0 starting

Nov 30 09:41:04 hihn dhcpcd[10508]: dev: loaded udev

Nov 30 09:41:04 hihn dhcpcd[10508]: DUID 00:01:00:01:20:37:11:7a:52:54:a2:01:c8:8d

Nov 30 09:41:04 hihn dhcpcd[10508]: enp0s3: IAID a2:01:c8:8d

Nov 30 09:41:04 hihn dhcpcd[10508]: enp0s3: soliciting an IPv6 router

Nov 30 09:41:04 hihn dhcpcd[10508]: enp0s3: soliciting a DHCP lease

Nov 30 09:41:04 hihn dhcpcd[10508]: enp0s3: offered 88.99.169.1 from 172.31.1.1

Nov 30 09:41:05 hihn dhcpcd[10508]: enp0s3: probing address 88.99.169.1/32

Nov 30 09:41:10 hihn dhcpcd[10508]: enp0s3: leased 88.99.169.1 for 86400 seconds

Nov 30 09:41:10 hihn dhcpcd[10508]: enp0s3: adding host route to 172.31.1.1

Nov 30 09:41:10 hihn dhcpcd[10508]: enp0s3: adding default route via 172.31.1.1

Nov 30 09:41:10 hihn /etc/init.d/nginx[10538]: Call to flock failed: Resource temporarily unavailable

Nov 30 09:41:16 hihn dhcpcd[10508]: enp0s3: no IPv6 Routers available

```

Last edited by vlynd on Tue Nov 30, 2021 12:29 pm; edited 1 time in total

----------

## Marlo

I am not a network expert and certainly not for ipv6. I just use it. That's why my question:

What exactly is the purpose of "noipv6rs"?

Ma

----------

## vlynd

 *Marlo wrote:*   

> I am not a network expert and certainly not for ipv6. I just use it. That's why my question:
> 
> What exactly is the purpose of "noipv6rs"?
> 
> Ma

 

From the manpage:

 *Quote:*   

>      noipv6rs
> 
>              Don't solicit or accept IPv6 Router Advertisements.
> 
> 

 

----------

## Marlo

When I asked my question, "noipv6rs" was not commented.

Just for clarification.

----------

## NeddySeagoon

vlynd,

What does 

```
ping6 ff02::2
```

return?

Only routers should respond, so pick one. 

If you have several Ethernet interfaces, you will need to add  

```
-I <interface_name> 
```

to the command.

----------

## vlynd

NeddySeagoon,

Your command returns:

```

# ping6 -c4 ff02::2

PING ff02::2(ff02::2) 56 data bytes

--- ff02::2 ping statistics ---

4 packets transmitted, 0 received, 100% packet loss, time 3064ms

```

I got it working in two steps: 

1) Set a static IPv6 address in dhcpcd.conf:

```
static ip6_address=2a01:4f8:c0c:2e8:0:b00b:dead:beef/64
```

2) Manually set a default IPv6 gateway:

```
ip -6 route add default via fe80::1 dev enp0s3
```

Nevertheless, I don't understand why I have to add the default route manually. 

Shouldn't this be done by dhcpcd?

----------

## NeddySeagoon

vlynd,

You need to read your providers fine print.

It should not be required.

----------

## UberLord

You're using a development branch of dhcpcd from git.

Can you try using dhcpcd-9.4.1 or 9.4.0 please? It might be a regression.

----------

## vlynd

 *UberLord wrote:*   

> You're using a development branch of dhcpcd from git.
> 
> Can you try using dhcpcd-9.4.1 or 9.4.0 please? It might be a regression.

 

Also tried it with 9.4.1 before but had the same issues.

Updated to the live ebuild because I thought this issue might be the cause.

However, I fixed my problem by going back to using netifrc. That way, I can set a static ipv6 route via /etc/conf.d/net.

----------

## UberLord

There was no code change to that issue, was a user config problem.

Anyway, from what you describe your upstream may not have a working Router Advertisment daemon running.

You can verify this with tcpdump to show dhcpcd making a RA request and getting no reply back.

If this is the case, then yes you need a static config either with dhcpcd or something else.

----------

