agwa / rdiscd Goto Github PK
View Code? Open in Web Editor NEWIPv6 Router Discovery and SLAAC Daemon
License: Other
IPv6 Router Discovery and SLAAC Daemon
License: Other
The code for this is mostly done. It just needs finishing touches and testing.
Ideally when using a tap device with a VM, I'd like to run rdiscd in the VM and also know on the host what the secret is. Then I can write an ip6tables rule to ensure only packets with the expected address can get in or out.
Any ideas on how to achieve this? I do have control of router (and neighbour) advertisements but I'm not sure if that's the right place to do it: https://github.com/davedoesdev/nfdhcpd
(I'd like to stay away from running DHCPv6)
I think rdiscd doesn't do this right now?
rdiscd currently configures addresses with a /128 prefix length rather than the prefix length advertised by the router (e.g. /64). Since rdiscd also explicitly adds a route to the prefix, the /128 address should be functionally equivalent to an address with the advertised prefix length. Nevertheless, this is unexpected and may cause confusion as well as functional problems that have not yet been discovered.
The reason why rdiscd does this is because the kernel automatically adds a route to the prefix if you configure an address with a prefix length besides /128, but rdiscd needs to be in charge of adding that route. Recent versions of the kernel (3.14+) have a flag, IFA_F_NOPREFIXROUTE, to prevent the automatic addition of the prefix route, and recent versions of iproute2 have an option to ip-address, noprefixroute, to use this flag.
rdiscd should use this flag if the kernel and iproute2 provide it, and then configure the address with the true prefix length instead of /128.
Thanks for #1 - I can generate stable privacy addresses outside my VMs.
What I realised now though is I don't need the secret key inside the guest: I just need to tell it what suffix it should be using.
I'm putting the suffix in a file on a tiny disk which is attached to the VM.
It'd be great if I could specify a file location for picking up suffices, just like you can for rdiscd-stable-privacy-key.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.