tsockを使用するときに同じ宛先IPアドレス

tsockを使用するときに同じ宛先IPアドレス

tsocksを使用する必要があります(特定のマシンに到達するにはsshトンネルを介してssh接続を確立する)問題があります。同じIPアドレスを持つ2つのサーバーがあります(Sshトンネルを介してアクセスする必要があります)。したがって、この場合の構成は次のようになります。

cat /etc/tsocks.conf
path {
    reaches = 10.1.1.2/255.255.255.255
    server = 127.0.0.1
    server_port = 3000
}

path {
    reaches = 10.1.1.2/255.255.255.255
    server = 127.0.0.1
    server_port = 2000
}

この問題をどのように解決できますか?

答え1

tsocks.conf各SOCKSサーバーには1つずつ2つが必要です。

TSOCKS_CONF_FILE=~/.tsocks-A.conf tsocks some-cmd 10.1.1.2

そして

TSOCKS_CONF_FILE=~/.tsocks-B.conf tsocks some-cmd 10.1.1.2

または、SOCKSサーバーがSOCKS4AまたはSOCKS5をサポートしている場合は代わりにdante'を使用し、リモート側に別のホスト名がある場合はホスト名を使用できます(およびホスト名またはドメイン名に基づいて使用するSOCKSサーバーを指定します)。socksifytsocksdante.conf

答え2

まず、SSH構成ファイルを介してすべての操作を実行できます。 SSH経由でターミナルコンピュータに接続する場合は特にそうです。よりSSHマルチホップ構成。 SSH設定が正しく設定されたら、ssh serveraSSHssh serverbトンネルを設定してくださいtsocks ssh servera

Tsocksはあなたが望むものを本当に区別することはできません。 1つの方法は、2つの設定ファイルを設定し、コマンドを実行して各ネットワークの設定を置き換えることです。

たとえば、

$ chmod +x /usr/local/bin/tsocksa.sh

$ cat /usr/local/bin/tsocksa.sh
#!/bin/bash  
#
#Swaps for Network A
#See /etc/tsocs.conf.main and /etc/tsocks.conf.dest_a
#
sudo cat /etc/tsocks.conf{.main,.dest_a} > /etc/tsocks.conf

そして

$ chmod +x /usr/local/bin/tsockss.sh

$ cat /usr/local/bin/tsockss.sh  
#!/bin/bash  
#
#Swaps for Network S
#See /etc/tsocks.conf.main and /etc/tsocks.conf.dest_s
#
sudo cat /etc/tsocks.conf{.main,.dest_s} > /etc/tsocks.conf

これで、ネットワーク交換関連のコマンドを入力し、/etc/tsocks.conf.dest_n一般的なネットワークに入ることができます。/etc/tsocks.conf.master

同じコマンドで Bash エイリアスを使用することも、Bash スクリプトを bashrc から取得できる機能にさらに簡素化することもできます。

関連情報