如何设置NFS网络?

Bor*_*ris 7 nfs network-manager networking ufw autofs

我想合并在这里和那里找到的信息,以便在一个答案中记录在我的两台 Ubuntu PC 之间设置我的 NFS 网络的所有步骤

这有时很有用,例如在切换到新的 Ubuntu 版本时,我需要重置:

Bor*_*ris 7

假设 «boris» 是我的登录名,例如 /home/boris我的主文件夹。

1.设置«服务器»计算机:

  • 安装nfs-kernel-servernfs-common

    $ sudo apt-get install nfs-kernel-server
    $ sudo apt-get install nfs-common
    
    Run Code Online (Sandbox Code Playgroud)
  • 在 中/etc/exports,通过添加以下内容来定义要共享的文件夹:

    /home/boris   192.168.1.0/24(rw,sync,all_squash,anonuid=1001,anongid=1001,subtree_check)
    
    Run Code Online (Sandbox Code Playgroud)

    with:
    /home/boris是共享文件夹以
    rw供客户端读写访问
    sync吗??
    all_squash??
    192.168.1.0/24是您本地网络的客户端计算机 IP 地址的范围,
    1001是用户和组 ID。找到它$ id boris

  • 管理主机,第一个允许任何人/etc/hosts.deny加入

    portmap:ALL
    nfsd:ALL
    mountd:ALL
    
    Run Code Online (Sandbox Code Playgroud)

    然后允许您的 客户端计算机/etc/hosts.allow添加

    portmap:192.168.1.0/24
    lockd:192.168.1.0/24
    nfsd:192.168.1.0/24
    mountd:192.168.1.0/24
    rquotad:192.168.1.0/24
    statd:192.168.1.0/24
    
    Run Code Online (Sandbox Code Playgroud)

    with192.168.1.0/24是您本地网络的客户端计算机 IP 地址范围

  • 设置防火墙UFW

    $ sudo ufw enable
    $ sudo ufw default deny incoming
    $ sudo ufw default deny outgoing
    $ sudo ufw allow from 192.168.1.0/24
    $ sudo ufw allow out from 192.168.1.0/24
    
    Run Code Online (Sandbox Code Playgroud)

    with192.168.1.0/24是您本地网络的客户端计算机 IP 地址范围

  • 启动服务器

    $ sudo /etc/init.d/nfs-kernel-server start
    
    Run Code Online (Sandbox Code Playgroud)

    或修改 /etc/exports 后

    $ sudo /etc/init.d/nfs-kernel-server restart
    
    Run Code Online (Sandbox Code Playgroud)


2.设置«客户端»计算机:

  • 安装nfs-commonautofs

    $ sudo apt-get install nfs-common
    $ sudo apt-get install autofs
    
    Run Code Online (Sandbox Code Playgroud)
  • 创建用于挂载与服务器的连接的文件夹

    $ sudo mkdir /media/shareFolder
    
    Run Code Online (Sandbox Code Playgroud)
  • 一组autofs自动挂载该文件夹,
    /etc/auto.master加入这一行:

    /media/shareFolder /etc/auto.nfs --ghost, --timeout=60
    
    Run Code Online (Sandbox Code Playgroud)

    /etc/auto.nfs 添加这一行

    boris  -fstype=nfs,rw,intr,uid=1001,guid=1001   192.168.1.1:/home/boris
    
    Run Code Online (Sandbox Code Playgroud)

    用:
    192.168.1.1是的地址服务器计算机
    /home/boris上的共享文件夹服务器计算机。
    1001是用户和组 ID。找到它$ id boris
    rw以进行读写访问

  • 设置防火墙UFW

    $ sudo ufw enable
    $ sudo ufw default deny incoming
    $ sudo ufw default deny outgoing
    $ sudo ufw allow to 192.168.1.1
    $ sudo ufw allow out to 192.168.1.1
    
    Run Code Online (Sandbox Code Playgroud)

    with192.168.1.1服务器计算机的地址

  • 并重新启动您的客户端计算机。