답변:
그것은 쉽게 불가능합니다. 소스 포트를 볼 수있는 위치에 따라 수행 방법이 달라집니다. 로컬로 또는 외부 네트워크의 관점에서 올바른 포트이면 충분합니까?
LXC 컨테이너에서 SSH 클라이언트를 실행할 수 있습니다. 나는 그런 짓을 한 적이 없으므로 상세하게 설명 할 수 없습니다. 그러나 가상 네트워크 인터페이스를 만들어이 컨테이너에 연결하면 ssh
이 인터페이스 가 사용되는 유일한 외부 인터페이스이므로이 인터페이스를 사용합니다.
호스트 시스템에서이 인터페이스에서 패킷이 나오는 것을 감지 할 수 있어야합니다. 따라서 다음과 같이 소스 주소를 다시 쓰는 데 Netfilter의 NAT (SNAT)를 사용할 수 있습니다.
iptables -t nat -A POSTROUTING -o vnet0 -p tcp --dport 22 -j SNAT --to-source :1234
물론 22와 다른 포트에 연결하면 작동하지 않거나 더 복잡해집니다.
sshfs
했고 누군가 가이 명령으로 작동한다고 말했지만 믿지 않습니다. 답을 찾으면 알려주십시오 :)!
-Z portnum 옵션을 제안했습니다 ...
여기 소스 : https://github.com/Zibri/openssh-portable
그리고 여기에 풀 요청이 있습니다 : https://github.com/openssh/openssh-portable/pull/130