相关疑难解决方法(0)

将 unix 程序绑定到特定的网络接口

问题: 如何在启动程序的同时确保其网络访问是通过特定网络接口绑定的?

案例: 我想使用相同的 IP (192.168.1.1) 访问两台不同的机器,但可以通过两个不同的网络接口(eth1 和 eth2)访问。

例子:

net-bind -D eth1 -exec {Program 192.168.1.1}
net-bind -D eth2 -exec {Program 192.168.1.1}
Run Code Online (Sandbox Code Playgroud)

以上是我想要的近似值,灵感来自通过primusrunoptirun完成的硬件绑定。

挑战:正如在相关线程中所建议的,所使用的接口不是由程序选择的,而是由内核选择的(因此是上例中的预绑定语法)。

我找到了一些相关的解决方案,但并不令人满意。它们基于通过用户特定的网络黑名单绑定网络接口;即,以只能访问单个特定网络接口的用户身份运行该进程。

routing network-interface

55
推荐指数
4
解决办法
6万
查看次数

标签 统计

network-interface ×1

routing ×1