ドキュメント
クイックスタート + 機能・デバイスごとの解説(随時更新中)
ポート転送
本記事では、パネルの「ポート転送」——独立したグローバル IP を持つサーバーでの従来型ポート転送(iptables/nftables DNAT)について説明します。
ひとことで理解
グローバル IP を持つサーバーがあり、「あるグローバルポート」で受け取ったトラフィックを「別のマシン(または自機の別ポート)」へ自動的に転送したいとします。ポート転送はそれを実現する機能です。
機能概要
独立したグローバル IP を持つサーバーでは、システムファイアウォール(iptables/nftables)を使って「あるグローバルポート」の受信トラフィックを「対象 IP:ポート」へ転送できます。これが従来型の、システムレベルのポート転送です。
ポートトンネリングとの違い(先にどちらを使うか整理する)
| ポート転送(本記事) | ポートトンネリング | |
|---|---|---|
| 対象サーバー | 独立したグローバル IP あり | グローバル IP なし(トンネルサーバー) |
| 実現方法 | システムファイアウォール DNAT | リバーストンネル |
| 転送を行う位置 | 対象サーバーの自機 | パネルサーバー |
| Agent が必要 | いいえ | はい |
適用シーン
- サーバーのグローバル IP のとあるポートを、別のサーバーのサービスへ転送する
- 非標準ポート(8888 など)を標準サービスポートにマッピングする
- 社内マシンのサービスを、グローバル IP を持つマシン経由で公開する
例
グローバルサーバー 1.2.3.4 があり、社内マシン 192.168.1.100 で Web サービス(ポート 80)が動いているとします。外部の人が 1.2.3.4:8888 にアクセスすると社内の 80 番にアクセスしたのと同じにしたい場合:
- プロトコル:TCP
- 待ち受けポート:
8888 - 対象 IP:
192.168.1.100 - 対象ポート:
80
使い方
グローバル IP を持つ対象サーバーの「システム管理パネル → ファイアウォール → ポート転送」に入り、「ポート転送管理」を開きます:
1. 「転送を追加」をクリックし、以下を入力:
- プロトコル:TCP / UDP
- 待ち受けポート:グローバルの受信ポート
- 対象 IP:転送先の実際のアドレス(グローバル IP、またはルーティング可能な社内 IP)
- 対象ポート:対象サービスのポート
2. 作成すると、トラフィックが転送されます
3. 作成済みの転送は一覧表示され、編集または削除できます
技術的な説明(転送ルール)
パネルはサーバー上に自動的に 3 つのルールを設定します(TCP、待ち受け 8888、対象 192.168.1.100:80 の場合):
1. DNAT::8888 宛のトラフィックを 192.168.1.100:80 に書き換える
2. FORWARD 許可:転送の往路/復路のトラフィックを許可する
3. MASQUERADE:送信元アドレス変換を行い、戻りのパケットが正しく返るようにする
> 分かりやすく言うと:DNAT は「宛先を変える」、MASQUERADE は「戻り先アドレスを変える」もので、3 つのルールが揃って初めて転送が完全に機能します。
注意事項
1. 独立したグローバル IP が必要:ポート転送は対象サーバーの自機で行うため、このサーバーに独立したグローバル IP が必要です(トラフィックが実際にそこへ届くため)。
2. ファイアウォールの許可:別のサーバーへ転送する場合は、対象サーバー/中間ファイアウォールで対象ポートを許可する必要があります。
3. 編集 = 旧ルールの削除 + 新規作成:システムファイアウォールのルールはその場での変更に対応していないため、編集時は先に旧ルールを削除してから新ルールを追加します。
4. パネルは iptables-legacy / iptables / nftables の 3 つのバックエンドに自動対応し、手動で選択する必要はありません。