Firewall 越しの Zabbix のフロントエンドにアクセス


やりたいこと

最近、クラウド上にシステムを構築する場合が増えてきてませんか?
ネットワークアクセスが制限されていてsshアクセスしか許されていない場合もあると思います。
でも、監視ソフトウェアを導入した場合、アラート通知機能を利用するだけでなく、
ダッシュボードにもアクセスしたいと思いませんか?
私はアクセスしたいです。

ssh アクセスしか許されてないファイアウォールを越えて
Zabbixのフロントエンドにアクセスしたいのです!!

どうすればいいか?

ssh ポートフォワーディング機能 を使えば解決!!

ssh ポートフォワーディング機能が何かというと、
ざっくり言えば、ローカルマシンへの特定ポートへのアクセスを
ssh通信経路で接続先の任意のポートに転送できる便利機能です
(逆方向もできるみたいですが、使ったことはありません)。
詳細についてはgoogle先生に聞いてもらえれば詳しく解説した記事が見つかると思います。

具体的な手順

1. サーバA から サーバB へのssh接続でポートフォワーディング

sshコマンドに-Lオプションを指定して、ポートフォワーディングを設定します。この例では、ローカルの12345ポートへのアクセスをリモートの127.0.0.1:9820に転送しています。

% ssh -L 12345:127.0.0.1:9820 user@[サーバBのIPアドレス]

すると、以下の図のようにサーバAの12345ポートへのアクセスがサーバBの9820に転送されます。

2. 自端末からサーバAへのssh接続もポートフォワーディング

自端末がLinux系の場合

サーバAからサーバBへの接続同様にsshコマンドに-Lオプションを指定して、ポートフォワーディングを設定します。 

% ssh -L 23456:127.0.0.1:12345 user@[サーバAのIPアドレス]

自端末がWindowsの場合

Teratermなら [設定] > [SSH転送]にポート転送を追加します。

その結果、自端末の23456ポートへのアクセスがサーバAの12345ポートに転送され、既に設定済のサーバAからサーバBへのポートフォワーディングにより、さらにサーバBの9820に転送されます。

結果

ブラウザで http://localhost:23456/zabbix/ にアクセスすると...

Zabbix フロントエンドの認証画面にアクセスできました!!