QNAPのNASは、Container Stationというアプリをインストールすることで、LXCやDockerを使った仮想Linuxマシンを実行できます。仮想Linuxマシンを使うと、svnやgitのサーバーを手軽に構築できます。以下は、ポートフォワーディング設定のメモです。
Container Stationの設定
Container Stationでsvnやgitを使うには、仮想Linuxマシンのポートに対して外部からアクセスする必要があります。ここでは、NATのポートフォワーディングで仮想Linuxマシンのポートに外部からアクセスできるようにします。 環境は、TS-231Pファームウェアバージョン4.3.6.0985(2019/03/28)上にインストールしたContainer Station 2.0.356です。
|
Container Station |
コンテナとして、LXCのUbuntu14.04を作成しています。名称は、ubuntu-trusty-armhf-1です。概要から、コンテナの名称をクリックすると、ubuntuのコンソールが開きます。ネットワークモードをNATにしているので、ubuntuにはデフォルトのIPアドレス10.0.3.239が割り当てられています。
|
ubuntuコンソール |
設定をクリックすると、コンテナの設定画面が表示されます。ポートフォワーディングの設定は、詳細設定から行います。
|
コンテナ設定 |
コンテナの詳細設定のネットワークからポートフォワーディングが設定できます。
この例では、ネットワークモードをNATにして、ubuntuの22番ポートを外部から1080番としてアクセスできるように設定しています。また、ubuntuの80番ポートを外部から2080番としてアクセスできるように設定しています。
|
詳細設定 |
このように設定すると、外部からNASのIPアドレスの1080のポートにsshでログインすれば、ubuntuにログインできます(192.168.10.200は、TS-231P自体のIPアドレス)。
$ssh user@192.168.10.200 -p 1080
また、ubuntuのgitサーバやsvnサーバに対して、NASのIPアドレスの2080番へのhttpプロトコルでアクセスできるようになります。
$ git clone http://192.168.10.200:2080/git/test
$ svn co http://192.168.10.200:2080/svn/monophony/trunk monophony
環境によっては、ubuntu自体に別のIPを割り当てるBridgeのネットワークモードが使いやすいかもしれません。
Container Station最高なのだけれど
QNAPのContainer Stationはとても便利な機能で気に入っているのですが、ファームウェアのアップデートを行うと、Container Stationが起動しなくなることがありました。その時は、ファームウェアをダウングレードするだけで元の状態に戻りましたが、ファームウェアのアップデートは慎重に行う必要があります。また、仮想Linuxマシン内の重要データのバックアップは必須です。