NDB 允许不允许使用有效 IP 进行访问

NDB 允许不允许使用有效 IP 进行访问

我有一个 nbd 服务器设置,其配置如下

[generic]
    user = nbd
    group = nbd
    port = 98745
[export]
    exportname = /dev/ubuntu-vg/lv0
    authfile = /etc/nbd-server/allow

没有允许文件,这也可以完美运行。

添加以下允许文件后

10.0.0.0/24

我得到的 IP 是 10.0.0.10

Negotiation: ..Error: Connection not allowed by server policy. Server said: Access denied by server configuration

并在服务器上

Spawned a child process
virtstyle ipliteral
connect from 10.0.0.10, assigned file is /dev/ubuntu-vg/nfs-lv
client address does not match 2/10: address family mismatch (IPv4 vs IPv6?)
message repeated 2 times: [ client address does not match 2/10: address family mismatch (IPv4 vs IPv6?)]
Client '10.0.0.10' is not authorized to access
Negotiation failed: Connection reset by peer

有什么想法吗?根据文档,我被难住了这里应该按原样工作。为了彻底起见,我还将 127.0.0.1 和 10.0.0.10 添加到允许文件中并收到相同的结果,并且分别尝试了每一行。

我知道 IP 检查并不完全安全,但如果它能让恶意行为者的工作变得更加困难,我愿意启用它。请确保建议使用新样式格式。

答案1

这刚刚发生在我身上,经过反复尝试后我发现了一些新手错误:

  1. 配置文档上说的是字符串,但不要把它放在引号中,那样不行。
  2. Authfile =(= 右侧没有任何内容)将开放给所有人访问。
  3. “服务器策略不允许连接”——这实际上意味着它没有文件的读取权限,或者导出的文件名/路径不正确。
  4. 如果您在命令行上使用 -d 启动服务器,则调试服务器会更容易,nbd-server -d -C /etc/nbd.conf这样您就可以看到任何错误。

我注意到您导出的文件“/dev/ubuntu-vg/lv0”与日志“/dev/ubuntu-vg/nfs-lv”中分配的文件不匹配

这是我正在使用的 nbd.conf,不需要 auth 文件,因为我将其定义为空。我使用的是 3.21 版本

[generic]
  allowlist = true
  listenaddr = your.ip.add.ress
[archiso]
  exportname = /z/systemrescue-9.00-i686.iso
  authfile =
  readonly = true
  port = 10809

祝你好运!

相关内容