回答:
それは簡単に不可能です。それをどのように行うことができるかは、ソースポートをどこで見るかによって異なります。ローカルでも、または外部ネットワークの観点から見れば適切なポートであれば十分でしょうか。
LXCコンテナでSSHクライアントを実行できます。私はそれをやったことがないので、詳細に説明することはできません。ただし、仮想ネットワークインターフェイスを作成し、このコンテナにアタッチして、ssh
このインターフェイスが使用される唯一の(外部)インターフェイスであるため、このインターフェイスを使用します。
ホストシステムでは、このインターフェイスからパケットが来たことを検出できるはずです。したがって、NetfilterのNAT(SNAT)を使用して、次のようなソースアドレスを書き換えることができます。
iptables -t nat -A POSTROUTING -o vnet0 -p tcp --dport 22 -j SNAT --to-source :1234
もちろん、22以外のポートに接続する場合、これは機能しません(またはより複雑になります)。
sshfs
、誰かがこのコマンドで機能すると言ったが、信じられない。答えを見つけたら、私たちに知らせてください:)!
お探しのコマンド構文はおそらくこれです。ssh -p XXX user @ remotehostipオプションの順序を変更する必要があります。今すぐ試してください、それは私のために動作します。宜しくお願いします。
-Z portnumオプションを提案しました...
ここのソース:https : //github.com/Zibri/openssh-portable
そして、ここにプルリクエストがあります:https : //github.com/openssh/openssh-portable/pull/130