Oracle Solaris では、複数のインタフェースを持つシステムは「マルチホームホスト」であると見なされます。マルチホームホストは IP パケットを転送しません。ただし、経路制御プロトコルを実行するようにマルチホームホストを構成することはできます。一般に、次のような種類のシステムをマルチホームホストとして構成します。
NFS サーバー、特に大規模なデータセンターとして機能する NFS サーバーを複数のネットワークに接続することによって、多数のユーザー間でファイルを共有できるようになります。この種のサーバーは経路制御テーブルを備えている必要はありません。
データベースサーバーは、NFS サーバーと同様に、多数のユーザーに資源を提供する目的で複数のネットワークインタフェースを持つことができます。
ファイアウォールゲートウェイは、企業のネットワークとインターネットなどの公共ネットワークとの間の接続を提供するシステムです。管理者は、セキュリティーの手段としてファイアウォールを設定します。ファイアウォールとして構成されたホストは、ホストのインタフェースに接続されたネットワーク間でのパケット交換を行いません。ただしこの場合でも、承認ユーザーに対する ssh など、ホストは標準的な TCP/IP サービスを提供します。
いずれかのインタフェース上に異なる種類のファイアウォールがあるマルチホームホストの場合は、ホストのパケットが意図せずに中断されることがないよう注意してください。この問題は、特にステートフルなファイアウォールで発生します。解決策の 1 つは、ステートレスなファイアウォールを構成することです。ファイアウォールの詳細は、『Solaris のシステム管理 (セキュリティサービス)』の「ファイアウォールシステム」またはサードパーティーのファイアウォールのマニュアルを参照してください。
予定するマルチホームホストで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
Oracle Solaris インストールの一部として構成されなかった追加の各ネットワークインタフェースを、構成して plumb します。
詳細は、「システムインストール後に物理インタフェースを構成する方法」を参照してください。
マルチホームホストで IP 転送が使用可能になっていないことを確認します。
# routeadm |
オプションを指定せずに routeadm コマンドを実行すると、経路制御デーモンの状態が報告されます。次の routeadm の出力は、IPv4 転送が有効になっていることを示しています。
Configuration Current Current Option Configuration System State --------------------------------------------------------------- IPv4 routing disabled disabled IPv6 routing disabled disabled IPv4 forwarding enabled disabled IPv6 forwarding disabled disabled Routing services "route:default ripng:default" |
システムでパケット転送が有効になっている場合は、パケット転送をオフに設定します。
次のコマンドのいずれかを使用します。
routeadm コマンドの場合は、次のように入力します。
# routeadm -d ipv4-forwarding -u |
SMF を使用する場合は、次のように入力します。
# svcadm disable ipv4-forwarding |
(省略可能) マルチホームホストの動的経路制御をオンに設定します。
次のいずれかのコマンドを使用して、in.routed デーモンを有効にします。
routeadm コマンドの場合は、次のように入力します。
# routeadm -e ipv4-routing -u |
SMF を使用する場合は、次のように入力します。
# svcadm enable route:default |
次の例は、図 5–3 に示されているマルチホームホストを構成する方法を示しています。この例で、システムのホスト名は hostc です。このホストには 2 つのインタフェースがあり、両方ともネットワーク 192.168.5.0 に接続されています。
まず、システムのインタフェースの状態を表示します。
# dladm show-link hme0 type: legacy mtu: 1500 device: hme0 qfe0 type: legacy mtu: 1500 device: qfe0 qfe1 type: legacy mtu: 1500 device: qfe1 qfe2 type: legacy mtu: 1500 device: qfe2 qfe3 type: legacy mtu: 1500 device: qfe3 # ifconfig -a lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.5.82 netmask ff000000 broadcast 192.255.255.255 ether 8:0:20:c1:1b:c6 |
dladm show-link コマンドの報告は、hostc にはインタフェースが 2 つあり、可能なリンクが合計 5 つあることを示しています。ただし、hme0 だけが plumb されています。hostc をマルチホームホストとして構成するには、qfe NIC の qfe0 または別のリンクを追加する必要があります。まず、qfe0 インタフェースを 192.168.5.0 ネットワークに物理的に接続します。次に、qfe0 インタフェースを plumb し、リブート後も保持されるようにします。
# ifconfig qf0 plumb up # ifconfig qfe0 192.168.5.85 # ifconfig -a lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.5.82 netmask ff0000 broadcast 192.255.255.255 ether 8:0:20:c1:1b:c6 qfe0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 192.168.5.85 netmask ff000000 broadcast 192.255.255.255 ether 8:0:20:e1:3b:c4 # vi /etc/hostname.qfe0 192.168.5.85 255.0.0.0 |
再構成用ブートコマンドを使用して、システムをリブートします。
# reboot -- -r |
次に、qfe0 インタフェースを hosts データベースに追加します。
# vi /etc/inet/hosts 127.0.0.1 localhost 192.168.5.82 host3 #primary network interface for host3 192.168.5.85 host3-2 #second interface |
その後、host3 でのパケット転送と経路制御の状態を確認します。
# routeadm Configuration Current Current Option Configuration System State --------------------------------------------------------------- IPv4 routing enabled enabled IPv6 routing disabled disabled IPv4 forwarding enabled enabled IPv6 forwarding disabled disabled Routing services "route:default ripng:default" |
routeadm コマンドの報告は、in.routed デーモンによる動的経路制御とパケット転送が現在有効になっていることを示しています。ただし、パケット転送を無効にする必要があります。
# svcadm disable ipv4-forwarding |
「マルチホームホストの作成方法」で説明されているように、routeadm コマンドを使用してパケット転送をオフに設定することもできます。パケット転送を無効にすると、host3 はマルチホームホストになります。