概要

ルータのインタフェースにIPアドレスを設定することで、ルータはIPネットワークを接続します。IPアドレスを設定することは、ルータの設定の重要な一歩です。CiscoルータのIPアドレス設定コマンドについて詳しく解説します。

IPアドレスの設定コマンド

CiscoルータのインタフェースにIPアドレスを設定するには、該当のインタフェースのコンフィグレーションモードで以下のコマンドを利用します。

IPアドレスの設定コマンド

(config)#interface <interface-name>
(config-if)#ip address <ip-address> <subnetmask> [secondary]

<interface-name> : IPアドレスを設定するインタフェース名
<ip-address> : IPアドレス
<subnetmask> : サブネットマスク

このコマンドでインタフェースにIPアドレスを設定すると、そのインタフェースはネットワークを接続していることになります。なお、ルータのインタフェースはデフォルトでshutdownされているので、no shutdownも忘れないようにしてください。

IPアドレス設定時のエラーメッセージ

IPアドレスのオーバーラップ

IPアドレスを設定するときに次のようなエラーメッセージが表示されることがあります。

R1(config-if)# ip address 192.168.1.10 255.255.255.224
% 192.168.1.0 overlaps with FastEthernet0/0

このエラーメッセージは、IPアドレスがオーバーラップしていることを示しています。ルータの1つのインタフェースで1つのIPネットワークを接続します。IPネットワークは、言い換えれば、IPアドレスの集合です。インタフェースごとにIPアドレスの集合の範囲が重複してはいけません。複数のインタフェースのIPアドレスの集合(ネットワークアドレス)が重複していると、オーバーラップしていて上記のエラーメッセージが表示されます。IPアドレスがオーバーラップするような設定はできません。

図 IPアドレスのオーバーラップ
図 IPアドレスのオーバーラップ

不正なサブネットマスク

不正なサブネットマスクでIPアドレスを設定しようとすると、次のようなエラーメッセージが表示されます。

R1(config-if)# ip address 192.168.1.254 255.255.5.0
Bad mask 0xFFFF0500 for address 192.168.1.254

サブネットマスクは、必ずビット「1」の連続のあとビット「0」の連続です。ビット「1」とビット「0」が交互にあらわれるようなサブネットマスクは不正なサブネットマスクです。このエラーメッセージはサブネットマスクが正しくないことを意味しています。

セカンダリIPアドレス

通常、インタフェースにはIPアドレスを1つのみ設定します。ですが、secondaryのオプションを付けることによって、1つのインタフェースに複数のIPアドレスを設定することもできます。通常の設定のIPアドレスはプライマリIPアドレスと呼びます。secondaryオプションによって設定された2つ目以降のIPアドレスをセカンダリIPアドレスと呼びます。

セカンダリIPアドレスを利用したパケットの送受信の動作は次のようになります。

  • パケットの受信:宛先IPアドレスが設定したIPアドレスとなっているパケットをすべて受信します。
  • パケットの送信:インタフェースから送信するパケットの送信元IPアドレスはプライマリIPアドレスです。

以下の図は、セカンダリIPアドレスを設定しているときのパケットの送受信についてまとめています。

 図 セカンダリIPアドレス
図 セカンダリIPアドレス

ip unnumbered ~IPアドレスの使い回し~

ルータは複数のインタフェースを持ち、インタフェースにIPアドレスを設定することで複数のネットワークを相互接続して、IPパケットを送受信できるようになります。IPの通信を行うためには、インタフェースに必ずIPアドレスが必要です。

IPアドレスは原則として、インタフェースごとにユニークにしなければいけません。ただ、主に専用線などのポイントツーポイント(1対1)のインタフェースで例外的に他のインタフェースのIPアドレスと重複させることができます。そのために、ip unnumberedの設定を行います。

ip unnumberedの設定によって、他のインタフェースのIPアドレスを使いまわして、IPアドレスを節約できます。ip unnumberedの設定は以下のコマンドを利用します。

ip unnumberedコマンド

(config)#interface <interface-name1>
(config-if)#ip unnumbered <interface-name2>

<interface-name1> : ip unnumberedで設定するインタフェース名
<interface-name2> : 使いまわしたいIPアドレスを持つインタフェース名

次の図は、ip unnumberedの設定の例です。

 図 ip unnumbered
図 ip unnumbered

R1とR2はポイントツーポイントインタフェースのSe0/0で接続されています。R1のSe0/0に固有のIPアドレスを設定する代わりに、Fa0/0のIPアドレスである192.168.1.1を使いまわすために、Se0/0で以下の設定を行っています。

R1 ip unnumberedの設定

interface serial 0/0
 ip unnumbered FastEthernet0/0

すると、Se0/0のIPアドレスもFa0/0と同じ192.168.1.1となります。R1のSe0/0からIPパケットを送信するときには、Fa0/0のIPアドレスである192.168.1.1が送信元IPアドレスとなります。show ip interface briefおよびshow ip interfaceでは、以下のように表示されます。

R1 show ip inteface brief/show ip interface

R1#show ip interface brief
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            192.168.12.1    YES NVRAM  up                    up
Serial0/0                  192.168.12.1    YES TFTP   up                    up
R1#show ip interface serial 0/0
Serial0/0 is up, line protocol is up
  Interface is unnumbered. Using address of FastEthernet0/0 (192.168.12.1)
  Broadcast address is 255.255.255.255
  Peer address is 192.168.12.2
-- omitted --

なお、ip unnumberedの設定自体はイーサネットなどのポイントツーポイントインタフェース以外でも指定可能です。ただし、その場合、アドレス解決が正常にできずに通信ができなくなる可能性があります。

IPアドレスの確認コマンド

インタフェースに設定したIPアドレスを確認するための主なコマンドは以下の通りです。

コマンド概要
#show ip interface briefインタフェースに設定されているIPアドレスとインタフェースの状態を一覧で確認します。
#show interfaceインタフェースのL1/L2の状態を詳細に表示します。
#show ip interface インタフェースのL3の状態を詳細に表示します。
#show ip routeルーティングテーブルを表示します。
表 IPアドレスの角煮コマンド

show ip interface brief

IPアドレスを確認するときに、最初にshow ip interface briefコマンドを見ると便利です。IPアドレスを一覧表示します。ただし、サブネットマスクはわかりません。

show ip interface brief

R1#show ip interface brief
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            192.168.12.1    YES NVRAM  up                    up
FastEthernet0/1            10.1.1.1        YES NVRAM  up                    up

show interface

show interfaceでインタフェースのL1/L2の詳細情報を表示してもIPアドレスを確認できます。

show interface

R1#show interfaces FastEthernet0/0
FastEthernet0/0 is up, line protocol is up
  Hardware is Gt96k FE, address is c201.6dd0.0000 (bia c201.6dd0.0000)
  Internet address is 192.168.12.1/24
  MTU 1500 bytes, BW 10000 Kbit/sec, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
-- omitted --

show ip interface

show ip interfaceコマンドでインタフェースのL3の状態を詳細に確認できます。もちろんIPアドレスもわかります。

show ip interface

R1#show ip interface FastEthernet0/0
FastEthernet0/0 is up, line protocol is up
  Internet address is 192.168.12.1/24
  Broadcast address is 255.255.255.255
  Address determined by non-volatile memory
  MTU is 1500 bytes
  Helper address is not set
  Directed broadcast forwarding is disabled
  Outgoing access list is not set
  Inbound  access list is not set
-- omitted --

show ip route

show ip routeコマンドでルーティングテーブルを表示します。IPアドレスを設定することがネットワークをつなげることです。設定したIPアドレスのネットワークアドレスのルート情報がルーティングテーブルに登録されます。

show ip route

R1#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

C    192.168.12.0/24 is directly connected, FastEthernet0/0
     10.0.0.0/24 is subnetted, 1 subnets
C       10.1.1.0 is directly connected, FastEthernet0/1

IOSによっては、Directly Connected(コード「C」)に加えて、Local(コード「L」)のルート情報も登録されます。

まとめ

ポイント

  • IPアドレスを設定するにはインタフェースコンフィグレーションモードで以下のコマンドを入力します。
    (config)#interface <interface-name>
    (config-if)#ip address <ip-address> <subnetmask>[secondary]
  • オーバーラップしているIPアドレスや不正なサブネットマスクでの設定はできません。
  • secondaryオプションで1つのインタフェースに複数のIPアドレスを設定できます。
  • ip unnumberedによって他のインタフェースのIPアドレスを使い回すことができます。