nftables:通过主机 IP 进行虚拟机到虚拟机的通信

nftables:通过主机 IP 进行虚拟机到虚拟机的通信

我有以下情况:

  • 一个运行多个 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 以正确地将邮件流量从一台虚拟机路由到另一台虚拟机?

相关内容