centos怎么配置dhcp服务 linux下怎么用dhcp
dhcp服务器是用来动态分配内网IP的,咗嚛搭建一个dhcp服务器可以用于自动分配局域网IP。当然很多路由器都有这个功能了,这里以centos系统为例
查找确认dhcp服务,通过rpm -qa查询
如果没有安装的话,通过 yum install dhcp即可安装
编辑dhcp服务器主配置文件,默认是空的。我们可以去拷贝一个模板,路径在/usr/share/doc/dhcp/dhcpconfigsample
然后我们编辑/etc/dhcp/dhcpconf文件,具体参考如下范例。range分配的地址池, optiondms dns服务器地址,option routers网关地址, 然后是租约的时间等
配置好之后,重启dhcp服务。 /etc/initd/dhcpd restart 如果是centos7系统,通过systemctl来重启服务
查看dhcp服务器地址,通过ifconfig确认
linux客户端怎么用dhcp服务器找到同一个网段的电脑,修改网卡配置文件,吧bootroto改成dhcp类型
然后重启网卡服务,就会自动去获取dhcp服务器的地址了
等待片刻之后,再次查看IP已经分配为dhcp地址池的地址了
dhcp客户端查看,可以通过dhclient命令查看
如果是win系统,通过ifconfig/renew 获取地址。当然要改成自动获取模式哈
第一节:安装软件包
用命令行安装软件包(在第5张光盘上)或直接“添加删除程序--网络服务器”,只要安装dhcp-301-59EL4i386rpm:
第二节:配置DHCP双机负载均衡
目前DHCP-Failover(虽然叫failover,但实际上是双机同时在工作)仅支持最多两个节点。配置文件和单机配置一样,依然是/etc/dhcpdconf;但出于方便管理的目的,在部署时,我们把地址池的配置放在/etc/dhcpdmaster文件中,然后在/etc/dhcpdconf中调用。
主节点的/etc/dhcpdconf:
authoritative;
ddns-update-style interim;
ignore client-updates;
one-lease-per-client true;
failover peer "dhcp" {
primary;
address 101409;
port 520;
peer address 1014013;
peer port 519;
max-response-delay 60;
max-unacked-updates 10;
mclt 600;
split 128;
load balance max seconds 3;
}
include "/etc/dhcpdmaster";
次节点的/etc/dhcpdconf:
authoritative;
ddns-update-style interim;
ignore client-updates;
one-lease-per-client true;
failover peer "dhcp" {
secondary;
address 1014013;
port 519;
peer address 101409;
peer port 520;
max-response-delay 60;
max-unacked-updates 10;
}
include "/etc/dhcpdmaster";
注意
1、两台dhcp server的时间必须同步,可用ntp
2、Dhcp Failover的互相监听地址可以采用专用网卡互相直连做心跳的方式,甚至心跳卡可以考虑双网卡绑定!从而使监听和网络数据流分开,即使网络中断亦不会因此导致dhcp双机中断,如下所示:
这种时候Failover专用接口所在网段,可在地址池中定义一个空池,不做任何地址分配操作:
subnet xxxx netmask 255255255248 {
}
本文列出的配置是采用心跳和数据网卡混用的方式。
/etc/dhcpdconf
主控服务器
authoritative;
ddns-update-style interim;
ignore client-updates;
one-lease-per-client true;
failover peer "dhcp" {
primary;
address 101409;
port 520;
peer address 1014013;
peer port 519;
max-response-delay 60;
max-unacked-updates 20;
mclt 3600;
split 128;
load balance max seconds 3;
}
include "/etc/dhcpdmaster";
说明
说明这是正式(官方)服务器,而非测试用
动态DNS的更新方式,有3种1
不允许客户机更新DNS记录
每一个客户机对应一个租约信息(文件)2
指定本机所属failover域的识别码为dhcp
指定本机为主控服务器
指定本机的监听地址
指定本机的监听端口
对端的监听地址
对端的监听端口
最大无响应时间 60秒,如果地址池很多这个时间可加大3
在得到对端响应之前,最多连续发送20个消息
双机联系中断时所分配的地址的租约时间,3600秒
负载分担比例,取值0-256,128为平均分担负载
地址池文件
注1这个style参数必须是interim(推荐)、ad-hoc或者none
注2假如这个标志配置成true(enabled),当一个客户端发送一个DHCPREQUEST信息来租用租约时,服务器会自动释放任何这个客户的任何其他租约。服务器假定当一个客户端发送DHCPREQUEST信息时,他已忘记任何他没有在 DHCPREQUEST中提到的租约,例如,客户端只是个简单的网络接口,不能记住原来拥有而现在不用的租约。这些假定都是没有确保,而且不可证实的,因此小心使用这个语句。
注3如果这个值不够大,会发生地址池还未同步结束,就产生连接中断现象。在拥有近1万个地址池时,这个值被设为180。
/etc/dhcpdmaster
两个节点的地址池配置必须保持完全一致。
option domain-name-servers 101409,1014013;
default-lease-time 21600;
max-lease-time 43200;
subnet 101408 netmask 255255255248 {
option routers 1014014;
pool {
failover peer "dhcp";
range 1014011 1014012;
deny dynamic bootp clients;
}
}
#shuniu
subnet 10000 netmask 2552552240 {
option routers 10031254;
pool {
failover peer "dhcp";
range 10001 10031250;
deny dynamic bootp clients;
}
}
有多少个网段就有多少个地址池,一个个配置下去。
域名服务器
默认租约时间(6小时)
最大租约时间
定义子网/掩码
定义子网的网关
地址池
属于名为 dhcp 的failover组
地址范围,可多条range
拒绝bootp客户端
第三节:管理操作
在两个节点依次启动dhcp服务,先主后备。
# service dhcpd start
配置自动启动
# chkconfig dhcpd on
验证
# netstat -anutp | grep dhcpd
udp 0 0 0000:67 0000: 6581/dhcpd
查看地址租借信息
# cat /var/lib/dhcp/dhcpdleases
31、租约文件
dhcpd每次都会把所有的租借信息写到/var/lib/dhcpdleases文件中,上一次的租借文件被改名成dhcpdleases~
32、地址池同步
每次重启DHCP服务时,双机都会自动执行地址池同步操作。
在次服务器上:
# service dhcpd congrestart
33、查看日志信息
凡是有任何和DHCP服务器的地址分配有关的故障,都可以通过查看日志文件分析出原因并得以处理。
# tail -f /var/log/messages
其他的故障绝大部分是由于作为中转的DHCP-RELAY设备配置有问题导致。
34、简要故障
1、某台服务器无法为某个网段的客户机提供地址租借服务
有时会由于某种原因导致双机地址池无法合理分配,比如主服务器掌控了某个地址池的所有地址,这时需要先停止两个节点的dhcp服务,删除两个节点的地址租约文件,然后依次重启服务。
2、无法形成双机
请注意两个节点的时间是否一致,如果时间差距太大,比如2分钟,两台dhcp服务器将无法形成集群。可通过配置ntp保持两个节点的时间同步。
步骤 1:在 Ubuntu 中安装 DHCP 服务器
1、 运行下面的命令来安装 DHCP 服务器包,也就是 dhcp3-server。
$ sudo apt install isc-dhcp-server
2、 安装完成后,编辑 /etc/default/isc-dhcp-server 使用 INTERFACES 选项定义 DHCPD 响应 DHCP 请求所使用的接口。
比如,如果你想让 DHCPD 守护进程监听 eth0,按如下设置:
INTERFACES="eth0"
同样记得为上面的接口配置静态地址。
步骤 2:在 Ubuntu 中配置 DHCP 服务器
1、 DHCP 配置的主文件是 /etc/dhcp/dhcpdconf, 你必须填写会发送到客户端的所有网络信息。
并且 DHCP 配置中定义了两种不同的声明,它们是:
parameters - 指定如何执行任务、是否执行任务,还有指定要发送给 DHCP 客户端的网络配置选项。
declarations - 定义网络拓扑、指定客户端、为客户端提供地址,或将一组参数应用于一组声明。
2、 现在打开并修改主文件,定义 DHCP 服务器选项:
$ sudo vi /etc/dhcp/dhcpdconf
在文件顶部设置以下全局参数,它们将应用于下面的所有声明(请指定适用于你情况的值):
option domain-name "tecmintlan";
option domain-name-servers ns1tecmintlan, ns2tecmintlan;
default-lease-time 3600; max-lease-time 7200;
authoritative;
3、 现在定义一个子网,这里我们为 192168100/24 局域网设置 DHCP (请使用适用你情况的参数):
subnet 192168100 netmask 2552552550
{
option routers 192168101;
option subnet-mask 2552552550;
option domain-search "tecmintlan";
option domain-name-servers 192168101;
range 1921681010 19216810100;
range 19216810110 19216810200;
}
步骤 3:在 DHCP 客户端上配置静态地址
1、 要给特定的客户机分配一个固定的(静态)的 IP,你需要显式将这台机器的 MAC 地址以及静态分配的地址添加到下面这部分。
host centos-node
{
hardware ethernet 00:f0:m4:6y:89:0g;
fixed-address 19216810105;
}
host fedora-node
{
hardware ethernet 00:4g:8h:13:8h:3a;
fixed-address 19216810106;
}
保存并关闭文件。
2、 接下来,启动 DHCP 服务,并让它下次开机自启动,如下所示:
------------ SystemD ------------
$ sudo systemctl start isc-dhcp-serverservice
$ sudo systemctl enable isc-dhcp-serverservice
------------ SysVinit ------------
$ sudo service isc-dhcp-serverservice start
$ sudo service isc-dhcp-serverservice enable
3、 接下来不要忘记允许 DHCP 服务(DHCP 守护进程监听 67 UDP 端口)的防火墙权限:
$ sudo ufw allow 67/udp
$ sudo ufw reload $ sudo ufw show
步骤 4:配置 DHCP 客户端
1、 此时,你可以将客户端计算机配置为自动从 DHCP 服务器接收 IP 地址。
登录到客户端并编辑以太网接口的配置文件(注意接口名称/号码):
$ sudo vi /etc/network/interfaces
定义如下选项:
auto eth0 iface eth0 inet dhcp
保存文件并退出。重启网络服务(或重启系统):
------------ SystemD ------------
$ sudo systemctl restart networking
------------ SysVinit ------------
$ sudo service networking restart
另外你也可以使用 GUI 来在进行设置,如截图所示(在 Fedora 25 桌面中)设置将方式设为自动(DHCP)。
此时,如果所有设置完成了,你的客户端应该可以自动从 DHCP 服务器接收 IP 地址了。
就是这样了!在本篇教程中,我们向你展示了如何在 Ubuntu/Debian 设置 DHCP 服务器。在反馈栏中分享你的想法。如果你正在使用基于 Fedora 的发行版,请阅读如何在 CentOS/RHEL 中设置 DHCP 服务器。
0条评论