能够 ping 两台 Linux 机器,但无法将 nfs 共享从一台机器挂载到另一台机器

能够 ping 两台 Linux 机器,但无法将 nfs 共享从一台机器挂载到另一台机器

好吧,我对这些东西都很陌生。我以前从未在 Linux 服务器上工作过。我有一台 Ubuntu 服务器和 Debian 9。我在 Ubuntu 上安装了 nfs 服务器,在 Debian 上安装了 nfs 客户端。这些机器可以互相 ping 通,但问题是,当我尝试将 nfs 共享从 Ubuntu 挂载到 Debian 时,它显示

mount.nfs: connection timed out

我在 Debian 上运行的命令是:

# mount <ip of Ubuntu>:/export/nfs /mnt/nfs

/mnt/nfs我在 Debian 中创建。这/export/nfs是我在 Ubuntu 上创建的目录,所有权为nobody:nogroup。我还编辑了/etc/exports并在其中添加了以下内容:

/export/nfs <internal-network>/24(rw,insecure,all_squash).

我不知道问题出在哪里。有人能告诉我我做错了什么吗?

答案1

:在命令之前指定 ubuntu 服务器的主机名。

对于 RedHat,但想法是一样的: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/3/html/System_Administration_Guide/s1-nfs-mount.html

如果主机名是 myubuntu 并且共享是 /export/nfs 那么它不应该mount myubuntu:/export/nfs只是mount :/export/nfs

另外,请确保 iptables 已打开并且没有阻塞端口。

答案2

如果客户端计算机上的目录 /mnt/nfs 尚不存在,请先创建它:

mkdir /mnt/nfs

看起来您想要长期挂载共享,而不仅仅是临时挂载?如果是这样,最好使用其他位置/mnt,因为/mnt这是用于临时挂载的 - 如果不是,也可以。

如果您想要修复它,只需将以下几行添加到您的/etc/fstab文件中:

例如用 nano 打开文件:nano /etc/fstab

<ip of Ubuntu>:/export/nfs/    /mnt/nfs    nfs    rw,sync,hard,intr    0    0

并输入以下命令,挂载所有条目/etc/fstab

mount

使用 ip 或 dns-name 并不重要。

/etc/exports在服务器端,每当使用命令编辑文件时,都必须重新加载该文件exportfs -a

另外尝试重新启动你的 nfs 服务器:

sudo /etc/init.d/nfs-kernel-server restart 

如果系统不在同一子网中,还请检查它们之间是否有外部防火墙。使用 iptables -L 还可以检查系统上是否有内部防火墙。

答案3

如果需要,可以使用sudo前缀提升权限

$ mount -t nfs -o _netdev,rw,proto=tcp,sec=sys [serverip]:[location] [local mount point]

不要忘记 netdev 前面的下划线

_netdev是正确的 - 如果服务器不在线,将防止系统挂起

例子

$ mount -t nfs -o rw,_netdev,proto=tcp,sec=sys 10.10.2.1:/mnt/ZFS/PROXMOX/ /media/PROXMOX

运行mount -v(详细)可能会给出线索

相关内容