The [FreeBSD man page for inet6](http://www.unix.com/man-page/FreeBSD/4/inet6/) has the following: > By default, FreeBSD does not route IPv4 traffic to AF_INET6 sockets. > The default behavior intentionally violates RFC2553 for security > reasons. Listen to two sockets if you want to accept both IPv4 and > IPv6 traffic. IPv4 traffic may be routed with certain > per-socket/per-node configuration, however, it is not recommended to > do so. Consult ip6(4) for details. [OpenBSD also has a similar wording in its man page](http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man4/inet6.4?query=inet6) > For security reasons, OpenBSD does not route IPv4 traffic to an > AF_INET6 socket, and does not support IPv4 mapped addresses, where > IPv4 traffic is seen as if it comes from an IPv6 address like > ::ffff:10.1.1.1. Where both IPv4 and IPv6 traffic need to be accepted, > listen on two sockets. This is referencing [section 3.7 of RFC2553](http://tools.ietf.org/html/rfc2553.html#section-3.7) (obsoleted by [RFC3493](http://tools.ietf.org/html/rfc3493.html#section-3.7)) regarding IPv4 addresses being translated into `::FFFF:<IPv4-address>`. What I don't understand is what kind of security issues would be exposed by accepting IPv4 connections? What makes a translated IPv4 address less secure than any other IPv6 address? And why does Linux allow such "insecure" behavior?