ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Solaris のシステム管理 (IP サービス) Oracle Solaris 10 8/11 Information Library (日本語) |
1. Oracle Solaris TCP/IP プロトコル群 (概要)
5. TCP/IP ネットワークサービスと IPv4 アドレス指定の構成 (作業)
IPv4 アドレスおよびその他のネットワーク構成パラメータを変更する方法
TCP ラッパーを使って TCP サービスのアクセスを制御する方法
10. TCP/IP と IPv4 の詳細 (リファレンス)
18. DHCP コマンドと DHCP ファイル (リファレンス)
21. IP セキュリティーアーキテクチャー (リファレンス)
25. Oracle Solaris の IP フィルタ (概要)
29. モバイル IP のファイルおよびコマンド (リファレンス)
この節では、IPv4 ネットワーク上のルーターとホストに対して転送と経路制御を設定する手順および例を示します。
「パケット転送」は、ネットワーク上のシステム間で情報を共有するための基本的な方法です。転送元インタフェースと転送先インタフェース間で、パケットが転送されます。通常、2 つのインタフェースのシステムは異なります。ローカルでないインタフェースにコマンドを発行するかメッセージを送信すると、システムによりこれらのパケットがローカルネットワーク上に転送されます。その後、パケットヘッダー内に指定された宛先 IP アドレスを持つインタフェースが、ローカルネットワークからパケットを取得します。着信先アドレスがローカルネットワーク上に存在しない場合、パケットは隣接するネットワークに転送 (ホップ) されます。デフォルトでは、パケット転送は Oracle Solaris のインストール時に自動的に設定されます。
「経路制御」は、システムがパケットの送信先を決定する処理のことです。システム上の経路制御プロトコルは、ローカルネットワーク上のほかのシステムを「検出」します。送信元システムと送信先システムが同じローカルネットワーク上にある場合、これらのシステム間でパケットが通過する経路は「直接ルート」と呼ばれます。パケットが送信元システムのあとに少なくとも 1 つのホップを通過しなければならない場合、送信元システムと送信先システムの間の経路は「間接ルート」と呼ばれます。経路制御プロトコルは、転送先インタフェースへのパスを取得して、既知の送信ルートに関するデータをシステムの「経路制御テーブル」内に保持します。
「ルーター」は、複数の物理インタフェースを備える、特別に構成されたシステムです。ルーターは、この物理インタフェースを介して複数のローカルネットワークに接続されます。このため、ルーターは、経路制御プロトコルを実行するかどうかに関係なく、ホームの LAN を越えてパケットを転送できます。ルーターによるパケット転送方法の詳細は、「ネットワーク上でのルーターの計画」を参照してください。
「経路制御プロトコル」は、システムでの経路制御活動を処理し、経路制御情報をほかのホストと交換することで、リモートネットワークへの既知のルートを維持管理します。経路制御プロトコルはルーターとホストの両方で実行できます。ホストの経路制御プロトコルは、ほかのルーターやホストの経路制御デーモンと通信します。ホストはこれらのプロトコルを利用して、パケットの転送先を決定します。ネットワークインタフェースが使用可能な場合、システムは経路制御デーモンとの通信を自動的に行います。これらのデーモンは、ネットワーク上のルーターの状態を監視し、ローカルネットワーク上のホストにルーターのアドレスを通知します。すべてではありませんが、一部の経路制御プロトコルは統計情報も保持します。この統計を使って、経路制御パフォーマンスを計測できます。パケット転送とは異なり、Oracle Solaris システム上で経路制御を明示的に設定する必要があります。
この節では、パケット転送の管理および IPv4 ルーターとホスト上での経路制御のタスクについて説明します。IPv6 が有効なネットワークでの経路制御については、「IPv6 ルーターの構成」を参照してください。
経路制御プロトコルは、内部ゲートウェイプロトコル (IGP)、外部ゲートウェイプロトコル (EGP)、またはそれらの組み合わせに分類されます。「内部ゲートウェイプロトコル」は、一般的な管理制御下で、ネットワーク上のルーター間で経路制御情報を交換します。図 5-3 は、ルーターが経路制御情報を交換するために IGP を実行するネットワークトポロジを示します。「外部ゲートウェイプロトコル」を使用すると、ローカルのインターネットワークを外部ネットワークに接続するルーターは、外部ネットワーク上の別のルーターと情報を交換できます。たとえば、企業ネットワークを ISP に接続するルーターは、EGP を実行して、ISP の対応するルーターと経路制御情報を交換します。BGP (Border Gateway Protocol) は、さまざまな組織や IGP 間での経路制御情報送信に使用される、一般的な EGP です。
次の表に、Oracle Solaris 経路制御プロトコルおよび各プロトコルに関連するマニュアルの場所についての情報を示します。
表 5-1 Oracle Solaris 経路制御プロトコル
|
Oracle Solaris では、オープンソースの Quagga 経路制御プロトコル群もサポートされます。これらのプロトコルは、SFW 統合ディスクから入手できますが、メインの Oracle Solaris ディストリビューションには含まれていません。次の表に、Quagga プロトコルを示します。
表 5-2 OpenSolaris Quagga プロトコル
|
次の図に、Quagga 経路制御プロトコルを使用する自律システムを示します。
図 5-2 Quagga プロトコルを実行する企業ネットワーク
この図は、2 つの経路制御ドメイン A と B に分割された企業ネットワークの自律システムを示しています。「経路制御ドメイン」とは、管理上の目的で、あるいはドメインで単一の経路制御プロトコルが使用されているという理由から、密接した経路制御ポリシーを持っているインターネットワークのことです。この図のドメインはどちらも、Quagga プロトコル群の経路制御プロトコルを実行します。
経路制御ドメイン A は OSPF ドメインであり、単一の OSPF ドメイン ID で管理されます。このドメイン内のシステムはすべて、内部ゲートウェイプロトコルとして OSPF を実行します。内部のホストおよびルーターに加え、ドメイン A には 2 つのボーダールーターがあります。
ボーダールーター R1 は、企業ネットワークを ISP に接続し、最終的にはインターネットに接続します。企業ネットワークと外部の間の通信を容易にするために、R1 はその外部に面したネットワークインタフェース上で BGP を実行します。ボーダールーター R5 は、ドメイン A とドメイン B を接続します。ドメイン B のシステムはすべて、内部ゲートウェイプロトコルとして RIP を使用して管理されます。したがって、ボーダールーター R5 は、ドメイン A に面したインタフェース上では OSPF を実行し、ドメイン B に面したインタフェース上では RIP を実行する必要があります。
Quagga プロトコルの詳細は、Open Solaris Quagga を参照してください。これらのプロトコルの構成手順については、Quagga のマニュアル を参照してください。
複数のルーターとネットワークを持つサイトでは、通常そのネットワークトポロジは単一の経路制御ドメイン、つまり「自律システム (AS: Autonomous System)」として管理されます。次の図に、小規模な AS と見なすことのできる典型的なネットワークトポロジを示します。この節では、すべての例にこのトポロジを使用します。
図 5-3 複数の IPv4 ルーターを備えた自律システム
この図は、3 つのローカルネットワーク 10.0.5.0、172.20.1.0、および 192.168.5 に分割された AS を示しています。4 台のルーターが、パケット転送と経路制御の役目を分担しています。この AS には、次の種類のシステムが含まれています。
「ボーダールーター」は、インターネットなどの外部ネットワークに AS を接続します。ボーダールーターは、ローカル AS 上で実行中の IGP 外部のネットワークとの相互接続を行います。ボーダールーターは、BGP (Border Gateway Protocol) などの EGP を実行して、ISP のルーターなどの外部ルーターと情報を交換できます。図 5-3 では、ボーダールーターのインタフェースは、内部ネットワーク 10.0.5.0 およびサービスプロバイダへの高速ルーターに接続されています。
ボーダールーターの構成については、オープンソースの Quagga のマニュアル で BGP に関する部分を参照してください。
BGP を使用して AS をインターネットに接続する場合は、地域のインターネットレジストリから自律システム番号 (ASN) を取得するようにしてください。ASN の取得方法に関するガイドラインは、American Registry for Internet Numbers (ARIN) などの地域レジストリから提供されています。たとえば、 ARIN Number Resource Policy Manual には、米国およびカナダの自律システムの ASN を取得する方法が記載されています。または、使用している ISP が ASN を代行取得できる場合もあります。
「デフォルトルーター」は、ローカルネットワーク上のすべてのシステムに関する経路制御情報を維持管理します。通常、これらのルーターは、RIP などの IGP を実行します。図 5-3 では、ルーター 1 のインタフェースは内部ネットワーク 10.0.5.0 および内部ネットワーク 192.168.5 に接続されています。ルーター 1 は、192.168.5 のデフォルトルーターとしても機能します。ルーター1 は、192.168.5 上の全システムの経路制御情報を維持し、ボーダールーターなどのほかのルーターへの経路制御を行います。ルーター 2 のインタフェースは、内部ネットワーク 10.0.5.0 および内部ネットワーク 172.20.1 に接続します。
デフォルトルーターを構成する例については、例 5-4 を参照してください。
「パケット転送ルーター」は、パケットを転送しますが、経路制御プロトコルは実行しません。このタイプのルーターは、ある単一のネットワークに接続されたインタフェースのひとつからパケットを受信します。その後、これらのパケットは、ルーターの別のインタフェースを経由して別のローカルネットワークに転送されます。図 5-3 では、ルーター 3 はパケット転送ルーターで、ネットワーク 172.20.1 および 192.168.5 に接続されています。
「マルチホームホスト」は、同一のネットワークセグメントに接続された複数のインタフェースを備えています。マルチホームホストはパケットの転送が可能です。これは、Oracle Solaris を実行するすべてのシステムでデフォルトに設定されています。図 5-3 のマルチホームホストは、両方のインタフェースがネットワーク 192.168.5 に接続されています。マルチホームホストを構成する例については、例 5-6 を参照してください。
「単一インタフェースホスト」は、パケット転送だけでなく、重要な構成情報の受信もローカルルーターに依存します。図 5-3 では、192.168.5 ネットワーク上のホスト A は動的経路制御を実装しており、172.20.1 ネットワーク上のホスト B は静的経路制御を実装しています。動的経路制御を実行するホストを構成する方法については、「単一インタフェースホストで動的経路制御を有効にする方法」を参照してください。静的経路制御を実行するホストを構成する方法については、「単一インタフェースホストで静的経路制御を有効にする方法」を参照してください。
この節では、IPv4 ルーターを構成する手順と例を説明します。IPv6 対応のルーターを構成する方法については、「IPv6 対応のルーターを構成する方法」を参照してください。
ルーターは複数のネットワーク間のインタフェースを提供するため、ルーターの物理ネットワークインタフェースごとに一意の名前および IP アドレスを割り当てる必要があります。これで、各ルーターは、その一次ネットワークインタフェースのホスト名と IP アドレスに加えて、増設した各ネットワークインタフェースについて少なくとも 1 つずつ、一意な名前と IP アドレスを持つことになります。
次の手順を使えば、物理インタフェースが 1 つだけのシステム (デフォルトではホスト) をルーターとして構成することもできます。システムを PPP リンクの 1 つのエンドポイントとして使用するような場合、単一インタフェースのシステムをルーターとして構成する場合があります (『Solaris のシステム管理 (ネットワークサービス)』の「ダイアルアップ PPP リンクの計画」を参照)。
注 - Oracle Solaris システムのインストール時にルーターのすべてのインタフェースを構成できます。手順については、『Oracle Solaris 10 9/10 インストールガイド (基本編)』を参照してください。
次の手順では、システムのインストール後にルーターのインタフェースを構成していることを想定しています。
始める前に
ルーターをネットワークに物理的に設置してから、ローカルファイルモードで動作するようにルーターを構成します。詳細は、「ローカルファイルモードの場合のホストの構成方法」を参照してください。これで、ネットワーク構成サーバーがダウンしても、ルーターが確実にブートされるようになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
# dladm show-link
次の dladm show-link コマンドの出力例は、4 つのインタフェースを持つ qfe NIC と 2 つの bge インタフェースがシステム上で物理的に使用可能であることを示しています。
qfe0 type: legacy mtu: 1500 device: qfe0 qfe1 type: legacy mtu: 1500 device: qfe1 qfe2 type: legacy mtu: 1500 device: qfe0 qfe3 type: legacy mtu: 1500 device: qfe1 bge0 type: non-vlan mtu: 1500 device: bge0 bge1 type: non-vlan mtu: 1500 device: bge1
# ifconfig -a
次の ifconfig -a コマンドの出力例は、インストール時にインタフェース qfe0 が構成されたことを示しています。このインタフェースは 172.16.0.0 ネットワークにあります。qfe NIC の残りのインタフェースである qfe1 - qfe3、および bge インタフェースは構成されていません。
lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 qfe0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 172.16.26.232 netmask ffff0000 broadcast 172.16.26.255 ether 0:3:ba:11:b1:15
# ifconfig interface plumb up
たとえば、qfe1 の場合は、次のように入力します。
# ifconfig qfe1 plumb up
注 - ifconfig コマンドを使用して明示的に構成されたインタフェースは、リブート後には保持されません。
注意 - IPv4 ルーターがその IP アドレスを DHCP 経由で受け取るように構成することもできますが、これは十分に経験を積んだ DHCP システム管理者だけが行うようにしてください。 |
# ifconfig interface IPv4-address netmask+netmask
たとえば、IP アドレス 192.168.84.3 を qfe1 に割り当てるには、次のいずれかを実行します。
従来の IPv4 の表記法を使用して、次のように入力します。
# ifconfig qfe1 192.168.84.3 netmask + 255.255.255.0
CIDR の表記法を使用して、次のように入力します。
# ifconfig qfe1 192.168.84.3/24
接頭辞 /24 により、自動的にネットマスク 255.255.255.0 が qfe1 に割り当てられます。CIDR の接頭辞と、それと同等の 10 進ドット表記のネットマスクの表については、図 2-2 を参照してください。
たとえば、/etc/hostname.qfe1 ファイルと /etc/hostname.qfe2 ファイルを作成します。次に、ホスト名 timbuktu を /etc/hostname.qfe1 ファイルに入力し、ホスト名 timbuktu-201 を /etc/hostname.qfe1 ファイルに入力します。個々のインタフェースを構成する方法の詳細については、「システムインストール後に物理インタフェースを構成する方法」を参照してください。
このファイルを作成したあとは、必ず構成リブートを実行してください。
# reboot -- -r
次に例を示します。
172.16.26.232 deadsea #interface for network 172.16.0.0 192.168.200.20 timbuktu #interface for network 192.168.200 192.168.201.20 timbuktu-201 #interface for network 192.168.201 192.168.200.9 gobi 192.168.200.10 mojave 192.168.200.110 saltlake 192.168.200.12 chilean
インタフェース timbuktu と timbuktu-201 は、同じシステムにあります。timbuktu-201 のネットワークアドレスが、timbuktu のネットワークインタフェースとは異なる点に注意してください。この違いは、ネットワーク 192.168.201 の物理ネットワークメディアが timbuktu-201 ネットワークインタフェースに接続されているのに対し、ネットワーク 192.168.200 のメディアは timbuktu インタフェースに接続されているためです。
次に例を示します。
vi /etc/inet/ipnodes 172.16.26.232 deadsea #interface for network 172.16.0.0 192.168.200.20 timbuktu #interface for network 192.168.200 192.168.201.20 timbuktu-201 #interface for network 192.168.201
192.168.83.0 など、従来の IPv4 アドレス表記法の場合は、次のように入力します。
192.168.83.0 255.255.255.0
CIDR アドレスの場合は、/etc/inet/netmask ファイルのエントリに接頭辞の 10 進ドット表記のバージョンを使用します。ネットワークの接頭辞とそれと同等の 10 進ドット表記については、図 2-2 を参照してください。たとえば、192.168.3.0/22 という CIDR ネットワーク接頭辞を表現するには、/etc/netmasks ファイルで次のエントリを使用します。
192.168.3.0 255.255.252.0
次のいずれかのコマンドを使用して、パケット転送を有効にします。
routeadm コマンドを次のように使用します。
# routeadm -e ipv4-forwarding -u
次のサービス管理機能 (SMF) コマンドを使用します。
# svcadm enable ipv4-forwarding
これで、ルーターは、ローカルネットワークの外にもパケットを転送できます。さらにルーターは、ルートを手動で経路制御テーブルに追加できる機能である、「静的経路制御」もサポートします。このシステムで静的経路制御を使用する場合は、 ルーターの構成はこれで終わりです。ただし、システム経路制御テーブルで、ルートを維持管理する必要があります。ルートの追加方法については、「ルートの設定」および route(1M) のマニュアルページを参照してください。
経路制御デーモン /usr/sbin/in.routed は自動的に経路制御テーブルを更新します。このプロセスのことを「動的経路制御」と呼びます。次のいずれかの方法で、デフォルトの IPv4 経路制御プロトコルをオンに設定します。
routeadm コマンドを次のように使用します。
# routeadm -e ipv4-routing -u
次の SMF コマンドを使用して、RIP などの経路制御プロトコルを起動します。
# svcadm enable route:default
in.routed デーモンに関連付けられている SMF FMRI は svc:/network/routing/route です。
routeadm コマンドの詳細については、routeadm(1M) のマニュアルページを参照してください。
例 5-4 ネットワークのデフォルトルーターを構成する
この例では、複数のインタフェースを持つシステムを、デフォルトルーターにアップグレードする方法を示します。目標は、図 5-3 に示されたルーター 2 を、ネットワーク 172.20.1.0 のデフォルトルーターにすることです。ルーター 2 には有線ネットワーク接続が 2 つあり、1 つはネットワーク 172.20.1.0、もう 1 つはネットワーク 10.0.5.0 に接続されています。この例では、ルーターはローカルファイルモードで動作するものとします。このモードについては、「ローカルファイルモードの場合のホストの構成方法」を参照してください。
スーパーユーザーになるか、同等の役割になったあと、システムのインタフェースの状態を調べます。Solaris 10 1/06 以降では、dladm コマンドを次のように使用できます。
# dladm show-link ce0 type: legacy mtu: 1500 device: ce0 bge0 type: non-vlan mtu: 1500 device: bge0 bge1 type: non-vlan mtu: 1500 device: bge1 # ifconfig -a lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 ce0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 172.20.1.10 netmask ffff0000 broadcast 172.20.10.100 ether 8:0:20:c1:1b:c6
dladm show-link の出力は、システムで 3 つのリンクが使用可能であることを示しています。ce0 インタフェースのみ、IP アドレスを伴う構成となっています。デフォルトルーターの構成を始めるために、まず bge0 インタフェースを 10.0.5.0 ネットワークに物理的に接続します。次に、このインタフェースを plumb し、リブート後も保持されるようにします。
# ifconfig bge0 plumb up # ifconfig bge0 10.0.5.10 # ifconfig -a lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 ce0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 172.20.1.10 netmask ffff0000 broadcast 172.255.255.255 ether 8:0:20:c1:1b:c6 bge0: flags=1000843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 inet 10.0.5.10 netmask ff000000 broadcast 10.255.255.255 ether 8:0:20:e5:95:c4 # vi /etc/hostname.bge0 10.0.5.10 255.0.0.0
再構成用ブートコマンドを使用して、システムをリブートします。
# reboot -- -r
続いて、新たに plumb したこのインタフェースの情報とその接続先ネットワークの情報を使用して、次のネットワークデータベースを設定します。
# vi /etc/inet/hosts 127.0.0.1 localhost 172.20.1.10 router2 #interface for network 172.20.1 10.0.5.10 router2-out #interface for network 10.0.5 # vi /etc/inet/netmasks 172.20.1.0 255.255.0.0 10.0.5.0 255.0.0.0
最後に、SMF を使用してパケット転送を有効にしてから、in.routed 経路制御デーモンを有効にします。
# svcadm enable ipv4-forwarding # svcadm enable route:default
これで、IPv4 パケット転送と RIP による動的経路制御がルーター 2 で有効になりました。ただし、ネットワーク 172.20.1.0 のデフォルトルーターの構成はまだ完了していません。次の作業を行う必要があります。
172.10.1.10 の各ホストを変更して、それぞれの経路制御情報をこの新しいデフォルトルーターから取得するようにします。詳細については、「単一インタフェースホストで静的経路制御を有効にする方法」を参照してください。
ルーター 2 の経路制御テーブルで、ボーダールーターへの静的ルートを定義します。詳細については、「経路制御テーブルと経路制御の種類」を参照してください。
ルーターとホストの両方で「経路制御テーブル」が管理されます。各システムの経路制御デーモンは、すべての既知のルートを使用してテーブルを更新します。システムのカーネルは、パケットをローカルネットワークに転送する前に、経路制御テーブルを読み取ります。経路制御テーブルには、システムのデフォルトのローカルネットワークも含め、システムで知られているネットワークの IP アドレスがリストされています。このテーブルには、既知の各ネットワークに対するゲートウェイシステムの IP アドレスもリストされています。「ゲートウェイ」とは、発信されるパケットを受け取り、ローカルネットワークより 1 つ外側のホップに転送するシステムのことです。次に、IPv4 専用ネットワーク上にあるシステムの単純な経路制御テーブルを示します。
Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- default 172.20.1.10 UG 1 532 ce0 224.0.0.0 10.0.5.100 U 1 0 bge0 10.0.0.0 10.0.5.100 U 1 0 bge0 127.0.0.1 127.0.0.1 UH 1 57 lo0
Oracle Solaris システムでは、2 種類の経路制御を設定できます。静的なものと動的なものです。1 つのシステムに、これらの経路制御のどちらか一方を設定することも、両方を設定することもできます。「動的経路制御」を実装するシステムは、IPv4 ネットワークの場合は RIP、IPv6 ネットワークの場合は RIPng などの経路制御プロトコルを利用して、経路制御テーブルを管理します。「静的経路制御」だけを実行するシステムは、経路制御情報の取得や経路制御テーブルの更新を経路制御プロトコルに依存しません。その代わり、システムの既知のルートを、route コマンドを使って手動で管理する必要があります。詳細は、route(1M) のマニュアルページを参照してください。
ローカルネットワークまたは自律システムの経路制御を設定するときは、特定のルーターやホストでどの種類の経路制御をサポートするかを検討してください。
次の表に、経路制御の種類と、それぞれの種類の経路制御を適用するのに最も適したネットワークの条件を示します。
|
図 5-3 に示された AS は、静的経路制御と動的経路制御の両方を組み合わせて使用しています。
IPv4 ネットワークに動的経路制御を実装するには、routeadm コマンドまたは svcadm コマンドを使用して in.routed 経路制御デーモンを起動します。手順については、「IPv4 ルーターの構成方法」を参照してください。動的経路制御は、ほとんどのネットワークおよび自律システムに最適な方法です。ただし、使用しているネットワークトポロジやネットワーク上の特定のシステムで、静的経路制御が必要になる場合もあります。その場合は、システムの経路制御テーブルを手動で編集して、ゲートウェイへの既知のルートを反映させる必要があります。次の手順は、静的ルートを追加する方法を示しています。
注 - 同じ宛先へのルートが 2 つあっても、システムで負荷分散やフェイルオーバーが自動的に行われるわけではありません。これらの機能が必要な場合は、第 30 章IPMP の紹介 (概要)に説明されている IPMP を使用します。
通常のユーザーアカウントを使用して、次の形式の netstat コマンドを実行します。
% netstat -rn
次のような出力が表示されます。
Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- 192.168.5.125 192.168.5.10 U 1 5879 ipge0 224.0.0.0 198.168.5.10 U 1 0 ipge0 default 192.168.5.10 UG 1 91908 127.0.0.1 127.0.0.1 UH 1 811302 lo0
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
# route flush
# route -p add -net network-address -gateway gateway-address
リブート後も保持される必要のあるルートを作成します。現在のセッションだけに有効なルートを作成する場合は、-p オプションを使用しないでください。
そのあとに指定されているルートを追加することを示します。
network-address で指定されたアドレスを持つネットワークへのルートであることを示します。
指定されたルートのゲートウェイシステムの IP アドレスが gateway-address であることを示します。
例 5-5 経路制御テーブルに静的ルートを追加する
次の例は、システムに静的ルートを追加する方法を示しています。このシステムは、図 5-3 で示されている、172.20.1.0 ネットワークのデフォルトルーターであるルーター 2 です。例 5-4 では、ルーター 2 は動的経路制御用に構成されています。ネットワーク 172.20.1.0 上のホストのデフォルトルーターとしてルーター 2 の機能を向上させるには、AS のボーダールーター 10.0.5.150 への静的ルートを追加する必要があります。
ルーター 2 の経路制御テーブルを表示するために、次の手順を実行します。
# netstat -rn Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- default 172.20.1.10 UG 1 249 ce0 224.0.0.0 172.20.1.10 U 1 0 ce0 10.0.5.0 10.0.5.20 U 1 78 bge0 127.0.0.1 127.0.0.1 UH 1 57 lo0
この経路制御テーブルは、ルーター 2 に既知のルートが 2 つあることを示しています。デフォルトのルートは、ルーター 2 の 172.20.1.10 インタフェースをゲートウェイとして使用します。2 番目のルート 10.0.5.0 は、ルーター 2 で実行中の in.routed デーモンによって検出されました。このルートのゲートウェイはルーター 1 で、その IP アドレスは 10.0.5.20 です。
ネットワーク 10.0.5.0 にはボーダールーターとして機能するゲートウェイがあります。このネットワークへのルートをもう 1 つ追加するには、次の手順を実行します。
# route -p add -net 10.0.5.0/24 -gateway 10.0.5.150/24 add net 10.0.5.0: gateway 10.0.5.150
これで、IP アドレス 10.0.5.150/24 を持つボーダールーターへのルートが、経路制御テーブルに追加されました。
# netstat -rn Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ------ --------- default 172.20.1.10 UG 1 249 ce0 224.0.0.0 172.20.1.10 U 1 0 ce0 10.0.5.0 10.0.5.20 U 1 78 bge0 10.0.5.0 10.0.5.150 U 1 375 bge0 127.0.0.1 127.0.0.1 UH 1 57 lo0
Oracle Solaris では、複数のインタフェースを持つシステムは「マルチホームホスト」であると見なされます。マルチホームホストは IP パケットを転送しません。ただし、経路制御プロトコルを実行するようにマルチホームホストを構成することはできます。一般に、次のような種類のシステムをマルチホームホストとして構成します。
NFS サーバー、特に大規模なデータセンターとして機能する NFS サーバーを複数のネットワークに接続することによって、多数のユーザー間でファイルを共有できるようになります。この種のサーバーは経路制御テーブルを備えている必要はありません。
データベースサーバーは、NFS サーバーと同様に、多数のユーザーに資源を提供する目的で複数のネットワークインタフェースを持つことができます。
ファイアウォールゲートウェイは、企業のネットワークとインターネットなどの公共ネットワークとの間の接続を提供するシステムです。管理者は、セキュリティーの手段としてファイアウォールを設定します。ファイアウォールとして構成されたホストは、ホストのインタフェースに接続されたネットワーク間でのパケット交換を行いません。ただしこの場合でも、承認ユーザーに対する ssh など、ホストは標準的な TCP/IP サービスを提供します。
注 - いずれかのインタフェース上に異なる種類のファイアウォールがあるマルチホームホストの場合は、ホストのパケットが意図せずに中断されることがないよう注意してください。この問題は、特にステートフルなファイアウォールで発生します。解決策の 1 つは、ステートレスなファイアウォールを構成することです。ファイアウォールの詳細は、『Solaris のシステム管理 (セキュリティサービス)』の「ファイアウォールシステム」またはサードパーティーのファイアウォールのマニュアルを参照してください。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
詳細は、「システムインストール後に物理インタフェースを構成する方法」を参照してください。
# 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-6 マルチホームホストの構成
次の例は、図 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 はマルチホームホストになります。
単一インタフェースホストは、何らかの形式の経路制御を実装する必要があります。ホストがそのルートを 1 つ以上のローカルデフォルトルーターから取得する場合は、静的経路制御を使用するようにホストを構成する必要があります。それ以外の場合は、ホストで動的経路制御を使用することをお勧めします。次の手順では、両方の種類の経路制御を有効にする方法を示します。
この手順は、単一インタフェースホストで静的経路制御を有効にします。静的経路制御を使用するホストは、RIP などの動的経路制御プロトコルをいっさい実行しません。代わりに、ホストはデフォルトルーターのサービスを利用して経路制御情報を取得する必要があります。「IPv4 自律システムのトポロジ」の図には、いくつかのデフォルトルーターとそのクライアントホストが示されています。特定のホストをインストールするときにデフォルトルーターの名前を指定した場合、そのホストはすでに、静的経路制御を使用するように構成されています。
注 - 次の手順を使用して、マルチホームホストで静的経路制御を設定することもできます。
/etc/defaultrouter ファイルの詳細については、「/etc/defaultrouter ファイル」を参照してください。静的経路制御と経路制御テーブルの詳細については、「経路制御テーブルと経路制御の種類」を参照してください。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
# cd /etc # ls | grep defaultrouter
# vi /etc/defaultrouter router-IP
# routeadm Configuration Current Current Option Configuration System State --------------------------------------------------------------- IPv4 routing disabled disabled IPv6 routing disabled disabled IPv4 forwarding disabled disabled IPv6 forwarding disabled disabled Routing services "route:default ripng:default"
/etc/inet/hosts の構成については、「IPv4 アドレスおよびその他のネットワーク構成パラメータを変更する方法」を参照してください。
例 5-7 単一インタフェースホストのデフォルトルーターと静的経路制御を設定する
次の例は、単一インタフェースホスト hostb に静的経路制御を設定する方法を示しています。このホストは、図 5-3 に示されているネットワーク 172.20.1.0 上にあります。hostb は、そのデフォルトルーターとしてルーター 2 を使用する必要があります。
まず、スーパーユーザーまたは同等の役割として hostb にログインします。次に、ホストに /etc/defaultrouter ファイルが存在するかどうかを調べます。
# cd /etc # ls | grep defaultrouter
grep で検出されなかったので、/etc/defaultrouter ファイルを作成する必要があります。
# vi /etc/defaultrouter 172.20.1.10
/etc/defaultrouter ファイルのエントリは、172.20.1.0 ネットワークに接続されているルーター 2 のインタフェースの IP アドレスです。次に、ホストでパケット転送や経路制御が現在有効になっているかどうかを確認します。
# routeadm Configuration Current Current Option Configuration System State --------------------------------------------------------------- IPv4 routing disabled disabled IPv6 routing disabled disabled IPv4 forwarding enabled enabled IPv6 forwarding disabled disabled Routing services "route:default ripng:default"
この特定のホストでは、パケット転送が有効になっています。次のように、これをオフに設定します。
# svcadm disable ipv4-forwarding
最後に、ホストの /etc/inet/hosts ファイルにこの新しいデフォルトルーターのエントリが存在することを確認します。
# vi /etc/inet/hosts 127.0.0.1 localhost 172.20.1.18 host2 #primary network interface for host2 172.20.1.10 router2 #default router for host2
動的経路制御は、ホストで経路制御を管理するためのもっとも簡単な方法です。動的経路制御を使用するホストは、IPv4 の場合は in.routed デーモンで提供される経路制御プロトコルを実行し、IPv6 の場合は in.ripngd デーモンで提供される経路制御プロトコルを実行します。単一インタフェースホストで IPv4 動的経路制御を有効にするには、次の手順を使用します。動的経路制御の詳細は、「IPv4 ネットワーク上でのパケット転送と経路制御」を参照してください。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
# cd /etc # ls | grep defaultrouter
/etc/defaultrouter ファイルが空の場合、ホストは自動的に動的経路制御を使用します。
# routeadm Configuration Current Current Option Configuration System State --------------------------------------------------------------- IPv4 routing disabled disabled IPv6 routing disabled disabled IPv4 forwarding enabled enabled IPv6 forwarding disabled disabled Routing services "route:default ripng:default"
次のコマンドのいずれかを使用します。
routeadm コマンドの場合は、次のように入力します。
# routeadm -d ipv4-forwarding -u
SMF を使用する場合は、次のように入力します。
# svcadm disable ipv4-forwarding
次のコマンドのいずれかを使用します。
routeadm コマンドの場合は、次のように入力します。
# routeadm -e ipv4-routing -u
SMF を使用する場合は、次のように入力します。
# svcadm enable route:default
これで、IPv4 動的経路制御が有効になりました。ホストの経路制御テーブルは、in.routed デーモンによって動的に管理されます。
例 5-8 単一インタフェースホストで動的経路制御を実行する
次の例は、単一インタフェースホスト hosta に動的経路制御を設定する方法を示しています。このホストは、図 5-3 に示されているネットワーク 192.168.5.0 上にあります。hosta は、そのデフォルトルーターとしてルーター 1 を現在使用しています。ただし、これからは hosta で動的経路制御を実行する必要があります。
まず、スーパーユーザーまたは同等の役割として hosta にログインします。次に、ホストに /etc/defaultrouter ファイルが存在するかどうかを調べます。
# cd /etc # ls | grep defaultrouter defaultrouter
grep で検出されたので、hosta には /etc/defaultrouter ファイルが存在します。
# vi /etc/defaultrouter 192.168.5.10
このファイルには 192.168.5.10 というエントリがあります。これはルーター 1 の IP アドレスです。静的経路制御を有効にするには、このエントリを削除します。次に、ホストでパケット転送と経路制御がすでに有効になっているかどうかを確認する必要があります。
# routeadm Configuration Current Current Option Configuration System State --------------------------------------------------------------- IPv4 routing disabled disabled IPv6 routing disabled disabled IPv4 forwarding disabled disabled IPv6 forwarding disabled disabled Routing services "route:default ripng:default"
hosta では、経路制御とパケット転送の両方がオフに設定されています。次のように経路制御をオンに設定して、hosta の動的経路制御の設定を完了します。
# svcadm enable route:default