FreeBSD NFS架设

FreeBSD下的NFS配置

服务                 描述
nfsd NFS,          为来自NFS客户端的 请求服务。
mountd NFS          挂载服务,处理nfsd(8)递交过来的请求。
rpcbind             此服务允许 NFS 客户程序查询正在被 NFS 服务使用的端口。

配置NFS
NFS的配置过程相对简单。这个过程只需要 对/etc/rc.conf文件作一些简单修改。

安装rpc  #cd /usr/ports/math/rpc  make install clean

在NFS服务器这端,确认/etc/rc.conf 文件里头以下开关都配上了:

nfs_server_enable=”YES”
nfs_server_flags=”-u -t -n 4″
rpc_statd_enable=”YES”
rpc_lockd_enable=”YES”
mountd_flags=”-r”

只要NFS服务被置为enable,mountd 就能自动运行。

在客户端一侧,确认下面这个开关出现在 /etc/rc.conf里头:

nfs_client_enable=”YES”
nfs_client_flags=”-n 4″
像nfsd,-n 4告诉nfsiod运行自己的4个拷贝。

二,设置

etc/exports文件指定了哪个文件系统 NFS应该输出(有时被称为“共享”)。 /etc/exports里面每行指定一个输出的文件系统和哪些机器可以访问该文件系统。在指定机器访问权限的同时,访问选项开关也可以被指定。

格式:

[共享的目录] [主机名1或IP1(参数1,参数2)] [主机名2或IP2(参数3,参数4)]

下面是一些NFS共享的常用参数:

ro                      只读访问
rw                      读写访问
sync                    所有数据在请求时写入共享
async                   NFS在写入数据前可以相应请求
secure                  NFS通过1024以下的安全TCP/IP端口发送
insecure                NFS通过1024以上的端口发送
wdelay                  如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay               如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
hide                    在NFS共享目录中不共享其子目录
no_hide                 共享NFS目录的子目录
subtree_check           如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check        和上面相对,不检查父目录权限
all_squash              共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash           保留共享文件的UID和GID(默认)
root_squash             root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squas           root用户具有根目录的完全管理访问权限
anonuid=xxx             指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx             指定NFS服务器/etc/passwd文件中匿名用户的GID

配置文件/etc/exports内容如下:

$ cat /etc/exports
/home/share 192.168.1.15(rw,sync) *(ro)
配置说明: 对192.168.1.15赋予读写权限,其他机器仅有只读权限。

四.客户端配置

1.查看NFS服务器的输出
#showmount -e 192.168.1.1
2.挂载NFS服务器中的共享目录到本地目录/mnt/下
#mount -t nfs 192.168.1.1:/home  /mnt/
3.卸载系统中已挂载的NFS共享目录
#umount /mnt/
4.修改fstab文件让系统启动时自动挂载NFS文件
#vi /etc/fstab
192.168.1.1:/home    /mnt    nfs     defaults    0 0

五、安全性
———
portmap: 111
NFS: 2049
防止使用IP欺骗和RPC重定向技术通过lo回环进行攻击以及限定授权主机:
iptables -A INPUT -p udp -d 127.0.0.1 –dport 111 -j DROP
iptables -A INPUT -p udp -d 127.0.0.1 –dport 2049 -j DROP
iptables -A INPUT -p udp -s 10.0.0.2 –dport 111 -j ACCEPT
iptables -A INPUT -p udp -s 10.0.0.2 –dport 2049 -j ACCEPT

原文链接:http://blog.chinaunix.net/u/27383/showart_499159.html

FreeBSD 8.0 NFS服务器配置笔记

一组服务器系统里面必然存在一台NFS服务器,实现多服务器的文件共享。
NFS服务器:nfs_server
NFS客户端:host1,host2,host3
共享目录:/share

一、NFS服务器配置

vi /etc/rc.conf

rpcbind_enable="YES"
nfs_server_enable="YES"
mountd_flags="-r"

二、客户端配置

vi /etc/rc.conf

nfs_client_enable="YES"

三、文件共享配置

vi /etc/exports

/share  -alldirs    host1 host2 host3

共享设置好了之后,重启NFS服务器以启动NFS服务。

四、客户端挂载NFS文件系统

mount nfs_server:/share /share

或者写进fstab让系统启动时自动挂载文件系统:
vi /etc/fstab

nfs_server:/share   /share  nfs rw  0   0

权限问题:最好让所有服务器上操作NFS共享文件的用户ID相同。

关于NFS的其他问题请参考FreeBSD手册。

原文链接: http://garey.bsdart.org/2010/11/freebsd-8-0-nfs%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%85%8D%E7%BD%AE%E7%AC%94%E8%AE%B0/