Alpine Linux 上的 sshuttle 失败并显示“无法自动查找支持的方法”

Alpine Linux 上的 sshuttle 失败并显示“无法自动查找支持的方法”

我正在尝试在 Alpine 虚拟机上使用 sshuttle。我能够安装依赖项并从 GitHub 编译源代码。但是,当我尝试连接到我的服务器时,我收到以下错误消息:

fw: fatal: Unable to automatically find a supported method. Check that the appropriate programs are in your PATH. We tried methods: ['nat', 'nft', 'pf', 'ipfw']

c: fatal: ['/usr/bin/sudo', '-p', '[local sudo] Password: ', '/usr/bin/env', 'PYTHONPATH=/usr/lib/python3.8/site-packages/sshuttle-1.0.6.dev12+gf928f94-py3.8.egg', '/usr/bin/python', '/usr/bin/sshuttle', '--method', 'auto', '--firewall'] expected READY, got b''

我不明白的是,完全相同的事情也适用于我的 Ubuntu 设置,我的路径中没有任何 nat、nft、pf 或 ipfw。然而,我的两台机器不使用相同版本的 sshuttle:Ubuntu 上为 0.78.5,Alpine 上为 1.0.6.dev12+gf928f94。

答案1

仔细查看了源码:

  • ipfw 方法需要ipfw$PATH 中的二进制文件
  • nat 需要iptables$PATH 中的二进制文件
  • nft 需要nft$PATH 中的二进制文件
  • pf 需要pfctl$PATH 中的二进制文件

我怀疑你的 Alpine 缺少iptables,不像 Ubuntu 可能默认有它们。安装 iptables 应该可以解决这个问题。

我不是 Alpine Linux 用户,但该软件包似乎名为 iptables,所以

apk add iptables

应该可以解决问题。

相关内容