通常情况下,配置在使用中的IPC仅限于localhost
(127.0.01
),但是出现了用户需要从远程IP额外工作的IPC连接的情况。
如果,在bind(2)的调用中,我用远程IP地址填充了相关的结构,我是否仍然能够让其他本地进程连接到该端口(从localhost)?
我不确定这与如何将套接字绑定到多个接口相同
你不用远程呼叫bind
IP地址。那不会像你想的那样。
相反,您需要绑定到INADDR_ANY,然后删除任何来自不允许的IP地址的传入连接。
一个更好的方法是也有一个防火墙规则(iptables),将阻止传入连接到您的监听端口,不是从批准的远程ip列表。
当您接受连接时,检查从该调用返回的远程地址。如果它不是来自127.0.0.1或允许的远程IP地址,则关闭套接字。
理想情况下,您还需要一个安全的类似ssl的验证、认证令牌验证或IP地址以外的东西来验证连接到您的节点的真实性。