Solaris のシステム管理 (IP サービス)

ProcedureIPv4 ルーターの構成方法

次の手順では、システムのインストール後にルーターのインタフェースを構成していることを想定しています。

始める前に

ルーターをネットワークに物理的に設置してから、ローカルファイルモードで動作するようにルーターを構成します。詳細は、「ローカルファイルモードの場合のホストの構成方法」を参照してください。これで、ネットワーク構成サーバーがダウンしても、ルーターが確実にブートされるようになります。

  1. ルーターとして構成されるシステムで、Primary Administrator の役割を引き受けるか、スーパーユーザーになります。

    Primary Administrator 役割には、Primary Administrator プロファイルが含まれます。役割を作成してユーザーに役割を割り当てるには、『Solaris のシステム管理 (基本編)』の第 2 章「Solaris 管理コンソールの操作 (手順)」を参照してください。

  2. 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
  3. インストール時に、ルーター上のどのインタフェースが構成され、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 
             
  4. 別のインタフェースを構成して plumb します。


    # ifconfig interface plumb up
    

    たとえば、qfe1 の場合は、次のように入力します。


    # ifconfig qfe1 plumb up
    

    注 –

    ifconfig コマンドを使用して明示的に構成されたインタフェースは、リブート後には保持されません。


  5. インタフェースに IPv4 アドレスとネットマスクを割り当てます。


    注意 – 注意 –

    IPv4 ルーターがその IP アドレスを DHCP 経由で受け取るように構成することもできますが、これは十分に経験を積んだ DHCP システム管理者だけが行うようにしてください。



    # ifconfig interface IPv4-address netmask+netmask
    

    たとえば、IP アドレス 192.168.84.3qfe1 に割り当てるには、次のいずれかを実行します。

    • 従来の IPv4 の表記法を使用して、次のように入力します。


      # ifconfig qfe1 192.168.84.3 netmask + 255.255.255.0
      
    • CIDR の表記法を使用して、次のように入力します。


      # ifconfig qfe1 192.168.84.3/24
      

      接頭辞 /24 により、自動的にネットマスク 255.255.255.0qfe1 に割り当てられます。CIDR の接頭辞と、それと同等の 10 進ドット表記のネットマスクの表については、図 2–2 を参照してください。

  6. (省略可能) リブート後もインタフェースの構成が保持されるようにするには、追加の物理インタフェースごとに /etc/hostname.interface ファイルを作成します。

    たとえば、/etc/hostname.qfe1 ファイルと /etc/hostname.qfe2 ファイルを作成します。次に、ホスト名 timbuktu/etc/hostname.qfe1 ファイルに入力し、ホスト名 timbuktu-201/etc/hostname.qfe1 ファイルに入力します。個々のインタフェースを構成する方法の詳細については、「システムインストール後に物理インタフェースを構成する方法」を参照してください。

    このファイルを作成したあとは、必ず構成リブートを実行してください。


    # reboot -- -r
    
  7. 各インタフェースのホスト名と 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

    インタフェース timbuktutimbuktu-201 は、同じシステムにあります。timbuktu-201 のネットワークアドレスが、timbuktu のネットワークインタフェースとは異なる点に注意してください。この違いは、ネットワーク 192.168.201 の物理ネットワークメディアが timbuktu-201 ネットワークインタフェースに接続されているのに対し、ネットワーク 192.168.200 のメディアは timbuktu インタフェースに接続されているためです。

  8. 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
    
  9. このルーターがサブネット化されたいずれかのネットワークに接続されている場合は、ネットワーク番号とネットマスクを /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
  10. ルーターで IPv4 パケット転送を使用可能にします。

    次のいずれかのコマンドを使用して、パケット転送を有効にします。

    • routeadm コマンドを次のように使用します。


      # routeadm -e ipv4-forwarding -u
      
    • 次のサービス管理機能 (SMF) コマンドを使用します。


      # svcadm enable ipv4-forwarding
      

    これで、ルーターは、ローカルネットワークの外にもパケットを転送できます。さらにルーターは、ルートを手動で経路制御テーブルに追加できる機能である、「静的経路制御」もサポートします。このシステムで静的経路制御を使用する場合は、 ルーターの構成はこれで終わりです。ただし、システム経路制御テーブルで、ルートを維持管理する必要があります。ルートの追加方法については、「ルートの設定」および route(1M) のマニュアルページを参照してください。

  11. (任意) 経路制御プロトコルを起動する。

    経路制御デーモン /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 インタフェースだけが 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 のデフォルトルーターの構成はまだ完了していません。次の作業を行う必要があります。