在 ASA 5505 后面设置了一些服务器,一切都很好,除了 ASA 仅为邮件服务器域本身发送正确的 smtp 出站 IP。
任何其他发送出站电子邮件的域都会将 ASA 外部 IP 显示为发件人地址,这会向收件人邮件服务器发出警告,因为我们没有在此 IP 上设置反向 DNS。
我们希望发生以下情况之一:
1)将出站 smtp ip 设置为相同的作为入站 IP(首选)
- 或
2)让我们的邮件服务器 IP 显示为所有出站 smtp 流量的发件人地址,然后为我们的域设置 SPF DNS 记录,将邮件服务器域列为授权发件人。
适用的配置行:
object-group network web-services
network-object host xx.xxx.xx.101
network-object host xx.xxx.xx.102
...
object-group service open-tcp tcp
port-object eq smtp
...
access-list out_in extended permit tcp any object-group web-services object-group open-tcp
...
global (outside) 1 interface
global (dmz) 1 interface
nat (dmz) 0 access-list nonat
nat (dmz) 1 0.0.0.0 0.0.0.0 # perhaps here some magic can be worked
有没有办法只让出站 smtp 流量绑定到邮件服务器 IP?我更喜欢这样做,而不是将所有出站流量都绑定到邮件服务器 IP,这是此线程中的解决方案似乎确实如此。
感谢提出想法,谢谢
答案1
类似的东西static (inside,outside) tcp mail.server.ip.here smtp your.internal.subnet.here smtp netmask net.mask.for.the.internal.subnet.here
应该可以解决问题。
答案2
在思科论坛上获得帮助,这是适合我的设置的解决方案:
global (outside) 25 xx.xxx.xx.101
access-list Dmz-Smtp-PolicyPAT
access-list Dmz-Smtp-PolicyPAT extended permit tcp 172.16.0.0 255.255.0.0 any eq smtp
nat (dmz) 25 access-list Dmz-Smtp-PolicyPAT
这会将所有出站 smtp 流量通过外部 xx.xxx.xx.101 IP(我的邮件服务器面向公众的 IP 地址)路由。
本来希望入站 smtp 通过与 smtp 输入的相同的公共 IP 发出,但是我的邮件服务器 Qmail 在我安装的版本 (v1.03) 中不支持多个传出 IP 地址。
无论如何,这都是可行的,所有出站流量在外界看来都来自我的邮件服务器,而不是 ASA 本身的外部 IP。现在只需为客户端域设置 SPF 记录并授权 mycompany.com 作为授权邮件发件人。