Iptables
iptables KVM 預路由 SMTP
我有一台主機,它必須管理埠 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