0

私は autossh を使用しており、次の例に示すように設定しています: http://surniaulula.com/2012/12/10/autossh-startup-script-for-multiple-tunnels/

非常にうまく機能することがわかりましたが、明確にする必要があります。特に、次の例の 127.0.0.1 と * の違い:

ForwardPort=(
    "L 127.0.0.1:3397:127.0.0.1:3306"
)

ForwardPort=(
    "L *:3397:127.0.0.1:3306"
)

最初のものは、ホスト マシン自体から来た場合にリダイレクトを行うように見えますが、2 番目のものはどこからでも転送されるようです。私には、これは * がトラフィックを転送する任意の IP を表すものであるかのように解釈されましたが、マシン上の任意のアダプターを表すだけだと誰かが言いました。IP、またはアダプターですか?最終結果は同じだと思いますが、私自身の理解のために明確にしたいと思います。

アップデート

使用しているネットワークの特定の IP を含めるようにテストを更新し、ポートに接続しようとしたところ、指定された特定のポートでは機能しないことがわかりました。

ForwardPort=(
    "L x.x.x.x:3397:127.0.0.1:3306"
    "L 127.0.0.1:3397:127.0.0.1:3306"
)

これがうまくいかなかったので、私の友人がアダプターについて正しかったと信じています. したがって、アダプターがどのように機能するかの詳細を求めています。

4

1 に答える 1

0

私の答えを考え出し、誰かが興味を持っているか、私のように答えをグーグルで検索して見つけられなかった場合に備えて、答えを投稿すると考えました。

そのため、x.x.x.xこれはリモート サーバーの WAN IP でした。IP はそのアダプターの 1 つではないため、autossh にはこれに関する手がかりがありません。サーバー上で実行するifconfigと、 のローカル ループバックや、WAN IP を持つ127.0.0.1などの他のアダプターが取得されます。eth0を実行する*ことで、WAN だけでなくローカル ループバックからの要求も転送されます。その*ため、すべてのリクエストをルーティングしますが127.0.0.1、マシン自体からのリクエストのみをルーティングします。

外部転送を許可するが、それを実行できる人を制限したい場合は*、実行してから を介したサーバーの通信を制限することでこれを実現できますiptables

于 2015-02-06T16:50:59.070 に答える