是否可以强制 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 连接,然后被阻止并放弃。