Linux网络服务——DHCP全攻略

本文详细介绍了DHCP配置文件的各项参数含义及其配置方法,包括动态IP分配、静态IP分配、子网设置等,并提供了具体案例。此外,还讲解了DHCP中继的工作原理及其配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面介绍一下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服务器上的配置文件不用更改。

通过中继就能实现不同网关的通信了。

下面给出了一些中继的常见位置,仅供大家参考


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值