Difference between revisions of "DHCP Cisco IOS"

From Teknologisk videncenter
Jump to: navigation, search
m (DHCP Server manual options)
m
Line 9: Line 9:
  
 
=== DHCP Server example with fixed options ===  
 
=== DHCP Server example with fixed options ===  
<pre>
+
<source lang="cli">
 
!  
 
!  
 
ip dhcp excluded-address 192.168.22.2 192.168.22.99
 
ip dhcp excluded-address 192.168.22.2 192.168.22.99
Line 20: Line 20:
 
   dns-server 192.168.22.223  
 
   dns-server 192.168.22.223  
 
!  
 
!  
</pre>
+
</source>
 
=== DHCP Server manual options ===
 
=== DHCP Server manual options ===
 
To add options which are not preconfigured, use the ''option'' flag. See example below. Option 150 adds a TFTP server, which for example are often used by IP Phones. The IP address points to the Call Manager (IP PBX).
 
To add options which are not preconfigured, use the ''option'' flag. See example below. Option 150 adds a TFTP server, which for example are often used by IP Phones. The IP address points to the Call Manager (IP PBX).
<pre>
+
<source lang="cli">
 
ip dhcp excluded-address 172.20.0.1 172.20.0.99
 
ip dhcp excluded-address 172.20.0.1 172.20.0.99
 
!
 
!
Line 33: Line 33:
 
   option 150 ip 172.21.0.201
 
   option 150 ip 172.21.0.201
 
!
 
!
</pre>
+
</source>
  
 
=== Lease time ===
 
=== Lease time ===
Line 39: Line 39:
  
 
To set lease time to 8 hours and 30 minutes, use the command ''lease 0 8 30'' (0 days 8 hours and 30 minuttes)
 
To set lease time to 8 hours and 30 minutes, use the command ''lease 0 8 30'' (0 days 8 hours and 30 minuttes)
<pre>
+
<source lang="cli">
 
ip dhcp excluded-address 172.20.0.1 172.20.0.99
 
ip dhcp excluded-address 172.20.0.1 172.20.0.99
 
!
 
!
Line 49: Line 49:
 
   lease 0 8 30
 
   lease 0 8 30
 
!
 
!
</pre>
+
</source>
  
 
=== DHCP Server often used SHOW commands ===
 
=== DHCP Server often used SHOW commands ===
 
==== Show leased addresses ====
 
==== Show leased addresses ====
<pre>
+
<source lang="cli">
Mercantec#show ip dhcp binding
+
Mercantec#<input>show ip dhcp binding</input>
 
IP address      Client-ID/Hardware address Lease expiration            Type
 
IP address      Client-ID/Hardware address Lease expiration            Type
 
192.168.22.100  0063.5972.636f.9da6.                  Jan 25 2009 12:30 AM        Automatic
 
192.168.22.100  0063.5972.636f.9da6.                  Jan 25 2009 12:30 AM        Automatic
 
192.168.22.101  0063.6c72.636f.6e38.                  Jan 25 2009 12:53 AM        Automatic
 
192.168.22.101  0063.6c72.636f.6e38.                  Jan 25 2009 12:53 AM        Automatic
 
192.168.22.108  0063.7e7a.636f.247f.                  Jan 25 2009 14:32 AM        Automatic
 
192.168.22.108  0063.7e7a.636f.247f.                  Jan 25 2009 14:32 AM        Automatic
</pre>
+
</source>
  
 
==== Show Server statistics ====
 
==== Show Server statistics ====
<pre>
+
<source lang="cli">
Mercantec#show ip dhcp server statistics
+
Mercantec#<input>show ip dhcp server statistics</input>
 
Memory usage        13906
 
Memory usage        13906
 
Address pools        1
 
Address pools        1
Line 85: Line 85:
 
DHCPACK              1
 
DHCPACK              1
 
DHCPNAK              0
 
DHCPNAK              0
</pre>
+
</source>
  
  
 
==== Show imported parameters from DHCP Client ====
 
==== Show imported parameters from DHCP Client ====
 
This show command is used to see which DHCP server options that are imported from the Client. For example when connecting to an [[ISP]] the DHCP Client receives [[DNS]] server IP Addresses, that the inside clients need to use. This information is imported into the DHCP server.
 
This show command is used to see which DHCP server options that are imported from the Client. For example when connecting to an [[ISP]] the DHCP Client receives [[DNS]] server IP Addresses, that the inside clients need to use. This information is imported into the DHCP server.
<pre>
+
<source lang="cli">
Mercantec#show ip dhcp import
+
Mercantec#<input>show ip dhcp import</input>
 
Address Pool Name: Client
 
Address Pool Name: Client
 
Domain Name Server(s): 10.0.0.2
 
Domain Name Server(s): 10.0.0.2
 
NetBIOS Name Server(s): 10.0.0.2
 
NetBIOS Name Server(s): 10.0.0.2
 
Domain Name Option: tekkom.dk
 
Domain Name Option: tekkom.dk
</pre>
+
</source>
 
==== Showing the pools ====
 
==== Showing the pools ====
<pre>
+
<source lang="cli">
Mercantec#sh ip dhcp pool
+
Mercantec#<input>sh ip dhcp pool</input>
  
 
Pool VINKELVEJ :
 
Pool VINKELVEJ :
Line 110: Line 110:
 
  Current index        IP address range                    Leased addresses
 
  Current index        IP address range                    Leased addresses
 
  172.20.1.12          172.20.0.1      - 172.20.255.254    0
 
  172.20.1.12          172.20.0.1      - 172.20.255.254    0
</pre>
+
</source>
  
 
=== DHCP Server Debug commands ===
 
=== DHCP Server Debug commands ===
 
====Decode DHCP server receptions and transmissions ====
 
====Decode DHCP server receptions and transmissions ====
<pre>
+
<source lang="cli">
Mercantec#debug ip dhcp server
+
Mercantec#<input>debug ip dhcp server</input>
</pre>
+
</source>
  
 
== DHCP Relay ==
 
== DHCP Relay ==
Line 127: Line 127:
 
<br>
 
<br>
 
==== Configuration of R1 ====
 
==== Configuration of R1 ====
<pre>
+
<source lang="cli">
 
hostname R1
 
hostname R1
 
!  
 
!  
Line 141: Line 141:
 
interface fastethernet 0/0
 
interface fastethernet 0/0
 
   ip address 172.16.10.1 255.255.255.0
 
   ip address 172.16.10.1 255.255.255.0
</pre>
+
<source>
 
<br>
 
<br>
  
 
==== Configuration of R2 ====
 
==== Configuration of R2 ====
<pre>
+
<source lang="cli">
 
hostname R2
 
hostname R2
 
!
 
!
Line 154: Line 154:
 
interface fastethernet 0/1
 
interface fastethernet 0/1
 
   ip address 172.16.10.2 255.255.255.0
 
   ip address 172.16.10.2 255.255.255.0
</pre>
+
</source>
 
<br>
 
<br>
 
=== More than you really want to know about ip helper-addresses ===
 
=== More than you really want to know about ip helper-addresses ===
Line 169: Line 169:
 
==== Altering the default helper-address UDP ports ====
 
==== Altering the default helper-address UDP ports ====
 
If you want to change the default UDP port forwaring, you can use the ''ip forward-protocol udp'' command. The example below will only allow DHCP clients BOOTP port 68 and SYSLOG port 514 to be forwarded.  
 
If you want to change the default UDP port forwaring, you can use the ''ip forward-protocol udp'' command. The example below will only allow DHCP clients BOOTP port 68 and SYSLOG port 514 to be forwarded.  
<pre>
+
<source lang="cli">
Mercantec(config)#no ip forward-protocol udp 37
+
Mercantec(config)#<input>no ip forward-protocol udp 37</input>
Mercantec(config)#no ip forward-protocol udp 49
+
Mercantec(config)#<input>no ip forward-protocol udp 49</input>
Mercantec(config)#no ip forward-protocol udp 53
+
Mercantec(config)#<input>no ip forward-protocol udp 53</input>
Mercantec(config)#no ip forward-protocol udp 67
+
Mercantec(config)#<input>no ip forward-protocol udp 67</input>
Mercantec(config)#no ip forward-protocol udp 69
+
Mercantec(config)#<input>no ip forward-protocol udp 69</input>
Mercantec(config)#no ip forward-protocol udp 137
+
Mercantec(config)#<input>no ip forward-protocol udp 137</input>
Mercantec(config)#no ip forward-protocol udp 138
+
Mercantec(config)#<input>no ip forward-protocol udp 138</input>
Mercantec(config)#ip forward-protocol udp 514
+
Mercantec(config)#<input>ip forward-protocol udp 514</input>
</pre>
+
</source>
  
 
== DHCP Client ==
 
== DHCP Client ==
 
=== DHCP Client simple example ===
 
=== DHCP Client simple example ===
<pre>
+
<source lang="cli">
 
!
 
!
 
interface FastEthernet0/1
 
interface FastEthernet0/1
 
  description Outside: Internet connection to ISP
 
  description Outside: Internet connection to ISP
 
  ip address dhcp
 
  ip address dhcp
</pre>
+
</source>
 
=== Checking the DHCP client ===
 
=== Checking the DHCP client ===
 
To show the leased IP address and the additional options issue the ''show dhcp lease'' command. See example below.
 
To show the leased IP address and the additional options issue the ''show dhcp lease'' command. See example below.
<pre>
+
<source lang="cli">
FireWall#show dhcp lease
+
FireWall#<input>show dhcp lease</input>
 
Temp IP addr: 192.168.22.178  for peer on Interface: FastEthernet0/1
 
Temp IP addr: 192.168.22.178  for peer on Interface: FastEthernet0/1
 
Temp  sub net mask: 255.255.255.0
 
Temp  sub net mask: 255.255.255.0
Line 203: Line 203:
 
                       643831332D4661302F31
 
                       643831332D4661302F31
 
   Hostname: FireWall
 
   Hostname: FireWall
</pre>
+
</source>
  
 
== Examples with Server and Client ==
 
== Examples with Server and Client ==
 
=== DHCP Client and Server with [[NAT]]/[[PAT]] example ===
 
=== DHCP Client and Server with [[NAT]]/[[PAT]] example ===
<pre>
+
<source lang="cli">
 
ip dhcp excluded-address 192.168.22.1 192.168.22.99
 
ip dhcp excluded-address 192.168.22.1 192.168.22.99
 
ip dhcp excluded-address 192.168.22.200 192.168.22.255
 
ip dhcp excluded-address 192.168.22.200 192.168.22.255
Line 232: Line 232:
 
access-list 1 permit 172.16.0.0 0.15.255.255
 
access-list 1 permit 172.16.0.0 0.15.255.255
 
access-list 1 permit 192.168.0.0 0.0.255.255
 
access-list 1 permit 192.168.0.0 0.0.255.255
</pre>
+
</source>
  
 
=== DHCP Client and Server with [[NAT]]/[[PAT]] example and import ===
 
=== DHCP Client and Server with [[NAT]]/[[PAT]] example and import ===
 
This example show a typical configuration of a small [[Internet gateway]], which imports the IP-addresses of for example the [[DNS]] servers from the [[ISP]].
 
This example show a typical configuration of a small [[Internet gateway]], which imports the IP-addresses of for example the [[DNS]] servers from the [[ISP]].
<pre>
+
<source lang="cli">
 
ip dhcp excluded-address 192.168.22.1 192.168.22.99
 
ip dhcp excluded-address 192.168.22.1 192.168.22.99
 
ip dhcp excluded-address 192.168.22.200 192.168.22.255
 
ip dhcp excluded-address 192.168.22.200 192.168.22.255
Line 259: Line 259:
 
access-list 1 permit 172.16.0.0 0.15.255.255
 
access-list 1 permit 172.16.0.0 0.15.255.255
 
access-list 1 permit 192.168.0.0 0.0.255.255
 
access-list 1 permit 192.168.0.0 0.0.255.255
</pre>
+
</source>
 +
{{#css:
 +
   
 +
    pre {  font-family: Lucida Console; font-weight: bold; font-size: 14px; color: #00FF00; background: black; margin: 10px 50px; width: 800px; line-height: 200%; overflow: auto;}
 +
}}
 
[[Category:Cisco]][[Category:CCNA]][[Category:CCNP]][[Category:IOS]][[Category:Network]]
 
[[Category:Cisco]][[Category:CCNA]][[Category:CCNP]][[Category:IOS]][[Category:Network]]

Revision as of 14:08, 24 June 2009

Comment The information in this article is targeted to Cisco CCNA and CCNP curriculum, and not meant as in-depth information on all IOS

See the page DHCP for an explanation of DHCP.

DHCP Server

IOS DHCP Servers service is installed on Cisco Router IOS and most Cisco Switch IOS.


DHCP Server example with fixed options

! 
ip dhcp excluded-address 192.168.22.2 192.168.22.99
ip dhcp excluded-address 192.168.22.200 192.168.22.255
!
ip dhcp pool STUDENTS
  network 192.168.22.0 255.255.255.0
  domain-name tekkom.dk
  default-router 192.168.22.1
  dns-server 192.168.22.223 
!

DHCP Server manual options

To add options which are not preconfigured, use the option flag. See example below. Option 150 adds a TFTP server, which for example are often used by IP Phones. The IP address points to the Call Manager (IP PBX).

ip dhcp excluded-address 172.20.0.1 172.20.0.99
!
ip dhcp pool VINKEL20
   network 172.20.0.0 255.255.255.0
   domain-name tekkom.dk
   default-router 172.20.0.1
   dns-server 172.21.0.201
   option 150 ip 172.21.0.201
!

Lease time

  • default lease time 1 day

To set lease time to 8 hours and 30 minutes, use the command lease 0 8 30 (0 days 8 hours and 30 minuttes)

ip dhcp excluded-address 172.20.0.1 172.20.0.99
!
ip dhcp pool VINKEL20
   network 172.20.0.0 255.255.255.0
   domain-name tekkom.dk
   default-router 172.20.0.1
   dns-server 172.21.0.201
   lease 0 8 30
!

DHCP Server often used SHOW commands

Show leased addresses

Mercantec#<input>show ip dhcp binding</input>
IP address       Client-ID/Hardware address	 	Lease expiration            Type
192.168.22.100   0063.5972.636f.9da6.                   Jan 25 2009 12:30 AM        Automatic
192.168.22.101   0063.6c72.636f.6e38.                   Jan 25 2009 12:53 AM        Automatic
192.168.22.108   0063.7e7a.636f.247f.                   Jan 25 2009 14:32 AM        Automatic

Show Server statistics

Mercantec#<input>show ip dhcp server statistics</input>
Memory usage         13906
Address pools        1
Database agents      1
Automatic bindings   1
Manual bindings      0
Expired bindings     0
Malformed messages   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


Show imported parameters from DHCP Client

This show command is used to see which DHCP server options that are imported from the Client. For example when connecting to an ISP the DHCP Client receives DNS server IP Addresses, that the inside clients need to use. This information is imported into the DHCP server.

Mercantec#<input>show ip dhcp import</input>
Address Pool Name: Client
Domain Name Server(s): 10.0.0.2
NetBIOS Name Server(s): 10.0.0.2
Domain Name Option: tekkom.dk

Showing the pools

Mercantec#<input>sh ip dhcp pool</input>

Pool VINKELVEJ :
 Utilization mark (high/low)    : 100 / 0
 Subnet size (first/next)       : 0 / 0
 Total addresses                : 65534
 Leased addresses               : 0
 Pending event                  : none
 1 subnet is currently in the pool :
 Current index        IP address range                    Leased addresses
 172.20.1.12          172.20.0.1       - 172.20.255.254    0

DHCP Server Debug commands

Decode DHCP server receptions and transmissions

Mercantec#<input>debug ip dhcp server</input>

DHCP Relay

ip helper-address command

When using a Cisco Router as a DHCP Relay you need to set the ip helper-address on the interface which receives the broadcast from the DHCP-client and specify the IP-address of the DHCP Server. See example below. R2 Receives the broadcasts on fastethernet 0/0 and need to transmit the request as a unicast to the DHCP-server R1. Se config examples below.

DHCP Relay example

Example network DHCP Relay


Configuration of R1

hostname R1
! 
ip dhcp excluded-address 192.168.22.1 192.168.22.99
ip dhcp excluded-address 192.168.22.200 192.168.22.255
!
ip dhcp pool STUDENTS
  network 192.168.22.0 255.255.255.0
  domain-name tekkom.dk
  default-router 192.168.22.1
  dns-server 192.168.22.223 
! 
interface fastethernet 0/0
  ip address 172.16.10.1 255.255.255.0
<source>
<br>

==== Configuration of R2 ====
<source lang="cli">
hostname R2
!
interface fastethernet 0/0
  ip address 192.168.22.1 255.255.255.0
  ip helper-address 172.16.10.1     
!
interface fastethernet 0/1
  ip address 172.16.10.2 255.255.255.0


More than you really want to know about ip helper-addresses

The ip helper-address command forwards incoming UDP broadcast packets on the interface where the command is specified. default for the following ports

  • Time UDP port 37
  • Tacacs UDP port 49
  • DNS UDP port 53
  • BOOTP server UDP port 67
  • BOOTP client UDP port 68
  • TFTP UDP port 69
  • NetBIOS name service UDP port 137
  • NetBIOS Datagram service UDP port 138

Altering the default helper-address UDP ports

If you want to change the default UDP port forwaring, you can use the ip forward-protocol udp command. The example below will only allow DHCP clients BOOTP port 68 and SYSLOG port 514 to be forwarded.

Mercantec(config)#<input>no ip forward-protocol udp 37</input>
Mercantec(config)#<input>no ip forward-protocol udp 49</input>
Mercantec(config)#<input>no ip forward-protocol udp 53</input>
Mercantec(config)#<input>no ip forward-protocol udp 67</input>
Mercantec(config)#<input>no ip forward-protocol udp 69</input>
Mercantec(config)#<input>no ip forward-protocol udp 137</input>
Mercantec(config)#<input>no ip forward-protocol udp 138</input>
Mercantec(config)#<input>ip forward-protocol udp 514</input>

DHCP Client

DHCP Client simple example

!
interface FastEthernet0/1
 description Outside: Internet connection to ISP
 ip address dhcp

Checking the DHCP client

To show the leased IP address and the additional options issue the show dhcp lease command. See example below.

FireWall#<input>show dhcp lease</input>
Temp IP addr: 192.168.22.178  for peer on Interface: FastEthernet0/1
Temp  sub net mask: 255.255.255.0
   DHCP Lease server: 192.168.22.73, state: 5 Bound
   DHCP transaction id: 1075
   Lease: 600 secs,  Renewal: 300 secs,  Rebind: 525 secs
Temp default-gateway addr: 192.168.22.73
   Next timer fires after: 00:04:10
   Retry count: 0   Client-ID: cisco-001b.d40f.d813-Fa0/1
   Client-ID hex dump: 636973636F2D303031622E643430662E
                       643831332D4661302F31
   Hostname: FireWall

Examples with Server and Client

DHCP Client and Server with NAT/PAT example

ip dhcp excluded-address 192.168.22.1 192.168.22.99
ip dhcp excluded-address 192.168.22.200 192.168.22.255
!
ip dhcp pool HETH
   network 192.168.22.0 255.255.255.0
   domain-name tekkom.dk
   default-router 192.168.22.1
   dns-server 192.168.22.223
!
interface FastEthernet0/0
 description Inside. Internal LAN
 ip address 192.168.22.1 255.255.255.0
 ip nat inside
!
interface FastEthernet0/1
  description Outside: Internet connection to ISP
 ip address dhcp
 ip nat outside
!
ip nat inside source list 1 interface FastEthernet0/1 overload
!
access-list 1 permit 10.0.0.0 0.255.255.255
access-list 1 permit 172.16.0.0 0.15.255.255
access-list 1 permit 192.168.0.0 0.0.255.255

DHCP Client and Server with NAT/PAT example and import

This example show a typical configuration of a small Internet gateway, which imports the IP-addresses of for example the DNS servers from the ISP.

ip dhcp excluded-address 192.168.22.1 192.168.22.99
ip dhcp excluded-address 192.168.22.200 192.168.22.255
!
ip dhcp pool HETH
   network 192.168.22.0 255.255.255.0
   import all
!
interface FastEthernet0/0
 description Inside. Internal LAN
 ip address 192.168.22.1 255.255.255.0
 ip nat inside
!
interface FastEthernet0/1
  description Outside: Internet connection to ISP
 ip address dhcp
 ip nat outside
!
ip nat inside source list 1 interface FastEthernet0/1 overload
!
access-list 1 permit 10.0.0.0 0.255.255.255
access-list 1 permit 172.16.0.0 0.15.255.255
access-list 1 permit 192.168.0.0 0.0.255.255