Oracle Linux 9.5部署krb5 nfs server

环境准备

系统初始化

修改主机名
hostnamectl set-hostname oracle9krb5server.suphyperv.local

修改网口以及解析配置
vi /etc/NetworkManager/system-connections/ens192.nmconnection
修改配置:

[ipv4]
method=manual
address1=10.61.22.35/22,10.61.23.254
dns=10.61.21.204
dns-search=suphyperv.local
ignore-auto-dns=true

关闭selinux
vi /etc/sysconfig/selinux
修改配置:
SELINUX=disable

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

基础优化(可选)

优化内核参数:
vi /etc/sysctl.conf
添加配置:

fs.file-max = 1024000
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.core.netdev_max_backlog = 250000
net.core.somaxconn = 4096
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 20000
net.ipv4.tcp_mem = 25600 51200 102400
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.ipv4.tcp_mtu_probing = 1
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

提升并发能力:
vi /etc/security/limits.conf
添加配置:

*               soft    nofile           512000
*               hard    nofile          1024000

vi /etc/profile
修改配置:
ulimit -SHn 1024000

安装组件

dnf install -y nfs-utils gssproxy realmd sssd sssd-tools krb5-workstation adcli samba-common-tools oddjob oddjob-mkhomedir

安装完成后重启Linux

加入域控

系统加域

检查域是否可以连接:
realm discover suphyperv.local

使用管理员用户加入域:
realm join suphyperv.local -U administrator

确认域连接状态:
realm list

查看域用户信息是否可以正常列出:
id oracle9krb5server@suphyperv.local

修改idmapd配置。
vi /etc/idmapd.conf
添加以下配置:
Domain = suphyperv.local

域控配置

登录域控创建与Linux主机名相同的域用户账户:

调整账户使用AES 256加密:

创建Linux主机的反向解析记录,在域控的DNS管理器中找到Linux主机的正向解析记录,选择更新PTR记录。

查看在反向解析区域中是否可以找到创建的对应反向解析记录,如果没有则需要手动创建:

创建krb5 nfs server凭据

回到Oracle Linux,使用以下命令登录,获取Linux主机名相同的域用户账户凭据:
kinit oracle9krb5server

获取krb5 nfs server凭据
adcli update --service-name=nfs

检查凭据是否正常获取:
klist -k

配置NFS Server

检查nfs是否有启用gssproxy,确认use-gss-proxy状态是否为1:
cat /etc/nfs.conf | grep use-gss-proxy

启用gssproxy服务:

systemctl enable gssproxy
systemctl restart gssproxy

启用nfs-server服务:

systemctl enable nfs-server
systemctl restart nfs-server

检查NFS Sever是否有加载gssproxy,确认是否为1:
cat /proc/net/rpc/use-gss-proxy

创建NFS共享文件夹:

mkdir /nfsshare
chmod 777 /nfsshare

配置NFS共享:
vi /etc/exports
添加配置:
/nfsshare *(rw,sync,sec=krb5,no_subtree_check)

应用配置:

exportfs -rav
exportfs -v

启用debug模式:

修改gssproxy配置:
vi /etc/gssproxy/gssproxy.conf
添加配置:
debug_level = 2
重启gssproxy生效:
systemctl restart gssproxy
查看gssproxy日志
journalctl -u gssproxy.service -f