この節では、IPv4 ルーターを構成する手順と例を説明します。IPv6 対応のルーターを構成する方法については、「IPv6 対応のルーターを構成する方法」を参照してください。
ルーターは複数のネットワーク間のインタフェースを提供するため、ルーターの物理ネットワークインタフェースごとに一意の名前および IP アドレスを割り当てる必要があります。これで、各ルーターは、その一次ネットワークインタフェースのホスト名と IP アドレスに加えて、増設した各ネットワークインタフェースについて少なくとも 1 つずつ、一意な名前と IP アドレスを持つことになります。
次の手順を使えば、物理インタフェースが 1 つだけのシステム (デフォルトではホスト) をルーターとして構成することもできます。システムを PPP リンクの 1 つのエンドポイントとして使用するような場合、単一インタフェースのシステムをルーターとして構成する場合があります (『Solaris のシステム管理 (ネットワークサービス)』の「ダイアルアップ PPP リンクの計画」を参照)。
Oracle Solaris システムのインストール時にルーターのすべてのインタフェースを構成できます。手順については、『Oracle Solaris 10 9/10 インストールガイド (基本編)』を参照してください。
次の手順では、システムのインストール後にルーターのインタフェースを構成していることを想定しています。
ルーターをネットワークに物理的に設置してから、ローカルファイルモードで動作するようにルーターを構成します。詳細は、「ローカルファイルモードの場合のホストの構成方法」を参照してください。これで、ネットワーク構成サーバーがダウンしても、ルーターが確実にブートされるようになります。
ルーターとして構成されるシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。
Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。
Solaris 10 1/06 リリース以降では、dladm show-link コマンドを使って、ルーターに物理的に取り付けられているインタフェースを判定します。
# 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 |
インストール時に、ルーター上のどのインタフェースが構成され、plumb されたのかを確認します。
# 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 アドレスとネットマスクを割り当てます。
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.interface ファイルを作成します。
たとえば、/etc/hostname.qfe1 ファイルと /etc/hostname.qfe2 ファイルを作成します。次に、ホスト名 timbuktu を /etc/hostname.qfe1 ファイルに入力し、ホスト名 timbuktu-201 を /etc/hostname.qfe1 ファイルに入力します。個々のインタフェースを構成する方法の詳細については、「システムインストール後に物理インタフェースを構成する方法」を参照してください。
このファイルを作成したあとは、必ず構成リブートを実行してください。
# reboot -- -r |
各インタフェースのホスト名と IP アドレスを /etc/inet/hosts ファイルに追加します。
次に例を示します。
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 インタフェースに接続されているためです。
Solaris 10 11/06 以前の Solaris 10 リリースの場合のみ、新しいインタフェースのそれぞれの IP アドレスとホスト名を、/etc/inet/ipnodes ファイルまたは同等の ipnodes データベースに追加します。
次に例を示します。
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 |
このルーターがサブネット化されたいずれかのネットワークに接続されている場合は、ネットワーク番号とネットマスクを /etc/inet/netmasks ファイルに追加します。
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 |
ルーターで IPv4 パケット転送を使用可能にします。
次のいずれかのコマンドを使用して、パケット転送を有効にします。
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–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 インタフェースだけが plumb されています。デフォルトルーターの構成を始めるために、まず 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 の経路制御テーブルで、ボーダールーターへの静的ルートを定義します。詳細については、「経路制御テーブルと経路制御の種類」を参照してください。