3.6 ローカルブリッジ
「ローカルブリッジ接続機能」は、PacketiX VPN による VPN
を接続する上でよく使用する機能です。ローカルブリッジ接続を用いて、「仮想的なネットワーク」と「物理的なネットワーク」を、 Ethernet
のレベルで接続してください。ここではローカルブリッジの概念、設定方法および注意事項について解説します。
3.6.1 ローカルブリッジとは
「ローカルブリッジ接続機能」(以下「ローカルブリッジ」) を使用すると、VPN Server または VPN Bridge
内で動作している仮想 HUB と、そのサーバーコンピュータ上に接続されている物理的な LAN カードとの間を「レイヤ 2」で接続し、元々別々の
Ethernet セグメントとして動作していた 2 つのセグメントを 1 つのセグメントに結合することができます。
ローカルブリッジにより、仮想 HUB に接続しているコンピュータと物理的な LAN
に接続しているコンピュータの間で、互いに相手が物理的には別のネットワークに接続されているにもかかわらず、「論理的には同一の Ethernet
セグメント」に接続されていることになり、Ethernet のレベルで自由に通信することができるようになります。
ローカルブリッジを使用すると、リモートアクセス型 VPN および拠点間接続型の VPN
を簡単に構築することができます。詳しくは、「10.4 一般的なリモートアクセス VPN の構築」、「10.5 拠点間接続 VPN の構築 (ブリッジ接続を使用)」 および 「10.6 拠点間接続 VPN の構築 (IP ルーティングを使用)」 を参照してください。
図3-6-1 ローカルブリッジ機能 |
3.6.2 ローカルブリッジの設定と動作
ローカルブリッジを作成するために必要な権限
「ローカルブリッジ」は、VPN Server または VPN Bridge に物理的に接続されている LAN カード (Ethernet
アダプタ) と、仮想 HUB
の組み合わせを指定して定義します。ローカルブリッジを新しく作成したり、既存のローカルブリッジを削除したりすることができるのは、「VPN Server
全体の管理者」に限られます。仮想 HUB の管理者は、その仮想 HUB に対してのローカルブリッジであっても任意に作成することはできません。
ローカルブリッジの動作
「ローカルブリッジ」を定義すると、指定した仮想 HUB と物理的な LAN カードとの間で Ethernet
パケットを送受信することができるようになります。ローカルブリッジで指定されている仮想 HUB 名が存在しない場合や、物理的な LAN
カードが存在しないかオペレーティングシステムによって無効化されてしまっている場合は、そのローカルブリッジ機能は自動的に停止します。ただし、停止する要因になっている状態が解消されることによって自動的に再開します。
新しいローカルブリッジの作成
「ローカルブリッジ」を新規に定義するには、「VPN サーバー管理マネージャ」の [ローカルブリッジ設定] ボタンをクリックします。すると
[ローカルブリッジ設定] というダイアログボックスが表示されるので、[仮想 HUB] でローカルブリッジしたい仮想 HUB を選択し、[LAN
カード] でその仮想 HUB とブリッジしたい「LAN カード名」を選択して [ローカルブリッジを追加] ボタンをクリックしてください。
「vpncmd」では、「BridgeDeviceList」コマンドおよび「BridgeCreate」コマンドで
、同様の操作が可能です。
なお、新しいローカルブリッジを作成する際に「仮想 HUB 名」を指定しますが、存在しない仮想 HUB 名や、オフラインになっている仮想 HUB
名を指定してもエラーにはならずに、ローカルブリッジとして正しく登録されます。ただし、その名前の仮想 HUB
の動作が開始するまではローカルブリッジの状態は [オフライン] になります。
ローカルブリッジは複数作成することができます。ただし、同一の仮想 HUB と物理的な LAN
カードとの組み合わせを複数登録することはできません。
図3-6-2 ローカルブリッジ設定画面 |
ローカルブリッジの状態
ローカルブリッジの状態には、以下の「3 種類」があります。
- 動作中
ローカルブリッジは正しく動作しており、仮想 HUB と物理的な LAN カードの間で Ethernet
フレームを送受信しています。
- エラー発生
オペレーティングシステムに対して、物理的な LAN
カードにアクセスするように要求した結果、そのデバイスが存在しないなどのエラーが発生しています。
- オフライン
ローカルブリッジとして指定されている仮想 HUB が、存在しないか、またはオフラインです。
仮想 LAN カードとのローカルブリッジ
VPN Server または VPN Bridge をインストールしているコンピュータに、VPN Client
がインストールされており仮想 LAN カードがシステムに登録されている場合は、物理的な LAN カード一覧に仮想 LAN
カードも表示されます。この場合、技術的には仮想 HUB と仮想 LAN
カードの間でローカルブリッジを構成することは可能ですが、実際にはそのような構成を行うメリットはほとんどありません。
3.6.3 ローカルブリッジ用の LAN カードの準備
ローカルブリッジ用に新しい物理的な LAN カードを増設する
仮想 HUB と物理的な LAN カードとの間でローカルブリッジ接続を行うことによって、仮想 HUB および仮想 HUB
にリモート接続した VPN Client や他の仮想 HUB
が、ローカルブリッジ先の物理的なネットワークと同一セグメントとして直接通信できるようになります。
この場合、ローカルブリッジ接続先として指定したい物理的な LAN が、その VPN Server または VPN Bridge
が通常の通信 (つまり他の VPN ソフトウェアとの VPN 通信) に使用している LAN と同一である場合が多くあります。たとえば社内
LAN などの内部に VPN Bridge を設置し、別の場所にある LAN とインターネット経由で「拠点間接続」を行いたい場合、その VPN
Bridge がインターネットにアクセスするために使用する LAN とブリッジ接続の対象となる LAN は同一の LAN であることになります。
このような場合は、物理的な LAN に対してローカルブリッジを行う際に使用する物理的な LAN カードとして、その VPN Server
または VPN Bridge が VPN 通信のための物理的な通信を行う LAN
カード自身を指定することも可能ですが、この場合は下記のような問題が発生します。
- VPN Server または VPN Bridge が、別の VPN Server とのカスケード接続などのための VPN
通信に使用しているフレームと、ローカルブリッジの対象となるフレームとを分離する作業が必要になり、このため CPU
時間が消費され、通信速度が低速になります。
- 物理的な LAN カードに対して入力された Ethernet フレームを、オペレーティングシステム内で TCP/IP
プロトコルスタックへのフレームバッファと、ローカルブリッジを行うために入力する際に必要となるフレームバッファの 2
つに複製しなければならないので、CPU 時間およびメモリ負荷が発生し、通信速度が低速になります。
したがって、物理的な LAN とローカルブリッジ接続を行う場合は、可能であれば VPN Server または VPN Bridge
を動作させるコンピュータに物理的に新しい LAN カードを増設し、その LAN
カードを「ローカルブリッジ専用」として使用するべきです。ただし、コンピュータに空きの PCI スロットが 1
つもないような場合や、組み込みハードウェアで Ethernet ポートが物理的に増設できない場合は、この限りではありません。
図3-6-3 ローカルブリッジ用 LAN カードの準備 |
ローカルブリッジ用の LAN カードではプロトコルスタックを使用しない
ローカルブリッジ用に、コンピュータに用意したローカルブリッジ専用 LAN カードがある場合には、パフォーマンスを向上させるために、その LAN
カードには TCP/IP プロトコルや他のプロトコルスタックなどを「無効」にすることを推奨します。ローカルブリッジ用の LAN カードの役割は、仮想
HUB と物理的な LAN との間の Ethernet フレームの公開であり、仮想 HUB
を動作させているオペレーティングシステムのプロトコルスタックがその LAN カードに対して介入する必要は全くないからです。
Windows の場合は、TCP/IP プロトコルやその他のネットワークプロトコル、Microsoft
ネットワーククライアントなどのファイル共有サービスなど、すべてのプロトコルやサービスなどをローカルブリッジ用の LAN
カードから解除することができます。この設定を行うには、Windows の [ネットワーク接続] プロパティなどで LAN
カードのプロパティを開き、すべてのプロトコルとサービスのチェックボックスを解除してください。
図3-6-4 ローカルブリッジ用 LAN カードからプロトコルスタックのバインドを解除 |
なお、技術的な都合によってローカルブリッジ用 LAN カードのプロトコルスタックを無効化することができないような場合でも、TCP/IP
プロトコルの設定を変更し、その LAN カードが DHCP サーバーから IP
アドレスを取得しないように設定してください。この設定を行わない場合、ローカルブリッジ用の LAN カードが DHCP サーバーから
1 つの IP アドレスの割り当てを自動的に受けてしまったり、その結果ルーティングテーブルが崩れて VPN
通信が不安定になるなどの問題が発生することになります。
図3-6-5 ローカルブリッジ用 LAN カードへ固定 IP アドレスを設定 |
Linux や Solaris の場合は、ローカルブリッジ用 LAN カードに対して「ifconfig」コマンドなどで、IP アドレス「0.0.0.0」を割り当てるなどの方法で
、同等の効果を得ることができます。
3.6.4 ローカルブリッジセッション
仮想 HUB にローカルブリッジが関連付けられている場合、その仮想 HUB の「セッション一覧」を表示すると、「ローカルブリッジセッション
」(ユーザー名が "Local Bridge" のセッション) が存在していることが分かります。ローカルブリッジセッションは
、VPN Server
が仮想 HUB と物理的な LAN カードとの間を接続するために仮想 HUB に対して自動的に作成する仮想的なセッションです。
図3-6-6 ローカルブリッジセッションの状態表示画面 |
3.6.5 対応する LAN カードの種類
ローカルブリッジに使用する LAN カードの必要条件
ローカルブリッジ機能は、下記の条件を満たした LAN カードに対応しています。
- オペレーティングシステムが「Ethernet (IEEE802.3)
デバイス」として認識することができるデバイスドライバを持ったネットワークアダプタ。
- MTU (Ethernet ヘッダを含まない) として、「1,500 バイト」までの送受信が問題なく行えるもの。
- 「プロミスキャスモード」で動作することが可能なもの。
- ハードウェアおよびデバイスドライバの性能や FIFO
バッファの容量が十分にあり、高負荷をかけた場合でも、ソフトウェアまたはハードウェアがクラッシュしたり、発熱などによって動作が不安定にならないもの。
推奨する LAN カード
ソフトイーサ株式会社では、社内での検証の結果、下記の LAN カードの性能が非常に高いことを認め、これらの LAN
カードの使用を推奨しています。ただし、その他の LAN
カードであっても、一般的にローカルブリッジ対象として使用することは問題はありません。もしお使いの LAN
カードの性能が不足しており、ローカルブリッジ時に十分なパフォーマンスを得ることができないような場合は、下記の LAN カードへの交換をご検討ください。
製造元 |
製品シリーズ |
通信規格 |
Intel |
Intel PRO シリーズ |
100Base-TX
1000Base-T
1000Base-SX
1000Base-LX
10GBase-SR
10GBase-LR |
Broadcom |
Broadcom NetXtreme シリーズ |
100Base-TX
1000Base-T |
3Com |
3Com シリーズ |
100Base-TX
1000Base-T |
3.6.6 プロミスキャスモードに対応していない LAN カードの使用
プロミスキャスモードに対応していない LAN カード
一部の LAN カードや LAN カードドライバは、「プロミスキャスモード」に対応していない場合があります。原則として VPN Server / VPN
Bridge では、プロミスキャスモードに対応していない LAN カードをローカルブリッジのために使用することはできません。
なお、ほとんどの物理的な LAN カードは、プロミスキャスモードに対応しているため、問題なく使用できます。
プロミスキャスモードに対応していない LAN カードには、代表的なものとして下記のようなものがあります。
- 無線 LAN (IEEE802.11) 用の LAN カード。
- その他プロミスキャスモードに移行することができないデバイスドライバを持った LAN カード。
プロミスキャスモード非対応 LAN カードを強制的に使用する方法
プロミスキャスモードに対応していない LAN
カードを、強制的に使用することが可能です。ただし、多くの制限事項が発生するため、この方法はお勧めできません。この方法は通常は使用せず、どうしてもプロミスキャスモードに対応していない
LAN カードを、ローカルブリッジのために使用したい場合に適用してください。
この設定を行うためには、ローカルブリッジを定義したあと、VPN Server の「コンフィグレーションファイル」の「LocalBridgeList」ノード内の
「LocalBridge0」などの名前で定義される、目的の LAN
カード名が指定されているローカルブリッジ定義エントリ内の「NoPromiscuousMode」を「true」に書き換えてください。具体例は、下記のとおりです。
declare LocalBridgeList
{
declare LocalBridge0
{
string DeviceName Intel(R)$20PRO/1000$20MT
bool FullBroadcastMode false
string HubName SoftEther$20Network
bool MonitorMode false
bool NoPromiscuousMode true
}
}
|
3.6.7 タグ付き VLAN フレーム
PacketiX VPN では、「タグ付き VLAN フレーム」の使用に対応する場合があります。ただし、対応状況はローカルブリッジに使用する
LAN カードの種類や、デバイスドライバの特性に依存します。また、タグ付き VLAN
フレームを正しく扱うことができるかどうかについて、ソフトイーサ株式会社は保証していませんのでご注意ください。タグ付き VLAN
フレームが流れているネットワークを仮想 HUB にブリッジ接続する場合は、下記のようになります。
ローカルブリッジ用 LAN カードがタグ付き VLAN フレームに対応している場合
LAN カードのデバイスドライバなどの設定を行い、タグ付き VLAN に関する設定を行ってください。設定方法は LAN
カードのハードウェアマニュアルなどを参照してください。
ローカルブリッジ用 LAN カードがタグ付き VLAN フレームに対応していない場合
LAN カードのハードウェアが、タグ付き VLAN フレームに対応していない場合は、もしタグ付き VLAN フレームが LAN
カードから入力された場合でも、タグ部分は通常の Ethernet
フレームの一部としてソフトウェア的に読み取ることができます。このような場合は、PacketiX VPN はそのフレームが物理的に流れる
Ethernet フレームを、そのまま仮想化・カプセル化して VPN に流します。ただし、タグ付き VLAN フレームを含めてすべてのフレームは
、MAC ヘッダを含めて「1,514 バイト」を超えることはできません。
3.6.8 仮想 HUB 内の通信内容を LAN カードにすべて出力するモード
ローカルブリッジをモニタモードに設定する方法
「3.4.10 モニタリングモードセッション通信」 で解説されているような機能を使用すると、仮想 HUB に VPN 接続したユーザーは、その仮想 HUB
内を流れるすべての仮想 Ethernet フレームを受信 (傍受) することができます。これと同様の動作を、ローカルブリッジしている仮想 LAN
カードに対して行うことができます。
ローカルブリッジ接続の定義で「モニタモード」を有効にすると、ローカルブリッジ接続している LAN カードからは、その仮想 HUB
内を流れるすべての Ethernet
フレームが出力されます。ローカルブリッジ接続をモニタモードに設定する操作は通常は使用せず、またセキュリティ上危険なため「VPN
サーバー管理マネージャ」や「vpncmd」コマンドからは直接行うことができないようになっています。ローカルブリッジ接続をモニタモードに設定するには、ローカルブリッジを定義したあと、VPN
Server の「コンフィグレーションファイル」の「LocalBridgeList」ノード内の「LocalBridge0」などの名前で定義される
、目的の LAN カード名が指定されているローカルブリッジ定義エントリ内の「MonitorMode」を「true」に書き換えてください。具体例は、下記のとおりです。
declare LocalBridgeList
{
declare LocalBridge0
{
string DeviceName Intel(R)$20PRO/1000$20MT
bool FullBroadcastMode false
string HubName SoftEther$20Network
bool MonitorMode true
bool NoPromiscuousMode false
}
}
|
モニタモードに設定した LAN カードの LAN ポートに別の機器を接続し、その機器で仮想 HUB
を流れるすべてのパケットを傍受することができます。なお、モニタリングモード (「3.4.10 モニタリングモードセッション通信」 を参照してください)
と同様に、仮想 LAN 内にパケットを発信することはできません。
モニタモードに設定した LAN カードの使用方法
仮想 HUB に対して「モニタモード」で設定してローカルブリッジ接続している LAN カードに、ネットワークを流れるすべての Ethernet
フレームをキャプチャして、ログとして保存する外付けハードウェアや IDS または IDP などのセキュリティ装置を接続することにより、仮想 HUB
内を流れるすべての通信内容をモニタリングすることができます。
図3-6-7 この図は通常のモニタモードで接続した VPN セッションの図であるが、「モニタモード」に設定した LAN
カードはこの図の「システム管理者」と同等に仮想 HUB 内のすべての Ethernet フレームを物理的に受け取れる |
仮想 HUB 内を流れる仮想 Ethernet
フレームの数が、コンピュータや周辺デバイスの処理能力を超えているような場合やフレームバッファの空き容量が不足してしまった場合は、PacketiX
VPN
ソフトウェアはそのフレームを破棄してシステム全体の安定性を保とうとする場合があります。したがって、状況によっては、すべてのフレームを受信できない場合があります。 |
3.6.9 tap デバイスの使用
Linux 版 VPN Server / VPN Bridge
を使用している場合は、ローカルブリッジ先のネットワークデバイスとして、既存の物理的な LAN カードを指定するのではなく、新しい「tap
デバイス」を作成して、その tap デバイスに対してブリッジ処理を行うことが可能です。この場合、「Universal TUN/TAP」デバイスがカーネルに組み込まれており、
「/dev/net/tun ファイル」としてアクセスすることが可能である必要があります。
この機能によって生成された tap デバイスは、仮想 HUB に直接接続した仮想 LAN カードのように振舞います。tap
デバイスは仮想ネットワークに関して十分高度な知識をお持ちの場合にのみ使用してください。
登録された tap デバイスの表示および IP アドレスなどの設定を行いたい場合は、「ifconfig」コマンドを使用します。tap
デバイス名は Linux カーネルにおいて "tap_" という名前で始まるネットワークインターフェイスとして認識されます。
# ifconfig
tap_test Link encap:Ethernet HWaddr 00:AC:11:9F:E2:8F
inet6 addr: fe80::2ac:11ff:fe9f:e28f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:0 (0.0 b) TX bytes:308 (308.0 b)
|
3.6.10 Windows におけるローカルブリッジの注意事項
Windows オペレーティングシステムで、「ローカルブリッジ機能」を使用する場合の注意事項は、下記のとおりです。
- ローカルブリッジ機能を使用するには、VPN Server / VPN Bridge
を「サービスモード」として動作させる必要があります (「ユーザーモード」で起動する際は「Administrators 権限」が必要です)。
- 「一般ユーザー権限」で VPN Server / VPN Bridge を起動している場合は、ローカルブリッジ機能は無効になります。
- 古いバージョンの Windows (Windows 98 / Windows 98 Second Edition /
Windows Millennium Edition / Windows NT 4.0 Workstation / Windows NT
4.0 Server / Windows NT 4.0 Server, Enterprise Edition)
を使用している場合は、ローカルブリッジ接続を行う際に「WinPcap」ソフトウェアをインストールしなければなりません。「VPN
サーバー管理マネージャ」を使用している場合は、自動的に WinPcap のインストーラが起動してインストール処理が行われます。
- Windows 2000 以降の新しい Windows では、WinPcap のインストールは不要です。PacketiX VPN
はローカルブリッジ用のプログラムを、カーネル内で動作させてローカルブリッジに必要な処理を行います。
- 「ハードウェアオフローディング処理」をサポートしている LAN
カードなどをローカルブリッジ接続に使用する場合は、ローカルブリッジ接続を構成してから一度コンピュータを再起動することを推奨します。再起動しない場合でもローカルブリッジは動作しますが、通信が不安定になる場合があります。このような場合は、コンピュータを再起動してください。再起動時にハードウェアオフローディング処理を無効化する設定が適用され、再起動後に安定して動作するようになります。
- ローカルブリッジ先の LAN
カード一覧として指定することができる「デバイス名」は、そのデバイスのハードウェアデバイスドライバが報告した名前が表示されます。なお、同一の種類のデバイスが
2 枚以上接続されている場合は、2 枚目以降のデバイス名の末尾に「(2)」「(3)」などの名前が付き区別されます。この場合、どの LAN
カード名が、物理的のどの LAN
カードに対応しているかは一般的に未定義ですが、一度正しく設定を行った後は、通常はコンピュータを再起動してもデバイス順序が変わることはありません。
3.6.11 Linux におけるローカルブリッジの注意事項
Linux オペレーティングシステムで「ローカルブリッジ機能」を使用する場合の注意事項は、下記のとおりです。
- ローカルブリッジ機能を使用するには、VPN Server / VPN Bridge
を「サービスモード」で動作させる必要があります (「ユーザーモード」で起動する際は、「root 権限」が必要です)。
- 「一般ユーザー権限」で VPN Server / VPN Bridge を起動している場合はローカルブリッジ機能は無効になります。
- Linux カーネルに、ネットワークアダプタへの低レベルアクセス用の「ソケットインターフェイス」(Packet Socket
と呼ばれる場合もあります) が組み込まれていない場合は、組み込む必要があります。なお、最近のほとんどの Linux
カーネルでは問題ありません。
- 「ハードウェアオフローディング処理」をサポートしている LAN
カードなどを、ローカルブリッジ接続に使用する場合で通信が不安定な場合は、ハードウェアオフローディング処理を無効にしてください。詳しくはハードウェアのマニュアルを参照してください。
- Linux オペレーティングシステム内部での制限事項により、VPN 側 (仮想 HUB 側) からローカルブリッジしている
LAN カードに割り当てられる IP アドレスに対して通信を行うことはできません。この制限は PacketiX VPN
が原因ではなく、Linux の内部構造に原因があります。もし VPN 側 (仮想 HUB 側) から Linux
でローカルブリッジに使用しているコンピュータ本体と、何らかの通信を行いたい場合 (たとえば VPN Server / VPN Bridge
サービスと HTTP サーバーサービスを両方動作させており、VPN 側からもサーバーサービスにアクセスさせたい場合)
は、ローカルブリッジ用の LAN カードを用意して接続し、その LAN カードと既存の LAN
カードの両方を物理的に同じセグメントに接続してください (この他の場合においても 「3.6.3 ローカルブリッジ用の LAN カードの準備」 で解説したように、ローカルブリッジに使用する LAN カードはそのための単独のものを用意することが推奨されています)。
- Windows では、すべての LAN カードの名前としてデバイス名を指定することができますが、Linux では「eth0」「eth1」などの
「ネットワークデバイス名」を指定します。これらのデバイス名については、「ifconfig -a」コマンドで取得することができます。
3.6.12 Solaris におけるローカルブリッジの注意事項
Solaris オペレーティングシステムで「ローカルブリッジ機能」を使用する場合の注意事項は、下記のとおりです。
- ローカルブリッジ機能を使用するには、VPN Server / VPN Bridge を root
権限で動作させる必要があります。
- 「一般ユーザー権限」で VPN Server / VPN Bridge を起動している場合はローカルブリッジ機能は無効になります。
- 「ハードウェアオフローディング処理」をサポートしている LAN
カードなどを、ローカルブリッジ接続に使用する場合で通信が不安定な場合は、ハードウェアオフローディング処理を無効にしてください。詳しくはハードウェアのマニュアルを参照してください。
- Solaris オペレーティングシステム内部での制限事項により、VPN 側 (仮想 HUB 側) からローカルブリッジしている
LAN カードに割り当てられる IP アドレスに対して通信を行うことはできません。この制限は PacketiX VPN
が原因ではなく、Solaris の内部構造に原因があります。もし VPN 側 (仮想 HUB 側) から Solaris
でローカルブリッジに使用しているコンピュータ本体と、何らかの通信を行いたい場合 (たとえば VPN Server / VPN Bridge
サービスと HTTP サーバーサービスを両方動作させており、VPN 側からもサーバーサービスにアクセスさせたい場合)
は、ローカルブリッジ用の LAN カードを用意して接続し、その LAN カードと既存の LAN
カードの両方を物理的に同じセグメントに接続してください (この他の場合においても 「3.6.3 ローカルブリッジ用の LAN カードの準備」 で解説したように、ローカルブリッジに使用する LAN カードはそのための単独のものを用意することが推奨されています)。
- Windows では、すべての LAN カードの名前としてデバイス名を指定することができますが、Solaris では「e1000」などの「ネットワークデバイス名」を指定します。これらのデバイス名については、「ifconfig -a」コマンドで取得することができます。
|