Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Overwrite link-local address with my own ULA #8066

Open
2 tasks done
Hoeze opened this issue Nov 17, 2024 · 5 comments
Open
2 tasks done

Overwrite link-local address with my own ULA #8066

Hoeze opened this issue Nov 17, 2024 · 5 comments

Comments

@Hoeze
Copy link

Hoeze commented Nov 17, 2024

Important notices

Before you add a new report, we ask you kindly to acknowledge the following:

Is your feature request related to a problem? Please describe.

On my server, there are multiple interfaces using fe80:: prefixes (e.g. podman).
I tried to solve that issue by setting a static IPv6 configuration with my own private ULA (fdb0:[...]).
However, I noticed that now I simply get an additional IPv6 address:

    inet6 fdb0:[...]/64 scope global dynamic noprefixroute 
       valid_lft 86355sec preferred_lft 14355sec
    inet6 fe80::[...]/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

Describe the solution you like

Is there a way to replace the fe80:: address with my own ULA?
Or would it be possible to disable the fe80:: address and set the fdb0:[...] as default gateway?

Describe alternatives you considered

Additional context

@Hoeze
Copy link
Author

Hoeze commented Nov 17, 2024

Actually the following issue sounds quite similar to mine:
#817

@AdSchellevis
Copy link
Member

I wouldn't know why you would like to remove the default link-local (it's likely not a good idea), but my best guess is setting the tunable net.inet6.ip6.auto_linklocal to 0 stops assigning one automatically. See also https://man.freebsd.org/cgi/man.cgi?ifconfig(8)

@fichtner
Copy link
Member

In practice this will likely lead to defunct IPv6 unless you add static valid link-locals to every interface that should speak IPv6.

@Hoeze
Copy link
Author

Hoeze commented Nov 18, 2024

What I want to reach is to get from the current state:

    inet6 fdb0:[...]/64 scope global dynamic noprefixroute 
       valid_lft 86355sec preferred_lft 14355sec
    inet6 fe80::[...]/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

to this state:

    inet6 fdb0:[...]/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

so I can avoid having overlapping link-local addresses.

@Monviech
Copy link
Member

Link local addresses are local to their link.

Each interface can have fe80::1 and it does not matter since the full link local address is fe80::1%interface for the operating system.

Do not mess with link local if you do not want IPv6 to break.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

4 participants