【发布时间】:2017-10-03 05:11:09
【问题描述】:
我想在 debian 的同一个物理 NIC 上配置一个具有多个 ip 地址(在同一个子网中)的 debian box,而每个地址都应该使用它自己的网络路由。
我认为它无法使用ip addr add,但是可以使用像 eth0:0 这样的伪接口吗?还是linux TCP堆栈阻止了这种情况?如果可能的话,如何将多个默认路由绑定到它们的(伪)接口或 IP 地址?它可以使用 iptables 规则吗?
【问题讨论】:
-
如果你所有的地址都在同一个子网中,内核如何知道使用哪一个来到达给定的目标 IP?
-
传入的包将被分配给虚拟网络开发(例如 eth0:0)。这有效 - 确认!如果服务绑定到 IP 地址,则流量将通过给定的虚拟网络 dev 进行路由。这也有效 - 确认!但是,如果它们在同一个子网上,我可以为这些设备分配不同的路由吗?看起来只有一个全局路由表。用 iptables 设置标记会起作用吗?
-
AIUI,虚拟网络设备是
ipconfighack,它们根本不存在于内核中。如果您使用新的ip,则没有虚拟设备,而单个设备可以有多个地址。使用ip route创建的路由条目有一个src参数,它是源IP,也许这有帮助......
标签: linux tcp routing debian iptables