web-dev-qa-db-ja.com

あるマシンから別のマシンにトラフィックをトンネルする方法は?

私は私の小さなネットワークの外から見ることができるサーバーを持っています、サーバーはドメイン名などを持っています。そして、私はローカルマシンを持っています。これはサーバーからは見えますが、外部からはアクセスできません。

サーバーのポートに接続できるようにしたいのですが、代わりにローカルマシンと通信してください。

サーバーの1つのポートに到着するトラフィックをローカルマシンの別のポートにリレーすることはできますか?

4
Rogach

そのために単純にopensshを使用できます: https://help.ubuntu.com/community/SSH/OpenSSH/PortForwarding

検索するコマンドは-Lまたは-Rです。

サーバーのポート4444をローカルマシンのポート5555に転送するとします。サーバーでの使用

ssh -L 4444:local_machine_name:5555 user@local_machine_name 

またはローカルマシンで使用

ssh -R 4444:localhost:5555 user@server_machine_name 

(最初の例では、local_machine_nameに接続する必要はなく、他のマシンに接続できます。localhostを使用してサーバー自体に接続できます)。

もう1つのより複雑な方法は、サーバーをルーターとして使用することです。 https://help.ubuntu.com/community/Router 、特に https://help.ubuntu.com/community/Router#Enable_IP_forwarding_and_Masquerading を参照してください。これは、ほとんどの小さなケーブルまたはDSLホームルーターが行うことです。

5
Thomas

これはiptablesを使用して可能です。 linuxhomenetworking.com には素敵なハウツーがあり、iptablesの詳細は buntu wiki にあります。 Firestarter と呼ばれるiptablesへのGUIインターフェースもあることに注意してください。

3
johanvdw