IPCPの設定方法についてまとめます。IPCPとはPPPにおける対向機にIPアドレス, サブネットマスク等を割り当てる規格です。staticに設定する事もできますし、address-poolを用いた動的な設定も可能です。
コマンド一覧
このシナリオで重要なコマンド一覧は以下の通りです。
Router(config)# interface <interface> Router(config-if)# ip address negotiated Router(config)# interface <interface> Router(config-if)#peer default ip address {[ <static> | dhcp | dhcp-pool | pool ]} Router(config)# ip address-pool {[ dhcp-pool | dhcp-proxy-client | local ]} Router(config)# ip dhcp-server <remote_addr>
構成図
以下の環境で動作確認を行います。R3をDHCP serverとします。
s0/0 s0/1 s0/0 s0/1 +--------+.1 .2+--------+.2 .3+--------+ | R1 +--------+ R2 +--------+ R3 | +--------+ +--------+ +--------+ 192.168.12.0/24 192.168.23.0/24
[R1] interface Serial0/0 no ip address encapsulation ppp [R2] interface Serial0/0 ip address 192.168.23.2 255.255.255.0 encapsulation ppp interface Serial0/1 ip address 192.168.12.2 255.255.255.0 encapsulation ppp ! router rip version 2 network 10.0.0.0 network 192.168.12.0 network 192.168.23.0 no auto-summary [R3] interface Serial0/1 ip address 192.168.23.3 255.255.255.0 encapsulation ppp ! router rip version 2 network 10.0.0.0 network 192.168.23.0 no auto-summary
設定全文は下記ファイルです。詳細設定は下記を参照ください。
仕様説明
IPアドレスの取得
IPCPによってIPアドレスを取得するには、以下のコマンドを投入します。なお、このコマンドで取得できるのはIPアドレスのみです。つまり、subnet maskは32bit扱いになります。subnet maskやdnsをIPCPによって取得するためには、On Demand Poolという別の機能を使用する必要があります。
Router(config)# interface <interface> Router(config-if)# ip address negotiated
IPアドレスの割り当て
以下のコマンドで、IPCPによって対向にIPアドレスを割り当てる事ができます。割り当て方法は、static, dhcp(dhcp proxy), dhcp-pool, pool(local pool)の4通りが選択できます。動的に割り当てる場合は、pool名を明示指定するかpool名を省略するかを選択する事ができます。pool名を省略した場合は、デフォルトのaddress poolが使用されます。
Router(config)# interface <interface> Router(config-if)#peer default ip address {[ <static> | dhcp | dhcp-pool | pool ]}
pooling mechanism
デフォルトのaddress poolを使用する場合は以下コマンドでどのaddress poolを使用してアドレス割り当てを行うかを指定しなければなりません。割り当て可能な方法は、local pool, dhcp pool, dhcp proxyです。なお、dhcp proxyはaddress pool名の指定ができませんので、dhcp proxyを使用する場合はこのコマンドの入力は必須となります。
Router(config)# ip address-pool {[ dhcp-pool | dhcp-proxy-client | local ]}
local pool
以下のコマンドによりlocal poolを定義する事ができます。
Router(config)# ip local pool {[ default | <name> ]} <low_addr> <high_addr>
dhcp proxy
dhcp proxyによるアドレス割り当てを行う際は、DHCPが動作するリモートホストのIPアドレスを以下コマンドで指定して下さい。
Router(config)# ip dhcp-server <remote_addr>
static binding
設定投入
以下のような設定を投入し、R1にIPアドレスを静的に割り当てます。
[R1] interface Serial0/0 ip address negotiated [R2] interface Serial0/1 peer default ip address 192.168.12.1
動作確認
R1に想定通りのIPアドレスが割り当てられている事を確認します。
[R1] R1#show ip interface Serial 0/0 Serial0/0 is up, line protocol is up Internet address is 192.168.12.1/32 Broadcast address is 255.255.255.255 Address determined by IPCP
local pool
設定投入
以下のような設定を投入し、R1にIPアドレスをlocal poolによって割り当てます。なお、”peer default ip address pool”はデフォルト設定ですので、”show run”で確認する事はできない設定です。
[R2] ip address-pool local ip local pool default 192.168.12.10 192.168.12.19 ! interface Serial0/1 peer default ip address pool
動作確認
R1に想定通りのIPアドレスが割り当てられている事を確認します。
[R1] R1#show ip interface brief Serial 0/0 Interface IP-Address OK? Method Status Protocol Serial0/0 192.168.12.10 YES IPCP up up R1#
dhcp pool
設定投入
以下のような設定を投入し、ローカルホスト(R2)に定義したDHCP poolによってアドレスを割り当てます。
[R2] ip dhcp pool LOCAL_DHCP network 192.168.12.0 /24 ! ip dhcp excluded-address 192.168.12.0 192.168.12.19 ip dhcp excluded-address 192.168.12.30 192.168.12.255 ! interface Serial0/1 peer default ip address dhcp-pool LOCAL_DHCP
動作確認
R1に想定通りのIPアドレスが割り当てられている事を確認します。
[R1] R1#show ip interface brief Serial 0/0 Interface IP-Address OK? Method Status Protocol Serial0/0 192.168.12.20 YES IPCP up up R1#
dhcp proxy
設定投入
以下のような設定を投入し、リモートホストホスト(R3)に定義したDHCP poolによってアドレスを割り当てます。
[R2] ip address-pool dhcp-proxy-client ip dhcp-server 192.168.23.3 ! interface Serial0/1 peer default ip address dhcp [R3] ip dhcp excluded-address 192.168.12.0 192.168.12.29 ip dhcp excluded-address 192.168.12.40 192.168.12.255 ! ip dhcp pool REMOTE_DHCP network 192.168.12.0 255.255.255.0
R2はDHCP proxyの過程で、送信元がs0/1(192.168.12.2)であるDHCP discoveryをR3に送信します。アドレス割り当て前の状態ではR2 s0/1はlink downの状態ですので、dynamic routingによる疎通ができない状況です。そのため、以下のようなstatic routeを定義しR3がDHCP discoveryに対する応答を返せるようにする必要があります。
[R3] ip route 192.168.12.0 255.255.255.0 192.168.23.2
動作確認
R1に想定通りのIPアドレスが割り当てられている事を確認します。
[R1] R1#show ip interface brief Serial 0/0 Interface IP-Address OK? Method Status Protocol Serial0/0 192.168.12.30 YES IPCP up up R1#