DHCP服务攻略
一、 常规DHCP服务器的配置
查看相关配置文件
[root@RHEL1 dhcp]# ls dhclient.d dhcpd6.conf dhcpd.conf [root@RHEL1 dhcp]# cat dhcpd.conf #默认是没有配置信息的 # # DHCP Server Configuration file. # see /usr/share/doc/dhcp*/dhcpd.conf.sample # see 'man 5 dhcpd.conf' # [root@RHEL1 dhcp]# rpm -ql dhcp /etc/dhcp /etc/dhcp/dhcpd.conf #Ipv4的DHCP配置文件 /etc/dhcp/dhcpd6.conf #IPV6的DHCP配置文件 /etc/openldap/schema/dhcp.schema #认证相关的,我也不懂 /etc/portreserve/dhcpd /etc/rc.d/init.d/dhcpd /etc/rc.d/init.d/dhcpd6 /etc/rc.d/init.d/dhcrelay /etc/sysconfig/dhcpd /etc/sysconfig/dhcpd6 /etc/sysconfig/dhcrelay DHCP中继代理 /usr/bin/omshell /usr/sbin/dhcpd /usr/sbin/dhcrelay /usr/share/doc/dhcp-4.1.1 /usr/share/doc/dhcp-4.1.1/3.0b1-lease-convert /usr/share/doc/dhcp-4.1.1/IANA-arp-parameters /usr/share/doc/dhcp-4.1.1/README.ldap /usr/share/doc/dhcp-4.1.1/api+protocol /usr/share/doc/dhcp-4.1.1/dhclient-tz-exithook.sh /usr/share/doc/dhcp-4.1.1/dhcpd-conf-to-ldap /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample #默认模板文件 /usr/share/doc/dhcp-4.1.1/dhcpd6.conf.sample /usr/share/doc/dhcp-4.1.1/draft-ietf-dhc-ldap-schema-01.txt /usr/share/doc/dhcp-4.1.1/ms2isc /usr/share/doc/dhcp-4.1.1/ms2isc/Registry.perlmodule /usr/share/doc/dhcp-4.1.1/ms2isc/ms2isc.pl /usr/share/doc/dhcp-4.1.1/ms2isc/readme.txt /usr/share/doc/dhcp-4.1.1/sethostname.sh /usr/share/doc/dhcp-4.1.1/solaris.init /usr/share/man/man1/omshell.1.gz /usr/share/man/man5/dhcpd.conf.5.gz /usr/share/man/man5/dhcpd.leases.5.gz /usr/share/man/man8/dhcpd.8.gz /usr/share/man/man8/dhcrelay.8.gz /var/lib/dhcpd /var/lib/dhcpd/dhcpd.leases #租约数据库文件 /var/lib/dhcpd/dhcpd6.leases
主配置文件
dhcpd.conf组成部分
parameter(参数)
declaration(声明)
option(选项)
从整体框架来看分为全局配置和局部配置
复制模板
[root@RHEL1 dhcp]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf cp: overwrite `/etc/dhcp/dhcpd.conf'? y
配置文件简介
parameter(参数) ddns-update-style (none|interim|ad-hoc); #默认是被注释的;在RHEL6.4之前好像是必须要启用才能启动dhcp服务 none: 表示不支持动态更新。 Interim: 表示DNS互动更新模式 ad-hoc: 表示特殊DNS更新模式 ignore client-updates #忽略客户端动态更新 default-lease-time #指定确省租赁时间的长度,单位是秒。 max-lease-time #指定最大租赁时间长度,单位是秒。 hardware #指定网卡接口类型和MAC地址。 server-name #通知DHCP客户服务器名称。 get-lease-hostnames flag #检查客户端使用的IP地址。 fixed-address ip #分配给客户端一个固定的地址。 authoritative #拒绝不正确的IP地址的要求。 log-facility local7 #用于定义DHCP的日志 declaration(声明) shared-network #用来告知是否一些子网络分享相同网络。 subnet #描述一个IP地址是否属于该子网。 range 起始IP 终止IP #提供动态分配IP 的范围。 host 主机名称 #参考特别的主机。 group #为一组参数提供声明。 allow unknown-clients ﹔deny unknown-client #是否动态分配IP给未知的使用者。 allow bootp;deny bootp #是否响应激活查询。 allow booting﹔deny booting #是否响应使用者查询。 filename #开始启动文件的名称,应用于无盘工作站。 next-server #设置服务器从引导文件中装如主机名,应用于无盘工作站。 option(选项) subnet-mask #为客户端设定子网掩码。 domain-name #为客户端指明DNS名字。 domain-name-servers #为客户端指明DNS服务器IP地址。 host-name #为客户端指定主机名称。 routers #为客户端设定默认网关。 broadcast-address #为客户端设定广播地址。 ntp-server #为客户端设定网络时间服务器IP地址。 time-offset #为客户端设定和格林威治时间的偏移时间,单位是秒。
二、 简单配置应用案例
某部门有60台计算机,网段192.168.1.1-192.168.1.254,子网掩码24位,网关为192.168.1,192.168.1.2-192.168.1.30为服务器固定地址,客户端可用网段为192.168.1.100-192.168.1.200,其余IP为保留地址,DNS为192.168.1.11
[root@RHEL1 dhcp]# vim dhcpd.conf #建议先复制需要部分,然后再对不需要的局部进行注释,默认配置是104行(:.,104s/^/#/g 注释)
#全局配置
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
#局部配置
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.200;
option routers 192.168.10.1;
option domain-name-servers 192.168.10.11;
}
启动dhcpd服务
[root@RHEL1 dhcp]# service dhcpd restart //如果没有问题就可以进行测试;
关闭vmware的DHCP;
测试主机网卡选择
测试主机2003设置为DHCP获取
释放IP,顺便用wireshark抓包看看
DHCP数据包
三、 多网卡多作用域的实现
网络拓扑
在vmware上添加网卡vm2并去掉其DHCP功能,手工配置网卡中的IP与DHCP服务器同一网段即可,我这里已经添加过了
然后ping测试一下,保证其连通性;
配置dhcpd.conf
全局部分不变 局部配置
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.200;
option domain-name-servers 172.16.0.1;
option routers 192.168.10.1;
option broadcast-address 192.168.10.255;
}
subnet 192.168.20.0 netmask 255.255.255.0 {
range 192.168.20.200 192.168.20.200;
option domain-name-servers 172.16.0.1;
option routers 192.168.20.1;
option broadcast-address 192.168.20.255;
}
重启服务
[root@sharecast dhcp]# service dhcpd restart
Starting dhcpd: [ OK ]
测试服务
再将RHEL2网卡改为DHCP模式获取,如图
看一下服务求租约数据库文件
end
四、 超级作用域配置、主机绑定IP和中继代理
网络拓扑
主要原理是DHCP是同过广播的方式进行通话,广播包无法跨网段,故需要中继代理和数据转发DHCP服务器的网关一定要指向中继代理商的网卡
vmware网卡配置按照网络拓扑配置即可
DHCP server
dhcp.conf配置
全局不变即可, 局部参数如下
shared-network test {
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.100 192.168.10.200;
option routers 192.168.10.1;
option domain-name-servers 192.168.10.11;
}
subnet 192.168.20.0 netmask 255.255.255.0 {
range 192.168.20.100 192.168.20.200;
option routers 192.168.20.1;
option domain-name-servers 192.168.10.11;
}
}
host win2003 {
hardware ethernet 00:0C:29:F8:48:2C;
fixed-address 192.168.20.150;
}
配置完成重启服务
网卡配置为如拓扑所示即可
DHCRELAY SERVER
首先,将网卡配置为拓扑所要求的,并且启用linux的转发功能
[root@sharecast dhcp]# ifconfig
eth1 Link encap:Ethernet HWaddr 00:0C:29:38:D4:8E
inet addr:192.168.10.1 Bcast:192.168.10.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe38:d48e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2658 errors:0 dropped:0 overruns:0 frame:0
TX packets:2698 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:245806 (240.0 KiB) TX bytes:268177 (261.8 KiB)
Interrupt:19 Base address:0x2000
eth2 Link encap:Ethernet HWaddr 00:0C:29:38:D4:98
inet addr:192.168.20.1 Bcast:192.168.20.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe38:d498/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:919 errors:0 dropped:0 overruns:0 frame:0
TX packets:282 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:108776 (106.2 KiB) TX bytes:22690 (22.1 KiB)
Interrupt:19 Base address:0x2400
[root@sharecast dhcp]# vim /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 1 #将这里改为1即可
[root@sharecast dhcp]# sysctl –p #检查配置
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 4294967295
kernel.shmall = 268435456
[root@sharecast dhcp]# vim /etc/sysconfig/dhcrelay
# Command line options here
#DHCRELAYARGS=""
# DHCPv4 only
INTERFACES="eth1 eth2" #本机网卡
# DHCPv4 only
DHCPSERVERS="192.168.10.11" #指向DHCP服务器
[root@sharecast dhcp]# service dhcrelay restart #重启代理服务器
Shutting down dhcrelay: [ OK ]
Starting dhcrelay: [ OK ]
[root@RHEL1 ~]# iptables –F #清除防火墙规则
测试
end
五、 DHCP排错思路



















浙公网安备 33010602011771号