8

I have a server that has IPv6 and IPv4 support. I would like to use this to allow my desktop, which has an IPv4-only connection, to connect to other servers via IPv6. What type of software is necessary, on the server and on the desktop, to enable this?

The server is running Ubuntu Linux 10.04 LTS and the desktop is running Mac OS X 10.6.7.

5 Answers 5

2
+50

This question has been answered on ServerFault. The solution is to use a device tunneling instead of the socks proxy.

1
  • In that answer it mentions that using SSH adds significant overhead. Does anyone have a solution that avoids this?
    – Jeremy
    May 8, 2011 at 9:56
2

For a specific connection you could use a socat relay.

You install socat on the server and have it run (e.g. via a startup script) so as to set up an IPV4 to IPV6 relay.

Here's a simple IPV4 to IPV6 TCP relay for an IPV6 web server.

socat TCP4-LISTEN:www TCP6:www.example.com:www

The client connects to the relay's IPv4 address.

2

You have to convert your server into a IPv6 router and make it the default gateway for your desktop systems. Here is a description how to do this: http://tomicki.net/ipv6.router.php

0

Apparently an ordinary SSH tunnel mostly works for web browsing, if you don't mind proxying all of your IPv4 traffic as well. That's just running

ssh -D 1234 my-server.com

on your computer and configuring your operating system and/or browser to connect via the SOCKS proxy on localhost:1234.

"Mostly" works? I used http://test-ipv6.com/ to evaluate this solution for web browsing.

  • In Chrome and Safari every test passes except for "Test IPv6 without DNS".
  • In Firefox every test passes except for "Test if your ISP's DNS server uses IPv6".
  • Opera can't use a SOCKS proxy.

I imagine that setting up a VPN would make everything work properly.

0

As you say that your ISP doesn't support iPv6, you need iPv6 over IPv4, called also “6 to 4”.

One method is presented in Connecting to an IPv6 address using IPv4 :

  1. Choose Apple menu > System Preferences, and then click Network.
  2. Click Add (+) and then choose “6 to 4” from the Interface pop-up menu.
  3. Give the configuration a name, and then click Create.
  4. If you were given a relay address, choose Manually from the Configure pop-up menu and enter it. Otherwise, leave the Configure pop-up menu set to Automatic.

The above method is demonstrated here with screenshots : IPv6 6to4 configuration for MacOS X


Another method is detailed in Apple Mac OS X IPv6 :

Mac OS X supports configured tunnels with the gif tunnel-interface. Setting up a manual tunnel requires several steps on the command line.

Beforehand, you need the following information:

$host-ipv4
    IPv4-address of the host
$router-ipv4
    IPv4-address of the router/tunnel-server
$tunnel-v6host
    (Tunnel) IPv6-address of the host
$tunnel-v6router
    (Tunnel) IPv6-address of the router

Set up the IPv4 endpoints of the tunnel:

ifconfig gif0 tunnel $host-ipv4 $router-ipv4 

Set up the IPv6 endpoints of the tunnel:

ifconfig gif0 inet6 alias $tunnel-v6host $tunnel-v6router prefixlen 128

Set the (IPv6) default route on the tunnel:

route add -inet6 default -interface gif0

I cannot test any of the methods, not having a Mac.


You can also try and find a tunnel broker that gives you an IPv6 in IPv4 address. You will get a IPv6 address, with which you can browse the IPv6 internet.

Most tunnel brokers require you to have the tunnel open 24/7, though. A number of big tunnel brokers have been set up, among which are in europe sixxs.net , in canada freenet6.net and Hurricane Electric.

3
  • My home ISP does not support IPv6.
    – Jeremy
    May 8, 2011 at 9:55
  • You didn't state that in your post, now did you, so why downvote? I think that a polite "thank-you this doesn't apply in my case" would have been much better. Reference material to be found here.
    – harrymc
    May 8, 2011 at 10:21
  • I rewrote my answer according to your info.
    – harrymc
    May 9, 2011 at 9:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .