Contents
- Which version of Postfix supports IPv6?
- What are unsupported featureas known limitations of IPv6 support (both version and patch)
- How to enable IPv6 on Postfix?
- How to configure IPv6 on Postfix? (both patched and version 2.2 and later)
- What special configuration can I setup on patched version of postfix?
- What new parameters can be configured in postfix 2.2 and later?
- What about the different postfix policy daemon IPv6 support?
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 Postfilter user customizable policy deamon and system does not support IPv6 yet, but there is plan to support in the next version.