06-26-2007
Different platforms have different solutions on implementing both IPv4 and IPv6 simultaneously, and this affects how servers listen.
There is the parallel stack and the unified stack approach.
With the parallel stack approach, IPv4 and IPv6 are totally independent stacks and port 53 TCP/IPv4 is different to port 53 TPC/IPv6. A server has to bind and listen on both these ports.
With the unified stack approach the following happens:
If you create an IPv4 socket, it only works on IPv4, end of story.
If you create an IPv6 socket, it will work with both IPv4 and IPv6 clients.
Then there are platforms which require you to create both an IPv4 and an IPv6 socket, but the ports are common, hence you have to set the SO_REUSEADDR flag in order to bind both IPv4 and IPv6 to the same port.
The address "loopback" will resolve typically to 127.0.0.1 which is the IPv4 loopback address. As you point out "::1" is the loopback for IPv6.
9 More Discussions You Might Find Interesting
1. Solaris
hey guys, how to add soalris box as a microsoft DNS Client ?
and how to register in the microsoft DNS ??
i managed to query from the DNS server after adding /etc/resolve.conf and editing /etc/nsswitch.conf
but i need to register the soalris server (dns Client) into Microsoft DNS automatically.... (3 Replies)
Discussion started by: mduweik
3 Replies
2. UNIX for Advanced & Expert Users
I'd like to get some opnions on choosing DNS server:
Windows DNS vs Linux BIND comparrsion:
1) managment, easy of use
2) Security
3) features
4) peformance
5) ??
I personally prefer Windows DNS server for management, it supports GUI and command line. But I am not sure about security... (2 Replies)
Discussion started by: honglus
2 Replies
3. Solaris
Hi
I am looking to have an NTP server that will support both ipv4 and ipv6 clients. Is there anything specific about the configuration that I should be looking at? (7 Replies)
Discussion started by: eeisken
7 Replies
4. Solaris
hi, i have a Solaris 10 DNS server, how do you check whether it can support IPv6 networking ? (0 Replies)
Discussion started by: Exposure
0 Replies
5. Solaris
I have Bind running on a Solaris box that is our main public DNS. Given my very limited knowledge on DNS, I changed a few of the zones in the DNS to be 'dual-stack'. I did it through Webmin, but I know that I can also do it by adding an AAAA-record to the zone file.
My question is how can I make... (2 Replies)
Discussion started by: Dardeer
2 Replies
6. IP Networking
Hello, i tried to enable IPv6 networking and after service network restart i seen these messages:
FATAL: Error inserting ipv6 (/lib/modules/2.6.18-348.16.1.el5.028stab108.1/kernel/net/ipv6/ipv6.ko): Device or resource busy
CRITICAL : Kernel is not compiled with IPv6 support
Bringing up... (6 Replies)
Discussion started by: postcd
6 Replies
7. UNIX for Dummies Questions & Answers
Hi,
I have created a bonding bond1 interface with 6 Eth , mode=4. Recently i have changed my old ipv6 to new one and tried to restart as well as reload network service. Post which i can see old as well as changed ipv6 in ifconfig command output. Below are few files and command output for your... (1 Reply)
Discussion started by: omkar.jadhav
1 Replies
8. Solaris
Hi,
We have built a new server (RHEL VM)and added that IP/hostname into dns zone configs file on DNS server (Solaris 10). Reloaded the configuration using
and added nameserver into resolv.conf on client. But when I am trying nslookup, its not getting resolved. The nameserver is not able to... (8 Replies)
Discussion started by: snchaudhari2
8 Replies
9. UNIX for Beginners Questions & Answers
When I do simple nslookup it does not generate any query for IPV6 (AAAA). But sometimes I see DNS query for both A and AAAA are generated. What decides this? The reason I do not want AAAA query is in most of the cases AAAA records are absent. Hence, if one DNS server fails, the clients keeps... (1 Reply)
Discussion started by: broy32000
1 Replies
FAITH(4) BSD Kernel Interfaces Manual FAITH(4)
NAME
faith -- IPv6-to-IPv4 TCP relay capturing interface
SYNOPSIS
device faith
DESCRIPTION
The faith interface captures IPv6 TCP traffic, for implementing userland IPv6-to-IPv4 TCP relay like faithd(8).
Each faith interface is created at runtime using interface cloning. This is most easily done with the ifconfig(8) create command or using
the cloned_interfaces variable in rc.conf(5).
Special action will be taken when IPv6 TCP traffic is seen on a router, and the routing table suggests to route it to the faith interface.
In this case, the packet will be accepted by the router, regardless of the list of IPv6 interface addresses assigned to the router. The
packet will be captured by an IPv6 TCP socket, if it has the IN6P_FAITH flag turned on and matching address/port pairs. As a result, faith
will let you capture IPv6 TCP traffic to some specific destination addresses. Userland programs, such as faithd(8) can use this behavior to
relay IPv6 TCP traffic to IPv4 TCP traffic. The program can accept some specific IPv6 TCP traffic, perform getsockname(2) to get the IPv6
destination address specified by the client, and perform application-specific address mapping to relay IPv6 TCP to IPv4 TCP.
The IN6P_FAITH flag on a IPv6 TCP socket can be set by using setsockopt(2), with level IPPROTO_IPV6 and optname IPv6_FAITH.
To handle error reports by ICMPv6, some ICMPv6 packets routed to an faith interface will be delivered to IPv6 TCP, as well.
To understand how faith can be used, take a look at the source code of faithd(8).
As the faith interface implements potentially dangerous operations, great care must be taken when configuring it. To avoid possible misuse,
the sysctl(8) variable net.inet6.ip6.keepfaith must be set to 1 prior to using the interface. When net.inet6.ip6.keepfaith is 0, no packets
will be captured by the faith interface.
The faith interface is intended to be used on routers, not on hosts.
SEE ALSO
inet(4), inet6(4), faithd(8)
Jun-ichiro itojun Hagino and Kazu Yamamoto, An IPv6-to-IPv4 transport relay translator, RFC3142.
HISTORY
The FAITH IPv6-to-IPv4 TCP relay translator first appeared in the WIDE hydrangea IPv6 stack.
BSD
April 10, 1999 BSD