美文网首页
NFS的浅析和NFS搭建(包含iptables规则)

NFS的浅析和NFS搭建(包含iptables规则)

作者: 聊想未来 | 来源:发表于2017-04-21 09:26 被阅读0次

    NFS(Network File System/网络文件系统)

    NFS允许网络中的计算机之间通过TCP/IP网络共享资源。

    在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

    优点:

    1、简单容易掌握

    2、方便快速部署简单维护容易

    3、可靠—从软件层面上看,数据可靠性高,经久耐用

    组成:

    NFS体系由NFS服务器和若干台客户机组成。

    工作原理:

    NFS服务器通过网络共享目录,客户机将网络目录挂载在本地,通过TCP/IP网络远程访问存放在NFS服务器上的数据。

    NFS就是网络共享目录,就是共享文件.服务端共享,客户端挂载使用。

    通讯过程:

    1.服务端启动RPC服务,开启111端口。

    (远程过程调用协议,是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。)

    2.启动NFS服务,向RPC注册端口信息。

    3.客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务点的NFS端口

    (portmap端口映射是一个服务器,将RPC程序号转换为DARPA的协议端口号,在使用RPC调用时它必须运行。)

    4.服务端的RPC(portmap)服务反馈NFS端口信息给客户端。

    5.客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。

    NFS权限设置:

    rw 表示可读写

    ro Read-only表示只能读权限

    Sync 请求或者写入数据时,数据同步写入到NFS server的硬盘中后才会返回

    no_root_squas 访问nfs server共享目录的用户如果是root的话,它对该目录具有root权限。这个配置原本为无盘用户准备的。用户应避免使用!

    root_squash 对于访问NFS server共享目录的用户,如果是root的话会被压缩成为nobody用户身份。

    all_squash

    不管访问nfs

    server共享目录的用户身份如何包括root,它的权限都将被压缩成为匿名用户,同时他们的udi和gid都会变成nobody或nfsnobody账户的uid,gid。在多个nfs客户端同时读写nfs

    server数据时,这个参数很有用***可以确保大家写入的数据的权限是一样的。

    但不同系统有可能匿名用户的uid,gid不同。因为此处我们需要服务端和客户端之间的用户是一样的。比如说:服务端指定匿名用户的UID为2000,那么客户端也一定要存在2000这个账号才可以

    anonuid 就是匿名的uid和gid。说明客户端以什么权限来访问服务端,在默认情况下是nfsnobody。Uid65534.

    anongid 同anongid,就是把uid换成gid而已。

    配置实践:

    NFS服务端:192.168.81.54

    NFS客户端1:192.168.81.11

    NFS客户端2:192.168.81.12

    yum -y install portmap nfs-utils nfs-utils-lib

    service portmap start

    service nfs start

    vi /etc/exports

    mnt/data/mysql 192.168.81.0/24(rw,sync,no_root_squash)

    vi /etc/sysconfig/nfs

    RQUOTAD_PORT=875

    LOCKD_TCPPORT=32803

    LOCKD_UDPPORT=32769

    MOUNTD_PORT=892

    service nfs restart

    rpcinfo -p localhost(应该出现上述修改过的端口)

    vi /etc/sysconfig/iptables

    # Firewall configuration written by system-config-firewall

    # Manual customization of this file is not recommended.

    *filter

    :INPUT ACCEPT [0:0]

    :FORWARD ACCEPT [0:0]

    :OUTPUT ACCEPT [0:0]

    :RH-Firewall-1-INPUT - [0:0]

    -A INPUT -j RH-Firewall-1-INPUT

    -A FORWARD -j RH-Firewall-1-INPUT

    -A RH-Firewall-1-INPUT -i lo -j ACCEPT

    -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT

    -A RH-Firewall-1-INPUT -p 50 -j ACCEPT

    -A RH-Firewall-1-INPUT -p 51 -j ACCEPT

    -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT

    -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT

    -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT

    -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

    -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 111 -j ACCEPT

    COMMIT

    iptables -I INPUT -s 192.168.81.0/24 -p tcp --dport 875 -j ACCEPT

    iptables -I INPUT -s 192.168.81.0/24 -p udp --dport 875 -j ACCEPT

    iptables -I INPUT -s 192.168.81.0/24 -p tcp --dport 892 -j ACCEPT

    iptables -I INPUT -s 192.168.81.0/24 -p udp --dport 892 -j ACCEPT

    iptables -I INPUT -s 192.168.81.0/24 -p tcp --dport 32769 -j ACCEPT

    iptables -I INPUT -s 192.168.81.0/24 -p udp --dport 32769 -j ACCEPT

    iptables -I INPUT -s 192.168.81.0/24 -p tcp --dport 32803 -j ACCEPT

    iptables -I INPUT -s 192.168.81.0/24 -p udp --dport 32803 -j ACCEPT

    iptables -L

    iptables-save > /etc/sysconfig/iptables

    showmount  -e 192.168.81.54

    Export list for 192.168.81.54:

    /mnt/data/mysql 192.168.81.0/24

    mount -t nfs 192.168.81.54:/mnt/data/mysql /var/lib/mysql

    df

    Filesystem                    1K-blocks    Used Available Use% Mounted on

    /dev/mapper/VolGroup-lv_root   18134344 4493724  12719432  27% /

    tmpfs                            502204       0    502204   0% /dev/shm

    /dev/sda1                        495844   34836    435408   8% /boot

    /dev/sr0                        4363088 4363088         0 100% /media

    192.168.81.54:/mnt/data/mysql  18134400 4466176  12747136  26% /var/lib/mysql

    客户端:

    yum -y install portmap

    showmount  -e 192.168.81.54

    mount -t nfs 192.168.81.54:/mnt/data/mysql /var/lib/mysql

    df

    相关文章

      网友评论

          本文标题:NFS的浅析和NFS搭建(包含iptables规则)

          本文链接:https://www.haomeiwen.com/subject/idnrzttx.html