If I plug in my XP based computer to the cable modem, I automagically get fully configured for IPv6 and can reach IPv6 web sites. No need for registering for a tunnel or anything. Its plug and play. Of course I do have to install IPv6 in XP. But Vista and W7 need no config at all. They just plug in and work. No config at all.
So my cable company is supporting IPv6 and it works perfectly and completly automatically.
My computer works completly automatically.
However my Mikrotik router needs a large amout of config, a fixed IP from the cable company to support a tunnel and a account at HE.. Even then, I have been unable so far to get RouterOS 4.9 to work.
Why is this the case ? Can’t the router see the cable company config like my computers do ? Can’t the router see the computer and provide connectivity ?
In fact I dont know of a router that can just work on IPv6 without config, even though I thought one of the main things IPv6 offers is auto.
Ok ok… So then.. How do I get IPv6 working on my cable company’s setup. I do NOT want to rely on HE and a fixed tunnel. There must be some way to get connected to the cable company and get the info required to use thier tunnels and hook them to my computers.
This would be a very useful thing as I know that Cox Cable, Comcast and AT&T use the same setup for IPv6. So a config for this could be used by many people.
Ideally after some config, you should be able to plug the router into any Cox/Comcast/AT&T connection and it will discover all the right settings and any computer plugged into the router will end up connected up IPv6 correctly without any config.
Has anyone done this ? If not any ideas ? I could see this being a useful wiki entry on IPv6.
Autoconfiguration is primarily for client computers, not so much for routers.
Client computer needs just one address and autoconfiguration can provide it. Router in addition needs another whole subnet for computers connected behind it.
Even if ROS accepted router advertisements from ISP’s router and configured address for itself (currently it doesn’t seem to), it would not be very useful, because it’d be still missing the addresses for computers on internal network.
Ask your ISP, they know best what they can do for you.
Ok so the router cant obtain 1 IPv6 address from the ISP and then generate its own addresses from a maunally pre assigned pool then do some sort of NAT ?
This would solve many problems.
It would work just like a IPv4 router. This cant be impossible with IPv6 ?
IPv6 seem to want to assign EVERYTHING a externaly accessable address. I dont need or want that. I like NAT.
NAT was never meant to be used as a form of network security; it was hacked together to forestall every single machine in the world requiring a globally-unique IPv4 address.
The inability to make direct inbound connections to machines behind a NAT was not by design; merely a side-effect.
The whole point of IPv6 is that you don’t need to use specific private addressing behind a single globally-routable address like you do with IPv4; everything has its’ own globally unique address - if you want to emulate the security ‘features’ of NAT, simply ensure that no-one can connect to the machines behind your router by firewalling off all externally-initiated inbound traffic to your internal network.
Well yes, of course. BUT again, we have a huge problem again. Having to assign all my computers a world reachable IPv6 address. This then requires a account at HE and then a tunnel setup and a fixed IP for a home modem. This prevents me and many others from going to IPv6.
So again, I would think that a IPv6 NAT with the router grabbing a single world accessible IPv6 address from the ISP and then assigning IPv6 addresses from a pool of pre configured addresses to my lan side devices and doing NAT would be the much needed solution to getting a huge chunk of people onto IPv6 ?
This cant be that hard ? The benefits seem worthwhile, suddenly IPv6 just works automagically with routers.
Im sorry if I am somehow being newbie stupid here. I just dont see why this cant be done ?
Well its not native. Your right I dont think anyone is doing that… Yet…
It hands me a automagically configured tunnel..
Here are my exact settings for a test. YES these are full IP’s but there is no longer a computer at them so its OK to disclose them.
On a XP machine I installed ipv6 ( cmd prompt > “ipv6 install” ) then plugged directly into the cable modem. Vista and W7 just work no need to install anything. No need to reboot XP either. You do have to restart your browser to go to IPv6 only sites. To test go to http://v6.testmyipv6.com/ and/or http://ipv6.google.com/ You can also use ping6 to ping stuff.
Doing a ipconfig, In my case the automagical numbers that got assigned are:
Ethernet Adapter Local Area Connection:
Connection-specific DNS suffix: ph.cox.net
IP address:68.106.249.47
subnet mask:255.255.248.0
IP Address:fe80::f200:8dff:fed1:783f%5
Default gateway:68.106.248.1
skipping Tunnel adapter Teredo as its not used.
Tunnel adapter 6to4:
Connection-specific DNS suffix: ph.cox.net
IP Address: 2002:446a:f92f::446a:f92f
default gateway: 2002:c050:6301::c050:6301
Where aaa.bbb.ccc.ddd is your public address and AABB:CCDD is the same address converted to hexadecimal representation (68.106.249.47 and 446a:f92f in what you posted).
If your address is dynamic, then it must also be possible to set up, but I’m not exactly sure how, I never tried it before in ROS. You probably need some script to update the local address in 6to4 interface settings. Maybe somebody else knows.
I don’t know enough script either. Maybe someone here can complete this quest ? It would be pretty awesome to have a script and some settings that would make a router just work automagically on any connection
I would think it would be a good thing to put in the wiki under the IPv6 section as a example.
Some script and settings to make RouterOS just automagically do tunneled IPv6 on any connection, Thats pretty awesome.
Unfortunately it won’t help you much. In this case you also have to change the IPv6 addresses and prefixes, because they’re derived from actual IPv4 address.
ROS can change the advertised prefix automatically (when you select 6to4 interface parameter in IPv6->ND->Prefixes), but it seems to be completely buggy (ROS 4.9 x86):
It requires “6to4 interface” to be WAN interface instead of actual 6to4 interface. It doesn’t make sense, because there can be several 6to4 interfaces on the same WAN.
It creates the address with reversed byte order. I tried it with 192.168.80.200 and instead of correct 2002:c0a8:50c8::/64 it generates 2002:c850:a8c0::/64.
It is quite laggy. When the IPv4 address is changed it still keeps advertising the old prefix.
But it can be worked around, we have the script running anyway, so it’d be possible to change prefix manually. Also the IPv6 address of 6to4 interface must be changed.
And here I’m lost. It’d require to parse IPv4 address, convert numbers to hexadecimal representation and construct the address from them. But I can’t find any “int to hex” function in ROS scripting…
Yes with DD-WRT and Open-WRT you have full access to the *nix enviroment so converting numbers to hex and everything else is easy. I do wish we had access to *nix. Ive run into that problem before.
Buggy is bad. Hard to overcome that one..
well that is discouraging.
Ok well… NO doubt it can be done. In our case we need Mikrotik to implement a solution however. Not sure if this has any application to the pro market, but for the 750G and 450G SOHO home user market this would be a great thing to implement.
I can imagine a single check box to enable this functionality. But it might just stay in my imagination…
Well awesome work on this Sob ! You need some Karma !
I think I’ll expand on this to create an auto-setup-6to4 script
Do you mind if I use the original script in a blog post if it is attributed back to you?