if I give my laptop an IPv6 address (manually) and then add the route via the address of the internal adapter of the router, it *IS* working, so it looks like it's RADVD that isn't pushing the address's out over the network / broadcasting as an IPv6 router.
however, my laptop is not getting an IPv6 address from this, and if I manually give it an address, it can only ping the internal address I've given to br0.
from the internet I can ping6 to both internal & external interfaces, I can also send a ping6 to my laptops IPv6 address, and using tshark can see the packets coming in, and the reply being sent, but the routing isn't happening back to the internet, so the replies never make it back.
killing radvd and starting it again manually using "radvd -C /tmp/radvd.conf" doesn't have any effect either.
this is a real show stopper, because I kind-of need IPv6 so at the moment, the router is just sitting on a temporary external IP on running it's own little network consisting of only my laptop.
it seems some people have got this working, so any help would be greatly appreciated, as if I get this working I have a contract to install 4 of them (at 2 sites) and could really do with the router running my IPv6 instead of my PC.
jasey: your problem seems like an issue with your default ipv6 route. the ping fails because neither device has any knowledge of the default route (addresses other than your assigned /64 or /56 network) and outgoing icmp echo (ping) packets can't even leave your LAN, and the replies to incoming icmp echo requests does not know the route back to the sender.
do you have an "ip -6 route add ::/0 dev he-ipv6" or similar command issued on your router? be sure to use "ip -6 route" to make sure it gets added as an ipv6 route. you can check your current routes with "ip -6 route list". you should see a line "default dev he-ipv6" or similar.
you can check the routing table on your windows machine with the "netsh int ipv6 show route" command. if you're running linux, you can use "ip -6 route list".
make sure your router knows about the default ipv6 route ( ::/0 ) before running radvd. try restarting radvd after you have issued the above command to add a default route.
I have the following script running automatically on startup:
Code:
#!/bin/sh
# setup IPv6 address of the router itself
ip -6 addr add 2001:xxxx:xxxx::1/64 dev br0
ip -6 route add 2001:xxxx:xxxx::1/64 dev br0
while true; do
# wait for WAN link to go up
if [ -d /proc/sys/net/ipv4/neigh/ppp0 ]; then
sleep 2
# aiccu tunnel fails if time is out of sync
ntpclient time.ien.it
aiccu start /jffs/etc/aiccu.conf
break
fi
done
Substitute /jffs/etc/aiccu.conf with the location of where your aiccu.conf file is saved
shortly after posting this I worked out that it was the default route on my (Linux - is there any other) laptop. adding this it all fired into life.
silly not to check really, I should know better.
anyway, I'm not entirely sure what I did, but when I plugged the router up to my LAN today, IPv6 fired into life shortly after.
Maybe my problem was a very simple one - Inpatients.
anyway, the IPv6 is now up and running, so next tast is to close off the bridge on the wifi/lan, set the Wifi to only route to the outside world, split the 4 LAN ports up to give me WAN2, LAN, & DMZ...
should be a fun project, and I have another 4 of these routers arriving in the week to setup the same way for different sites.
and I seem to have a very strange problem with the Wireless link. My notebook can't connect to the router (Windows reports key is invalid), but my PDA can. The weirdest thing is that the notebook can connect if I remove the wireless security from the router, but it doesn't work anyway, since data doesn't seem to be flowing between the notebook and the router when I do that (using a sniffer I can see packets being sent, but no answer from the router, and the WLAN LED on the router doesn't flash). But, like I said, my PDA can connect perfectly (it uses 802.11b, but that doesn't seem to be the cause, because I forced the router to use the B mode only and the notebook still behaves like I mentioned).
I thought something was wrong with my notebook (which didn't have any problems a couple of minutes before with the previous firmware, DD-WRT v24 sp1 standard), so I tested it with another router I have here (WRT54G v6.0 with DD-WRT micro), and it worked, so I assume it's not the notebook.
I tried restoring the factory defaults, and double- and triple-checked everything, but it's not working! It's driving me crazy!!
I didn't go back to the standard DD-WRT, because I guess this is a problem with the configuration, but I don't know what to do or where to begin.
Anybody here can help me? Thanks!
Guys, can I just confirm there's no ipv6 support by default in v24-sp1? What's the up to date instructions on getting it running? Can I work off the first post in this thread at present, or are there updated images etc?
there's no dd-wrt v24 sp2 yet. i'm not sure if any progress is being made towards ipv6 support in current beta versions.
the official v24 sp1 doesn't have ipv6 support. you can download crushedhat's custom firmware which is based on v24 sp1 svn revision 9991. read the following post for more info and download link to the image: http://www.dd-wrt.com/phpBB2/viewtopic.php?p=196058#196058
Just a quick follow-up Is anyone aware if crushedhat's firmware is compatible with a linksys WRT54GL? I'd like to give it a try in the next few days but would prefer not to brick my router
I have a WRT54G v2 that currently is running the regular, plain, DD-WRT v24 standard generic. Since no one else has really tried to run crushedhat's firmware on one of these, I'm going to give it a go tonight. I'll post how it runs. If anyone has any tips before I do, or has tried it and had problems, I'd love to know beforehand though!
I have a WRT54G v3.1 and running crushedhat's firmware (SVN revision 10070M) without any problems. I had installed it over v23 SP2 smoothly. I recommend you to read his post before installing, here: http://dd-wrt.com/phpBB2/viewtopic.php?p=196058#196058
Here’s binaries of a new version: based on SVN rev. 10070 (post v24-sp1), includes traceroute6, AICCU client (for SixXS dynamic IPv6 tunnels), proper Linux clock handling, and a mega version for routers with 8MB flash (such as the Asus WL-500W). Tested on Buffalo WHR-HP-G54 and Linksys WRT600N. I’ll update the previous post later with more details, a sample SixXS tunnel config, and a source patch set.
Quick reply, just to confirm that I've had no problems running crushedhat's custom build of the 10070 svn version on a linksys WRT54GL. I'm successfully running a SixXS tunnel via the aiccu heartbeat client with a subnet routed through it.
Much kudos to crushedhat, and of course the dd-wrt team for the wider work
Just wanted to emphasize that in the original sample Radvd config in crushedhats post on the 1st page, its missing a semicolon at the end of the very last curly brace. This causes radvd to not start. I know someone else did mention in later on in the post but it was kind of buried with other stuff. I was banging my head against the wall trying to figure out why radvd wouldn't start :)
I wanted to document my procedure for getting this up and running using dd-wrt.v24-10070_crushedhat_4MB.bin in case it may help anyone else.
1. Install the 4MB or Mega build of dd-wrt.v24-10070_crushedhat on your router depending on your hardware. I'm using Linksys WRT54GL v1.1 so I used the 4MB image.
2. Go to http://tunnelbroker.net and register for a tunnel, it takes all of 5 mins. Make sure you ping each of the tunnel endpoint IPs from your network before you select one. Use the endpoint IP with the least amount of latency. The LA one was fastest for me with about 50ms (I'm in Denver, CO). They will give you info like below once you complete the tunnel signup process (not my real IPs in the example below):
Code:
Server IPv4 address: 66.220.18.42
Server IPv6 address: 2001:470:c:666::1/64
Client IPv4 address: 24.8.67.123
Client IPv6 address: 2001:470:c:666::2/64
Routed /64: 2001:470:d:666::/64
3. On your router go to Administration -> Management -> IPv6 Support. Enable IPV6 and radvd and add the following to the radvd config box:
4. On the router go to Administration -> Commands and enter the following in the box and then click Save Startup:
Code:
ip tunnel add he-ipv6 mode sit remote <Server IPv4 address> local <Client IPv4 address> ttl 255
ip link set he-ipv6 up
ip addr add <Client IPv6 address> dev he-ipv6
ip route add ::/0 dev he-ipv6
ip addr add <IPv6 address from your /64> dev br0
I decided to use .1 as my router's LAN IP (old habits die hard) but it could really be whaterver you want from your /64 range. Here's what it would look like:
Code:
ip tunnel add he-ipv6 mode sit remote 66.220.18.42 local 24.8.67.123 ttl 255
ip link set he-ipv6 up
ip addr add 2001:470:c:666::2/64 dev he-ipv6
ip route add ::/0 dev he-ipv6
ip addr add 2001:470:d:666:0000:0000:0000:0001/64 dev br0
Technically you could summarize the LAN IP as 2001:470:d:666::1/64
5. On the router go to Administration -> Commands and enter the following in the box and then click Save Firewall:
And thats pretty much it. IPv6 was already enabled on my Windows XP box, Vista laptop, and Fedora 9 server. I had to wait a couple of mins once radvd was running before I saw a global IP on my machines in a ipconfig/ifconfig. I tested by pinging ipv6.google.com and pulling it up in a web browser. If you tracert6 to this address you should see your traffic going across the tunnel and ending up going through HE's network:
Code:
$ tracert6 ipv6.google.com
Tracing route to ipv6.l.google.com [2001:4860:b005::68]
from 2001:470:d:666:e522:e3e4:d83f:a1a7 over a maximum of 30 hops:
1 1 ms <1 ms <1 ms 2001:470:d:666::1
2 55 ms 92 ms 53 ms xxx-1.tunnel.tserv15.lax1.ipv6.he.net [2001:470:c:666:
:1]
3 60 ms 62 ms 67 ms gige-g4-6.core1.lax1.he.net [2001:470:0:9d::1]
4 53 ms 54 ms 57 ms 2001:504:a::a501:5169:1
5 84 ms 86 ms 83 ms 2001:4860::3b
6 109 ms 83 ms 85 ms px-in-x68.google.com [2001:4860:b005::68]