使用 AD 用户在 Linux 上挂载到 FSx 会在间隔后断开连接;初始挂载成功,但一段时间后会出现 HOST IS DOWN 消息

使用 AD 用户在 Linux 上挂载到 FSx 会在间隔后断开连接;初始挂载成功,但一段时间后会出现 HOST IS DOWN 消息

当我运行 mount 命令时,我能够 connect/ls 到共享,直到出现似乎是票证续订的时间。然后我得到主机已关闭。
我查看了所有建议的类似问题并搜索了网络。请参阅“下面的一些背景信息”

我似乎无法在日志/日记中找到任何可以告诉我发生了什么事或何时发生的信息。

我的环境是:AWS Amazon Linux 2 AWS Active Directory,用户设置为永不过期 AWS FSx 共享 在 Linux 服务器上,我运行着 k5start、一个 fstab 文件和一个 krb5.conf 文件(见下文)

简单介绍一下背景,我在另一个环境中使用过这个,但看不出有什么不同。我们最初聘请了一位顾问来帮助设置,但他们无法提供帮助。

我们的要求是:

  1. 不要将 Linux 机器加入到 AD,
  2. 不要在机器上使用带有用户名/密码的计划文本文件
  3. 该共享可供计算机上的所有进程使用
  4. 自动更新权限/票证
  5. 重启时自动挂载

我们的配置:

============

k5start.service 文件:[Unit] 描述=FSx Mount 的 Kerberos Credential Cache Manager Daemon After=network.target Before=mnt-fsx.mount

[服务] 类型=简单 用户=ec2-user 组=ec2-user ExecStart=/usr/bin/k5start -aLK 15 -l 1hr -f /etc/myUser.keytab “[电子邮件保护]

[安装] WantedBy=multi-user.target

==========

fstab 文件: //my.fsx.myAD.aws.msad.com/share /mnt/fsx cifs vers=3.0,cache=none,user=ec2-user,cruid=ec2-user,sec=krb5,uid=1000,gid=1000,ip=myFSxIP

========== 使用以下方式创建的 keytab 文件:

  • 工具
  • 添加-密码-p[电子邮件保护]-k 1 -e RC4-HMAC - 输入用户名密码 -
  • wkt myUser.keytab
  • 然后我将文件移动到磁盘上的另一个位置,并将权限更改为 755

==========

安装先决条件:sudo yum -y install sssd realmd krb5-workstation samba-common-tools sudo yum install -y cifs-utils sudo amazon-linux-extras enable epel sudo yum install -y epel-release sudo yum install -y kstart

==========

通过以下方式安装服务: sudo systemctl daemon-reload sudo systemctl enable k5start sudo systemctl start k5start sudo systemctl status k5start -l 输出:k5start.service - 用于 FSx Mount 的 Kerberos Credential Cache Manager Daemon 已加载:已加载(/usr/lib/systemd/system/k5start.service;已启用;供应商预设:已禁用) 活动:自 2022-09-12 星期一 22:43:52 UTC 以来处于活动状态(正在运行);24 小时前 主 PID:2990(k5start) CGroup:/system.slice/k5start.service └─2990 /usr/bin/k5start -a -L -K 15 -l 1h -f /etc/myUser.keytab[电子邮件保护]

——————————

我运行了一些命令来尝试解决问题......

=====

如果我运行这两个命令,挂载将重新上线,但会间隔一段时间再次消失

  • sudo umount -l /mnt/fsx
  • sudo mount -a --verbose

=====

挖掘 myAD.AWS.MSAD.COM

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.amzn2.5.2 <<>> myAD.AWS.MSAD.COM ;; 全局选项:+cmd ;; 得到答案: ;; ->>HEADER<<- 操作码:QUERY,状态:NOERROR,id:30388 ;; 标志:qr aa rd ra;查询:1,答案:2,权威:0,附加:1

;; OPT 伪部分: ; EDNS:版本:0,标志:; udp:4000 ;; 问题部分: ; myAD.AWS.MSAD.COM。在

;; 答案部分:myAD.AWS.MSAD.COM. 600 IN A 172.31.xxx.xxx myAD.AWS.MSAD.COM. 600 IN A 172.31.xxx.xxx

;; 查询时间:0 毫秒 ;; 服务器:172.31.19.208#53(172.31.19.208) ;; 时间:2022 年 9 月 13 日星期二 23:27:25 UTC ;; 收到的消息大小:83

=====

klist 票证缓存:KEYRING:persistent:1000:1000 默认主体:[电子邮件保护]

有效开始到期服务主体 09/12/2022 22:22:46 09/12/2022 23:22:46 krbtgt/[电子邮件保护] 续订至 2022 年 9 月 19 日 22:22:46

=======

感谢您的观看!

答案1

确保所有设置正确:

/etc/kr5.conf已正确设置您的域名详细信息。测试您可以使用 keytab 手动 klist 和 kinit 用户。

密钥表文件使用ktpass.exe而不是 ktutil。使用 ktpass 它还将在 KDC 中创建服务主体名称,从 DC 运行 ktpass,示例 ktpass:

ktpass.exe -princ CIFS/[email protected] -mapuser [email protected] -crypto All -ptype KRB5_NT_SRV_INST -pass ***** +dumpsalt -out c:\username.keytab

这将为用户创建一个密钥表:具有文件服务器(FS.DOMAIN.LOCAL)权限的用户名,并将在密钥表文件中为其创建一个 CIFS 服务主体。

k5开始:在你的 Linux 机器上:

k5start -b -U -L -a -K 60 -f /full/path/to/username.keytab

-b 使其在后台运行。

-U 使用 keytab 主体名称。

-L 将日志写入/var/log/syslog。

-每次启动时进行硬更新(类似 kinit 而不是 krenew)。

-K 设置 -a 间隔。

-f keytab 的路径,绝对路径至关重要。

您可以使用klist来查看是否获取票证成功。

sudo mount -t cifs --verbose -o vers=2.1,sec=krb5,[email protected] //FS.DOMAIN.LOCAL/SharedFolder/ /mnt/SharedFolder/

您也可以将其添加到 /etc/fstab。

k5start 将每 60 分钟请求一次新票。这应该满足 mount.cifs 并保持其运行,而无需每次都提供密码。

相关内容