xrdp でRDP Proxy ゲートウェイ を作る話(1) 〜前提編〜
はじめに
xrdpはリモートLinuxホストにGUIログインするために広く使われているOSSです。
接続プロトコルとしてMicrosoftリモートデスクトッププロトコル(RDP)を使います。
Windows標準搭載のRDPクライアント(MSTSC.exe)を利用できることが利点です。
あまり知られていませんが、このxrdpはRDP Proxy機能を持っています。
RDPクライアント —(RDP)— xrdp —(RDP)— RDPサーバー
という経路の接続が可能です。
業務用ネットワークと検証環境ネットワークとの境界に設置するような使い方ができます。
大規模で本格的な環境ではWindows Server に RDゲートウェイを設定する方法がありますが、xrdpはより小規模でシンプルなRDPゲートウェイとなります。
ここでは xrdp を RDP Proxy ゲートウェイとして構築する方法をご紹介します。
必要なもの
GatewayサーバのホストOSとしてLinuxが必要です。
ディストリビューションの標準パッケージのxrdpではRDP Proxyモードは有効化されていないため、build環境とソースコードを準備してコンパイルする必要があります。
RDP Proxy モードのコンパイルのためには依存ライブラリとして NeutrinoRDPが必要です。
NeutrinoRDPとは FreeRDP 1.0.1のforkで実質的に xrdp の RDP Proxyモード専用と言えるライブラリです。ファイル名が重複するためFreeRDP1.xと共存できないためかどのディストリビューションにもバイナリパッケージが用意されていません。xrdpの前に自分でbuildする必要があります。
まとめると、以下が必要です。
- Linux ホスト
- build環境
- NeutrinoRDPソース一式
- xrdpソース一式
次回予告
代表的なディストリビューション向けのbuild方法を紹介します。