Iptables

iptables KVM 預路由 SMTP

  • April 8, 2015

我有一台主機,它必須管理埠 25 上的流量並路由到 KVM 機器上的埠 25,用於後綴守護程序,如下所示:

WAN --> (25) HOST_MACHINE -->  (25) KVM_VM_WITH_POSTFIX_DOVECOT

我已經打開了 25 埠(和其他埠)並將這條規則添加到 iptables:

iptables -t nat -A PREROUTING -p TCP --dport 25 -j DNAT --to-destination 192.168.122.201:25

現在我可以從我的筆記型電腦連接到 postfix 伺服器並發送電子郵件,但 KVM 機器無法連接到其他郵件伺服器(連接超時)。

因此,我嘗試通過以下方式從 KVM 機器連接到另一台郵件伺服器:

telnet mail.example.com 25

啟用上述 iptables 規則後,我無法連接。但是如果我從鏈中禁用它,我可以連接到外部伺服器。

我哪裡錯了?

無論介面或目的地如何,您的DNAT規則都會將KVM 主機在埠 25 上接收到的**所有 TCP 流量路由到 KVM 來賓。**您應該在其中添加介面或目標 IP(或兩者)DNAT

iptables -t nat -A PREROUTING -i your_pub_if -p TCP --dport 25 -j DNAT --to-destination 192.168.122.201:25

或者

iptables -t nat -A PREROUTING -d your_pub_IP/32 -p TCP --dport 25 -j DNAT --to-destination 192.168.122.201:25

或者

iptables -t nat -A PREROUTING -i your_pub_if -d your_pub_IP/32 -p TCP --dport 25 -j DNAT --to-destination 192.168.122.201:25

引用自:https://serverfault.com/questions/681169