zoukankan      html  css  js  c++  java
  • 记录nfs的防火墙以及权限问题

    在前面的一篇文章(https://www.cnblogs.com/zyxnhr/p/10660431.html)中,已经介绍了nfs的安装挂载使用,但是存在两个问题

    一、 防火墙

    在nfs和nfs的守护进程rpcbind起来后,会由几个端口,防火墙需要打通,才能是客户端访问

    [root@node1 ~]# rpcinfo -p > nfs.txt

    [root@node1 ~]# vim nfs.txt

    program vers proto   port  service
        100000    4   tcp    111  portmapper
        100000    3   tcp    111  portmapper
        100000    2   tcp    111  portmapper
        100000    4   udp    111  portmapper
        100000    3   udp    111  portmapper
        100000    2   udp    111  portmapper
        100005    1   udp  40657  mountd
        100005    1   tcp  46458  mountd
        100005    2   udp  52413  mountd
        100005    2   tcp  53785  mountd
        100005    3   udp  60260  mountd
        100005    3   tcp  44574  mountd
        100003    2   tcp   2049  nfs
        100003    3   tcp   2049  nfs
        100003    4   tcp   2049  nfs
        100227    2   tcp   2049  nfs_acl
        100227    3   tcp   2049  nfs_acl
        100003    2   udp   2049  nfs
        100003    3   udp   2049  nfs
        100003    4   udp   2049  nfs
        100227    2   udp   2049  nfs_acl
        100227    3   udp   2049  nfs_acl
        100021    1   udp  44067  nlockmgr
        100021    3   udp  44067  nlockmgr
        100021    4   udp  44067  nlockmgr
        100021    1   tcp  44186  nlockmgr
        100021    3   tcp  44186  nlockmgr
        100021    4   tcp  44186  nlockmgr  

     但是在重新启动这两个服务后,会发现端口都发生变化

    [root@node1 ~]# service rpcbind  restart

    [root@node1 ~]# service nfs  restart

    [root@node1 ~]# rpcinfo -p

       program vers proto   port  service
        100000    4   tcp    111  portmapper
        100000    3   tcp    111  portmapper
        100000    2   tcp    111  portmapper
        100000    4   udp    111  portmapper
        100000    3   udp    111  portmapper
        100000    2   udp    111  portmapper
        100005    1   udp  12792  mountd
        100005    1   tcp  42422  mountd
        100005    2   udp   2212  mountd
        100005    2   tcp  31979  mountd
        100005    3   udp   5090  mountd
        100005    3   tcp  38716  mountd
        100003    2   tcp   2049  nfs
        100003    3   tcp   2049  nfs
        100003    4   tcp   2049  nfs
        100227    2   tcp   2049  nfs_acl
        100227    3   tcp   2049  nfs_acl
        100003    2   udp   2049  nfs
        100003    3   udp   2049  nfs
        100003    4   udp   2049  nfs
        100227    2   udp   2049  nfs_acl
        100227    3   udp   2049  nfs_acl
        100021    1   udp  19191  nlockmgr
        100021    3   udp  19191  nlockmgr
        100021    4   udp  19191  nlockmgr
        100021    1   tcp  34774  nlockmgr
        100021    3   tcp  34774  nlockmgr
        100021    4   tcp  34774  nlockmgr

    这样的的防火墙原先配置开放的端口就会失效,nfs客户端就无法使用nfs

    1.1 解决一

    根据端口,再次打开新的端口限制,但是不可取

    1.2 解决二

    固定端口,把端口写进配置文件,每次重启使用固定的端口

    [root@node1 ~]# vim /etc/sysconfig/nfs

    RQUOTAD_PORT=30001
    LOCKD_TCPPORT=30002
    LOCKD_UDPPORT=30002
    MOUNTD_PORT=30003
    STATD_PORT=30004

    [root@node1 ~]# rpcinfo -p

    program vers proto   port  service
        100000    4   tcp    111  portmapper
        100000    3   tcp    111  portmapper
        100000    2   tcp    111  portmapper
        100000    4   udp    111  portmapper
        100000    3   udp    111  portmapper
        100000    2   udp    111  portmapper
        100005    1   udp  30003  mountd
        100005    1   tcp  30003  mountd
        100005    2   udp  30003  mountd
        100005    2   tcp  30003  mountd
        100005    3   udp  30003  mountd
        100005    3   tcp  30003  mountd
        100003    3   tcp   2049  nfs
        100003    4   tcp   2049  nfs
        100227    3   tcp   2049  nfs_acl
        100003    3   udp   2049  nfs
        100003    4   udp   2049  nfs
        100227    3   udp   2049  nfs_acl
        100021    1   udp  30002  nlockmgr
        100021    3   udp  30002  nlockmgr
        100021    4   udp  30002  nlockmgr
        100021    1   tcp  30002  nlockmgr
        100021    3   tcp  30002  nlockmgr
        100021    4   tcp  30002  nlockmgr

    把这些端口开放,在再起启动,偶不会影响

    开放端口

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 111 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 2049 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 30002 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 30003 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 30004 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 30001 -j ACCEPT
    -A INPUT -p udp -m state --state NEW -m udp --dport 111 -j ACCEPT
    -A INPUT -p udp -m state --state NEW -m udp --dport 2049 -j ACCEPT
    -A INPUT -p udp -m state --state NEW -m udp --dport 30001 -j ACCEPT
    -A INPUT -p udp -m state --state NEW -m udp --dport 30002 -j ACCEPT
    -A INPUT -p udp -m state --state NEW -m udp --dport 30003 -j ACCEPT
    -A INPUT -p udp -m state --state NEW -m udp --dport 30004  -j ACCEPT

    1.3 解决三

    直接开放源的网卡端口

    -A INPUT -s 客户端IP/32 -i eth0 -j ACCEPT

    重启防火墙:

    [root@node1 ~]# service iptables  restart

    客户端连接

    二,权限开了rw,但是客户端依然没有写权限

    [root@node1 ~]# vim /etc/exports

    /home/data/sharedir  客户端IP(rw,sync,no_root_squash)

    客户端写数据

    [root@test ~]# cd /home/data/www/

    [root@test www]# touch 111

    touch: cannot touch `111': Permission denied

    查看服务端本文件夹的权限,发现对于其他用户,是没有写权限的

    [root@node1 ~]# chmod o+w   /home/data/www/ -R

    再次测试,已经可以成功写入

    [root@test www]# touch 111

    [root@test www]# ll

    -rw-r--r--. 1 root root    0 Apr 16 17:20 111
  • 相关阅读:
    2017年5月24日 HTML 基础知识(二)
    2017年5月22日 HTML基础知识(一)
    尼采语录
    Unicode字符串和整数和浮点数
    转义字符
    python第一节
    C# ASP .NET WEB方向和WPF方向,我该如何去选择
    ORA-06550:line 1,column 7;PLS-00201:indentifer '存储过程' must be declared;...PL/SQL Statement ignored 问题
    C# WPF打印报表
    Sql Server 自定义数据类型
  • 原文地址:https://www.cnblogs.com/zyxnhr/p/10718959.html
Copyright © 2011-2022 走看看