将 smtp 连接从本地主机隧道传输到另一个端口

将 smtp 连接从本地主机隧道传输到另一个端口

好的,现在许多 ISP 都在阻止传出连接的端口 25,因此我在端口 1025 上设置了一个 smtp 服务器。现在它运行良好,配置的客户端可以正常发送邮件。但对于服务器上已有的大多数代码,smtp 服务器应该在 25 上,现在我考虑建立一个隧道或其他东西来强制所有从 localhost 到 25 的邮件转到 localhost 1025 上。

我试过了,但没有用

iptables -t nat -A PREROUTING -p tcp -i lo --dport 25 -j DNAT --to 127.0.0.1:1025

我该怎么做才能实现这个目标?

谢谢

答案1

要从本地主机转发,请使用 xinetd:

service smtp
{
        socket_type             = stream
        wait                    = no
        user                    = root
        redirect                = 127.0.0.1 1025
        bind                    = 127.0.0.1
}

答案2

你做错了,概念几乎是相反的,试试这个:

iptables -t nat -I PREROUTING -p tcp --dport 1025 -j REDIRECT --to-ports 25

答案3

对于本地转发的端口,您不应使用REDIRECTnot DNAT。例如:

iptables -t nat -A PREROUTING -i lo -p tcp --dport 25 -j REDIRECT --to-ports 1025

答案4

iptables -t nat -I OUTPUT 1 -o lo -d 127.0.0.1 -p tcp --dport 25 -j REDIRECT --to-ports 1025

相关内容