別のネットワークインターフェイスでソックス/ SSHを開く方法は?

別のネットワークインターフェイスでソックス/ SSHを開く方法は?
iptables -A PREROUTING -i usb0 -t mangle -p tcp --dport 8080 -j MARK --set-mark 1

iptables-L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination   

// 1 とマークされたトラフィックを myusb0 テーブルにルーティングします。

ip rule add fwmark 1 table myusb0

IP ルート ls

192.168.0.0/24 dev usb1  proto kernel  scope link  src 192.168.0.136  metric 1 
192.168.3.0/24 dev usb0  proto kernel  scope link  src 192.168.3.182  metric 1 

IPルールls

0:  from all lookup local 
32762:  from all fwmark 0x1 lookup myusb0 
32763:  from 192.168.3.0/24 lookup myusb0 
32764:  from 192.168.0.1/24 lookup myusb1 
32766:  from all lookup main 
32767:  from all lookup default 

IPルーティングlsテーブルmyusb0

default via 192.168.3.2 dev usb0 

IPルーティングlsテーブルmyusb1

default via 192.168.0.1 dev usb1

//ポート8080のソックスを開く

ssh -f -N -D 0.0.0.0:8080 [email protected]

//有効であることを確認

カール --socks5 192.168.3.182:8080 ip.appspot.com

channel 1: open failed: administratively prohibited: open failed
curl: (7) Failed to receive SOCKS5 connect request ack.

2つの異なるISPに2つのインターネット接続があり、各接続でプロキシ/ socks5を開きたいです。接続を管理できるように、各インターフェイスをポート番号に関連付けることが合理的だと思います。

各デバイス(および)に対して2つのルーティングテーブル(および)を作成し、myusb0ポート番号に基づいてトラフィックを表示し(たとえば、1とマークされたポートで)、そのマークのトラフィックを特定のテーブル()にルーティングしました。 。その後、そのIPでソックス5を開いてローカルで試しましたが、何らかの理由で機能しませんでした。myusb1usb1usb08080myusb0

ローカルで動作すると、ソックスを反対方向に開いてソックスを使用する必要があるリモートサーバーに提供できると考えました。

現在機能していない理由と解決策をご存知ですか?何らかの理由で、sock接続がポート8080タグの規則に従い、myusb0テーブルを試すのではなく、デフォルトテーブルに設定されていないデフォルトゲートウェイを試していると思います。私はUbuntu(最新バージョン)を使用しています。

どちらのISPも動的IPを提供することに注意する必要があります。

編集する

予想通り、ポート8080へのトラフィックがルーティングされていないようです(心配するソックスなし)。しかし、理由がわからない。

 curl portquiz.net:8080 
curl: (7) Couldn't connect to server

ベストアンサー1

おすすめ記事