DHCP服务器

本文介绍基于CentOS5.3平台上搭建DHCP服务器
安装DHCP软件
[root@hding ~]# yum install dhcp

DHCP配置文件有一定的格式

[root@hding ~]# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf

编辑dhcpd.conf主配置文件

[root@hding ~]# vi /etc/dhcpd.conf 

  1 ddns-update-style interim;                                                    必需有
  2 ignore client-updates;
  3 
  4 subnet 192.168.0.0 netmask 255.255.255.0 {                                   192.168.0局部网段
  5 
  6 # --- default gateway
  7     option routers          192.168.0.111;                                   本机作为网关
  8     option subnet-mask      255.255.255.0;                                   分配掩码
  9 
 10     option nis-domain       "hding.net";                                     NIS域
 11     option domain-name      "hding.net";                                     域名
 12     option domain-name-servers  192.168.0.111;                               域名服务器IP
 13 
 14     option time-offset      -18000; # Eastern Standard Time
 15 #   option ntp-servers      192.168.0.1;
 16 #   option netbios-name-servers 192.168.1.1;
 17 # --- Selects point-to-point node (default is hybrid). Don't change this unl
    ess
 18 # -- you understand Netbios very well
 19 #   option netbios-node-type 2;
 20 
 21     range dynamic-bootp 192.168.0.128 192.168.0.253;                        分配地址池 
 22     default-lease-time 21600;                                               租约时间6小时
 23     max-lease-time 43200;                                                   最大租约时间12小时
 24 
 25     # we want the nameserver to appear at a fixed address 
 26     host ns {                                                               给固定MAC固定IP,通常是服务器之类固定IP
 27         next-server hding.net;
 28         hardware ethernet 12:34:56:78:AB:CD;              
 29         fixed-address 192.168.0.254;
 30     }
 31 }
[root@hding ~]# service dhcpd restart
Starting dhcpd: [  OK  ]

client端测试: dhclient

server:
[root@hding ~]# tail -F /var/log/messages
Jan 14 08:05:58 hding dhcpd: DHCPDISCOVER from 00:50:56:25:94:05 via eth0
Jan 14 08:05:59 hding dhcpd: DHCPOFFER on 192.168.0.253 to 00:50:56:25:94:05 via eth0
Jan 14 08:05:59 hding dhcpd: DHCPREQUEST for 192.168.0.253 (192.168.0.111) from 00:50:56:25:94:05 via eth0
Jan 14 08:05:59 hding dhcpd: DHCPACK on 192.168.0.253 to 00:50:56:25:94:05 via eth0
[root@hding ~]# cat /var/lib/dhcpd/dhcpd.leases
lease 192.168.0.253 {
  starts 3 2015/01/14 16:05:59;
  ends 3 2015/01/14 22:05:59;
  binding state active;
  next binding state free;
  hardware ethernet 00:50:56:25:94:05;
}
更换client网卡为:MAC:(12:34:56:78:AB:CD),给固定MAC固定IP
server:
[root@hding ~]# tail -F /var/log/messages
Jan 14 08:36:58 hding dhcpd: DHCPDISCOVER from 12:34:56:78:ab:cd via eth0
Jan 14 08:36:58 hding dhcpd: DHCPOFFER on 192.168.0.254 to 12:34:56:78:ab:cd via eth0
Jan 14 08:36:58 hding dhcpd: DHCPREQUEST for 192.168.0.254 (192.168.0.111) from 12:34:56:78:ab:cd via eth0
Jan 14 08:36:58 hding dhcpd: DHCPACK on 192.168.0.254 to 12:34:56:78:ab:cd via eth0
dhcprelay:

前面介绍的是给同一网段内的PC分配IP地址,由于广播包是允许跨网段的,而dhcp的第一个discovery包是广播包就过不了,那么每个网段 都要有一台DHCP服务器?dhcprelay就是为了解决跨网段问题而存在的,它接收到本网段client的discovery包,然后由它单播转给另 一个网段的DHCP server,而DHCP server回的包也通过dhcp relay再回给client,这样client虽然发了广播的discovery,但经过dhcp relay转一下变成了单播,跨网段成功

DHCP服务器

A作为server,分配 192.168.0.0 255.255.255.0

                          192.168.4.0 255.255.255.0

C作为router,转发路由器

D作为与B同网段的dhcp relay,B发的广播包由D接收转发给A,A回的包由D再转给B

A:
[root@hding ~]# vi /etc/dhcpd.conf 

  1 ddns-update-style interim;
  2 ignore client-updates;
  3 
  4 subnet 192.168.0.0 netmask 255.255.255.0 {
  5 
  6 # --- default gateway
  7     option routers          192.168.0.111;
  8     option subnet-mask      255.255.255.0;
  9 
 10     option nis-domain       "hding.net";
 11     option domain-name      "hding.net";
 12     option domain-name-servers  192.168.0.111;
 13 
 14     option time-offset      -18000; # Eastern Standard Time
 15 #   option ntp-servers      192.168.0.1;
 16 #   option netbios-name-servers 192.168.1.1;
 18 # -- you understand Netbios very well
 19 #   option netbios-node-type 2;
 20 
 21     range dynamic-bootp 192.168.0.128 192.168.0.253;
 22     default-lease-time 21600;
 23     max-lease-time 43200;                                 
 24 
 25     # we want the nameserver to appear at a fixed address 
 26     host ns {                                             
 27         next-server hding.net;                            
 28         hardware ethernet 12:34:56:78:AB:CD;              
 29         fixed-address 192.168.0.254;                      
 30     }
 31 }
 32 
 33 subnet 192.168.4.0 netmask 255.255.255.0 {                
 34     option routers                    192.168.4.112;      
 35     option subnet-mask                255.255.255.0;      
 36     range dynamic-bootp 192.168.4.12 192.168.4.25;        
 37     default-lease-time 21600;                             
 38     max-lease-time 43200;                                 
 39 }
route add -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.0.112
D:
[root@ding ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1
  1 # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
  2 DEVICE=eth1
  3 BOOTPROTO=none
  4 ONBOOT=yes
  5 IPADDR=192.168.4.1
  6 NETMASK=255.255.255.0
  7 GATEWAY=192.168.4.112
  8 HWADDR=00:0c:29:52:73:72
[root@ding ~]# vi /etc/sysconfig/dhcrelay 

  1 # Command line options here
  2 DHCRELAYARGS=""
  3 INTERFACES="eth1"
  4 DHCPSERVERS="192.168.0.111"
C:
[root@dh network-scripts]# ifconfig
eth0      Link encap:Ethernet  HWaddr 12:34:56:78:AB:CD  
          inet addr:192.168.0.112  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:591 errors:0 dropped:0 overruns:0 frame:0
          TX packets:478 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:53371 (52.1 Kb)  TX bytes:63627 (62.1 Kb)
          Interrupt:5 Base address:0x2000 

eth1      Link encap:Ethernet  HWaddr 00:0C:29:1D:C2:01  
          inet addr:192.168.4.112  Bcast:192.168.4.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:0 (0.0 b)  TX bytes:168 (168.0 b)
          Interrupt:5 Base address:0x2080 

[root@dh network-scripts]# echo "1" > /proc/sys/net/ipv4/ip_forward
B: dhclient获取IP地址
A log:
Jan 14 09:24:50 hding dhcpd: DHCPREQUEST for 192.168.0.252 from 00:0c:29:d0:f2:d2 (Julia) via 192.168.4.1: ignored (not authoritative).
Jan 14 09:24:58 hding last message repeated 2 times
Jan 14 09:25:06 hding dhcpd: DHCPDISCOVER from 00:0c:29:d0:f2:d2 via 192.168.4.1
Jan 14 09:25:07 hding dhcpd: DHCPOFFER on 192.168.4.25 to 00:0c:29:d0:f2:d2 (Julia) via 192.168.4.1
Jan 14 09:25:07 hding dhcpd: DHCPREQUEST for 192.168.4.25 (192.168.0.111) from 00:0c:29:d0:f2:d2 (Julia) via 192.168.4.1
Jan 14 09:25:07 hding dhcpd: DHCPACK on 192.168.4.25 to 00:0c:29:d0:f2:d2 (Julia) via 192.168.4.1
B获取到192.168.4.1的地址,与A的192.168.0.0网段不同的地址,D在dchprelay成功







你可能感兴趣的:(linux,relay,DHCP,DHCP)