ネットワークフォワードを設定するには#

注釈

ネットワークフォワードは OVN ネットワークブリッジネットワーク で利用できます。

ネットワークフォワードは外部 IP アドレス(あるいは外部 IP アドレスの特定のポート)をフォワード設定が属するネットワーク内の内部 IP アドレス(あるいは内部 IP アドレスの特定のポート)にフォワードする機能です。

この機能は外部 IP アドレスが限定されていて 1 つの外部アドレスを複数のインスタンスで共有したい場合に有用です。 この場合にネットワークフォワードを 2 つの異なる方法で利用できます。

  • 外部アドレスからの全てのトラフィックを 1 つのインスタンスの内部アドレスにフォワードします。この方法はネットワークフォワードを単に再設定することで外部アドレスに向けられたトラフィックを別のインスタンスに簡単に移動できます。

  • 外部アドレスの異なるポートからのトラフィックを異なるインスタンスにフォワードします (さらにこれらのインスタンスの異なるポートにフォワードもできます)。この方法は外部 IP アドレスを「共有」し、複数のインスタンスを一度に公開できます。

ネットワークフォワードを作成する#

ネットワークフォワードを作成するには以下のコマンドを使用します。

lxc network forward create <network_name> <listen_address> [configuration_options...]

それぞれのフォワードはネットワークに割り当てられます。 フォワードには単一の外部リッスンアドレスが必要です (使用しているネットワークに応じてどのアドレスがフォワードできるかについて詳細は リッスンアドレスの要件 を参照してください)。

さらに target_address=<IP_address> 設定オプションを追加することでデフォルトのターゲットアドレスを追加することもできます。 こうするとポート指定にマッチしないトラフィックは全てこのアドレスにフォワードします。 このターゲットアドレスはフォワードが関連付けられるネットワークと同じサブネット内でなければならないことに注意してください。

フォワードのプロパティ#

ネットワークフォワードのプロパティには以下のものがあります。

プロパティ

必須

説明

listen_address

string

yes

リッスンする IP アドレス

description

string

no

ネットワークフォワードの説明

config

string set

no

キー/バリューペア形式の設定オプション (target_addressuser.* カスタムキーのみサポート)

ports

port list

no

ポート指定 のリスト

リッスンアドレスの要件#

有効なリッスンアドレスの要件はフォワードがどのネットワークタイプに割り当てられるかに応じて異なります。

ブリッジネットワーク
  • 任意の衝突しないリッスンアドレスが使用できます。

  • リッスンアドレスは他のネットワークで使用中のサブネットとオーバーラップはできません。

OVN ネットワーク
  • 利用可能なリッスンアドレスはアップリンクネットワークの ipv{n}.routes 設定か (設定されている場合は) プロジェクトの restricted.networks.subnets 設定で定義されていなければなりません。

  • リッスンアドレスは他のネットワークで使用中のサブネットとオーバーラップはできません。

ポートを設定する#

リッスンアドレスの特定のポートからターゲットアドレスの特定のポートにトラフィックをフォワードするためにネットワークフォワードにポート指定を追加できます。 このターゲットアドレスはデフォルトターゲットアドレスとは異なるものである必要があります。 またフォワードを割り当てるネットワークと同じサブネットである必要があります。

ポート指定を追加するには以下のコマンドを使用します。

lxc network forward port add <network_name> <listen_address> <protocol> <listen_ports> <target_address> [<target_ports>]

単一のポートか一組のポートを指定できます。 異なるポートにトラフィックをフォワードしたい場合、 2 つの選択肢があります。

  • 単一のターゲットポートを指定し、全てのリッスンポートからのトラフィックをこのターゲットポートにフォワードします。

  • リッスンポートと同じ数の一組のターゲットポートを指定し、最初のリッスンポートを最初のターゲットポートに、 2 番目のリッスンポートを 2 番目のターゲットポートに、以下同様というようにフォワードします。

ポートのプロパティ#

ネットワークフォワードポートのプロパティには以下のものがあります。

プロパティ

必須

説明

protocol

string

yes

ポートのプロトコル (tcp or udp)

listen_port

string

yes

リッスンするポート (例 80,90-100)

target_address

string

yes

フォワード先の IP アドレス

target_port

string

no

ターゲットのポート (例 70,80-90 or 90)、 空の場合は listen_port と同じ

description

string

no

ポートの説明

ネットワークフォワードを編集する#

ネットワークフォワードを編集するには以下のコマンドを使用します。

lxc network forward edit <network_name> <listen_address>

このコマンドはネットワークフォワードを編集用に YAML 形式でオープンします。 全般の設定とポート指定の両方を編集できます。

ネットワークフォワードを削除する#

ネットワークフォワードを削除するには以下のコマンドを使用します。

lxc network forward delete <network_name> <listen_address>