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

How to bind Network Interface for C++ gRPC client

本文关键字:gRPC 客户端 网络接口 C++ 何绑定 绑定      更新时间:2023-10-16

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

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