同じネットワークインターフェイスでポートを別のIPアドレスに転送する方法は?

同じネットワークインターフェイスでポートを別のIPアドレスに転送する方法は?

2つのネットワークに3つのシステムが分散しています。

  • 1 つの NIC が付いているコンピュータ 1: IP アドレス 192.168.10.22
  • 1 つの NIC を搭載したコンピュータ 2: IP アドレス 192.168.10.30 および 192.168.11.30
  • 1つのNICが付いているコンピュータ3: IPアドレス 192.168.11.33

コンピュータ3からコンピュータ1へのリバースSSHトンネルが必要です。コンピュータ2からコンピュータ3まではポート2222を使用し、コンピュータ1からコンピュータ2まではポート22を使用する必要があります。私の場合、何らかの理由で動作しません。私が試したことは次のとおりです。

コンピュータ2から:

$sudo sysctl net.ipv4.ip_forward
net.ipv4.ip_forward=1

# External machine connects to 192.168.11.30:22, forwarded to 192.168.10.30:2222
$sudo iptables -t nat -A PREROUTING -p tcp -d 192.168.11.30 --dport 22 -j DNAT --to-destination 192.168.10.30:2222
$sudo iptables -t nat -A POSTROUTING -p tcp -d 192.168.10.30 --dport 2222 -j SNAT --to-source 192.168.11.30

# Internal machine2 connects to 192.168.10.22:2222, forwarded to 192.168.11.30:22
$sudo iptables -t nat -A PREROUTING -p tcp -d 192.168.10.30 --dport 2222 -j DNAT --to-destination 192.168.11.30:22
$sudo iptables -t nat -A POSTROUTING -p tcp -d 192.168.11.30 --dport 22 -j SNAT --to-source 192.168.10.30

#リバースSSH開始:

   $ssh -N -R 2222:192.168.10.30:22 [email protected]
   Warning: remote port forwarding failed for listen port 2222

コンピュータ3から:

   $ssh [email protected]
   ssh connect to host 192.168.11.30 port 22: Connection refused.

なぜ警告が表示されますか?接続できない問題を解決するには?

関連情報