IPv6 (enabled) applications

Overview

A number of applications are IPv6 specific while others are generic but with IPv6 support enabled. below an overview of the IPv6 (enabled) applications in Bering-uClibc is given. The following sections will go into the IPv6 specifics of these applications.

IPv6 applications

  • ping6 - provided by busybox in initrd.lrp

  • radvd - provided by radvd.lrp

  • ip6tables - provided by ip6table.lrp

  • 6wall - provided by 6wall.lrp

IPv6 enabled applications

  • netstat - provided by busybox in initrd.lrp

  • dnscache - provided by dnscache.lrp

  • tinydns - provided by tinydns.lrp

  • inetd - provided by root.lrp

  • pppd - provided by pppd.lrp

  • snmpd - provided by netsnmpd.lrp

  • sshd - provided by sshd.lrp, libz.lrp and libcrpto.lrp

ping6 & netstat

Overview

Descriptionping6 and netstat from BusyBox
Sourcewww.busybox.net
Version1.0
Packageinitrd.lrp

Configuration

No specific configuration for these applications is necessary.

Limitations & known problems

The known limitations and problems with these applications are listed below. If you happen to have a solution for these issues, please let us know.

  • None.

radvd

Overview

DescriptionRouter advertisement daemon
Sourcev6web.litech.org/radvd
Version0.7.2
Packageradvd.lrp

Configuration

Check the section on IPv6 configuration for more info on how to configure the routing advertisement daemon.

Limitations & known problems

The known limitations and problems with this application are listed below. If you happen to have a solution for these issues, please let us know.

  • None.

ip6tables

Overview

DescriptionNetfilter application for IPv6
Sourcewww.netfilter.org
Version1.2.8
Packageip6table.lrp

Configuration

No explicit configuration is needed for ip6tables within Bering-uClibc since the complete netfilter configuration is done by 6wall.

Limitations & known problems

The known limitations and problems with this application are listed below. If you happen to have a solution for these issues, please let us know.

  • To be provided.

6wall

Overview

DescriptionIPv6 firewall scripts for ip6tables
SourceLEAF CVS
Version1.0.2
Package6wall.lrp

Configuration

Check the section on IPv6 configuration for more info on how to configure the routing advertisement daemon.

Limitations & known problems

The known limitations and problems with this application are listed below. If you happen to have a solution for these issues, please let us know.

dnscache & tinydns

Overview

DescriptionDns cache and dns server applications from Tinydns
Sourcetinydns.org and the IPv6 patch from www.fefe.de/dns/
Version1.0.5
Packagednscache.lrp and tinydns.lrp

Configuration

The current version of the IPv6 patch adds support for AAAA records (those are the DNS records that store IPv6 numbers) and IPv6 addresses in PTR records. It also supports automatic internal lookup of some reserved IPv6 addresses (like "::1").

IPv6 related configuration is only applicable for tinydns. The AAAA records are configured in the private DNS server data file (/etc/tinydns-private/root/data) and/or the public DNS server data file (/etc/tinydns-public/root/data). See below for a sample configuration of the private DNS server data file with IPv6 addresses. The keyword "6" is used to define the IPv6 AAAA and PTR records. If you don't want the PTR record but only the AAAA record, use the keyword "3" instead.

.local.net::ns.local.net
.1.168.192.in-addr.arpa::ns.local.net
+ns.local.net:127.0.0.1
=hosta.local.net:192.168.1.1
=hostb.local.net:192.168.1.2
=firewall.local.net:192.168.1.254
6hosta.local.net:20010888180f157f0000000000000001
6hostb.local.net:20010888180f157f0000000000000002
6firewall.local.net:20010888180f157f0000000000000254
6hostasitelocal.local.net:fec0000000000000020024fffec06936
6hostbsitelocal.local.net:fec00000000000000250bffffe124c5b
6firewallsitelocal.local.net:fec0000000000000024095fffe161d42
            

Note

Notice that the IPv6 address needs to be fully specified, no abbreviation with colons ("::") is allowed.

Limitations & known problems

The known limitations and problems with these applications are listed below. If you happen to have a solution for these issues, please let us know.

  • IPv6 transport support is experimental. The dnscache and tinydns daemons are bound to IPv4-mapped IPv6 addresses, e.g. ::ffff:192.168.1.254

inetd

Overview

DescriptionUSAGI inetd daemon
SourcePrepatched source tarball by the USAGI project
Version0.17 + USAGI IPv6 patches
Packageroot.lrp

Configuration

Use the keywords tcp6 and udp6 in /etc/inetd.conf to let inetd listen on IPv6 sockets. For example, if you want to weblet to be accessible via IPv6 you should configure /etc/inetd.conf as follows:

(...)
www     stream  tcp6    nowait  sh-httpd    /usr/sbin/tcpd  /usr/sbin/sh-httpd
(...)        
            

Limitations & known problems

The known limitations and problems with this application are listed below. If you happen to have a solution for these issues, please let us know.

  • It is not possible to let inetd listen to the same portnumber for IPv4 and IPv6 sockets. Tests with the tcp46 keyword have failed. Also putting two configuration lines in /etc/inetd.conf, one with the tcp(4) and one with the tcp6 keyword, has not given the desired result.

pppd

Overview

DescriptionPPP daemon
Sourcewww.samba.org/ppp/
Version2.4.1
Packageppp.lrp

Configuration

To be provided.

Limitations & known problems

The known limitations and problems with this application are listed below. If you happen to have a solution for these issues, please let us know.

  • To be provided.

snmpd

Overview

DescriptionSNMP daemon from Net-SNMP
Sourcewww.net-snmp.org
Version5.0.8
Packagenetsnmpd.lrp

Configuration

This section only describes how to use the IPv6 features of netsnmpd. For general configuration issues refer to the documentation on the net-snmp site.

Default snmpd listens only to IPv4 sockets. Extra parameters can be used on startup of the daemon to make it listen to both IPv4 and IPv6 sockets. One of the current shortcommings is that the IPv4 and IPv6 port numbers on which the daemon listens may not be the same. For example to let snmpd listen on port 161 for IPv4 and on port 6161 for IPv6 edit /etc/init.d/snmpd as follows.

(...)
# Set cli options here
OPTIONS="udp:161,udp6:6161"
OPTIONS=${OPTIONS:+-- $OPTIONS}
(...)            
            

Restart the daemon with the command /etc/init.d/snmpd restart. You can check if the snmpd daemon is really listening to both sockets with the following command:

# netstat -na
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
(...)
udp        0      0 0.0.0.0:161             0.0.0.0:*
udp        0      0 :::6161                 :::*
(...)
            

Limitations & known problems

The known limitations and problems with this application are listed below. If you happen to have a solution for these issues, please let us know.

  • You can get the daemon to listen to IPv4 sockets as well as IPv6 sockets, but not on the same UDP ports.

  • Not the full IPv6 MIB can be retrieved via commands like snmpwalk, only the following object instances are returned:

    .iso.3.6.1.2.1.55.1.1.0 = 1
    .iso.3.6.1.2.1.55.1.2.0 = 64
    .iso.3.6.1.2.1.55.1.3.0 = Gauge32: 3
    .iso.3.6.1.2.1.55.1.5.1.2.1 = "lo"
    .iso.3.6.1.2.1.55.1.5.1.2.3 = "eth0"
    .iso.3.6.1.2.1.55.1.5.1.2.4 = "eth1"
    .iso.3.6.1.2.1.55.1.5.1.3.1 = OID: .ccitt.0
    .iso.3.6.1.2.1.55.1.5.1.3.3 = OID: .ccitt.0
    .iso.3.6.1.2.1.55.1.5.1.3.4 = OID: .ccitt.0
    .iso.3.6.1.2.1.55.1.5.1.4.1 = Gauge32: 16436
    .iso.3.6.1.2.1.55.1.5.1.4.3 = Gauge32: 1500
    .iso.3.6.1.2.1.55.1.5.1.4.4 = Gauge32: 1500
    .iso.3.6.1.2.1.55.1.5.1.8.1 = ""
    .iso.3.6.1.2.1.55.1.5.1.8.3 =  Hex: 00 40 95 1A 14 F4 
    .iso.3.6.1.2.1.55.1.5.1.8.4 =  Hex: 00 40 95 1A 14 70 
    .iso.3.6.1.2.1.55.1.5.1.9.1 = 1
    .iso.3.6.1.2.1.55.1.5.1.9.3 = 1
    .iso.3.6.1.2.1.55.1.5.1.9.4 = 1
    .iso.3.6.1.2.1.55.1.5.1.10.1 = 1
    .iso.3.6.1.2.1.55.1.5.1.10.3 = 1
    .iso.3.6.1.2.1.55.1.5.1.10.4 = 1

sshd

Overview

DescriptionSecure shell daemon
Sourcewww.openssh.org
Version3.7.1p1
Packagessshd.lrp, libm.lrp, libcrpto.lrp

Configuration

This section only describes how to use the IPv6 features of sshd. For general configuration issues refer to the documentation on the OpenSSH site.

Sshd is compiled with TCP-wrappers support. Thus means that the hosts.allow and hosts.deny files are used for acces control purposes. If you want to access the ssh daemon with an IPv6 enabled client such as PuTTY, then you need to specifiy the IPv6 address for the single client or the prefix for more clients in the same subnet.

The following is an example how to modify /etc/hosts.allow to allow all clients with a site-local address:

(...)
ALL: [fec0::/64]
(...)
 

Limitations & known problems

The known limitations and problems with this application are listed below. If you happen to have a solution for these issues, please let us know.

  • To be provided.