Today is proclaimed World IPv6 Day, in order to motivate everyone to just fucking get it done already. And test if people have issues today of course 🙂
They’ve had years and years and still major ISPs haven’t even heard of IPv6 or simply can’t be arsed because there’s little demand for it. (Boohoo, “it costs money to upgrade our ancient equipment“)
So attention everyone: if you don’t have IPv6 right now, mail your ISP, bug their contact for(u)ms, and spam their phones. You want it! 🙂
If you’re hosting content and don’t have it: bug your provider about it as well. It’s saddening to see how few hosting providers today still don’t offer IPv6, even though it’s been out there for over a decade!
One of the reasons my home connection is with XS4All is that they deliver native IPv6 to the doorstep.
All machines at home automagically receive an IPv6 address from my modem and it just works ™. No hassles with tunnels or anything, simply turn it on and it works.
As for the “Why would I care?“. Because it’s fun to play with. Because it’s neat to have so many public addresses.
No more NAT and port forwarding to get your webserver reachable on the internet, but simply open up port 80 in your firewall and you’re done!
You’ll have so many addresses (assuming your ISP are not major dickheads that only hand out single IPs, but they won’t) that you can put an IPv6 address
on every device you have, for every program you have, for every pixel on your screen and still you’ll have tons to spare.
If you’re not sure if you have it, there’s this test to check, but I sure hope you know about the state of your connection without such tests 😉
In case your stupid provider is being the usual dumbdumbhead and won’t be bothered (and obviously you can’t switch because they have the local monopoly) you can get IPv6 connectivity for free through a tunneling broker by at least two parties that I know of. One of them is Hurricane Electric, the other Sixxs (although they can be dicks, so I’ll be a dick by not linking them ;))
It will give you the ability to tinker with IPv6, so give it a shot if you’re new to it. Did I mention it’s free? 🙂
But how do I configure IPv6 on my Slackware machine?
Well, if you do it properly and get it through your ISP natively your modem will take care of it. It’ll announce your prefix to your network and if you have your kernel set to autoconfigure it (which is default, as long as you’ve loaded the ipv6 module) it’ll get an address based on your mac address.
Adding addresses manually is just as easy as with ipv4:
# Example out of thin air
root@somewhere# modprobe ipv6 # if you hadn't done this yet 😉
root@somewhere# ip -6 addr add 2001:1234:3214:abcd::80/64 dev eth0
root@somewhere# ip -6 route add default via 2001:1234:3214::1 dev eth0
So go and check it out, it can be fun 🙂
Every now and then I like to leech something, and it happens to be that using bittorrent has a lot to offer in terms of availability and usability. However, as usual I have my demands. My demands for a torrent program are basically:
- It has to run on Slackware
- It has to run as a daemon (in daemontools if possible)
- There has to be an easy way to control and view the status, like a web based GUI.
Now that we have Xenbro up and running with a domain attached to it and a bunch of toy domU’s running, we soon ran into the need for a dns server and mailer.
Needless to say I don’t like the default Sendmail and Bind junk very much (wonder why Slackware still ships it…), and my experiences with Exim and Postfix aren’t all too great either.
Sure, they work, but they’re too complex for my liking. I like to know what’s going on, so I still use my trusty old Qmail and Djbdns for mail and dns.
However, since those packages haven’t been updated in years, some newer features are missing. So I patch them 4 times over and stab them a bit so they work the way I like 😉 (continue reading…)
Xenbro has found its way into the Coloclue racks where it is now running with real IP addresses. The Coloclue network routes all IP space to the main IP address of the machine so that precious IP addresses are not ‘lost’ to reserved network and broadcast addresses. This means that my /29 has 8 usable addresses in stead of only 6. In order to set this up you simply change the network-script and vif-script to the -route variants in /etc/xen/xend-config.sxp so it looks like this:
Easy. Make sure ip forwarding is enabled though (check /proc/sys/net/ipv4/ip_forward, it should be 1) , and for IPv6 forwarding you need to enable /proc/sys/net/ipv6/conf/all/forwarding. Note that you must enable it on the -all- directory, only enabling it on a single interface won’t do what you’d expect (this took me a while to figure out ;)).
After requesting both a set of IPv4 and IPv6 addresses I stumbled upon Xen’s /etc/xen/scripts/vif-route script which doesn’t do anything with IPv6! Since I do want my IPv6 space routed to my domU (and probably to the others as well) I decided to molest the script a little. My modification assumes you provide both the IPv4 address and IPv6 range you want to use on the domU. Here’s the diff:
xen-3.4-vif-route-ipv6.diff (1260 downloads)
Note that my patch adds some extra logging as well, you can hack that out yourself if it annoys you.
If patching is too difficult for you, here’s the patched vif-route script:
vif-route (1473 downloads)
Don’t forget to put your IP addresses in your domU’s config file:
vif = [ 'mac=00:16:11:11:2b:11, ip=2345::1/64 192.168.2.100' ]
After patching vif-route and enabling the script in xend-config.sxp you still have to set routes to the dom0 in your domU. Example for dom0 with 192.168.1.1 and 1234::1
root@domU# ifconfig eth0 192.168.2.10 netmask 255.255.255.255 # Your domU's IPv4 address here
root@domU# ip ro add 192.168.1.1 dev eth0
root@domU# ip ro add default via 192.168.1.1
root@domU# ip -6 addr add 2345::1/64 dev eth0 # Your domU's IPv6 range here
root@domU# ip -6 ro add 1234::1 dev eth0
root@domU# ip -6 ro add default via 1234::1
Now it works (unless you did something stupid of course) 🙂
So I’m working on a little info script (check out Infoscreen) so I can have a nice overview
of my server when I look at console number one without having to log in etc.
“Where in /proc can I find a list of IP addresses with corresponding interfaces?”
00000000000000000000000000000001 01 80 10 80 lo
20010888148d0000022100fffe221352 04 40 00 00 wlan1
fe80000000000000022100fffe221352 04 40 20 80 wlan1
… that’s great…. but I really wanted the IPv4 addresses as well.
“/proc/net/if_inet4” or “/proc/net/if_inet”? Noooooo….
Conclusion: KANKER LINUX!
Obviously I can get the address by calling ‘ip addr show‘, ‘ifconfig‘ or a heap of other solution involving calling ioctl on sockets or using the netlink interface… but seriously, blegh.
The most retarded thing is that pretty much every other statistic about my network devices is there… including active connections and whatnot, but ipv4 addresses? Nooooo….. *RAAH*