DHCP局域网协议使用教程

DHCP(动态主机配置协议)是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。默认情况下,DHCP作为Windows Server的一个服务组件不会被系统自动安装,还需要管理员手动安装并进行必要的配置。

客户端模式

作为客户端接入DHCP服务:连接路由器,使用自动IP搜索功能:

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@test ~]#/sbin/udhcpc
udhcpc (v1.22.1) started
Setting IP address 0.0.0.0 on eth0
Sending discover...
Sending select for 192.168.0.233...
Lease of 192.168.0.233 obtained, lease time 7200
Setting IP address 192.168.0.233 on eth0
Deleting routers
route: SIOCDELRT: No such process
Adding router 192.168.1.1
Recreating /etc/resolv.conf
Adding DNS server 114.114.114.114
Adding DNS server 223.5.5.5

服务端模式

作为DHCP服务,可以与其他客户端通过网线直连:

  1. 关闭dhcpc自动IP搜索功能

    1
    killall -9 udhcpc
  2. 设置本地静态IP地址

    1
    ifconfig eth0 192.168.32.10 netmask 255.255.254.0

    eth0: 本地使用的网卡

    192.168.32.10: 本地使用的IP地址

  3. 配置DHCP服务:vi /etc/udhcpd.conf

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    # Sample udhcpd configuration file (/etc/udhcpd.conf)

    # The start and end of the IP lease block

    start 192.168.32.20 #客户端的起始地址
    end 192.168.32.254 #客户端的结束地址


    # The interface that udhcpd will use

    interface eth0 #网卡


    # The maximim number of leases (includes addressesd reserved
    # by OFFER's, DECLINE's, and ARP conficts

    #max_leases 254 #default: 254


    # If remaining is true (default), udhcpd will store the time
    # remaining for each lease in the udhcpd leases file. This is
    # for embedded systems that cannot keep time between reboots.
    # If you set remaining to no, the absolute time that the lease
    # expires at will be stored in the dhcpd.leases file.

    #remaining yes #default: yes


    # The time period at which udhcpd will write out a dhcpd.leases
    # file. If this is 0, udhcpd will never automatically write a
    # lease file. (specified in seconds)

    #auto_time 7200 #default: 7200 (2 hours)


    # The amount of time that an IP will be reserved (leased) for if a
    # DHCP decline message is received (seconds).

    #decline_time 3600 #default: 3600 (1 hour)


    # The amount of time that an IP will be reserved (leased) for if an
    # ARP conflct occurs. (seconds

    #conflict_time 3600 #default: 3600 (1 hour)


    # How long an offered address is reserved (leased) in seconds

    #offer_time 60 #default: 60 (1 minute)

    # If a lease to be given is below this value, the full lease time is
    # instead used (seconds).

    #min_lease 60 #defult: 60


    # The location of the leases file

    #lease_file /var/lib/misc/udhcpd.leases #defualt: /var/lib/misc/udhcpd.leases

    # The location of the pid file
    #pidfile /var/run/udhcpd.pid #default: /var/run/udhcpd.pid

    # Everytime udhcpd writes a leases file, the below script will be called.
    # Useful for writing the lease file to flash every few hours.

    #notify_file #default: (no script)

    #notify_file dumpleases # <--- useful for debugging

    # The following are bootp specific options, setable by udhcpd.

    #siaddr 192.168.0.22 #default: 0.0.0.0

    #sname zorak #default: (none)

    #boot_file /var/nfs_root #default: (none)

    # The remainer of options are DHCP options and can be specifed with the
    # keyword 'opt' or 'option'. If an option can take multiple items, such
    # as the dns option, they can be listed on the same line, or multiple
    # lines. The only option with a default is 'lease'.

    #Examles
    opt dns 114.114.114.114 223.5.5.5 #192.168.10.2 192.168.10.10
    option subnet 255.255.255.0
    opt router 192.168.32.10
    #opt wins 192.168.10.10
    option dns 192.168.32.10 #129.219.13.81 # appened to above DNS servers for a total of 3
    option domain local
    option lease 864000 # 10 days of seconds


    # Currently supported options, for more info, see options.c
    #opt subnet
    #opt timezone
    #opt router
    #opt timesrv
    #opt namesrv
    #opt dns
    #opt logsrv
    #opt cookiesrv
    #opt lprsrv
    #opt bootsize
    #opt domain
    #opt swapsrv
    #opt rootpath
    #opt ipttl
    #opt mtu
    #opt broadcast
    #opt wins
    #opt lease
    #opt ntpsrv
    #opt tftp
    #opt bootfile
    #opt wpad

    # Static leases map
    #static_lease 00:60:08:11:CE:4E 192.168.0.54
    #static_lease 00:60:08:11:CE:3E 192.168.0.44
  4. 启动DHCP服务

    1
    udhcpd -fS -I 192.168.32.10 /etc/udhcpd.conf