一、基础信息

项目配置值
NFS 服务器linux1.skills.com(10.1.210.111)
NFS 客户端linux2.skills.com(10.1.210.112)
共享目录/srv/sharenfs
授权用户xiao(UID/GID = 222)
通用密码Pass-1234
安全等级sec=krb5p(认证+加密)

二、服务端配置(linux1.skills.com)

1. 安装服务

yum -y install krb5-server krb5-workstation nfs-utils autofs

2. 配置 /etc/krb5.conf

[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = SKILLS.COM
 dns_lookup_realm = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 rdns = false
 pkinit_anchors = FILE:/etc/pki/tls/certs/ca-bundle.crt
 default_ccache_name = KEYRING:persistent:%{uid}

[realms]
 SKILLS.COM = {
  kdc = linux1.skills.com
  admin_server = linux1.skills.com
 }

[domain_realm]
 .skills.com = SKILLS.COM
 skills.com = SKILLS.COM

3. 设置 KDC 权限与数据库

echo "*/admin@SKILLS.COM *" > /var/kerberos/krb5kdc/kadm5.acl
kdb5_util create -s

输入两次密码 Pass-1234


4. 启动 Kerberos 服务并开放端口

systemctl enable --now krb5kdc kadmin

# 使用服务方式开放防火墙
firewall-cmd --zone=public --add-service=kerberos --add-service=kadmin --permanent
firewall-cmd --zone=public --reload

5. 添加 principal 并生成 keytab

kadmin.local
> addprinc -pw Pass-1234 root/admin
> addprinc -randkey nfs/linux1.skills.com
> addprinc -randkey nfs/linux2.skills.com
> ktadd nfs/linux1.skills.com

6. 创建共享用户及目录

groupadd -g 222 xiao
useradd -u 222 -g 222 -d /home/xiaodir xiao
mkdir -p /home/xiaodir /srv/sharenfs
chown xiao:xiao /home/xiaodir
chmod 777 /srv/sharenfs

7. 配置 NFS 输出规则 /etc/exports

/srv/sharenfs 10.1.210.112(rw,all_squash,anonuid=222,anongid=222,sec=krb5p)

导出并重启服务:

exportfs -rv
systemctl restart nfs-server

# 防火墙放行 NFS 服务(含 rpc-bind)
firewall-cmd --zone=public --add-service=nfs --add-service=rpc-bind --permanent
firewall-cmd --reload

三、客户端配置(linux2.skills.com)

1. 安装必要服务

yum -y install autofs krb5-workstation nfs-utils

2. 配置 /etc/krb5.conf(内容与服务端一致)

确保 DNS 可解析 linux1.skills.com


3. 配置 autofs 自动挂载

echo "/sharenfs /etc/auto.nfs" >> /etc/auto.master
echo "test -fstype=nfs4,sec=krb5p linux1.skills.com:/srv/sharenfs" > /etc/auto.nfs

systemctl enable autofs nfs*
systemctl restart autofs nfs*

4. 下载并配置 Keytab

kadmin -p root/admin -w Pass-1234
> ktadd nfs/linux2.skills.com

5. 测试挂载

cd /sharenfs/test
mkdir test

如无报错说明挂载成功。


四、验证步骤

在客户端执行以下命令:

ls /sharenfs/test

能正常看到目录说明配置成功。


五、注意事项

  • 时间同步:Kerberos 对时间非常敏感,需要先配置 chronyd
  • 名称解析:确保两个主机名在 DNS 中可正常解析。
最后修改:2025 年 05 月 26 日
如果觉得我的文章对你有用,请随意赞赏