我有一个运行在Apache2 / Linux Redhat上的Web应用程序,它从外部FTP服务器下载一些文件。 当应用程序连接到FTP服务器时,我需要使用不同的固定IP地址。 目的是为FTP服务器pipe理员提供一个不同的IP,以便在防火墙中启用它。
谢谢。
绑定是一件容易的事情:
ifconfig eth0:0 1.2.3.5 netmask 255.255.255.0
然后将该IP地址添加到您的apacheconfiguration中
Listen 1.2.3.5:80
然而,你的服务器已经侦听到额外的IP地址了, 你可以知道你的httpd.conf文件是否有这个文件:
Listen 80
这告诉服务器侦听服务器所有IP地址的80端口。
更棘手的部分是让你的networking应用程序在出站连接上使用该IP地址。 除非您采取措施,否则出站连接可能会使用绑定到“eth0”而不是“eth0:0”的任何内容。 您的套接字API可能允许select接口或IP地址作为设置的一部分,您的里程可能会有所不同。
但是,如果您位于NAT网关的后面(如果服务器的实际IP地址以10,172或192开头,这是一个确定的标志),而不会将公共的可路由地址绑定到您的networking服务器,这会变得更加复杂。 在这种情况下,你的边界设备需要足够聪明,以知道发往特定IP地址的stream量需要重写,就好像它来自绑定到防火墙的第二个公共IP地址。 如果你的防火墙/ NAT不能这样做,你可能会很幸运。