防止发送邮件 Postfix 通过错误的网络接口
我有一个邮件服务器 Postfix, 主机具有多个网络适配器,其中一个是虚拟设备 tun0. 我需要这个邮件服务器在任何适配器上进行连接,并仅在虚拟设备上发送电子邮件。 tun.
我有一个配置,
https://serverfault.com/questi ... il-on
, 这决定了 smtp_bind_address = 10.20.30.40, 在哪里 10.20.30.40 - 与设备关联的此地址 tun0. 此服务器服务器不支持 IPV6.
多年来它完美无缺 - 只要有一天的设备 tun0 没有死 - 和 Postfix 通过默认网络设备发送电子邮件 eth0 (10.0.0,1), 但不是 tun0.
它是预期的行为吗? 我可以更改设置吗? Postfix 始终通过发送电子邮件 tun0 (10.20.30.40) - 如果在队列中留下邮件 tun0 无法使用?
如果这是相关的,那就是 Ubuntu 16.04.2 LTS 和 Postfix 版本 3.1.0-3. tun0 使用 OpenVPN 版本 2.3.10-1ubuntu2.1
- 编辑以添加其他详细信息 -
此服务器上有几个服务,其中 Postfix 只有一个。 只有电子邮件必须通过 10.20.30.40 - 必须通过默认网关路由所有其他服务。
我有一个配置,
https://serverfault.com/questi ... il-on
, 这决定了 smtp_bind_address = 10.20.30.40, 在哪里 10.20.30.40 - 与设备关联的此地址 tun0. 此服务器服务器不支持 IPV6.
多年来它完美无缺 - 只要有一天的设备 tun0 没有死 - 和 Postfix 通过默认网络设备发送电子邮件 eth0 (10.0.0,1), 但不是 tun0.
它是预期的行为吗? 我可以更改设置吗? Postfix 始终通过发送电子邮件 tun0 (10.20.30.40) - 如果在队列中留下邮件 tun0 无法使用?
如果这是相关的,那就是 Ubuntu 16.04.2 LTS 和 Postfix 版本 3.1.0-3. tun0 使用 OpenVPN 版本 2.3.10-1ubuntu2.1
- 编辑以添加其他详细信息 -
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.0.1 0.0.0.0 UG 0 0 0 eth0
10.0.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.20.30.40 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
此服务器上有几个服务,其中 Postfix 只有一个。 只有电子邮件必须通过 10.20.30.40 - 必须通过默认网关路由所有其他服务。
没有找到相关结果
已邀请:
3 个回复
小姐请别说爱
赞同来自:
首先。 在你的情况下,它是一个静态的 ip, 拴 tun0. 当他赚钱时,它会关闭 tun0. 如果一个 tun0 不起作用,然后是客户
将无法强迫 postfix 返回默认行为而不纠正终点 tcp 客户端,因此它将使用连接到的默认路由 eth0.
这似乎, postfix 不为拒绝提供合适的重新定义 smtp_bind_address.
所以,答案 - 只是阻止港口上的发出电子邮件 25 界面 eth0 使用表规则 IP. 这将导致所有电子邮件都在队列中站在队列中发生一段时间,或者在发生故障之前或直到它返回之前 tun0.
以下类似的事情应该有效:
这将防止通过端口发送整个电子邮件。 25 通过 eth0 它直接从您的服务器发送 (没有路由). 它不会阻止发送的邮政交通 tun0.
知食
赞同来自:
知识主人 - 这是电子邮件消息传递代理的类型,允许服务器 SMTP 将电子邮件直接发送到中间邮件服务器,而不直接到收件人服务器。
转发器将是与邮政域中发件人的SPF记录对应的邮件服务器。 您的互联网提供商必须能够为您作为智能主机电子邮件中继行动。
可能与您设置参数一样简单
例如 relayhost = mx1.mydomain.com:587
那么您不需要处理发送的界面邮件。
龙天
赞同来自:
也许你可以配置另一个例子 Postfix, 只有一个 inet_interface 的
, 和外向 postmap / relay 到那个? 也许你可以通过多个适配器并强行发送一个IP地址。