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サーバーを指定します)。socksify
tsocks
dante.conf
答え2
まず、SSH構成ファイルを介してすべての操作を実行できます。 SSH経由でターミナルコンピュータに接続する場合は特にそうです。よりSSHマルチホップ構成。 SSH設定が正しく設定されたら、ssh servera
SSHssh 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 から取得できる機能にさらに簡素化することもできます。