好的,现在许多 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
对于本地转发的端口,您不应使用REDIRECT
not 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