<分区>
我想在 debian 中的同一个物理 NIC 上配置一个具有多个 IP 地址(在同一个子网中)的 debian box,而每个地址都应该使用它自己的网络路由。
我认为它不能使用 ip addr add
,但是可以使用像 eth0:0 这样的伪接口(interface)吗?或者 linux TCP 堆栈会阻止这种情况吗?如果可能的话,我如何将多个默认路由绑定(bind)到它们的(伪)接口(interface)或 IP 地址?它能使用 iptables roules 吗?
<分区>
我想在 debian 中的同一个物理 NIC 上配置一个具有多个 IP 地址(在同一个子网中)的 debian box,而每个地址都应该使用它自己的网络路由。
我认为它不能使用 ip addr add
,但是可以使用像 eth0:0 这样的伪接口(interface)吗?或者 linux TCP 堆栈会阻止这种情况吗?如果可能的话,我如何将多个默认路由绑定(bind)到它们的(伪)接口(interface)或 IP 地址?它能使用 iptables roules 吗?
最佳答案
执行此操作不需要别名您可以使用 iproute2 执行此操作
ip addr add <ip> dev eth0
然后您将路由添加到特定于 ip 的路由表
ip route add subnet dev eth0 table <tableid>
ip route add default via <GATEWAY> table <tableid>
然后添加规则匹配ip,使其使用特定的表
ip rule add from any to <ip> lookup <tableid>
ip route add from <ip> to any lookup <tableid>
这会变得非常困惑,因为路由现在是多个路由表
关于linux - 在 debian 的同一接口(interface)上具有不同网络路由的多个 ip 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43792757/
相关文章:
linux - forrtl : No space left on device
networking - 如何将网络请求分派(dispatch)到(地理上)最近的服务器
c - 如何使用轮询接受多个客户端? (TCP 服务器) (C)
linux - 可以找到将找到的文件的文件名推送到管道中吗?
linux - 尝试将tcp init cwnd更改为10,但失败,我该怎么办
php - 使用 Laravel 重定向到没有获取参数的路由
amazon-web-services - 使用 AWS SDK 通过 Direct Connect、VPC 和 VPC 终端节点从本地世界访问 AWS S3