如何为C ++ gRPC客户端绑定网络接口

时间:2020-07-03 07:07:09

标签: c++ ip client grpc whitelist

我们的系统有一个基于IP地址的白名单,用于指定允许连接哪个gRPC客户端。在新的远程gRPC客户端加入网络之前,最终用户必须将其ip添加到白名单中。大多数情况下,最终用户很容易知道gRPC客户端将使用哪个NIC(ip),但是如果gRPC客户端节点中的NIC(ip)太多,最终用户将很难知道哪个ip在运行之前使用它,因为默认情况下,要使用哪个NIC(ip)由Linux系统确定。也许可以使用“ route -n”命令来了解NIC的优先级,但是最终用户必须通过ssh登录,这会带来非常糟糕的用户体验。 因此,我们的客户提出了一项新要求,建议我们为gRPC客户端绑定指定的IP地址。我知道普通的套接字程序很容易使用“绑定”例程为客户端套接字绑定IP地址,但是我不知道gRPC客户端(C ++)是否可以通过某种方式来实现。

1 个答案:

答案 0 :(得分:0)

gRPC 无法在连接到服务器时绑定某个 NIC。您可能需要从操作系统获得帮助。 https://unix.stackexchange.com/questions/338338/configure-a-process-to-use-specific-nic/338357 似乎是相关的。