我有一台运行Ubuntu Server的服务器,在单个NIC上有四个别名的IP地址。
eth0 192.168.1.100
eth0:0 192.168.1.101
eth0:1 192.168.1.102
eth0:2 192.168.1.103
(举例来说,使用192.168.xx,假设这些地址经过NAT转换为一系列公共IP地址)
我们的一位客户通过FTP发布广告资源,因此我们每晚登录以从其服务器下载大文件。他们的防火墙希望我们的(被动)FTP连接从192.168.1.100建立。
假设我的服务器在单个适配器上逻辑上有四个IP地址,那么操作系统如何确定哪个IP地址用作出站TCP / IP连接的源?
假设我在192.168.1.101上进入服务器并以交互方式运行FTP。TCP / IP出站连接是否将使用192.168.1.101,因为操作系统知道那是我的Shell连接的接口?
如果FTP任务通过无外壳的cron作业非交互地运行,该怎么办?
您可能会说,这让我很困惑,所以我希望我的问题至少有意义。
编辑
为了弄清为什么我要问-我没有对路由表进行任何更改,它实际上列出了“ eth0”作为0.0.0.0路由的IFace。但是,所有迹象表明它实际上是使用eth0:0作为源。
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
我可以摆弄路由表,或者让我们的客户端更改其防火墙规则以获取所需的行为,但是我试图对它的工作方式有一些了解,以了解操作系统中是否存在错误或者仅仅是我的天真理解所有零件如何组合在一起。
谢谢