第5章 ネットワークおよびポート設定
5.1. インターフェース
5.1.1. インターフェース
JBoss EAP は設定全体で名前付きインターフェース参照を使用します。これにより、使用ごとにインターフェースの完全な詳細を必要とせずに、論理名で個々のインターフェース宣言を参照する機能が提供されます。
論理名を使用すると、名前付きインターフェースへのグループ参照の整合性も可能にします。この場合、管理対象ドメインのサーバーインスタンスには複数のマシン間でさまざまなインターフェースの詳細が含まれる可能性があります。論理名では、各サーバーインスタンスが論理名グループに対応しているため、インターフェースグループの管理が容易になります。
ネットワークインターフェースは、物理インターフェースの論理名と選択基準を指定して宣言されます。
JBoss EAP のデフォルト設定には、
管理
インターフェースと パブリック
インターフェース名の両方が含まれます。管理
インターフェース名は、管理レイヤーを必要とするすべてのコンポーネントおよびサービス(HTTP 管理エンドポイントを含む)に使用できます。public
インターフェース名は、Web や Messaging などのアプリケーション関連のネットワーク通信すべてに使用できます。
デフォルト名の使用は必須ではありません。新しい論理名を作成し、デフォルト名に置き換えることができます。
domain.xml
、host.xml
、および standalone.xml
設定ファイルには、インターフェース宣言が含まれます。宣言基準はワイルドカードアドレスを参照したり、有効な一致となるためにインターフェースまたはアドレスで必要となる 1 つ以上の特性のセットを指定したりできます。
3 つの設定ファイルは直接編集可能ですが、手動編集は不要になりました。管理 CLI および管理コンソールは、設定の変更にセキュアで制御された永続的な環境を提供します。
以下の例は、通常は
standalone.xml
または host.xml
設定ファイルのいずれかで定義されるインターフェース宣言の複数の設定を示しています。これらのファイルを使用すると、リモートホストグループが特定のインターフェース属性を維持でき、引き続きドメインコントローラーインターフェースへの参照が許可されます。
以下の例は、管理およびパブリックの相対名グループに指定された特定の
inet-address
値を示しています。
例5.1 inet-address
値で作成されたインターフェースグループ
<interfaces> <interface name="management"> <inet-address value="127.0.0.1"/> </interface> <interface name="public"> <inet-address value="127.0.0.1"/> </interface> </interfaces>
以下の例は、グローバルインターフェースグループを示しています。
any-address
要素を使用してワイルドカードアドレスを宣言します。
例5.2 ワイルドカード宣言で作成されたグローバルグループ
<interface name="global"> <!-- Use the wild-card address --> <any-address/> </interface>
以下の例では、
external
という相対グループの下でネットワークインターフェースカード(eth0)を宣言します。
例5.3 NIC 値で作成された外部グループ
<interface name="external"> <nic name="eth0"/> </interface>
以下の例では、要件のあるデフォルトグループを宣言します。これらの要件は、インターフェースの条件を有効な一致に設定します。これは、JBoss EAP がインターフェースの名前を使用して参照できる特定のプロパティーを持つインターフェース宣言グループの作成を許可する方法の例になります。これは、複数のサーバーインスタンスにおける設定の複雑さおよび管理オーバーヘッドを軽減するのに役立ちます。
例5.4 特定の条件値で作成されたデフォルトグループ
<interface name="default"> <!-- Match any interface/address on the right subnet if it's up, supports multicast, and isn't point-to-point --> <subnet-match value="192.168.0.0/16"/> <up/> <multicast/> <not> <point-to-point/> </not> </interface>
5.1.2. インターフェースの設定
standalone.xml
および host.xml
設定ファイルのデフォルトのインターフェース設定は、それぞれ相対的なインターフェーストークンを持つ 3 つの名前付きインターフェースを提供します。以下の表にあるように、管理コンソールまたは管理 CLI を使用して追加の属性および値を設定します。必要に応じて、相対インターフェースバインディングは特定の値に置き換えることができますが、これを行う場合は、-b
スイッチが相対値しか上書きできないため、サーバー実行時にインターフェース値を渡すことができないことに注意してください。
例5.5 デフォルトインターフェース設定
<interfaces> <interface name="management"> <inet-address value="${jboss.bind.address.management:127.0.0.1}"/> </interface> <interface name="public"> <inet-address value="${jboss.bind.address:127.0.0.1}"/> </interface> <interface name="unsecure"> <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/> </interface> </interfaces>
管理対象ドメインで複数のサーバーを実行している間、インターフェースバインディングはそれぞれの
host.xml
ファイルの個別のサーバーに割り当てることができます。以下に例を示します。
<servers> <server name="server-name" group="main-server-group"> <interfaces> <interface name="public"> <inet-address value="ip-address"/> </interface> </interfaces> </server> </servers>
注記
上記の例では、server-name を実際のサーバー名に置き換え、ip-address を実際の IP アドレスに置き換えます。
インターフェース要素 | 説明 |
---|---|
any | インターフェースの選択基準の一部は、最低でも基準のネストされたセットの 1 つ (すべてとは限らない) を満たす必要があることを示す要素。 |
any-address |
このインターフェースを使用するソケットをワイルドカードアドレスにバインドする必要があることを示す空の要素。
java.net.preferIpV4Stack システムプロパティーが true に設定されていない限り、IPv6 ワイルドカードアドレス(::)が使用されます。true に設定すると、IPv4 ワイルドカードアドレス(0.0.0.0)が使用されます。
ソケットがデュアルスタックマシンの IPv6 anylocal アドレスにバインドされた場合は、IPv6 および IPv4 トラフィックを受け入れることができます。 IPv4 (IPv4 マッピング) anylocal アドレスにバインドされた場合は、IPv4 トラフィックのみを受け入れることができます。
|
any-ipv4-address | このインターフェースを使用するソケットを IPv4 ワイルドカードアドレス (0.0.0.0) にバインドする必要があることを示す空の要素。 |
any-ipv6-address | このインターフェースを使用するソケットを IPv6 ワイルドカードアドレス (::) にバインドする必要があることを示す空の要素。 |
inet-address | IPv6 または IPv4 のドット区切り表記の IP アドレス、または IP アドレスに解決できるホスト名。 |
link-local-address | インターフェースの選択基準の一部として、関連付けられたアドレスがリンクローカルであるかどうかを示す空の要素。 |
loopback | インターフェースの選択基準の一部として、ループバックインターフェースであるかどうかを示す空の要素。 |
loopback-address | マシンのループバックインターフェースで実際には設定できないループバックアドレス。IP アドレスが関連付けられた NIC が見つからない場合であっても該当する値が使用されるため、inet-address タイプとは異なります。 |
multicast | インターフェースの選択基準の一部として、マルチキャストをサポートするかどうかを示す空の要素。 |
nic | ネットワークインターフェースの名前 (eth0、eth1、lo など)。 |
nic-match | 使用できるインターフェースを見つけるために、マシンで利用可能なネットワークインターフェースの名前を検索する正規表現。 |
not | インターフェースの選択基準の一部は、基準のネストされたセットを満たしてはならないことを示す要素。 |
point-to-point | インターフェースの選択基準の一部として、ポイントツーポイントインターフェースであるかどうかを示す空の要素。 |
public-address | インターフェースの選択基準の一部として、公開されたルーティング可能なアドレスを持つかどうかを示す空の要素。 |
site-local-address | インターフェースの選択基準の一部として、関連付けられたアドレスがサイトローカルであるかどうかを示す空の要素。 |
subnet-match | 「スラッシュ表記法」で記述されたネットワーク IP アドレスとアドレスのネットワーク接頭辞のビット数(例:"192.168.0.0/16". |
up | インターフェースの選択基準の一部として、現在稼動しているかどうかを示す空の要素。 |
virtual | インターフェースの選択基準の一部として、仮想インターフェースであるかどうかを示す空の要素。 |
インターフェース属性の設定
管理 CLI でのインターフェース属性の設定
タブ補完を使用して、入力しながらコマンド文字列を補完したり、利用可能な属性を表示したりできます。管理 CLI を使用して、新しいサーバーを追加してインスタンスをそのサーバーに設定し、同じ設定を XML に追加します。server-name を実際のサーバー名に置き換え、ip-address を実際の IP アドレスに置き換えます。/host=master/server-config=server-name:add(group=main-server-group) /host=master/server-config=server-name/interface=public:add(inet-address=ip-address)
管理 CLI を使用して、新しいインターフェースを追加し、インターフェース属性に新しい値を書き込みます。新しいインターフェースの追加
add 操作は必要に応じて新しいインターフェースを作成します。add コマンドは、管理 CLI セッションのルートから実行され、以下の例では interfacename というタイトルの新しいインターフェース名を作成し、inet-address
が 12.0.0.2 として宣言されます。/interface=interfacename/:add(inet-address=12.0.0.2)
インターフェース属性の編集
write-attribute 操作は、新しい値を属性に書き込みます。以下の例では、inet-address
の値を 12.0.0.8 に更新します。/interface=interfacename/:write-attribute(name=inet-address, value=12.0.0.8)
インターフェース属性の検証
include-runtime=true
パラメーターを指定して read-resource 操作を実行し、サーバーモデルでアクティブな現在の値をすべて公開して、属性値が変更されたことを確認します。以下に例を示します。[standalone@localhost:9999 interface=public] :read-resource(include-runtime=true)
管理コンソールでのインターフェース属性の設定
管理コンソールへのログイン
管理対象ドメインまたはスタンドアロンサーバーインスタンスの管理コンソールにログインします。Configuration タブに移動します。
画面上部の Configuration タブを選択します。注記ドメインモードの場合は、画面左上の Profile ドロップダウンメニューからプロファイルを選択します。ナビゲーションメニュー から インターフェース を選択します。
ナビゲーションメニューから Interfaces メニュー項目を選択します。新しいインターフェースの追加
- Name、Inet Address、および Address Wildcard に、必要な値を入力します。
インターフェース属性の編集
- 利用可能なインターフェース の一覧から編集する必要があるインターフェースを選択し、 をクリックします。
- Name、Inet Address、および Address Wildcard に、必要な値を入力します。