次の問題を解決するのに苦労しており、助けが必要です。
私は持っています:
- Server1はインターネットに接続され、LAN1(Debian)に接続されています。パブリックIP:xx.xx.xx.xx LAN1のプライベートIP:192.168.1.10
- Server2はインターネットから隔離され、LAN1(Ubuntu)プライベートIP、LAN1:192.168.1.17に接続します。
私が達成したいもの:
リモートノートブックで、次のコマンドを使用してサーバー2へのSSH接続を確立します。
ssh -p1110 [email protected]
私が今まで得たところ:
Server1はLAN1からServer2をpingできます(またはその逆)。リモートラップトップを使用してSSHを介してServer1にログインできます。
ssh -p 20 [email protected]
Server2を使用してSSH経由でログインできます
ssh -p 1110 [email protected]
Server2 SSH構成はポート1110を許可するように設定されました(もちろんサービスは再起動されました)。
2つの明確なiptablesでServer1に設定しました。
iptables -t nat -I PREROUTING -p tcp -d xx.xx.xx.xx --dport 1110 -j DNAT --to-destination 192.168.1.17:1110
(注:テスト目的で両方のufwは無効になり、デフォルトでは「双方向接続を許可」に設定されています。)
現在、リモートノートブックからserver2にアクセスできません。
トラブルシューティング:これまでSSHセッションがserver2に到達できることを確認しようとしました。
私がserver1で使用するもの:
sudo tcpdump -i ens1 port 1110
実際、server1でアクティビティの兆候を見つけることができます。
サーバー2でも同様
sudo tcpdump -i ens18 port 2201
リモートSSHセッションの試行に関するいくつかのトレースも表示できます。
だから、リクエストはserver1を介してserver2に到達すると思います。
私の理論
iptablesルールは双方向ではないかもしれませんか?たぶんserver2のいくつかのipatable設定も必要かもしれませんか?
役に立つアイデアがあればありがとうございます。事前にありがとう
PS:ルーターを制御できないため、サーバーレベルでのみルーティングできます。
ベストアンサー1
SSHを使用してserver1に接続できる限り、リダイレクトされたポートを介してiptables
server2 IMHOに接続するための最良の(安全な)方法ではありません。
報告していませんが、作成した内容によると、このコマンドは理論的には機能します。
ssh -p 20 [email protected] ssh -p 1110 [email protected]
これは、設定ファイル〜/ .ssh / configから次のように翻訳できます。
Host server1
Port 20
HostName xx.xx.xx.xx
User login
Host server2
Port 1100
HostName 192.168.1.17
User login
ProxyCommand ssh server1 -W %h:%p
これは、ProxyCommand
192.168.1.17:1100 で SSH を試みる前に、まず server1 に SSH を送信するように ssh に指示します。
ssh server1
これで、sshをserver1に、sshをserver2に接続するだけですssh server2
(iptableルールを削除できます)。