我有以下情况:
- 一个运行多个 VM 的 Debian Linux 主机。
- 一台虚拟机被设置为邮件服务器。
- 主机上的 nftables 使用 NAT 将来自世界各地的邮件流量重定向到邮件虚拟机。
我的问题是,当我想从同一主机上的另一台虚拟机发送电子邮件时。由于 DNS 条目,它会尝试连接到主机,但主机不会将此流量转发到邮件虚拟机。
我当前的邮件服务器的 NAT 规则如下:
table inet nat {
chain prerouting {
type nat hook prerouting priority -100; policy accept;
iifname $dev_wan ip daddr $wan_ipv4 tcp dport $mail_tcp_ports dnat to $ip_mail4
}
}
在前向链中我允许这种流量:
chain forward {
type filter hook forward priority 0; policy drop;
# allow established and outgoing traffic
iifname $dev_wan oifname $dev_bridge ip daddr $vm_net4 ct state { established, related } accept
iifname $dev_bridge oifname $dev_wan ip saddr $vm_net4 accept comment "allow traffic from vm bridge to wan"
# allow in/out traffic over bridge
iifname $dev_bridge oifname $dev_bridge accept
iifname $dev_wan ip daddr $ip_mail4 oifname $dev_bridge tcp dport $mail_tcp_ports accept
}
如何配置 nftables 以正确地将邮件流量从一台虚拟机路由到另一台虚拟机?