Print-friendly Version
Solaris プラットフォームでのネットワーク構成
執筆者: Eric Rinker
この記事の目的
この記事をお読みになると、コマンド行インタフェースを使用したネットワークインタフェースの設定方法を十分にご理解いただけるはずです。 この記事では、基本的なトラブルシューティングのヒントもいくつかご紹介しています。 ハードウェアについては説明していません。
要件
この記事を最大限に活用するには、Solaris オペレーティングシステムについて十分に理解しておく必要があります。 また、TCP/IP ネットワークとサブネットマスクについての基本的な理解も必要です。 この記事を使用するには、システムファイルを作成して編集し、ブートスクリプトに関するブートプロセスを理解する必要があります。 ルートアクセスは必須です。
背景
もっとも基本的な形式では、ネットワークは相互に接続して特定のタスクを共同で実行する 2 台のコンピュータで構成されます。 このような共同作業は、簡単なファイル転送から分散コンピューティングやクラスタリングまでの広範囲に及びます。
ネットワークには、物理メディアとネットワークプロトコルという 2 つの基本パーツがあります。 ネットワークで採用される物理メディアは、必要なコンピュータの接続方法およびネットワークにかける費用によってさまざまです。 コンピュータの接続に使われる一般的な方法には、次のようなものがあります。
トークンリング -- IBM によって開発されたこのネットワークタイプでは、各コンピュータがサークルの一部として図式的に配置されています。
10Base2 (同軸) -- 各コンピュータは、チェーンの端に終端抵抗を接続した簡易同軸ケーブルを使って接続されます。
10(0)BaseT -- ツイストペアケーブルを使用する標準的なオフィスまたはホームネットワーク技術です。 ハブやスイッチを使用して、複数のコンピュータを接続できます。 もともとは、10 Mbps の速度でしたが、現在では 100 Mbps の製品が提供されています。
ファイバ (ギガビット) -- この技術では、ツイストペアケーブルの代わりに、光ファイバケーブルを使用してデータを送信します。 1000 Mbps (1 Gbps) の速度を実現できますが、費用が高くなり、またケーブルを引くときに注意が必要です。
ワイヤレス 802.11a - 非常に強力なワイヤレス規格。 54 Mbps の速度で動作可能ですが、範囲が非常に限られています。
ワイヤレス 802.11b -- ホームワイヤレスおよびオフィスワイヤレス用の最新規格。 約 10Mbps で動作します。
ワイヤレス 802.11g -- 802.11 の速度と 802.11b の範囲を組み合わせています。 802.11a および 802.11b と下位互換性があります。
2 つのネットワークで同じメディアを使用していても、これらのネットワークが 2 つのまったく異なる通信プロトコルまたは通信方法を使用している場合があります。 現在、ネットワークで使われているプロトコルには次のようなものがあります。
TCP/IP -- インターネットの標準プロトコル。 それぞれの NIC には、IP アドレスとサブネットマスクが割り当てられています。 これらの IP アドレスとサブネットマスクを使用して、ローカルネットワークにあるマシンおよびルーター経由で送信が必要なトラフィックを判別します。
IPX/SPX -- Novell 社によって開発されたブロードキャストプロトコル。 それぞれの NIC には固有の IPX ネットワークアドレスが割り当てられています。
AppleTalk -- Apple 社の専用プロトコル。 それぞれの NIC には、ネットワーク番号、ノード番号、およびソケット番号が割り当てられています。 構成とルーティング機能は、TCP/IP に似ています。
ハードウェア取り付けの確認
この例では、2 枚目の NIC が前に構成済みのネットワーク接続されたシステムに取り付けられています。 新しいハードウェアを取り付ける前に、prtconf -vD を実行して、現在のシステム構成を保存します。 システムの規模が大きくなるとこのコマンドの出力が膨大になる可能性があるため、prtconf の出力先をファイルにすることをお勧めします。
新しいハードウェアを取り付けたあと、OK プロンプトから -r オプションでシステムを起動します。 これにより、システムは新しいハードウェアをスキャンし、そのハードウェアに応じてデバイスドライバのディレクトリを構築します。 この作業が完了したら、 prtconf -vD を再度実行して、内容を前の実行の結果と比較します。 新しいデバイスが表示されない場合は、そのデバイスの操作マニュアルを参照してください。新しいドライバをインストールする必要があるか、ハードウェア固有の特別な操作を実行する必要があるかもしれません。 システムおよび取り付けられているカードの種類によって、次のようなメッセージが表示されます。
SUNW,hme, instance #0 (driver name: hme) Register Specifications: Bus Type=0xe, Address=0x8c00000, Size=0x108 Bus Type=0xe, Address=0x8c02000, Size=0x2000 Bus Type=0xe, Address=0x8c04000, Size=0x2000 Bus Type=0xe, Address=0x8c06000, Size=0x2000 Bus Type=0xe, Address=0x8c07000, Size=0x20 SUNW,hme, instance #1 (driver name: hme) Register Specifications: Bus Type=0x0, Address=0x8c00000, Size=0x108 Bus Type=0x0, Address=0x8c02000, Size=0x2000 Bus Type=0x0, Address=0x8c04000, Size=0x2000 Bus Type=0x0, Address=0x8c06000, Size=0x2000 Bus Type=0x0, Address=0x8c07000, Size=0x20
前記の例は、SBus カードに 2 枚目の 100-Mb NIC を取り付けたあとの、Ultra 1 ワークステーションから取ったものです。 NIC の名前は、ドライバの略称にインスタンス番号 (そのドライバを使用するデバイスごとに 0 から始めてカウントされる連続した番号) が付きます。 前記の prtconf 出力の例では、デバイスはシステムに hme0 および hme1 として通知されます。 ハードウェアを動作させているドライバがわからない場合は、NIC カードのマニュアルを参照してください。
ifconfig -a の結果により、ネットワークデバイスの現在の状態が表示されます。
lo0: flags=1000849 mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843 mtu 1500 index 2 inet 192.168.1.100 netmask ffffff00 broadcast 192.168.1.255 ether
内蔵 NIC (instance #0) は以前に構成されており、lo0 はローカルループバックアドレスのインスタンスです。 hme1 が表示されないため、初期化して構成する必要があることがわかります。
持続的な IPv4 構成
システムの起動時に NIC を構成するための最初の手順は、IP アドレスとサブネットマスクを取得することです。 この例では、2 枚目の NIC を元の NIC とは別の IP 範囲に置こうとしています。 1 枚目の NIC は 192.168.1.x ネットワークにあります。そこで新しい NIC を 192.168.2.x ネットワークに置きます。 これらのネットワークサブネットマスクは両方とも 255.255.255.0 です。 注: 割り当てられた IP が、別のマシンによってすでに取得されていないことを必ず確認してください。確認するには、そのネットワークですでに構成されたマシンから ping を使用します。
次に新しいカードの /etc/hosts ファイルに次の 1 行を加えます。
192.168.2.100 host2.mydomain.com host2
ここで、/etc に hostname という名前のファイルを作成します。 たとえば、1 番目の NIC のファイルは /etc/hostname.hme0 です。 新しいデバイス hme1 にはファイル /etc/hostname.hme1 が必要です。 このファイルで、/etc/hosts ファイルで見たような IP に関連した名前を付けます。 この名前は、/etc/hosts ファイルにはじめて出てくる名前にしてください。 この例では、/etc/hostname.hme1 は次のような内容になります。
host2.mydomain.com
次に新しいネットワークの /etc/netmasks ファイルを編集します。
192.168.2.0 255.255.255.0
システムを再起動します。ネットワークカードは、新しいネットワーク用に正しいサブネットマスクで構成されています。 ifconfig -a を再度実行すると、これを確認できます。
lo0: flags=1000849 mtu 8232 index 1 inet 127.0.0.1 netmask ff000000 hme0: flags=1000843 mtu 1500 index 2 inet 192.168.1.100 netmask ffffff00 broadcast 192.168.1.255 ether hme1: flags=1000843 mtu 1500 index 3 inet 192.168.2.100 netmask ffffff00 broadcast 192.168.2.255 ether
持続的でない IPv4 構成 事前にハードウェアを取り付けて、再起動することなく NIC を構成するには、最初にネットワークカードを初期化または plumb する必要があります。
ifconfig hme1 plumb
次にデバイスを構成します。
ifconfig hme1 192.168.2.100 netmask 255.255.255.0
あとは NIC をオンラインにするだけです。
ifconfig hme1 up
ネットワークカードがオンラインになり、動作するようになりました。 ここでさらに、事前のファイルの変更を行う必要があります。そうしないと、カードが再起動時に構成されません。
IPv6 構成
IPv6 では、ほとんどすべてが自動になるように設計されています。 必要なのはシステムに IPv6 を使用することを伝えることだけで、あとはシステムがすべて処理します。 起動時に IPv6 を持続的に構成するには、次のコマンドを実行します。
touch /etc/hostname6
コマンド行で IPv6 を有効にするには、次のコマンドを実行します。この構成は、システムの再起動時に失われます。
ifconfig inet6 plumb ifconfig inet6 up
トラブルシューティング
ネットワークの問題を解決するために使用するいくつかのツールを次に示します。
/sbin/ifconfig: これは、NIC を操作するときにシステム管理者がもっともよく使うツールです。 ネットワークカードを構成するために使用し、/sbin/ifconfig を使って、現在システムに認識されているカードとその状態を知ることができます。 トラブルシューティングを行うときは、必ず最初にこのツールを使用することをお勧めします。 ifconfig -a を使用すると、IP アドレス (inet)、サブネットマスク (netmask)、およびルートとして実行する場合は MAC アドレス (ether) など NIC に関するあらゆる情報が表示されます。
/usr/sbin/arp: アドレス解決プロトコル (ARP) では、テーブルを使用して、インターネットから Ethernet、つまり IP アドレスから MAC アドレスへの変換情報を追跡します。arp を使用して、問題が発生した場合にこのテーブルを表示し、コンピュータにキャッシュされている情報を見たり、エントリを入力または削除することができます。 DNS に問題がある場合、arp コマンドに -an オプションを付けて実行すると、ホスト名への IP アドレスを解決することなく、テーブル全体がリストされます。arp は、ホストへの NIC 応答の MAC アドレスを取得する方法の 1 つです。 これは、ターゲット (arp host.domain.com) のホスト名または IP アドレスに対して arp を実行することによって行われます。 ただし、このコマンドが正しく機能するのは、ポーリング対象のマシンがポーリングを実行しているマシンと同じネットワークにある場合だけです。
/bin/netstat: この非常に便利なツールによって、さまざまなネットワーク関連のテーブルの内容が表示されます。 このツールについて知るには、マニュアルページに目を通していただくのがいちばんよい方法ですが、ここで基本的な使い方について簡単に説明します。
ポートまたはソケット情報は、netstat -a で表示できます。 これは、ロックアップしているネットワークデーモンがある場合や Web サーバーを参照しているコンピュータを知りたい場合に、どのリモートシステムがどのポートに接続しているかを見分けるために有益な方法です。
ほとんどの管理者は、netstat -rn で現在のシステムルーティングテーブルを確認します。 ネットワークの問題のトラブルシューティングを行うときは、ほとんどの場合、n オプションを使用することをお勧めします。IP - ホスト名ロックアップの場合の DNS ロックアップは、ローカルサービスではないからです。 「デフォルト」の宛先をよく確認する必要があります。これはシステムのデフォルトのルーターやゲートウェイだからです。
それぞれの NIC の統計情報は netstat -I で表示されます。これは、自社製の監視スクリプトでよく使われます。
/usr/sbin/snoop: ローカルネットワークで現在起きていることを表示するパケット監視ツール。 ネットワークを氾濫させる故障した NIC を見つけたり、DHCP が正しく動作していることを確認するのに便利です。 NIC を構成する前に、snoop を実行すると、NIC を流れるパケットが表示されていること、つまり、ケーブル、NIC、スイッチポートが正しく動作していることを確認できます。また、それらのパケットの IP アドレスが、NIC の新しいネットワークで予測される IP アドレスと整合性があることも確認できます。 このツールは慎重に使用するようにしてください。 会社のポリシーによっては、snoop を実行するマシンが対象でない場合、パケットを収集するネットワーク監視ツールの使用を禁止している場合があります。 また、リモートからマシンにログオンする場合、画面への詳細表示モードで snoop を実行することはお勧めしません。
次の学習ステップ
ネットワーク構成は、同時に簡単にすることも複雑にすることもできます。 UNIX アプリケーションで最初に頼りになるのは、マニュアルページです。 次に、Sun の製品ドキュメントサイト (docs.sun.com ) にあるオンラインの Solaris マニュアルをご覧いただくことをお勧めします。 最後に、Sun Managers メーリングリストを確認することをお勧めします。
Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License .