NAS NFS如何支持二级或多级的级联挂载?

flandlcy 2020-03-05 08:32:28
需求:假设有服务器A、B、C,AB互通,BC互通,AC不通(网络隔离),服务器C如何访问A上的NAS空间(NFS共享)?
比如把服务器A上的文件系统通过NFS共享给B,通过B再共享给C。
我做了个实验:在服务器A上创建/fs1目录,挂载给B上/test/fs1目录;再将B的/test目录挂载给C的/fs1目录。再C上无法看到A上/fs1里面的内容。
...全文
452 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
samucc 2020-07-10
  • 打赏
  • 举报
回复
需求 描述 服务器A 10.211.55.9 ( EM) 服务器B 10.211.55.4 ( JP ) 服务器C 10.211.55.7 ( DD) AB互通,BC互通,AC不通 把服务器A上的文件系统通过NFS共享给B,通过B再共享给C 模拟环境搭建: 在A添加防火墙规则,拒绝C的请求 firewall-cmd --permanent --aC-rich-rule="rule family="ipv4" source aCress="10.211.55.7" reject" firewall-cmd --reload 在C添加防火墙规则,拒绝A的请求 firewall-cmd --permanent --aC-rich-rule="rule family="ipv4" source aCress="10.211.55.9" reject" firewall-cmd --reload 服务器AC互不通 服务器AB互通 服务器BC互通 NFS级联方案 (测试暂时不可行) 服务器A 10.211.55.9 ( EM) 服务器B 10.211.55.4 ( JP ) 服务器C 10.211.55.7 ( DD) 服务器A共享目录/publica 服务器A共享目录 只读写的方式共享目/publica 能被 10.211.55.0/24 中的系统访问 yum install -y nfs-utils mkdir /publica touch /publica/test.text mkdir -p /publica/test vim /etc/exports /publica 10.211.55.0/24(rw,sync,no_root_squash,insecure) vim /etc/sysconfig/nfs RPCNFSDARGS="-V 4.2" firewall-cmd --permanent --add-service=nfs firewall-cmd --permanent --add-service=mountd firewall-cmd --permanent --add-service=rpc-bind firewall-cmd --reload systemctl enable nfs-server systemctl restart nfs-server exportfs -ra showmount -e 服务器B挂载服务器A的目录/publica到/mnt/publica /publica 挂在在下面的目录上/mnt/publica 这些文件系统在开机启动时自动挂载 showmount -e 10.211.55.9 mkdir -p /mnt/publica vim /etc/fstab 10.211.55.9:/publica /mnt/publica nfs defaults,_netdev 0 0 mount -a ls /mnt/publica mount | grep /mnt/publica 服务器B共享目录/mnt/publica yum install -y nfs-utils vim /etc/exports /mnt/publica 10.211.55.0/24(rw,sync,no_subtree_check,fsid=0,no_root_squash,insecure) vim /etc/sysconfig/nfs RPCNFSDARGS="-V 4.2" firewall-cmd --permanent --add-service=nfs firewall-cmd --permanent --add-service=mountd firewall-cmd --permanent --add-service=rpc-bind firewall-cmd --reload systemctl enable nfs-server systemctl restart nfs-server exportfs -ra # exportfs /mnt/publica does not support nfs export showmount -e # 上面报错,showmount仍然可以看到目录 exportfs -au 重新导出NFS挂载点,这是不可能的。 参考:https://superuser.com/questions/1146383/exportfs-does-not-support-nfs-export 服务器C挂载服务器B的目录/mnt/publica到/mnt/2nd/publica /mnt/publica 挂在在下面的目录上/mnt/2nd/publica 这些文件系统在开机启动时自动挂载 showmount -e 10.211.55.4 mkdir -p /mnt/2nd/publica vim /etc/fstab 10.211.55.4:/mnt/publica /mnt/2nd/publica nfs defaults,_netdev 0 0 mount -a ## mount.nfs access denied by server while mounting 10.211.55.4:/mnt/publica ### ls /mnt/2nd/publica 错误参考:https://www.thegeekdiary.com/mount-nfs-access-denied-by-server-while-mounting-how-to-resolve/ samba级联挂载 (成功) 服务器A 10.211.55.9 ( EM) 服务器B 10.211.55.4 ( JP ) 服务器C 10.211.55.7 ( DD) 服务器A共享目录/commona  您的 smb 服务必须时 STAFF 工作组的一个成员  共享目录共享名是 commona  只有 10.211.55.0/24 域的客户可以访问 commona 共享  commona 必须时可以读写的 用户 root 必须能够都取共享的内容,如果需要的话验证密码是 redhat yum install samba -y mkdir -p /commona touch /commona/test.txt mkdir -p /commona/test setsebool -P samba_export_all_rw=on ##取消selinux限制 semanage fcontext -a -t samba_share_t '/commona(/.*)?' restorecon -R /commona/ # 恢复selinux文件属性(文件的安全上下文) setfacl -m u:root:rwx /commona pdbedit -a root ##启用共享账号并设置redhat vim /etc/samba/smb.conf [global] workgroup = STAFF [commona] path = /commona write list = root valid users = root hosts allow = 10.211.55.0/24 systemctl restart smb nmb systemctl enable smb nmb firewall-cmd --permanent --add-service=samba firewall-cmd --reload 服务器B挂载服务器A的目录/commona到/mnt/commona /commona 挂在在下面的目录上/mnt/commona 这些文件系统在开机启动时自动挂载 yum install samba-client cifs-utils -y >/dev/null mkdir -p /mnt/commona vim /etc/fstab //10.211.55.9/commona /mnt/commona cifs username=root,password=redhat,multiuser,sec=ntlmssp,_netdev 0 0 mount -a df /mnt/commona touch /mnt/commona/testb #成功 服务器B共享目录/mnt/commona  您的 smb 服务必须时 STAFF 工作组的一个成员  共享目录共享名是 commona  只有 10.211.55.0/24 域的客户可以访问 commona 共享  commona 必须时可以读写的 用户 root 必须能够都取共享的内容,如果需要的话验证密码是 redhat yum install samba -y setsebool -P samba_export_all_rw=on ##取消selinux限制 semanage fcontext -a -t samba_share_t '/mnt/commona(/.*)?' restorecon -R /mnt/commona/ # 恢复selinux文件属性(文件的安全上下文) setfacl -m u:root:rwx /mnt/commona pdbedit -a root ##启用共享账号并设置redhat vim /etc/samba/smb.conf [global] workgroup = STAFF [second-commona] path = /mnt/commona write list = root valid users = root hosts allow = 10.211.55.0/24 systemctl restart smb nmb systemctl enable smb nmb firewall-cmd --permanent --add-service=samba firewall-cmd --reload 服务器C挂载服务器B的目录/mnt/commona到/mnt/2nd/commona /mnt/commona 挂在在下面的目录上/mnt/2nd/commona 这些文件系统在开机启动时自动挂载 yum install samba-client cifs-utils -y >/dev/null mkdir -p /mnt/2nd/commona vim /etc/fstab //10.211.55.4/second-commona /mnt/2nd/commona cifs username=root,password=redhat,multiuser,sec=ntlmssp,_netdev 0 0 mount -a df /mnt/2nd/commona touch /mnt/2nd/commona/testc # 成功 ls /mnt/2nd/commona

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧