您的位置:首页 > 其它

DHCP服务全攻略

2013-03-18 15:01 351 查看
DHCP服务的官方网站https://www.isc.org/ dhcp=Dynameic Host Configuration Protocol
是基于TCP/IP,用于动态配置工作站的网络接口,使工作站的网络接口管理自动化,可以自动配置主机的IP地址、子网掩码、网关及DNS等 TCP/IP信息。工作原理请大家到网上找一下。这里不做介绍。 下面介绍一下DHCP的配置文件 # DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.sample 这个是配置文件的样本,可以直接COPY这个文件到/etc/
dhcpd.conf配置文件中可以进行相当复杂的设置,以满足不同的应用需求,要了解具体的其他配置项使用方法,可以去查阅dhcp.conf文件的 手册页。 dhcpd.conf配置文件详解 ddns-update-style interim; # 作用:定义所支持的DNS动态更新类型。
# none:表示不支持动态更新
# interim:表示DNS互动更新模式
# ad-hoc:表示特殊DNS更新模式
ignore client-updates; # 作用:忽略客户端更新
subnet 192.168.0.0 netmask 255.255.255.0 { # 作用:定义作用域,指定子网
# 注意:网络号必须与DHCP服务器的网络号相同
# --- default gateway
option routers 192.168.0.1;
# 作用:为客户端指定默认网关
option subnet-mask 255.255.255.0;
# 作用:设置客户端的子网掩码
option nis-domain "domain.org";
# 为客户设置NIS域 option domain-name "domain.org";
# 为客户设置域名 option domain-name-servers 192.168.1.1;
# 作用:为客户端指定DNS服务器地址
option time-offset -18000; # Eastern Standard Time
# 设置偏移时间。 option ntp-servers 192.168.1.1;
# 设置NTP服务器。 option netbios-name-servers 192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
# option netbios-node-type 2;
# 设置wins服务器 range dynamic-bootp 192.168.0.128 192.168.0.254; # 作用:指定动态IP地址范围
# 注意:可以指定多个range,但多个range所定义IP范围不能重复 default-lease-time 21600;
# 作用:定义默认IP租约时间为6小时
max-lease-time 43200; # 作用:定义客户端IP租约时间的最大值 # we want the nameserver to appear at a fixed address
host ns {
next-server marvin.redhat.com;
# 设置由于定义服务器从引导文件中装入的主机名,用于无盘站。
hardware ethernet 12:34:56:78:AB:CD;
# 作用:定义网络接口类型和硬件地址 fixed-address 207.175.42.254;
# 作用:定义DHCP客户端指定的IP地址
}
# 作用:给客户端分配固定IP地址
}
租约数据库文件 /var/lib/dhcpd/dhcpd.leases 案例详解 【案例1】架设一台DHCP服务器,并按照下面的要求进行配置。
(1)为子网192.168.31.0/24建立一个IP作用域,并将在192.168.31.20~192.168.31.100范围之内的IP地址动态分配给客户机。
(2)假设子网中的DNS服务器地址为192.168.31.2,IP路由器地址为192.168.31.1,所在的网域名为example.com,将这些参数指定给客户机 使用。
(3)为某台主机保留192.168.31.50这个IP地址, DNS服务器地址为192.168.31.5 。 这个安全其实就是按要求来改就OK。注意里面是不是有写错的,有没有;结尾。 下面给出配置文件,最后别忘记了重新启动DHCPD这个服务啊! ddns-update-style interim;
ignore client-updates;
subnet 192.168.31.0 netmask 255.255.255.0 { option routers 192.168.31.1;
option subnet-mask 255.255.255.0;
option domain-name "example.com";
option domain-name-servers 192.168.31.2;
option time-offset -18000; # Eastern Standard Time
range dynamic-bootp 192.168.31.20 192.168.31.100;
default-lease-time 21600;
max-lease-time 43200;
host ns {
hardware ethernet 12:34:56:78:AB:CD;#这个MAC地址大家可以用ifconfig 查看,在WIN下可以用ipconfig /all来查看
fixed-address 192.168.31.50;
option domain-name-servers 192.168.31.5;
} }
【案例2】公司原有机器为250台,IP地址规划为192.168.31.0/24网段,动态管理网络IP地址。现在升级到500台。如何在保持原有IP地址的规 划不变的情况下,可以扩容现有的网络IP地址。
下面用多作用域来实现。只要在原先的配置文件里面COPY一个出来就OK。

注意一点,服务器的IP就是管理的各网段的网关,也就是说DHCP服务器的网卡担当网关功能,然后再打开DHCP服务器的转发功能。(这是让两 个网段的机器可以相互通信) vim /etc/sysctl.conf 找到net.ipv4.ip_forward = 0 把0改成1 然后就刷新一下 sysctl -p 下面的就是这个案例的配置文件 ddns-update-style interim;
ignore client-updates;
subnet 192.168.31.0 netmask 255.255.255.0 { option routers 192.168.31.3;
option subnet-mask 255.255.255.0;
option domain-name "example.com";
option domain-name-servers 192.168.31.2;
option time-offset -18000; # Eastern Standard Time
range dynamic-bootp 192.168.31.20 192.168.31.100;
default-lease-time 21600;
max-lease-time 43200;
} subnet 192.168.32.0 netmask 255.255.255.0 { option routers 192.168.32.3;
option subnet-mask 255.255.255.0;
option domain-name "example.com";
option domain-name-servers 192.168.32.2;
option time-offset -18000; # Eastern Standard Time
range dynamic-bootp 192.168.32.20 192.168.32.100;
default-lease-time 21600;
max-lease-time 43200;
} 下面用超级作用域来实现。只要在上面的配置文件里面稍做更改就OK。 ddns-update-style interim;
ignore client-updates; shared-network test {
subnet 192.168.31.0 netmask 255.255.255.0 { option routers 192.168.31.1;
option subnet-mask 255.255.255.0;
option domain-name "example.com";
option domain-name-servers 192.168.31.2;
option time-offset -18000; # Eastern Standard Time
range dynamic-bootp 192.168.31.20 192.168.31.100;
default-lease-time 21600;
max-lease-time 43200;
} subnet 192.168.32.0 netmask 255.255.255.0 { option routers 192.168.32.1;
option subnet-mask 255.255.255.0;
option domain-name "example.com";
option domain-name-servers 192.168.32.2;
option time-offset -18000; # Eastern Standard Time
range dynamic-bootp 192.168.32.20 192.168.32.100;
default-lease-time 21600;
max-lease-time 43200;
}
}
以上配置两个网段不能相互通信,所以要解决这个问题,我们就要用到中继 DHCP中继原理及配置 应用场合:
当一个网络中的主机数目较大时,手工分配IP不仅麻烦而且容易出错。DHCP服务的出现大大方便了主机IP地址的分配。现在的企业组网时 ,根据实际需要来划分vlan,成了必不可少的一个步骤。如何让一个DHCP服务器同时为多个网段提供服务,就是我们所要讨论的问题。 DHCP中继原理:
DHCP客户使用IP广播来寻找同一网段上的DHCP服务器。当服务器和客户段处在不同网段,即被路由器分割开来时,路由器是不会转发这样 广播包的。因此可能需要在每个网段上设置一个DHCP服务器,虽然DHCP只消耗很小的一部分资源的,但多个 DHCP服务器,毕竟要带来管理上 的不方便。DHCP中继的使用使得一个DHCP服务器同时为多个网段服务成为可能。
为了让路由器可以帮助转发广播请求数据包,使用ip help-address命令。通过使用该命令,路由器可以配置为接受广播请求,然后将其以 单播方式转发个指定IP地址。缺省情况下ip help-address转发以下8种UDP服务:
1.Time 2.Tacacs 3.DNS 4.BOOTP/DHCP服务器
5. BOOTP/DHCP客户 6.TFTP 7.NetBios名称服务 8. NetBios数据报服务
在DHCP广播情况下,客户在本地网段广播一个 DHCP发现分组。网关获得这个分组,如果配置了帮助地址,就将DHCP分组转发到特定地址。

下面是具体的步骤 把DHCP服务器的IP改为192.168.31.10 我们用另外一台LINUX系统的DHCP软件来实现这个中继功能。
首先中继要有两块网卡,IP为各网段的网关,并安装了DHCP这个软件,其实这个就是dhcrelay这个配置文件 我们编辑一下 vim /etc/sysconfig/dhcrelay 在
INTERFACES="eth0 eth1" #指定中继监听的网络设备
DHCPSERVERS="192.168.31.10" #指定DHCP服务器的IP
同样要开启转发功能 vim /etc/sysctl.conf 找到net.ipv4.ip_forward = 0 把0改成1 然后就刷新一下 sysctl -p DHCP服务器上的配置文件不用更改。 通过中继就能实现不同网关的通信了。 下面给出了一些中继的常见位置,仅供大家参考

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: