Device get incorrect ipv6 and dns

I change the IPv6 prefix from 3001::/64 to 4001::/64. my computer get two IPv6 address, 3001::9450:5231:6c39:267a and 4001::9450:5231:6c39:267a, and dns is still 3001::1, then i can't access internet.

here is my route info.

the ipv6 prefix assignment has been removed from netifd database of lan interface, and preferred_lft has been set 0 sec. this is the design, see the clarification

/ # ip -6 addr show br-lan
37: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 4001::1/64 scope global noprefixroute
       valid_lft forever preferred_lft forever
    inet6 3001::1/64 scope global deprecated dynamic noprefixroute
       valid_lft 5367sec preferred_lft 0sec
    inet6 fe80::219:c7ff:fe22:100/64 scope link
       valid_lft forever preferred_lft forever
/ #
/ #
/ # ifconfig br-lan
br-lan    Link encap:Ethernet  HWaddr 00:19:C7:22:01:00
          inet addr:192.168.3.1  Bcast:192.168.3.255  Mask:255.255.255.0
          inet6 addr: fe80::219:c7ff:fe22:100/64 Scope:Link
          inet6 addr: 4001::1/64 Scope:Global
          inet6 addr: 3001::1/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:266654 errors:0 dropped:0 overruns:0 frame:0
          TX packets:260117 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:45074177 (42.9 MiB)  TX bytes:116549902 (111.1 MiB)

/ #
/ # ubus call network.interface.lan status
{
        "up": true,
        "pending": false,
        "available": true,
        "autostart": true,
        "dynamic": false,
        "uptime": 23956,
        "l3_device": "br-lan",
        "proto": "static",
        "device": "br-lan",
        "updated": [
                "addresses"
        ],
        "metric": 0,
        "dns_metric": 0,
        "delegation": true,
        "ipv4-address": [
                {
                        "address": "192.168.3.1",
                        "mask": 24
                }
        ],
        "ipv6-address": [

        ],
        "ipv6-prefix": [

        ],
        "ipv6-prefix-assignment": [
                {
                        "address": "4001::",
                        "mask": 64,
                        "local-address": {
                                "address": "4001::1",
                                "mask": 64
                        }
                }
        ],
        "route": [

        ],
        "dns-server": [

        ],
        "dns-search": [

        ],
        "inactive": {
                "ipv4-address": [

                ],
                "ipv6-address": [

                ],
                "route": [

                ],
                "dns-server": [

                ],
                "dns-search": [

                ]
        },
        "data": {

        }
}

here is my pc info

I do another test,so prefix is 4001::/64 and 5001::/64

Snipaste_2020-11-05_18-18-31

1 Like

You can advertise custom resolvers:

  • Use a ULA prefix for DNSv6
  • Use a public DNS provider

By the way, IPv6 is served by odhcpd, not dnsmasq.

1 Like

Thank for your reply.

your solution solve my problem.

I have another question.why IPv6 is served by odhcpd, not dnsmasq. dnsmasq-full can also provide services. Is there any consideration, or good thing about odhcpd, or dnsmasq-full is too big .

1 Like
1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.