セキュリティ : Cisco 適応型セキュリティ アプライアンス(ASA)ソフトウェア

ASA DHCP リレーの設定例

2015 年 11 月 25 日 - 機械翻訳について
その他のバージョン: PDFpdf | 英語版 (2015 年 8 月 22 日) | フィードバック

概要

このドキュメントでは、パケット キャプチャとデバッグを使用した Cisco 適応型セキュリティ アプライアンス(ASA)の DHCP リレーについて説明し、設定例を示します。

著者:Cisco TAC エンジニア、Sourav Kakkar、Dinkar Sharma

前提条件

DHCP リレー エージェントは、セキュリティ アプライアンスが DHCP 要求をクライアントから他のインターフェイスに接続されたルータまたはその他の DHCP サーバに転送できるようにします。

以下の制限事項は、DHCP リレー エージェントの使用にのみ適用されます。

  • DHCP サーバ機能も有効になっている場合、リレー エージェントを有効にできません。
  • 直接セキュリティ アプライアンスに接続されている必要があり、別のリレー エージェントやルータを経由して要求を送信できません。
  • マルチ コンテキスト モードの場合、複数のコンテキストで使用されるインターフェイス上で DHCP リレーを有効にしたり、DHCP リレー サーバを有効にしたりすることができません。

トランスペアレント ファイアウォール モードでは、DHCP リレー サービスを使用できません。 トランスペアレント ファイアウォール モードのセキュリティ アプライアンスでは、アドレス解決プロトコル(ARP)トラフィックのみが通過可能です。 その他のトラフィックにはすべてアクセス コントロール リスト(ACL)が必要です。 トランスペアレント モードでセキュリティ アプライアンスを通じて、DHCP 要求および応答を許可するには、以下の 2 つの ACL を設定する必要があります。

  • 内部インターフェイスから外部インターフェイスへの DHCP 要求を許可する ACL
  • 他の方向のサーバからの応答を許可する ACL

要件

ASA CLI と Cisco IOS® CLI の基本的な知識があることが推奨されます。

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づくものです。

  • ASA 5500-x シリーズ セキュリティ アプライアンス リリース 9.x 以降
  • Cisco 1800 シリーズ ルータ

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。 ネットワークが稼働中の場合は、コマンドが及ぼす潜在的な影響を十分に理解しておく必要があります。

背景説明

DHCP プロトコルは、サブネット マスク付きの IP アドレス、デフォルト ゲートウェイ、DNS サーバ アドレス、およびホストへの Wireless Integrated Network Sensor(WINS)アドレスなどの自動コンフィギュレーションのパラメータを提供します。 最初は、DHCP クライアントにこれらの設定パラメータはありません。 この情報を取得するために、クライアントからブロードキャスト要求が送信されます。 DHCP サーバがこの要求を見て、必要な情報を提供します。 このようなブロードキャスト要求の性質のため、DHCP クライアントとサーバは同じサブネット上にある必要があります。 ルータやファイアウォールなどのレイヤ 3 デバイスは、一般に、デフォルトではこれらのブロードキャスト要求を転送しません。

DHCP クライアントと DHCP サーバを同じサブネット上に配置することが、どのような場合にも適しているとは限りません。 そのような配置が適さない場合には、DHCP リレーを使用できます。 セキュリティ アプライアンス上の DHCP リレー エージェントが内部インターフェイスのホストからの DHCP 要求を受け取ると、その要求を外部インターフェイスの指定された DHCP サーバのいずれかに転送します。 DHCP サーバがクライアントに返信すると、セキュリティ アプライアンスが返信を転送します。 このため、DHCP リレー エージェントは DHCP サーバとのやり取りにおいて、DHCP クライアントのプロキシの役割を果たします。 

パケット フロー

次の図は、DHCP リレー エージェントが使用されない場合の DHCP パケット フローを示しています。

ASA はこれらのパケットを代行受信し、DHCP リレー フォーマットにラップします。 

ASA の内部および外部インターフェイスのパケット キャプチャによる DHCP リレー

で強調されている部分は、ASA が各種フィールドを変更する方法を示しているので、内容をメモしてください。

  1. DHCP プロセスを開始するには、システムを起動して、ブロードキャスト メッセージ(DHCPDISCOVER)を宛先アドレス 255.255.255.255(UDP ポート 67)に送信します。



    : VPN クライアントが IP アドレスを要求する場合、グループポリシーで dhcp-network-scope コマンドによって定義された、最初に使用できる IP アドレスはリレーエージェントの IP アドレスです。



  2. 通常 ASA はブロードキャストを廃棄しますが、DHCP リレーとして機能するように設定されているため、サーバ側のインターフェイス IP から DHCP サーバの IP 送信元に、ユニキャスト パケットとして DHCPDISCOVER メッセージを転送します。 この場合は外部インターフェイスの IP アドレスです。 IP ヘッダーとリレー エージェント フィールドの変更点に注目してください。



    : Cisco Bug ID CSCuo89924 に組み込まれた修正により、バージョン 9.1(5.7)、および 9.3(1) 以降の ASA は、dhcprelay が有効になっているクライアント側のインターフェイス IP アドレス(giaddr)から、DHCP サーバの IP 送信元にユニキャスト パケットを転送します。 この場合は内部インターフェイスの IP アドレスです。



  3. サーバは、DHCPDISCOVER(UDP ポート 67)で設定されたリレー エージェントの IP を宛先とする ASA に、ユニキャスト パケットとして DHCPOFFER メッセージを返信します。 この場合は、dhcprelay が有効になっている内部インターフェイスの IP アドレス(giaddr)です。 レイヤ 3 ヘッダーの宛先 IP に注目してください。



  4. ASA は、このパケットを内部インターフェイス(UDP ポート 68)から送信します。 パケットが内部インターフェイスから送信されるときの IP ヘッダーの変更点に注目してください。



  5. DHCPOFFER メッセージを受信したら、オファーを受け入れることを示すために DHCPREQUEST メッセージを送信します。



  6. ASA が DHCP サーバに DHCPREQUEST を渡します。



  7. サーバは DHCPREQUEST を受け取ると、オファーされた IP を確認するために DHCPACK を返信します。



  8. ASA が DHCP サーバからの DHCPACK をユーザに渡して、トランザクションは完了します。

DHCP リレー トランザクションのデバッグおよび syslog

以下は、DHCP サーバ インターフェイス 198.51.100.2 に転送される DHCP 要求です。

DHCPRA: relay binding created for client 0050.5684.396a.DHCPD: 
setting giaddr to 192.0.2.1.


dhcpd_forward_request: request from 0050.5684.396a forwarded to 198.51.100.2.
DHCPD/RA: Punt 198.51.100.2/17152 --> 192.0.2.1/17152 to CP
DHCPRA: Received a BOOTREPLY from interface 2
DHCPRA: relay binding found for client 0050.5684.396a.
DHCPRA: Adding rule to allow client to respond using offered address 192.0.2.4

応答が DHCP サーバから受信された後、セキュリティ アプライアンスが DHCP クライアント(MAC アドレスが 0050.5684.396a)に転送して、ゲートウェイ アドレスを自身の内部インターフェイスに変更します。

DHCPRA: forwarding reply to client 0050.5684.396a.
DHCPRA: relay binding found for client 0050.5684.396a.
DHCPD: setting giaddr to 192.0.2.1.
dhcpd_forward_request: request from 0050.5684.396a forwarded to 198.51.100.2.
DHCPD/RA: Punt 198.51.100.2/17152 --> 192.0.2.1/17152 to CP
DHCPRA: Received a BOOTREPLY from interface 2
DHCPRA: relay binding found for client 0050.5684.396a.
DHCPRA: exchange complete - relay binding deleted for client 0050.5684.396a.
DHCPD: returned relay binding 192.0.2.1/0050.5684.396a to address pool.
dhcpd_destroy_binding() removing NP rule for client 192.0.2.1
DHCPRA: forwarding reply to client 0050.5684.396a.

同じトランザクションが syslog にも表示されます。

%ASA-7-609001: Built local-host inside:0.0.0.0
%ASA-7-609001: Built local-host identity:255.255.255.255
%ASA-6-302015: Built inbound UDP connection 13 for inside:
 0.0.0.0/68 (0.0.0.0/68) to identity:255.255.255.255/67 (255.255.255.255/67)
%ASA-7-609001: Built local-host identity:198.51.100.1
%ASA-7-609001: Built local-host outside:198.51.100.2
%ASA-6-302015: Built outbound UDP connection 14 for outside:
 198.51.100.2/67 (198.51.100.2/67) to identity:198.51.100.1/67 (198.51.100.1/67)

%ASA-7-609001: Built local-host inside:192.0.2.4
%ASA-6-302020: Built outbound ICMP connection for
 faddr 192.0.2.4/0 gaddr 198.51.100.2/1 laddr 198.51.100.2/1
%ASA-7-609001: Built local-host identity:192.0.2.1
%ASA-6-302015: Built inbound UDP connection 16 for outside:
 198.51.100.2/67 (198.51.100.2/67) to identity:192.0.2.1/67 (192.0.2.1/67)
%ASA-6-302015: Built outbound UDP connection 17 for inside:
 192.0.2.4/68 (192.0.2.4/68) to identity:192.0.2.1/67 (192.0.2.1/67)
%ASA-6-302021: Teardown ICMP connection for
 faddr 192.0.2.4/0 gaddr 198.51.100.2/1 laddr 198.51.100.2/1

設定

このセクションでは、このドキュメントで説明する機能を設定するための情報を提供します。

: このセクションで使用されているコマンドの詳細を調べるには、Command Lookup Tool登録ユーザ専用)を使用してください。

ネットワーク図

このドキュメントでは、次のネットワーク構成を使用しています。

設定

このドキュメントでは、次の設定を使用します。

  • CLI を使用した DHCP リレーの設定
  • DHCP リレーの最終的な設定
  • DHCP サーバの設定

CLI を使用した DHCP リレーの設定

dhcprelay server 198.51.100.2 outside
dhcprelay enable inside
dhcprelay setroute inside
dhcprelay timeout 60

DHCP リレーの最終的な設定

show run
: Saved
:
ASA Version 9.1(5)
!
hostname ASA
enable password 8Ry2YjIyt7RRXU24 encrypted
passwd 2KFQnbNIdI.2KYOU encrypted
names
!
interface Ethernet0/0
 nameif inside
 security-level 0
 ip address 192.0.2.1 255.255.255.0
!
interface Ethernet0/1
 nameif outside
 security-level 100
 ip address 198.51.100.1 255.255.255.0
!
interface Ethernet0/2
 no nameif
 no security-level
 no ip address
!
interface Ethernet0/3
 no nameif
 no security-level
 no ip address
!
interface Management0/0
 shutdown
 no nameif
 no security-level
 no ip address
!
boot system disk0:/asa825-k8.bin
ftp mode passive
no pager
logging enable
logging buffer-size 40960
logging buffered debugging
mtu inside 1500
mtu outside 1500
no failover
icmp unreachable rate-limit 1 burst-size 1
no asdm history enable
arp timeout 14400
timeout xlate 0:30:00
timeout pat-xlate 0:00:30
timeout conn 3:00:00 half-closed 0:30:00 udp 0:15:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 0:30:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute
timeout tcp-proxy-reassembly 0:01:00
timeout floating-conn 0:00:00
dynamic-access-policy-record DfltAccessPolicy
http server enable
http 0.0.0.0 0.0.0.0 inside
no snmp-server location
no snmp-server contact
crypto ipsec security-association lifetime seconds 28800
crypto ipsec security-association lifetime kilobytes 4608000
telnet timeout 5
ssh timeout 5
console timeout 0

dhcprelay server 198.51.100.2 Outside
dhcprelay enable inside
dhcprelay setroute inside


//Defining DHCP server IP and interface//
//Enables DHCP relay on inside/client facing interface//
//Sets ASA inside as DG for clients in DHCP reply packets//
dhcprelay timeout 60
threat-detection basic-threat
threat-detection statistics access-list
no threat-detection statistics tcp-intercept
webvpn
!
!
prompt hostname context
no call-home reporting anonymous
call-home
 profile CiscoTAC-1
  no active
  destination address http https://tools.cisco.com/its/service/oddce/services/DDCEService
  destination address email callhome@cisco.com
  destination transport-method http
  subscribe-to-alert-group diagnostic
  subscribe-to-alert-group environment
  subscribe-to-alert-group inventory periodic monthly
  subscribe-to-alert-group configuration periodic monthly
  subscribe-to-alert-group telemetry periodic daily
Cryptochecksum:7ae5f655ffe399c8a88b61cb13425972
: end

DHCP サーバの設定

show run
Building configuration...

Current configuration : 1911 bytes
!
! Last configuration change at 18:36:05 UTC Tue May 28 2013
version 15.1
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname Router
!
boot-start-marker
boot-end-marker
!
!
logging buffered 4096
!
no aaa new-model
!
crypto pki token default removal timeout 0
!
!
dot11 syslog
ip source-route
!
ip dhcp excluded-address 192.0.2.1 192.0.2.2
ip dhcp excluded-address 192.0.2.10 192.0.2.254

//IP addresses exluded from DHCP scope//
!
ip dhcp pool pool1
 import all  network 192.0.2.0 255.255.255.0
dns-server 192.0.2.10 192.0.2.11
 domain-name cisco.com

//DHCP pool configuration and various parameters//
!
!
!
ip cef
no ipv6 cef
!
multilink bundle-name authenticated
!
!
!
license udi pid CISCO1811W-AG-A/K9 sn FCTxxxx
!
!
!
interface Dot11Radio0
 no ip address
 shutdown
 speed basic-1.0 basic-2.0 basic-5.5 6.0 9.0 basic-11.0 12.0 18.0 24.0 36.0 48.0 54.0
 station-role root
!
interface Dot11Radio1
 no ip address
 shutdown
 speed basic-6.0 9.0 basic-12.0 18.0 basic-24.0 36.0 48.0 54.0
 station-role root
!
interface FastEthernet0
 ip address 198.51.100.2 255.255.255.0
 duplex auto
 speed auto
!
interface FastEthernet1
 no ip address
 duplex auto
 speed auto
!
interface FastEthernet2
 no ip address
!
interface FastEthernet3
 no ip address
!
interface FastEthernet4
 no ip address
!
interface FastEthernet5
 no ip address
!
interface FastEthernet6
 no ip address
!
interface FastEthernet7
 no ip address
!
interface FastEthernet8
 no ip address
!
interface FastEthernet9
 no ip address
!
interface Vlan1
 no ip address
!
interface Async1
 no ip address
 encapsulation slip
!
ip forward-protocol nd
no ip http server
no ip http secure-server
!
!
ip route 192.0.2.0 255.255.255.0 198.51.100.1

//Static route to ensure replies are routed to relay agent IP//
!
!
!
control-plane
!
!
line con 0
line 1
 modem InOut
 stopbits 1
 speed 115200
 flowcontrol hardware
line aux 0
line vty 0 4
 login
 transport input all
!
end

複数の DHCP サーバとの DHCPリレー

10 までの DHCP サーバを定義できます。 クライアントが DHCP 検出する パケットを送信 するとき、DHCP サーバすべてに転送されます。

次に例を示します。

dhcprelay server 198.51.100.2 outside
dhcprelay server 198.51.100.3 outside
dhcprelay server 198.51.100.4 outside
dhcprelay enable inside
dhcprelay setroute inside

複数の DHCP サーバとのデバッグ

複数の DHCP サーバが使用されるときいくつかのデバッグ例はここにあります:

DHCP: Received a BOOTREQUEST from interface 2 (size = 300)
DHCPRA: relay binding found for client 000c.291c.34b5.
DHCPRA: setting giaddr to 192.0.2.1.
dhcpd_forward_request: request from 000c.291c.34b5 forwarded to 198.51.100.2.
dhcpd_forward_request: request from 000c.291c.34b5 forwarded to 198.51.100.3.
dhcpd_forward_request: request from 000c.291c.34b5 forwarded to 198.51.100.4.

複数の DHCP サーバを持つキャプチャ

複数の DHCP サーバが使用されるときパケットキャプチャ例はここにあります:

ASA# show cap out

3 packets captured

1: 18:48:41.211628 192.0.2.1.67 > 198.51.100.2.67: udp 300
2: 18:48:41.211689 192.0.2.1.67 > 198.51.100.3.67: udp 300
3: 18:48:41.211704 192.0.2.1.67 > 198.51.100.4.67: udp 300

確認

このセクションでは、設定が正常に機能していることを確認します。

DHCP リレー サービスに関する統計情報を表示するには、ASA CLI で show dhcprelay statistics コマンドを入力します。

ASA# show dhcprelay statistics
DHCP UDP Unreachable Errors: 1
DHCP Other UDP Errors: 0

Packets Relayed
BOOTREQUEST          0
DHCPDISCOVER         1
DHCPREQUEST          1
DHCPDECLINE          0
DHCPRELEASE          0
DHCPINFORM           0

BOOTREPLY            0
DHCPOFFER            1
DHCPACK              1
DHCPNAK              0


この出力は、DHCPDISCOVERDHCP REQUESTDHCP OFERDHCP RELEASE、および DHCP ACK などの複数の DHCP メッセージ タイプに関する情報を提供します。

  • ASA CLI の show dhcprelay state
  • ルータ CLI の show ip dhcp server statistics

アウトプット インタープリタ ツール登録ユーザ専用)は、特定の show コマンドをサポートしています。 show コマンド出力の分析を表示するには、アウトプット インタープリタ ツールを使用してください。

トラブルシューティング

このセクションでは、設定のトラブルシューティングに役立つ情報を提供します。

Router#show ip dhcp server statistics
Memory usage         56637
Address pools        1
Database agents      0
Automatic bindings   1
Manual bindings      0
Expired bindings     0
Malformed messages   0
Secure arp entries   0

Message              Received
BOOTREQUEST          0
DHCPDISCOVER         1
DHCPREQUEST          1
DHCPDECLINE          0
DHCPRELEASE          0
DHCPINFORM           0

Message              Sent
BOOTREPLY            0
DHCPOFFER            1
DHCPACK              1
DHCPNAK              0

ASA# show dhcprelay state
Context  Configured as DHCP Relay
Interface inside, Configured for DHCP RELAY SERVER
Interface outside, Configured for DHCP RELAY

アウトプット インタープリタ ツール登録ユーザ専用)は、特定の show コマンドをサポートしています。 show コマンド出力の分析を表示するには、アウトプット インタープリタ ツールを使用してください。

次の debug コマンドも使用できます。

  • debug dhcprelay packet
  • debug dhcprelay event
  • キャプチャ(Captures)
  • syslog

debug コマンドを使用する前に、『debug コマンドの重要な情報』を参照してください。

関連情報


関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


Document ID: 116265