UT-VPNとhttpsを同時に使用するときの注意点

UT-VPNApacheを同時に動かしているサーバで少しはまったので一応残しておく。

UT-VPNサーバを起動すると、デフォルトでは443、5555、992の3つのポートが開く。
その際、どれか1つのポートが使われている場合、当然ながらそのポートは使われない。
一番多いのは、既にApache等のWebサーバが動いており、https(443)を既に使っている場合だろう。

しかし、ここでApacheを停止すると、UT-VPNが443ポートの状況を常に監視しているのか、即座にUT-VPNが443ポートを占有するのである。
今回現象が起こったサーバの場合、週に1回ログをローテーションするためにApacheを再起動しているのだが、Apacheが停止して再び起動する際、既にUT-VPNが443を占有しており、起動に失敗した。

正確にはこのサーバは少しおかしくて、apachectl restartするとなぜかたまにApacheが停止したまま上がらないことがあるので、数分後に明示的にapachectl startが動くようにしてあるのだが、そのタイミングでこの現象が起こった。
(apachectl restartがちゃんと動いたときはそういったことは起こらなかった。)

対処としては、UT-VPNが余計なポートを使わないようにすること。
(そもそも5555しか使っていないので、992とかが空いてるのもセキュリティ上よろしくない。)
utvpncmdから、ListenerListでポートの使用状況を確認する。

VPN Server>ListenerList
ListenerList コマンド - TCP リスナー一覧の取得
ポート番号|状態
----------+----------
TCP 443   |エラー発生
TCP 5555  |動作中
TCP 992  |動作中
コマンドは正常に終了しました。

なるほど、空いていなかったポートは「エラー発生」となっていたのか。
ListenerDeleteコマンドで余計なリスナーを削除する。

VPN Server>ListenerDelete    
ListenerDelete コマンド - TCP リスナーの削除
削除する TCP/IP リスナーのポート番号: 443

コマンドは正常に終了しました。

VPN Server>ListenerDelete    
ListenerDelete コマンド - TCP リスナーの削除
削除する TCP/IP リスナーのポート番号: 992

コマンドは正常に終了しました。

これで余計なポートは全て閉じた。

まあ、ちゃんと運用するサーバであれば最初から使うポートだけに絞るはずなので、こんな現象に遭遇することはまず無いとは思うのだけれど。