服务器 Gind.cn

服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器

当IP别名如何确定哪个IP地址将用作出站TCP / IP连接的源?

我有一台运行Ubuntu服务器的服务器,有四个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-ed到一系列公有IP地址) 我们的一个客户通过FTP发布他们的库存,所以我们每天login从服务器下载一个大文件。 他们的防火墙期望我们的(被动)FTP连接从192.168.1.100。 鉴于我的服务器逻辑上在一个适配器上有四个IP地址,操作系统如何确定哪个IP地址用作出站TCP / IP连接的源? 比方说,我在192.168.1.101 SSH我的服务器并交互运行FTP。 出站TCP / IP连接使用192.168.1.101,因为操作系统知道我的shell连接的接口? 如果FTP任务是通过没有shell的cron作业非交互式运行的呢? 你可能会说,这让我很困惑,所以我希望我的问题至less有意义。 编辑 为了澄清为什么我问 – 我没有做任何改变的路由表,它实际上列出了“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 我可以摆弄路由表,或让我们的客户端改变他们的防火墙规则,以获得我所需要的行为,但是我想了解一下这是如何工作的,以了解在操作系统中是否存在错误,或只是我幼稚的理解所有的东西如何融合在一起 谢谢