强制 NIS 使用 TCP

强制 NIS 使用 TCP

是否可以强制 NIS 使用 TCP 而不是 UDP 进行连接?我仔细查阅了ypserv(强制仅监听 TCP)和ypbind(仅通过 TCP 进行连接)的文档,但什么也没找到(只有一个选项可以指定监听港口)我担心有人会回答“是的,如果你从源代码编译...”

并且ypserv监听两种协议,那么为什么ypbind当 UDP 失败时不尝试 TCP?

更新

我尝试了 Phil 的解决方案,但结果表明 ypbind 首先联系 UDP 端口 111 上的端口映射。如果它没有收到 UDP 响应,它就会放弃。

答案1

我只能想出一个解决方案,然后快速谷歌一下显示相同. 在特定端口上运行 ypserv,然后在服务器上配置 iptables 以阻止传入的 udp 连接,例如,如果您在端口 1337 上运行 ybserv:

# iptables -I INPUT -p udp --dport 1337 -j REJECT

虽然我不清楚 ybbind 使用什么机制来确定使用 UDP 还是 TCP。使用这样的防火墙规则可能只会导致 ypbind 尝试建立 UDP 连接,然后被阻止并放弃。

相关内容