Start | Previous | Next IPv6 Main | General | Overview | Basic Softw | Important App | Additional App | Network Conf | Changes+Testing | Obsolete | Firewalling

IPv6 & Linux - HowTo - Part 6

Version: 3.25a from 2005-04-03

(P) & (C) 1997-2005 by Peter Bieringer <>, see copyright notice for more details
Original site of publishing:; suggestions, comments and improvements are welcome!

Important Changes, Testing & Network Troubleshooting, Q&As


Other important changes

IPv4 forwarding

For using IP forwarding (routing from one interface to another), you have to switch on this option in the kernel


Append new lines with IPv6 protocol numbers , if not exist:


Append new lines with special IPv6 addresses, if not exist:

Testing  & network Troubleshooting

Protocol / Application Full Qualified Domain Name (FQDN)
FTP, traceroute, ping

Questions & answers

See first Linux+IPv6-HOWTO [LDP] | Linux+IPv6-HOWTO [DS6]

Basic commands - how they are used?

What command to use to For others, manual pages or digging in the scripts are your friend....

Cannot ping

If you got the error "ping: icmp6: unknown protocol", look in /etc/protocols for specific changes
Because of some definition changes (old inet6-apps, new net-tools), the ping utility included in inet6-apps uses an old one which is not contained in newer /etc/protocol files. Solution: add alias name like shown on this page.

"connect: Invalid argument": kernel 2.4.x in use, you have to specify also the interface, see upper shown hints

"ping: icmp open socket: Operation not permitted": you are not root and ping6 has SUID bit not set. ICMP sockets are only allowed to root for opening.

Cannot connect to services using link local addresses

If you have successfully tested ping6 using scoped link-local addresses, it's possible that you want to use this addresses also for connections to TCP services.
Unfortunately this mostly won't work because you cannot set the scope for this address using client programs.

Solution: add site-local addresses to your interfaces and use them instead of link-local ones.

I want to setup an IPv6-only host

Using current Linux kernels it's not possible to build IPv4 as module. Therefore IPv4 is always present. But you can switch it off if you setup a special address on the device, e.g.
ifconfig eth0
IPv4 connections are no longer possible afterwards, so be carefully, especially for DNS configuration.

Where can I get a IPv6 address?

How do they look or more specifically what do the colons mean?  I've got the programs compiled and setup but I'm not sure where to start next. Additional information: draft-ietf-ipngwg-addr-arch-v2-xx.txt (xx = latest version), will be found at

How much time will I need to set up one IPv6 host?

  1. Depends on your CPU power, because much code to compile
  2. In your network experience
  3. Downloading time
Here are some values:
What Estimated Time [hour]
Linux distribution ~ 1 to 2
Decompressing, compiling & installation of all the necessary code ~ 3 to 4
Setup scripts and configuration files ~ 1
Testing of link-local ~ 0.5
Testing of site-local ~ 0.5
Creating and testing of a tunnel  ~ 1
Set up configuration and testing DNS  ~ 1- 2
Set up configuration and testing RAdvD ~ 1
If you have to set up several hosts, which are nearly equal in hard disk space, you can install the complete system at one host and copy this complete (all directories) afterwards by NFS to all the other ones or directly direct disk-to-disk. Don't forget to install the bootloader in the right way...

How to get the version number of used libc?

Several possibilities:

What are the minimal hardware specifications for an IPv6 host?

Depends on your time and money budget :-)
I'm controlling four hosts at the moment:
An always connected tunnel endpoint P-100 / 64 MByte / 1 GByte
My primary host at home PII-350 / 64 MByte / 6 GByte
My dial on demand router P-133 / 64 MByte / 1 GByte
My small client 486 DX-66 / 16 MByte / 500 MByte
On all hosts I get no problems running IPv6, only the 486's need much time compiling a new kernel version.

Therefore I prefer following requirements:
CPU >=  486 DX-33 (slow kernel compiling time: ~ 3 - 4 hours)
>=  P-133 (faster kernel compiling ~ 20 min, better for kernel turnarounds)
Main memory >= 16 MByte (lower increases permanently swapping...)
Hard disk space >= 200 MByte (depends on your distribution, too, 1 GByte should be enough for a maximum system)
Graphic adaptor >= 512 kByte VGA
Network interface card NE 2000 clone or a better one (must be supported by Linux)

SuSE Linux specific

Your connection is via: IPv4
Your address:
is maintained by
webmaster at bieringer dot de
powered by Apache HTTP server powered by Linux