多宿主 Linux 机器能否实现真正的强 ES 模型?
我有一个系统,有五个不同的接口,每个接口都连接到同一个子网,因此连接到 Internet 的网关相同。
curl --interface interface_ip http://ipecho.net/plain应该始终显示与我绑定的相同 IP 地址
--interface。来自RFC 1122 - 互联网主机要求 - 通信层,第 3.3.4.2 节 - 多宿主要求:
Internet 主机实现者使用了两种不同的多宿主概念模型,在以下讨论中进行了简要总结。本文件不支持首选哪种型号;每个似乎都有一个位置。这种矛盾反映在问题(A)和(B)是可选的。
??强ES模型
强 ES(终端系统,即主机)模型强调主机/网关 (ES/IS) 的区别,因此在上述问题 (A) 和 (B) 中将 MUST 替换为 MAY。它倾向于将多宿主主机建模为同一物理主机中的一组逻辑主机。
关于 (A),Strong ES 模型的支持者指出,自动 Internet 路由机制无法将数据报路由到与目标地址不对应的物理接口。
在强 ES 模型下,传出数据报的路由计算是映射:Run Code Online (Sandbox Code Playgroud)route(src IP addr, dest IP addr, TOS) -> gateway此处源地址作为参数包括在内,以便选择在相应物理接口上可直接访问的网关。请注意,此模型在逻辑上要求每个 IP 源地址通常至少有一个默认网关,最好有多个默认网关。
??弱ES模型
这种观点不强调 …
1.2.3.4和 B 1.2.3.99。(在ifconfig)nc -l 1.2.3.99 20101 -v监听接口 B。nc -v 1.2.3.99 20101 -s 1.2.3.4 -4是因为我想使用界面A。它连接但当我检查时wireshark,没有来自A或的数据包B,仅在lo...
为什么它不使用具有关联 IP 的接口?我该怎么做才能强制他们使用关联的界面?
编辑:
在遵循帕特里克的建议之后:
ip route add local 1.2.3.99 dev B table main
ip route del local 1.2.3.99 dev B table local
ip route add 1.2.3.99 dev B table local
Run Code Online (Sandbox Code Playgroud)
我运行nc -l 1.2.3.99 20101但在创建 tcp 服务器时出现错误Ncat: bind to 1.2.3.99:20101: …