我有4个Web服务器用于不同的任务,位于防火墙之后。 我有一个公共IP,我想用这个IP连接到我的服务器与FTP。 我试图使用不同的端口,但没有结果。
所以我的问题是:是否有可能有一个代理(如http中的Apache),可以redirect到正确的服务器(与url,端口或用户名无关紧要)。
非常感谢你的回答
PS:我的所有服务器都在Debian 7上
您可以为每个FTP服务器select4个不同的端口,例如2112,2113,2114,2115,然后在防火墙中创build端口转发(NAT)规则,如下所示:
iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 2112 -j DNAT --to 192.168.1.2:21 iptables -A FORWARD -p tcp -m state --state NEW --dport 2112 -i eth1 -j ACCEPT iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 2113 -j DNAT --to 192.168.1.3:21 iptables -A FORWARD -p tcp -m state --state NEW --dport 2113 -i eth1 -j ACCEPT iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 2114 -j DNAT --to 192.168.1.4:21 iptables -A FORWARD -p tcp -m state --state NEW --dport 2114 -i eth1 -j ACCEPT iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 2115 -j DNAT --to 192.168.1.5:21 iptables -A FORWARD -p tcp -m state --state NEW --dport 2115 -i eth1 -j ACCEPT
通过这种方式,传入的ftp连接将根据用于正确服务器的端口redirect。
简单地说,不。 HHTP发送主机名与每个请求,这就是为什么像基于名称的虚拟主机的工作。
FTP不会,因此无法区分传入的FTP连接是FTP.example.com还是FTP.example.net