Skip to content

Ability to use on wireguard interfaces that have no MAC address #22

@TheLinuxGuy

Description

@TheLinuxGuy

Very interesting project, I was trying to tinker with corerad for having IPv6 autoconfiguration / SLAAC to work over a wireguard tunnel. This does not seem to be possible at the moment?

root@mia2:/etc/systemd/system# /usr/local/bin/corerad -c=/etc/corerad/corerad.toml
CoreRAD v0.3.0-15-g8f828f7 (2021-03-05) starting with configuration file "/etc/corerad/corerad.toml"
starting HTTP debug listener on "localhost:9430": prometheus: true, pprof: false
eth0: initialized, monitoring from fe80::216:3eff:fec5:213d
failed to run: failed to serve: failed to run task advertiser "noproxy": failed to reinitialize "noproxy" listener: interface "noproxy" has no MAC address
root@mia2:/etc/systemd/system# wg show
interface: noproxy
  public key: nope
  private key: (hidden)
  listening port: 88

peer: somepeer
  preshared key: (hidden)
  endpoint: [2x]:56692
  allowed ips: 10.100.100.10/32, 2x:b00b::10/128
  latest handshake: 1 minute, 51 seconds ago
  transfer: 18.58 KiB received, 354.57 KiB sent

I have a VPS with a public IPv6 /64 allocation that I am hoping to route via wireguard to my home. I have been successful at configuring wireguard peers with the public IPv6 segment and then on the VPS host using linux kernel 'net.ipv6.conf.all.proxy_ndp' and manual 'ip -6 neigh add proxy ' commands to allow RAs to be proxied.

eth0 is VPS connection to the internet and where IPv6 /64 is assigned.
'noproxy' is the wireguard interface name that clients connect to.

While this works great when I want to give a wireguard client only a single IPv6 I was trying to explore if I could allow more of the available IPv6 public pool to work over wireguard as well. For example, Windows 10 has by default IPv6 privacy extensions enabled and its common to see a win10 client have 4-6 IPv6s autoconfigured on the network. I was experimenting in ways to make it work over wireguard - I think I am halfway there but I think I am limited by linux's ndp proxy capabilities - and I rather not have to deal with cumbersome manual adding of proxy entries to the IPv6 neighbors table if I could have corerad or similar service handle this for me.

Hope this makes sense? Again, just experimenting to see what other alternatives could work and truly enable SLAAC via wireguard. corerad seems promising but it crashed after I tried to run it - as it seems to have a depency on a mac address.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions