更新:この問題の解決策ができるだけ早く必要です。おそらくiptables
にNATとポート転送用に何かを設定できることは理解していますが、ツールやその構文については十分に理解していません。私自身のルール。
192.168.1.166
。 (Hyper-V VM Debian 10を実行中)eth0
(私のLAN)、およびcscotun0
192.168.1.166
を個人のデスクトップのRDPクライアントに入れて、VMを介して職場のリモートデスクトップに接続できるようにしたい。私本当にが答える必要がある唯一の質問:
TCP&UDP接続をポート3389で、VMを介して個人のデスクトップから職場のリモートシステムにルーティングするにはどうすればよいですか?
VMは、仕事用ネットワークで動的IPを取得するVPNクライアントから来ているかのように、RDP接続を「マスカレード」する必要があると推測しているので、NATが必要であることがわかります。そのためにmasquerade
ツールも必要ですか?
元の質問:
在宅勤務には、CiscoAnyConnectフルトンネルVPNを介してRDPを使用する必要があります。
私の職場のIT部門は、RDPのみの分割トンネルをサポートするようにVPNサーバーを構成していません。とにかく、他のネットワークサービスが必要になる可能性があるため、フルトンネル接続を使用して回避したいと思います。ただし、インターネットトラフィックのすべてをルーティングするという印象を受けているため、パーソナルコンピュータでAnyConnectVPNクライアントを使用したくありません。 VPNも同様です。
VPNクライアントを実行しているDebian10仮想マシンをセットアップしました。これをVM LAN上のリモートRDPサーバーに見せかけたい。そうすれば、パーソナルコンピューターでVPNクライアントを実行することを避け、RDPクライアントをVMに接続するだけで済みます。次に、VPNを介してRDP接続を実際のRDPサーバーに転送します。
では、どうすればこれを達成できますか?
私は以下への管理アクセスしか持っていません:
現在、VNCとRDPの組み合わせを使用して、リモートデスクトップのVMをホップしていますが、VMハイパーバイザーと組み合わせることにより、解像度が制限されています。両方のプロトコルの欠点。
VM 192.168.1.166
が両方のネットワーク(ローカルネットワークとVPN経由の企業ネットワーク)にアクセスできる場合は、 socat
を使用してVMと企業のRDPサーバーの間に双方向の「トンネル」を確立します。
socat tcp4-listen:3389,reuseaddr tcp:remote-addr:3389
これにより、VMのポート3389
が開き、そこに到着するトラフィックはすべてremote-addr:3389
にトンネリングされます。
SocatはUDPもサポートしています。
Socatは接続が終了すると終了するため、接続が常に存在することを確認するには、このコマンドを無限ループで実行するスクリプトを作成します。
#!/bin/bash
while true
do
socat tcp4-listen:3389,reuseaddr tcp:remote-addr:3389
done
このようにして、192.168.1.166
を個人用デスクトップのRDPサーバーとして指定すると、トラフィックは企業サーバーにトンネリングされます。