Vanity plate on IRC

1 Ingredients:

  • An IPv6 block whose PTR you can delegate (I use Hurricane Electric's tunnelbroker service)
  • A hostname whose AAAA you can change (I'm using a full domain, hosted on CloudFlare, but it should works with subdomains)
  • I'm using a Debian machine to connect to Freenode

2 Recipes:

  1. Request an IPv6 tunnel with HE
  2. Delegate its rDNS to dns.he.net
  3. Match forward and reverse DNS between an address and your hostname:
    bash -c 'diff <(nslookup test-plate.hdhoang.space.) <(nslookup 2001:470:36:62a::cccc)'
    
    • Choose an address, point it to your hostname
    • Add the address to the hostname's AAAA records
  4. Connect to Freenode with that address as the source, for example:
    for fn in $(dig +short -t aaaa chat.freenode.net); do
        ip -6 route add $fn src $address dev $tunnel_interface;
    done;
    

    or

    ip -6 route add default src $address dev $tunnel_interface