一、基础信息
项目 | 配置值 |
---|---|
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 中可正常解析。