#acl All:read <> = Which version of Postfix supports IPv6? = Postfix version 2.2 supports IPv4 and IPv6 on the following platforms: * AIX 5.1 and later * Darwin 7.3 and later * FreeBSD 4 and later * Linux 2.4 and later * NetBSD 1.5 and later * OpenBSD 2 and later * Solaris 8 and later * !Tru64Unix V5.1 and later For Postfix version 2.1 you should download patch from http://www.ipnet6.org/postfix/ to enable IPv6 support in postfix. There is patch available only for IPv6 and IPv6+TLS together. You should apply the patch to your postfix source code. = What are unsupported featureas known limitations of IPv6 support (both version and patch) = * The {{{'smtp_host_lookup'}}} parameter is not effective with IPv6. This is because a different lookup mechanism is used that cannot easily disable the {{{'local'}}} (i.e., non-DNS) lookups. Whether local files or the DNS are used first, is determined by your operating system, e.g. in {{{/etc/nsswitch.conf}}} or {{{/etc/host.conf}}}. * The order of IPv6/IPv4 outgoing connection attempts is not yet configurable. First IPv6 is tried before IPv4. * No IPv6 open relay checks. Currently there are no blacklists that cover the IPv6 address space. * On !Tru64Unix, when using {{{'mynetwork_style = subnet'}}} (or: class), all prefixlengths are set to 128 (host-only) because code cannot determine the prefixlengths automatically. * IPv6 does not have class A, B, C, etc. networks. With IPv6 networks, the setting {{{'mynetworks_style = class'}}} has the same effect as the setting {{{'mynetworks_style = subnet'}}} = How to enable IPv6 on Postfix? = It is automatically enabled if you compile postfix the above platforms. = How to configure IPv6 on Postfix? (both patched and version 2.2 and later) = You can configure the following parameter in the {{{ main.cf}}}: mynetworks:: IPv6 network ranges are written in the form [ipv6:addr:range]/plen. smtp_bind_address6:: Source address for outgoing SMTP connections. The address is specified as a bracketed hex IPv6 address. = What special configuration can I setup on patched version of postfix? = lmtp_bind_address6:: Source address for LMTP client connections. - this is not necessary in mainline 2.2 and later since LMTP uses '''smtp_bind_address6''' also. = What new parameters can be configured in postfix 2.2 and later? = inet_interfaces:: Instead of hard-coding {{{127.0.0.1}}} and {{{::1}}} loopback addresses in {{{master.cf}}}, specify {{{"inet_interfaces = loopback-only"}}} in {{{main.cf}}}. This way you can use the same {{{master.cf}}} file regardless of whether or not Postfix will run on an IPv6-enabled system. inet_protocols:: This specifies what protocols Postfix will use when it makes or accepts network connections, and also controls what DNS lookups Postfix will use when it makes network connections. {{{ /etc/postfix/main.cf: # You must stop/start Postfix after changing this parameter. inet_protocols = ipv4 (DEFAULT: enable IPv4 only) inet_protocols = all (enable IPv4, and IPv6 if supported) inet_protocols = ipv4, ipv6 (enable both IPv4 and IPv6) inet_protocols = ipv6 (enable IPv6 only) }}} The '''inet_protocols''' parameter also controls what DNS lookups Postfix will attempt to make when delivering or receiving mail. = What about the different postfix policy daemon IPv6 support? = * The [[PostfixGuide_postfilter|Postfilter]] user customizable policy deamon and system does not support IPv6 yet, but there is plan to support in the next version.