相关疑难解决方法(0)

使用 IP 别名时,操作系统如何确定哪个 IP 地址将用作出站 TCP/IP 连接的源?

我有一台运行 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
Run Code Online (Sandbox Code Playgroud)

(以 192.168.xx 为例,假设这些是 NAT-ed 到一系列公共 IP 地址)

我们的一个客户通过 FTP 发布他们的库存,因此我们每晚登录以从他们的服务器下载一个大文件。他们的防火墙希望我们的(被动)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 作业以非交互方式运行怎么办?

你可能会说,这让我很困惑,所以我希望我的问题至少是有道理的。

编辑

为了澄清我问的原因——我没有对路由表进行任何更改,它实际上将“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 …
Run Code Online (Sandbox Code Playgroud)

linux tcpip ssh ftp ip-aliasing

16
推荐指数
3
解决办法
3万
查看次数

绑定多个 IP 地址 - 哪个用于传出数据包?

使用 IP 别名,一个 linux 机器已经在同一个 NIC 上绑定了来自同一个子网的多个 ip 地址。所以 ifconfig 显示设备 eth0 with , eth0:1 with 和 eth0:2 with 。

Linux 如何确定用于传出 ip 流量的 IP 源地址?有没有办法定义某些传出流量应该使用哪个源 IP 地址?

networking linux iptables shorewall

6
推荐指数
1
解决办法
3080
查看次数

标签 统计

linux ×2

ftp ×1

ip-aliasing ×1

iptables ×1

networking ×1

shorewall ×1

ssh ×1

tcpip ×1