FreeBSD 13 rpcbind man(8) page 2017 中文译本
Table of Contents
1. 译者总注
1.1. 关于此译本
李守中是开源软件理念坚定的支持者,所以译本虽不是软件,但依旧仿照开源软件的协议发布:
- 无担保:本文作者不保证作品内容准确无误,亦不承担任何由于使用此文档所导致的损失。
- 自由使用:任何人都可以自由地 阅读/链接/打印 此文档,无需任何附加条件。
- 名誉权:任何人都可以自由地 转载/引用/再创作 此文档,但必须保留作者署名并注明出处。
如果读者发现作品中有错误的地方,劳请来信指出。任何提高作品质量的建议李守中都将虚心接纳。
1.2. 原文档来源
本文档根据 FreeBSD 13.2 rpcbind manpage (man 8 rpcbind
) 翻译。
1.3. 译者的话
对于直译后无法准确描述软件行为的句子,李守中会根据软件行为对这些句子进行意译。
对于必须添加很多内容才能实现意译的句子,李守中会尽量用直译 + 译者注 的方式来翻译。
受限于李守中的中文水平,在对句子进行意译时可能会偏离作者的本意,请读者谨慎参考。
有能力的读者可以从此链接 FreeBSD_13_rpcbind_man(8)_page_2017.txt 下载英文原文与本文做对照。
2. 名称
rpcbind -- RPC 程序号码和通用地址间的映射器
3. 概要
rpcbind [-6adiLlswW] [-h <bindip>]
4. 描述
rpcbind 程序是将 RPC 程序号码映射到通用地址的转换器。它必须在主机上运行来能让 RPC 调用可以被响应。
当 RPC 服务被启动,它告诉 rpcbind 它监听的地址和提供服务的 RPC 程序号码。当 client 想要向给定的程序号码发起一个 RPC 调用,client 先与主机上的 rpcbind 通信来确定 RPC 请求要被送达的地址。
rpcbind 程序应该在 RPC 服务启动前启动。通常,标准的 RPC 服务通过 port monitors 被启动,所以 rpcbind 必须在 port monitors 被调用之前启动。
当 rpcbind 被启动,它会检查某些名称到地址的转换调用是否正常运行。如果失败,网络配置数据库可能已损坏。由于 RPC 服务在这种情况下无法正常运行,rpcbind 会报告该情况并终止。
rpcbind 只能由 super-user 启动。
5. 选项
- -6
只监听 AF_INET6 (IPv6) 地址。
- -a
当开启 debug 模式 (
-d
选项) 时,遇到 error 就停止运行。- -d
开启 debug 模式。在这个模式中,rpcbind 不会 fork 出子进程,在处理请求时会打印额外的信息,并且在使用
-a
选项时,遇到某些 error 就退出。使用这个选项时,详细显示名称到地址转换一致性检查的过程。- -h <bindip>
为 TCP 和 UDP 请求提供服务时要绑定的 IP 地址。该选项可以指定多次,并且在 multi-homed 主机上运行时通常是必需的。如果未指定 -h 选项,rpcbind 将绑定到 INADDR_ANY,这可能会导致 multi-homed 主机出现问题,因为 rpcbind 可能从与接收 UDP 包的地址不同的的地址发送响应。注意,当使用
-h
指定 IP 地址时,rpcbind 会自动将 127.0.0.1 添加到列表中,如果启用了 IPv6,则添加 ::1。- -i
不安全模式。允许从任何 host 调用 SET 和 UNSET。通常,出于安全原因,rpcbind 仅接受来自环回接口的这些请求。对于使用早期版本的 rpc 库编译并且不使用环回接口发出这些请求的程序来说必须要用这个参数。
- -L
允许通过环回接口进行旧式本地连接。如果不使用该选项,则仅允许通过本地套接字 /var/run/rpcbind.sock 进行本地连接。
- -l
打开 libwrap 连接的日志。
- -s
使 rpcbind 尽快更改为用户守护进程。这会导致 rpcbind 使用非特权端口进行传出连接,从而防止非特权 client 使用 rpcbind 从特权端口连接到服务。
译者注: 意思是,让 rpcbind 在启动完成之后由特权进程切换到用户进程 (daemon 用户)。特权进程的 rpcbind 监听 111 端口,从低于 1024 的端口号响应 client。而用户进程的 rpcbind 监听 111 端口,从高于 1023 的端口号响应 client。
- -W
支持 libwrap (TCP wappers)
- -w
使用 warmstart 功能。
warmstart 功能在 rpcbind 退出时保存 RPC 的注册信息。如果指定了 -w,任何被保存的 RPC 注册信息都会在重新启动时被恢复。此功能有助于在重新启动 rpcbind 时避免 RPC 服务中断。使用 warmstart 功能的前提是它必须被持编译到 rpcbind 中。端口映射注册存储在 /tmp/portmap.file 中。rpcbind 注册存储在 /tmp/rpcbind.file 中。
6. 注意
在 rpcbind 重启后,所有的 RPC 服务都必须被重启。
7. 文件
/tmp/portmap.file 端口映射注册文件
/tmp/rpcbind.file rpcbind 的注册文件
/var/run/rpcbind.sock 用于本地连接的 socket
8. 更多信息
rpcbind(3), netconfig(5), rpcinfo(8)
FreeBSD 13.0 2017.04.19