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에 바이너리가 필요합니다.
iptables
기본적으로 포함되어 있는 Ubuntu와 달리 Alpine에 해당 기능이 누락된 것 같습니다 . iptables를 설치하면 이 문제가 해결됩니다.
저는 Alpine Linux 사용자는 아니지만 패키지가 iptables라고 되어 있는 것 같아서
apk add iptables
그러면 문제가 해결될 것입니다.