|Mark L Hill on dynamic prefix delegation can…|
|african mango tablet… on a farm of mules|
random things and thoughts … and bad ideas
A few months ago I coincidently noticed my router having an IPv6 address. I knew my ISP was in the process of rolling out IPv6 but I never got or found any announcement that it was available for me. So I tried out setting up a prefix delegation for all my local networks. Sadly I noticed two things, which in hindsight might have been incorrect even back at that time. Firstly I was only able to receive a 64-bit prefix and secondly which made things appear even worse the prefix did not seem to be static. That meant I needed automatic delegation of the possibly changing prefix but could not use SLAAC and I couldn’t get any DHCPv6 client I tried to actually do a prefix delegation with prefixes longer than 64-bit. Probably because most people follow the suggestion to never use prefixes beyond 64 so I couldn’t find any usable reference how to get it to work. To my surprise some people even seem to think it is impossible to use prefixes longer than 64-bit at all. I just went on hacking together some ugly dhcpcd hook to manually apply the prefix from the DHCPv6 reply to the interfaces and change the dnsmasq configuration. My hack even worked to some extent. Some problems with randomly vanishing host addresses remained but I could not pin point the cause. Yesterday I tried reworking my setup to find the cause and again by total coincidence I came across a note that my ISP does in fact delegate 56-bit prefixes. Obviously with that info there was no more need for dirty hacks and I could try doing my delegation properly™.
After buying the MS Surface Pro 2 my first thought was: “Let’s get some real OS on this thing and actually start working”. The SP2 is not as locked down as your generic Android or iOS tablet because it is technically a normal PC just as any other notebook. Still the limited connectivity and very minimalistic UEFI make booting other operating systems not as trivial as usual. To test Linux running on the SP2 and later handle the permanent installation I looked for a Linux live distribution that can be EFI booted from a USB stick. Surprisingly many live distributions I found did not support both EFI boot and USB sticks back when I did my search. Having played around with aufs to make my router run from RAM some time before I thought I should just try to create my own UEFI Live Stick.
Admittedly I’m a file sharer. I like keeping files available to the public that are rare and hard to find. In my opinion file sharing is the only way to prevent some media from vanishing into oblivion (think Star Wars pre-1997 LDs). My tool of choice for sharing files is amule connecting to the Kad network. I like Kad because it’s decentralized, easily accessible, allows concurrent sharing of a multitude of files and back in the days e-/amule were among the first p2p clients to properly support Unicode. Also other networks seem to have a lot more trouble with manipulated search queries.
Sharing a very large number of rare files with Kad will make you run into a little problem though. Emule and apparently amule too have a hard-coded limit of files getting published per day to prevent flooding peers. All files may be available for transfer requests so source exchange between peers still works. But if you’re the only source for a file on the whole network source exchange won’t be any help because usually there will be no other peer to exchange sources with. That means ultra rare files should stay published all the time for that one occasion every few months when someone does actually search for it else it will be playing dice for the file to be available at all. Obviously this problem is getting worse the more files you are sharing making the relative time frame files are getting published shorter and shorter. I came across this issue when I noticed my amule not having any uploads at all for hours despite sharing several thousands of files. Which is easily explained with amule only publishing rare files that never get requested for days.