这个问题类似于网络端口打开,但没有附加进程?
我已经从那里尝试了一切,查看了日志等......但找不到任何东西。
我的 netstat 显示了一个 TCP 侦听端口和一个没有 pid 的 UDP 端口。当我在 lsof 中搜索这些端口时,什么也没有出现。
netstat -lntup
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:44231 0.0.0.0:* LISTEN -
udp 0 0 0.0.0.0:55234 0.0.0.0:* -
Run Code Online (Sandbox Code Playgroud)
以下命令不显示任何内容:
lsof | grep 44231
lsof | greo 55234
fuser -n tcp 44231
fuser -n udp 55234
Run Code Online (Sandbox Code Playgroud)
重新启动后,除了新的端口号外,那些“相同”的两个连接还在那里:
netstat -lntup
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:45082 0.0.0.0:* LISTEN -
udp 0 0 0.0.0.0:37398 …Run Code Online (Sandbox Code Playgroud) 使用nfsstat -c,我看到我的 NFS 客户端 pc 上的“authrefrsh”(在某些系统上称为“newcred”)计数很高,用于操作ls和find包含约 1000 个文件的目录。这与非常差的性能(20 分钟以上的目录列表)相关。缓存 NFS 操作不会表现出这种行为(authrefrsh 或减速)。
authrefrsh = 每次检查 nfsstat 时调用:
$ nfsstat -c
Client rpc stats:
calls retrans authrefrsh
280462 0 280462
Client nfs v3:
null getattr setattr lookup access readlink
0 0% 126990 45% 0 0% 10062 3% 58592 20% 0 0%
read write create mkdir symlink mknod
25030 8% 0 0% 65 0% 0 0% 2 0% 0 0%
remove rmdir rename link readdir readdirplus …Run Code Online (Sandbox Code Playgroud) 有人可以解释每个 Windows RPC 端口的使用时间和使用频率吗?我理解的“核心”是:
然后我听说端口 145 加入了 NBT/TCP 以“使事情变得更好”,但我不确定这如何与 Windows 客户端启动 RPC 操作的顺序相适应。
谁能帮我一劳永逸地解决我对 RPC 端口的理解?
根据Red Hat 文档,不再需要“rpcbind”:
由于协议支持已合并到 v4 协议中,NFSv4 与 portmap、rpc.lockd 和 rpc.statd 守护进程没有交互。NFSv4 侦听众所周知的 TCP 端口 2049,这消除了端口映射交互的需要。挂载和锁定协议已合并到 V4 协议中,从而无需与 rpc.lockd 和 rpc.statd 交互。服务器上仍然需要 rpc.mountd 守护进程,但不涉及任何在线操作。
但是,当“rpcbind”服务未运行时,我无法启动 NFS 恶魔:
# service nfs start
Starting NFS services: [ OK ]
Starting NFS quotas: Cannot register service: RPC: Unable to receive; errno = Connection refused
rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp).
[FAILED]
Starting NFS mountd: [ OK ]
Starting NFS daemon: rpc.nfsd: writing fd to kernel failed: errno 111 (Connection refused)
rpc.nfsd: …Run Code Online (Sandbox Code Playgroud) 我有一堆通过 NIS 向中央服务器进行身份验证的机器。我刚买了一台新的 CentOS 6.2 客户端机器,它无法进行身份验证。
以下是人们在处理 NIS 时出错/忘记的经典列表:
1)客户端机器可以ping服务器(和ssh进去)
测试使用
ping swordfish
ping <ip address>
Run Code Online (Sandbox Code Playgroud)
两者都会产生适当的响应
2)ypbind客户端正在运行一个进程
通过做测试
ps -e | grep ypbind
3172 ? 00:00:00 ypbind
Run Code Online (Sandbox Code Playgroud)
3)/etc/yp.conf格式正确并包含正确的详细信息
4)防火墙关闭 所以希望这不是问题
5)service启动器认为一切正常
/sbin/service ypbind restart
Shutting down NIS service: [ OK ]
Starting NIS service: [ OK ]
Binding NIS service:
..... [ OK ]
Run Code Online (Sandbox Code Playgroud)
问题
据我所知,没有 RPC 绑定
/usr/sbin/rpcinfo -p # no ypbind programs
Run Code Online (Sandbox Code Playgroud)/var/yp/binding/如果我查看消息log in/var/logs/messages …
尝试从同一域上的任何 Windows 10 工作站或来自外部源的任何 Windows 客户端进行 RDP 时,域成员服务会报告以下内容:
远程桌面无法验证远程计算机的身份,因为您的计算机与远程计算机之间存在时间或日期差异。确保您的计算机时钟设置为正确的时间,然后再次尝试连接。如果问题再次出现,请联系您的网络管理员或远程计算机的所有者。
成员服务器事件日志包含:
EVENTID 5719。由于以下原因,此计算机无法与域中的域控制器建立安全会话: RPC 服务器不可用。
EVENTID 1054。组策略的处理失败。Windows 无法获得域控制器的名称。这可能是由名称解析失败引起的。验证您的域名系统 (DNS) 已配置并正常工作。
会员服务器
PDC
数据中心
交换服务器
我正在构建一个有点简约的系统,该系统收集串行端口数据并将其推送到 NFS 挂载上的日志文件中。
为了稍微减少系统,我决定禁用 RPC,因为我看不到它的用途,这导致了以下警告:
mount.nfs: rpc.statd is not running but is required for remote locking.
mount.nfs: Either use '-o nolock' to keep locks local, or start statd.
mount.nfs: an incorrect mount option was specified
Run Code Online (Sandbox Code Playgroud)
毫不奇怪,RPC 涉及到 NFS,真的,所以我的下一步是删除警告。我可以选择重新启用 RPC,或者-o nolock按照建议使用。
那么问题来了,远程锁定究竟有什么作用呢?在这种特殊情况下,NFS 挂载仅由相关机器写入,并且不存在冲突的可能性,例如多个进程写入同一文件。(虽然,有几个进程写入每个自己的日志文件)
运行 debian buster,内核 4.19
编辑:我试过-o nolock,事情似乎工作正常,所以乍一看,没有不利影响。
序幕:
在许多恰好充当 NFS 客户端的机器上,netstat报告两个打开的端口,但没有列出关联守护程序的 PID。通常这可能有点令人担忧。
# netstat -lnp | egrep -- '- +$'
tcp 0 0 0.0.0.0:57448 0.0.0.0:* LISTEN -
udp 0 0 0.0.0.0:48933 0.0.0.0:* -
Run Code Online (Sandbox Code Playgroud)
另外netcat确认 TCP 端口确实是打开的。
# nc -v localhost 57448
localhost [127.0.0.1] 57448 (?) open
^C
Run Code Online (Sandbox Code Playgroud)
然而lsof,这两个端口没有报告任何内容。阴谋增长。
# lsof -i TCP:57448 -i UDP:48933
Run Code Online (Sandbox Code Playgroud)
然而,rpcinfo最终为我们指明了正确的方向。它由nlockmgr,又名lockdNFS保持开放。取消搜索。
# rpcinfo -p | egrep '57448|48933'
100021 1 udp 48933 nlockmgr
100021 3 udp 48933 nlockmgr
100021 4 udp 48933 …Run Code Online (Sandbox Code Playgroud) 我们想从搬走sshfs到nfs。
阻碍我们的最后一件事是rpcbind(我认为这是nfs工作所必需的)不允许您指定它绑定到的TCP(非UDP)IP。
有-h标志,但这仅适用于它打开的 UDP 端口。这不会影响 TCP 端口,它们仍然打开0.0.0.0:...
有谁知道我们如何rpcbind通过不将其暴露给我们的公共接口来保护它?
或者更好的是,有没有办法在nfs没有的情况下使用rpcbind?
谢谢!
我有一个 CentOS 8 虚拟机 ( 192.168.10.203) 正在运行nfs-server,我正在尝试在我的 Windows 10 Pro x86_64 机器上挂载共享 ( 192.168.10.10) 我已经安装了“NFS 服务”Windows 功能),但是当我运行时mount \\<nfs_server_IP>\data N:,我不断收到这个错误:
网络错误 - 53
输入“NET HELPMSG 53”了解更多信息。
网络错误 53 的消息是“找不到网络路径”,但我不确定这意味着什么。
这是我/etc/exports在 CentOS 机器上的样子:
/data 192.168.10.0/24(rw,sync,root_squash,insecure,anonuid=0,anongid=0)
Run Code Online (Sandbox Code Playgroud)
我也尝试过最低限度的选项:
/data 192.168.10.0/24(rw,sync)
Run Code Online (Sandbox Code Playgroud)
CentOS 和 Windows 10 机器都可以互相 ping 通。
我可以通过端口 2049 连接到 NFS 服务器
rpcinfo -p localhost在 NFS 机器上运行的输出:
$ rpcinfo -p localhost
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 …Run Code Online (Sandbox Code Playgroud)