Sendmail:强制将信封 IP 地址转换为我的域中的 IP 地址

Sendmail:强制将信封 IP 地址转换为我的域中的 IP 地址

我的邮件服务器 (sendmail) 有一个桥接的 DSL 连接,通过 PPPoE 连接到外部世界。
网络接口最初分配了一个用于我的域的 IP 地址,但当 PPPoE 启动时,IP 地址被强制为来自我的 ISP 的 IP 地址,而这个地址不在我的域中,我无法控制它或其反向 DNS。

此 IP 地址是出现在外发邮件信封中的 IP 地址;例如,收到的外发邮件带有如下标题:

from mailhost.my-domain.com ([56.99.126.37]) by ...

有没有办法让 sendmail 使用主机的“真实”IP,而不是我的 ISP 分配给接口的 56.99.126.37?MASQUERADE_AS 会影响域名,但我看不出有什么方法可以强制使用 IP 地址。它是否设置在 sendmail 之下的 IP 级别,并且不受 sendmail 的控制?

我有一个 SPF 记录,其中包括 +ip4:56.99.126.37,所以这基本上不是问题,但 att 和 abusix.com 仍然抱怨,因为反向 DNS 没有映射到我的域。

PPPoE启动时修改后的路由表如下:

Destination        Gateway            Flags     Netif Expire
default            59.41.70.25        US         tun0
56.99.126.37       link#4             UHS         lo0
56.99.131.56/29    link#1             U           xl0
56.99.131.57       link#1             UHS         lo0
59.41.70.25        link#4             UHS        tun0
127.0.0.1          link#3             UH          lo0
192.168.0.0/25     link#2             U          fxp0
192.168.0.1        link#2             UHS         lo0

所需 IP 和原始默认路由为 56.99.131.57 out xl0。ifconfig tun0 如下所示:

tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
        options=80000<LINKSTATE>
        inet 56.99.126.37 --> 59.41.70.25 netmask 0xffffffff
        groups: tun

答案1

我会看一下CLIENT_OPTIONSm4 宏和Addr密钥。它可能允许您指定使用的传出地址。

如果失败,您可以尝试使用srcENCAP_IP (man ip-route) 安装默认路由。当然,这是假设 Linux,我无法帮助其他 Unix。

相关内容