挂载 CIFS 共享时没有到主机的路由

Ser*_*sen 27 server samba networking

我们有两台运行 docker + kubernetes 的 ubuntu 机器,它们需要访问 Windows 共享。

第一个是在 /etc/fstab 中设置的:

//dfs/Archive01 /mnt/dfs cifs rw,cred=/etc/cifspasswd,forceuid,forcegid 0 1

它可以工作,执行 mount -a 后我们可以访问目录。

但在机器 2 上进行相同的配置时,我们在尝试挂载时会遇到可怕的“没有到主机的路由”错误。

ping dfs

返回一个 IP 地址,这样就可以工作了。

ip -4 addr 在正在工作的机器上显示:

  1. ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq 状态 UP 组默认 qlen 1000 altname enp3s0 inet 10.203.32.80/24 brd 10.203.32.255 范围全局 ens160 valid_lft 永远 Preferred_lft 永远
  2. docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 组默认 inet 10.200.200.20/24 范围全局 docker0 valid_lft 永远 Preferred_lft 永远
  3. vxlan.calico:<BROADCAST、MULTICAST、UP、LOWER_UP> mtu 1450 qdisc noqueue 状态 UNKNOWN 组默认 inet 10.244.255.192/32 范围全局 vxlan.calico valid_lft 永远 Preferred_lft 永远

在故障机器上 ip -4 a 说:

  1. ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq 状态 UP 组默认 qlen 1000 altname enp3s0 inet 10.203.32.81/24 brd 10.203.32.255 范围全局 ens160 valid_lft 永远 Preferred_lft 永远
  2. docker0:<无载波,广播,多播,向上> mtu 1500 qdisc noqueue状态DOWN组默认inet 10.200.200.21/24 brd 10.200.200.255范围全局docker0 valid_lft永远preferred_lft永远
  3. vxlan.calico:<BROADCAST、MULTICAST、UP、LOWER_UP> mtu 1450 qdisc noqueue 状态 UNKNOWN 组默认 inet 10.244.161.0/32 范围全局 vxlan.calico valid_lft 永远 Preferred_lft 永远

dmesg 说:

CIFS:无法确定目标地址

不知道为什么它在 2 号失败而在 1 号工作。感觉它与印花布网络有关,但不确定如何调试。

有人知道如何解决这个问题或至少在哪里检查吗?

Ser*_*sen 56

找到了解决方案。

忘记在第二台机器上安装 cifs-utils 和 keyutils。

所以只是做

sudo apt-get install keyutils 

sudo apt-get install cifs-utils
Run Code Online (Sandbox Code Playgroud)

修复

  • 第二个对我有用 (3认同)