RTX1100でDHCPコントロール
RTX1100でDHCPコントロール
0.改訂履歴
- 2007.03.31 新規作成
- 2007.04.02 フィルタにより外部接続制限の追加
1.はじめに
このドキュメントでは,RTX1100(RTX1500)にて,DHCPを利用する手順を説明する. この手順の中では,サーバの有効化,重複配布のチェック感覚,複数スコープの設定,予約アドレスによる固定配布,予約以外のDHCPクライアントの取り扱い(配布しない,アクセス制限を行う)等について説明する. RTX1100,RTX1500で実装されている「DHCPサーバー機能とMACアドレスフィルタの併用」機能についてファームウェアRev.8.03.24以降が必要となる.
2.DHCPサーバを有効化する最低限の設定
- RTXでシリーズでのDHCPは,サーバ(server)とリレーエージェント(relay)としてタイプを指定して機能させることが出来る.
- リレーエージェントとは,別のDHCPサーバに転送するサーバとなる.
- サーバとして稼働させるためには,次のコマンドを投入する.
- 次に,DHCPスコープを指定する.
- スコープとは,連続しているIPアドレスの範囲を示す.
- 1つのネットワークに複数のスコープを設定することは出来ない.
- 複数のスコープの中で,同じIPアドレス範囲を指定することも出来ない.
- たとえば,次のように設定する.
dhcp scope 7777 192.168.20.2-192.168.20.100/24
|
- この場合は,スコープ番号7777は,192.168.20.2〜192.168.20.100間での範囲を示すという設定となる.
- 次に,重複しているアドレスがあるかチェックするか否かを設定する.
dhcp duplicate check 100 off
|
- この設定では,LAN無いを対象とするチェックの待ち時間を100ミリ秒として,リレーエージェント経由等のLAN外の場合はチェックしない設定としている.
- ここまで設定したら,ステータスを確認する.
# show status dhcp
DHCP Scope number: 7777
Network address: 192.168.20.0
All: 99
Except: 0
Leased: 0
Usable: 99
#
|
- DHCPクライアントを接続する等で,IPアドレスが発行される.
- 発行したときの内容を確認する.
> show status dhcp
DHCP Scope number: 7777
Network address: 192.168.20.0
Leased address: 192.168.20.2
(type) Client ID: (01) 00 03 93 b2 XX XX
Host Name: ivory
Remaining lease: 2days 23hours 59min. 34secs.
All: 99
Except: 0
Leased: 1
Usable: 98
>
|
- クライアントのMACアドレスと,リース期間が表示され,Leasedに発行数,Usableに残りのIPアドレス数が表示されている.
- また,一覧表としてサマリを取得することが出来る.
# show status dhcp summary
DHCP Scope number: 7777
1: 192.168.20.3: c4:41:e2:00:d3:XX, ServerRoom
2: 192.168.20.4: 00:82:f9:00:eb:XX, PowerbookDuo2
3: 192.168.20.6: 00:00:61:65:30:XX, ServerRoom
4: 192.168.20.7: bf:50:00:16:01:XX, FM-E10BFE77C556
5: 192.168.20.8: 00:07:40:02:29:XX, PowerbookDuo2
6: 192.168.20.11: 00:30:65:0c:d6:XX, ivory
#
|
3.予約アドレス(固定発行)の設定
- IPアドレスを発行(リース)するDHCPクライアントを固定する.
- MACアドレスによって,IPアドレスを設定するには,次のように設定する.
dhcp scope bind 7777 192.168.20.5 ethernet c2:9c:d0:00:16:XX
|
- この設定では,スコープ7777で,192.168.20.5を使うクライアントは,MACアドレスが"c2:9c:d0:00:16:cb"のもの言う設定となる.
- ここで,2つほど設定してみる.
#
# dhcp scope bind 7777 192.168.20.5 ethernet c2:9c:d0:00:16:XX
# dhcp scope bind 7777 192.168.20.10 ethernet 00:03:93:b2:a2:XX
#
|
- DHCPクライアントの1つを,再リースし,その後ステータスを確認してみる.
# show status dhcp
DHCP Scope number: 7777
Network address: 192.168.20.0
Leased address: 192.168.20.10
(type) Client ID: (01) 00 03 93 b2 XX XX
Host Name: ivory
Remaining lease: 2days 23hours 57min. 27secs.
Reserved(not leased): 192.168.20.5 = 01 c2 9c d0 00 16 XX
All: 99
Except: 0
Leased: 1
Usable: 98
( Reserved: 1 )
#
|
- Client IDを元にIPアドレスが設定されていることがわかる.
- 次に,DHCPクライアントIPを設定して,発行してみる.
# no dhcp scope bind 7777 192.168.20.5 ethernet c2:9c:d0:00:16:XX
# dhcp scope bind 7777 192.168.20.4 text ae01
|
- ここでは,先にMACアドレスを指定して設定したDHCPクライアントを解除し,DHCPクライアントIDがae01となっているものに対して,新たにIPアドレスを設定している.
- 次に,DHCPクライアント側で,DHCPクライアントIDを設定する.
- この状態で,ネットワークに接続し,IPアドレスのリリース情報を確認してみる.
# show status dhcp
DHCP Scope number: 7777
Network address: 192.168.20.0
Leased address: 192.168.20.4
(type) Client ID: (00) 61 65 30 31
Host Name: dhcpclientid
Remaining lease: 23hours 57min. 52secs.
Leased address: 192.168.20.5
(type) Client ID: (01) c2 9c d0 00 16 XX
Host Name: dhcpclientidf
Remaining lease: 23hours 48min. 8secs.
Leased address: 192.168.20.10
(type) Client ID: (01) 00 03 93 b2 XX XX
Host Name: ivory
Remaining lease: 2days 23hours 30min. 35secs.
Reserved(not leased): 192.168.20.11 = 01 00 30 65 0c d6 1c
All: 99
Except: 0
Leased: 3
Usable: 96
( Reserved: 1 )
#
|
- 先ほど設定した192.168.20.4がリースされている.
- また,Client IDの部分をみると,61 65 30 31と数字が並んでいるが,これはアスキーコードに直すとae01となる.
4.予約された端末以外にはIPアドレスを発行しない
- 予期せぬPCの接続を可能とするために,アドレスが予約されていないPCへは,IPアドレスのリースを行わないように設定する.
dhcp scope lease type 7777 bind-only
|
- この設定では,スコープ7777で定義された範囲のIPアドレスには,固定配布のみとして設定している.
5.予約されていない端末を識別する
- 前述のbind-onlyとする事で,予約していない端末はIPアドレスを取得できない.
- IPアドレスが取得できないのは登録されていない設定が悪いのか何らかの問題で物理的にネットワークにつながってないのか不明なので,割り当てられていないPC専用のDHCPアドレスを発行する方法としてみる.
- まず,予約してない端末が所属するネットワークを構成する.
#
# ip lan1 secondary address 192.168.99.1/24
#
|
#
# dhcp scope 8888 192.168.99.2-192.168.99.10/24
#
|
- これで,予約していないクライアントは,192.168.99.2から192.168.99.10までのIPアドレスとして登録される.
- 次に,固定予約が失敗したらスコープ8888を割り当てるように設定をする.
#
# dhcp scope lease type 7777 bind-only fallback=8888
#
|
- この状態で,まずは現在の割り当て状態のサマリを確認する.
# show status dhcp summary
DHCP Scope number: 7777
1: 192.168.20.3: c4:41:e2:00:d3:XX, ServerRoom
2: 192.168.20.4: 00:82:f9:00:eb:XX, PowerbookDuo2
3: 192.168.20.5: c2:9c:d0:00:16:XX, ServerRoom1
4: 192.168.20.6: 00:00:61:65:30:XX, ServerRoom2
5: 192.168.20.7: bf:50:00:16:01:XX, FM-E10BFE77C556
6: 192.168.20.11: 00:30:65:0c:d6:XX, ivory
DHCP Scope number: 8888
#
|
- スコープ8888は,何も発行していないことが確認できた.
- 次に,見割り当てのPCを接続して,内容を確認する.
# show status dhcp summary
DHCP Scope number: 7777
1: 192.168.20.3: c4:41:e2:00:d3:XX, ServerRoom
2: 192.168.20.4: 00:82:f9:00:eb:XX, PowerbookDuo2
3: 192.168.20.5: c2:9c:d0:00:16:XX, ServerRoom1
4: 192.168.20.6: 00:00:61:65:30:XX, ServerRoom2
5: 192.168.20.7: bf:50:00:16:01:XX, FM-E10BFE77C556
6: 192.168.20.11: 00:30:65:0c:d6:XX, ivory
DHCP Scope number: 8888
1: 192.168.99.2: 00:07:40:02:29:19, PowerbookDuo2
#
|
- これによって,IPアドレスが192.168.99.nの物は,未登録端末である事が判別できる.
- IPアドレスが発行されないのものは,別の物理的な配線などで問題があると切り分けられる.
- この設定をしたときに,もしNATを利用して通信をしている場合には,スコープ8888に所属する端末は,外部へアクセスが出来ない.
- たとえば,このように設定している場合.
# nat descriptor type 55555 masquerade
# nat descriptor address outer 55555 203.141.135.16
# nat descriptor address inner 55555 192.168.20.1-192.168.20.254
# pp select 1
pp1# ip pp nat descriptor 55555
pp1#
|
pp1# nat descriptor address inner 55555 192.168.20.1-192.168.99.254
pp1#
|
6,勝手に手動でIPアドレスを設定クライアントは外につなげられない
- 予約していない端末にIPアドレスを発行できないようになったが,このままでは,手動で設定すると外部にアクセスできてしまう.
- ethernetフィルタによって,予約していないアドレスからの通信が出来ないように設定する.
# ethernet filter 88 reject-log dhcp-not-bind 192.168.20.1
# ethernet filter 90 pass-nolog *:*:*:*:*:* *:*:*:*:*:*
# ethernet lan1 filter in 88 90
|
- ここでは,プライマリネットワーク(192.168.20.1)からの通信で,dhcpで発行していないMACアドレスを持つ通信は通過させない.
- そのほかの通信は通過させるという事になる.
- 勝手にIPアドレスを設定した端末で通信しようとした場合は,次のようなログが出力される.
Apr 1 03:41:40 RTX LAN1 Rejected at IN(88) filter: 00:07:40:02:XX:XX > 00:a0:de:30:XX:XX IP
Apr 1 03:41:40 RTX LAN1 Rejected at IN(88) filter: 00:07:40:02:XX:XX > 00:a0:de:30:XX:XX IP
|