我正在使用 Postfix 邮件服务器,并且我有 6 个可用的 IP。我想为 Postfix 邮件服务器使用另一个 IP 来发送邮件,而不是 Web 服务器使用的 IP。
我怎样才能做到这一点?我的后缀版本是 2.3.3。
例如:主IP:66.66.66.66 其他IP:66.66.66.67
Bil*_*iss 28
你想要smtp_bind_address=66.66.66.67
和/inet_interfaces=all
或inet_interfaces=eth(whatever)
66.66.66.67 开启。
进行更改,然后停止/启动 postfix。如果你正在改变,你不能只是重新加载inet_interfaces
小智 17
如果您使用“smtp_bind_address”解决方案,那么您的邮件服务器也只会在指定的 IP 地址上侦听传入邮件。同样的事情适用于“inet_interfaces”解决方案。如果您想侦听多个 IP 地址/接口上的传入邮件,这可能不是理想的解决方案。
我的解决方案更好,因为我建议不要更改默认的“smtp_bind_address”和“inet_interfaces”设置,因此您的邮件服务器仍将侦听所有 IP 地址上的传入邮件。
只需要在你的 /etc/postfix/master.cf 文件中做一个小的改变。
改变这部分:
smtp unix - - - - - smtp # 当作为备份 MX 中继邮件时,禁用 fallback_relay 以避免 MX 循环 中继unix - - - - - smtp -o smtp_fallback_relay=
对此:
smtp unix - - - - - smtp -o smtp_bind_address=192.168.0.1 # 当作为备份 MX 中继邮件时,禁用 fallback_relay 以避免 MX 循环 中继unix - - - - - smtp -o smtp_bind_address=192.168.0.1 -o smtp_fallback_relay=
当然,您必须使用您的 IP 地址之一,而不是 192.168.0.1,您要从中发送邮件的地址。
佐尔坦
小智 11
大师.cf
创建不同的接口。每个域一个:
rotate1 unix - - n - - smtp
-o syslog_name=postfix-rotate1
-o smtp_helo_name=domainone.com.br
-o smtp_bind_address=173.111.111.1
rotate2 unix - - n - - smtp
-o syslog_name=postfix-rotate2
-o smtp_helo_name=domaintwo.com.br
-o smtp_bind_address=173.111.111.2
Run Code Online (Sandbox Code Playgroud)
主文件
禁用所有其他传输映射,即:#transport_maps = xxxxx
启用依赖传输映射(需要 postfix 2.7.x 或更高版本)
sender_dependent_default_transport_maps = mysql:/etc/postfix/config/transport_random_dependent.cf
transport_random_dependent.cf
例子:
user = postfix
password = mypassword
dbname = postfixdb
hosts = localhost
query = SELECT transport FROM transport_random WHERE domain = '%d' AND status='1' ORDER BY RAND() LIMIT 1
Run Code Online (Sandbox Code Playgroud)
表transport_random
Column "transport" = rotate1, rotate2, rotate3, rotate4 (etc)
Column "domain" = sender domains (replaced by %d)
Column "status" = boolean (0 or 1) if is enabled the transport.
Run Code Online (Sandbox Code Playgroud)
仅当您想对同一域使用随机传输时,才需要指令“RAND() LIMIT 1”。
例如,您希望从 3 个不同的 IP 从 mydomain.com 发送。
然后,您使用 3 个不同的 IP 创建 3 个传输(rotate1、rotate2 和 rotate3),然后在 mysql 行中设置:
transport = rotate1 | domain = mydomain.com
transport = rotate2 | domain = mydomain.com
transport = rotate3 | domain = mydomain.com
Run Code Online (Sandbox Code Playgroud)
然后,当 postfix 将随机分配三个不同的传输(轮换一到三个)来发送这些电子邮件。
归档时间: |
|
查看次数: |
56058 次 |
最近记录: |