3つのIPアドレス100.200.130.121、100.200.130.122、および100.200.130.123でhub-server.tldを呼び出すサーバーがあります。ファイアウォールの背後にある3つの異なるマシンがありますが、SSHを使用して1つのマシンを各IPアドレスにポート転送したいと考えています。たとえば、machine-oneは100.200.130.121のポート22でSSHをリッスンする必要があり、machine-twoは100.200.130.122で同じことを実行する必要があります。
SSHのマニュアルページには-R [bind_address:]port:host:hostport
、ゲートウェイポートが有効になっていると記載されていますが、-R
特定のIPアドレスで使用する場合、サーバーは引き続きすべてのインターフェイスでポートをリッスンします。
マシン1:
# ssh -NR 100.200.130.121:22:localhost:22 root@hub-server.tld
hub-server.tld(ポート2222でSSHをリスン):
# netstat -tan | grep LISTEN
tcp 0 0 100.200.130.121:2222 0.0.0.0:* LISTEN
tcp 0 0 :::22 :::* LISTEN
tcp 0 0 :::80 :::* LISTEN
特定のIPアドレスの接続のみをマシン1に転送するためにSSHを転送する方法はありますか?ここにコメント/デフォルトではない私のssh設定のすべての行があります:
Port 2222
Protocol 2
SyslogFacility AUTHPRIV
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication no
GSSAPICleanupCredentials no
UsePAM yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL
AllowTcpForwarding yes
GatewayPorts yes
X11Forwarding yes
ClientAliveInterval 30
ClientAliveCountMax 1000000
UseDNS no
Subsystem sftp /usr/libexec/openssh/sftp-server
clientspecified
に、単に「有効」と言うのではなく、必要だと述べてほしいと思います。それから、に設定するだけでいいと思いましたyes
。