Sign up ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

I see the ubuntu 11.10 has enabled the ipv6 address.

eth0      Link encap:Ethernet  HWaddr 78:2b:cb:b0:a0:47  
          inet addr:  Bcast:  Mask:
          inet6 addr: fe80::7a2b:cbff:feb0:a047/64 Scope:Link
  1. Has it enabled the ipv6 routing?
  2. Can I setup the apache2 on it to make it accept the eth0 ipv6 address: http://[fe80::7a2b:cbff:feb0:a047] , at least from the same machine ?
  3. Does it need to configure the apache?
  4. Which kind of router support ipv6 routing? How to test it?

The information of my system and my local net:

  1. I can "ping6 fe80::7a2b:cbff:feb0:a047%eth0", but I can't "ping6 fe80::7a2b:cbff:feb0:a047"
  2. I can access "http://[::1]" and "http://[::ffff:]" and I can access the other machine using ipv6-v4 map "http://[::ffff:]"
  3. I can't access both local machine and the other machine in my LAN by ipv6 address: http://[fe80::7a2b:cbff:feb0:a047] and http://[fe80::7a2b:cbff:feb0:a048]

The overall question is : How can I setup my machine and my local net to create a ipv6 apache server?

share|improve this question

migrated from Apr 28 '12 at 3:54

This question came from our site for professional and enthusiast programmers.

That's a link local address, only accessible inside the local LAN. You also need an interface specifier so that your machine knows on which interface to look for it (as you do with ping6). If you want your server to be reachable via IPv6 you need a global address. – ldx Apr 26 '12 at 12:35
Not only that, but current browsers are buggy when connecting to a link-local address, because they incorrectly parse it in the URL. – Jeremy Visser Apr 26 '12 at 13:51
Jeremy Visser, which browsers are byggy, and in which way? You can allways add your IPv6 address in /etc/hosts so you don't need to add the numerical IPv6 address. – Anders Jun 27 '12 at 23:18

1 Answer 1

  1. The command ip -6 route would tell you which IPv6 routers there are in your network seen by your computer. I would guess there are none, unless you have set up one yourself.
  2. You can set up your apache server to listen to IPv6 addresses like you set it up to listen for IPv4 addresses. I would not use a link-local address, which always starts with fe8 or fe80::/10. A link-local address is/should never be routed, and you must always specify which interface you should route through with a link local address.
  3. Yes, you need to configure Apache2. You could use the localhost address, which is ::1/128, or a global address, which are ones from the net 2000::/3 starting with a 2. To enter a IPv6 address in a web browser, write it like this http://[::1] or in your case http://[fe80::7a2b:cbff:feb0:a047].
  4. As there are very few ISP's that support native IPv6, I guess you will need to set up a tunnel between your net and a tunnel provider for IPv6. I use as such a tunnel broker, but there are others. You can use any ordinary computer for this, but there are some home routers which have support for IPv6 tunneling, like D-Link. But you have to check for yourself. I use a Linksys with firmware myself. You will see if you have routing if you use the command ip -6 router. Both your IPv6 address and router settings of your computer should be set automatically if you have a working IPv6 router in your net.

So set up your apache2 to listen to IPv6 localhost.


First set up an tunnel to get IPv6 to one of your local machines. There are many ways of doing this. Check with your tunnel broker. When you can surf from your machine, continue. After that you should set up the machine to be a router of IPv6 for your LAN and announce the net prefix that you got for your LAN to other clients. On linux you can use radvd for this.

Or install gogoc, register a user and change /etc/gogoc/gogoc.conf so your machine is a router for your LAN. It will set up all things, like sysctl and radvd for you, except for the firewall.

You should also set up a firewall for your IPv6 LAN, and I would recommend ufw. Which world great after enabling IPv6 in /etc/default/ufw. It should be on nowdays. There are different iptables commands for IPv4 and IPv6 firewalls.

Then set up your apache2 to use a global IPv6 address.

share|improve this answer
In Ubuntu, the firewall is disabled by default. Do you consider there to be more compelling reasons to firewall IPv6 connections than IPv4 connections, or when you recommend firewalling, is that your general recommendation for all/most connections, even though it is not the default behavior of Ubuntu? – Eliah Kagan May 30 '12 at 18:36
If you don't have any servers, which is the default in Ubuntu, you don't need to start the firewall, which is the same with IPv4 and IPv6. If you set up a server, you should have a firewall. For ssh type of services, do restrict number of connections per minute/hour (doesn't work with IPv6 yet) and you also might want to restrict connections from ip numbers. Type like http you just open it. Yes, it is important to protect you network with a firewall, both in IPv4 and IPv6 if you run servers on it. No servers, no need to run firewall for private persons. – Anders May 31 '12 at 8:23
Why do all servers need a software firewall running? Most (though I admit, certainly not all) are behind some kind of hardware firewall. (Ubuntu Server ships with the firewall off by default, too.) – Eliah Kagan May 31 '12 at 8:27
First, most hardware firewalls are running linux, so there are no magic. Second, the example I show will also set up the macine as a router for IPv6. Third, you want to protect your machine. There are ways of getting past the "hardware" firewall, so you still need to protect your machine from your others. If not, we will eventually end up as MS Windows. And to set up the firewall, you need to know you own network, it's not the responsibility of Ubuntu. If you don't care, don't use firewalls. But don't blame Ubuntu then. – Anders May 31 '12 at 8:46
ip -6 router results in: Object "router" is unknown, try "ip help". – Jay _silly_evarlast_ Wren Jun 26 '12 at 0:17

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.