20260416 DHCP以及DNS

一、DHCP以及DNS

1.1 dhcp实验

1.1.1 配置R1

bash 复制代码
# 用户视图切换进入系统试图
<Huawei>
<Huawei>sys
# 关闭消息提示
[R!]undo info-center enable
Info: Information center is disabled.
# 设置主机名为R1
[R!]sysname R1
# 进入接口e0/0/0
[R1]int e0/0/0
# 配置ip地址
[R1-Ethernet0/0/0]ip add 192.168.1.254 24
# 返回系统试图
[R1-Ethernet0/0/0]quit
# 使用DHCP功能
[R1]dhcp enable
Info: The operation may take a few seconds. Please wait for a moment.done.
# 创建地址池名称为net1
[R1]ip pool ent1
Info:It's successful to create an IP address pool.
# net1中地址池192.168.1.0段
[R1-ip-pool-ent1]network 192.168.1.0 mask 24
# 分配网关 192.168.1.254
[R1-ip-pool-ent1]gateway-list 192.168.1.254
# 分配DNS192.168.1.254(阿里云)
[R1-ip-pool-ent1]dns-list 223.5.5.5
[R1-ip-pool-ent1]quit
[R1]int e0/0/0
# 接口调通DHCP	
[R1-Ethernet0/0/0]dhcp select global 

1.1.2 测试

同理(pc2)

1.1.3 自动获取地址

同理(pc1)pc1与pc2分别输入ipconfig自动获取 在pc1与pc2之间互ping连接即可

1.2 部署 DHCP 服务器

1.2.1 节点规划

用centos7模板克隆出3台机器,按照下表规划更改主机名和IP地址

节点名称 节点ip 作用
DHCP-server 10.1.8.10/24 DHCP服务器
dhcp-client1 从dhcp-server自动获取随机IP DHCP服务器
dhcp-client2 从dhcp-server自动获取固定IP 10.1.8.88 DHCP服务器

服务器必须具有静态IP地址。

dhcp-server 10.1.8.10

dhcp-server

bash 复制代码
[root@localhost ~]# nmcli connection modify ens33 ipv4.method manual 
ipv4.addresses 10.1.8.10/24 ipv4.gateway 10.1.8.2 ipv4.dns 10.1.8.2 autoconnect 
yes 
[root@localhost ~]# nmcli connection up ens33
[root@localhost ~]# hostnamectl set-hostname dhcp-server

dhcp-client1:

bash 复制代码
[root@localhost ~]# hostnamectl set-hostname dhcp-client1

dhcp-client2:

bash 复制代码
[root@localhost ~]# hostnamectl set-hostname dhcp-client1

要配置DHCPv4服务器,请首先使用 ip addr命令确认您的网络接口配置是否指定了BROADCAST地

址。

bash 复制代码
[root@dhcp-server ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host 
valid_lft forever preferred_lft forever
2: ens33: <`BROADCAST`,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP 
group default qlen 1000
link/ether 00:0c:29:36:c2:77 brd ff:ff:ff:ff:ff:ff
inet 10.1.8.10/24 brd 10.1.8.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::b4a8:7bfe:bb06:249a/64 scope link noprefixroute 
valid_lft forever preferred_lft forever

1.2.2 安装 DHCP 软件

bash 复制代码
# 安装软件包
[root@dhcp-server ~]# yum install -y dhcp
# 配置防火墙,放行dhcp服务
[root@dhcp-server ~]# firewall-cmd --add-service=dhcp
[root@dhcp-server ~]# firewall-cmd --add-service=dhcp --permanent

1.2.3 配置 DHCP 服务器

dhcpd服务使用 /etc/dhcp/dhcpd.conf 配置文件。 dhcp软件包提供/usr/share/doc/dhcp

*/dhcpd.conf.example 配置文件示例。

bash 复制代码
# 首先cat dhcp主配置文件,发现提示我们去参考这个/usr/share/doc/dhcp*/dhcpd.conf.example
[root@dhcp-server ~]# cat /etc/dhcp/dhcpd.conf 
#
# DHCP Server Configuration file.
#   
see /usr/share/doc/dhcp*/dhcpd.conf.example
#   
#
see dhcpd.conf(5) man page
# 参考/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example 修改/etc/dhcp/dhcpd.conf
# 窗口A
[root@dhcp-server ~]# cat /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
# 窗口B
# 典型的DHCP配置示例
[root@dhcp-server ~]# vim /etc/dhcp/dhcpd.conf 
# 加在/etc/dhcp/dhcpd.conf末尾
subnet 10.1.8.0 netmask 255.255.255.0 {
range 10.1.8.101 10.1.8.130;
option domain-name-servers 223.5.5.5;
option domain-name "laogao.cloud";
option routers 10.1.8.2;
option broadcast-address 10.1.8.255;
default-lease-time 600;
max-lease-time 7200;
}

配置说明:

bash 复制代码
#你要分配的网段
#必须和你的服务器网卡 ens33 网段完全一致,否则 DHCP 不工作!
#意思:我要给 10.1.8.0/24 这个网段的设备分配 IP
subnet 10.1.8.0 netmask 255.255.255.0 {
#DHCP 自动分配的 IP 范围,从 10.1.8.101 到 10.1.8.130,一共 30 个 IP 供客户端自动获取
range 10.1.8.101 10.1.8.130;
#给客户端分配的 DNS 服务器,这里用的就是阿里云公共 DNS。
#所有自动获取 IP 的设备,都会用这个 DNS 上网解析域名
option domain-name-servers 223.5.5.5;
#局域网设备的域名后缀 = laogao.cloud
#一般用于内网服务器解析,日常几乎不用管
option domain-name "laogao.cloud";
#客户端获取到的网关,决定能不能上网。
option routers 10.1.8.2;
#局域网广播地址:10.1.8.255
#DHCP、ARP 依赖它,必须正确
option broadcast-address 10.1.8.255;
#默认租约时间:600 秒 = 10 分钟
#IP 到期前客户端会自动续约
default-lease-time 600;
#最大租约时间:7200 秒 = 2 小时
max-lease-time 7200;
}

客户端系统上的NetworkManager使用domain-name-servers和domain-search更新resolv.conf文

件中的nameserver和search参数。

1.2.4 验证 DHCP 配置

bash 复制代码
# 验证配置文件语法
[root@dhcp-server ~]# dhcpd -t
Internet Systems Consortium DHCP Server 4.2.5
Copyright 2004-2013 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Not searching LDAP since ldap-server, ldap-port and ldap-base-dn were not 
specified in the config file

1.2.5 启用并启动服务

bash 复制代码
# 启用并启动服务
[root@dhcp-server ~]# systemctl enable dhcpd --now
# 查看服务状态
[root@server ~]# systemctl status dhcpd

1.3 配置 DHCP 客户端

1.3.1 dhcp-client1(普通员工)

bash 复制代码
# 添加一个自动获取ip连接
[root@dhcp-client1 ~]# nmcli connection add con-name dhcp-client1 type ethernet 
ipv4.method auto ifname ens33
Connection 'dhcp-client1' (b6516219-2199-42dd-bd62-2231a38a4c9c) successfully 
added.
[root@dhcp-client1 ~]# nmcli connection up dhcp-client1 
Connection successfully activated (D-Bus active path: 
/org/freedesktop/NetworkManager/ActiveConnection/36)
# 验证
[root@dhcp-client1 ~]# ip addr show ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP 
group default qlen 1000
link/ether 00:0c:29:38:78:83 brd ff:ff:ff:ff:ff:ff
inet 10.1.8.102/24 brd 10.1.8.255 scope global noprefixroute dynamic ens33
valid_lft 550sec preferred_lft 550sec
inet6 fe80::1dce:82c9:10d6:448a/64 scope link noprefixroute 
valid_lft forever preferred_lft forever
# 测试释放IP后重新获取得IP       
# 释放IP
dhclient -r
# 重新获取
dhclient

1.4 基于 MAC 地址预留IP地址

在配置文件中,host声明可以将MAC地址绑定到IP地址。 此配置对于始终为特定系统的网络接口提供相

同的IP地址特别有用,尤其是Web或数据库系统之类的服务器

dhcp-client2(经理)MAC地址查看

bash 复制代码
[root@dhcp-client2 ~]# ip link show ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP 
mode DEFAULT group default qlen 1000
link/ether 00:0c:29:9d:fe:6e brd ff:ff:ff:ff:ff:ff

在以下示例中,服务器始终为MAC地址是 00:0c:29:26:13:b5 的系统分配10.1.8.88地址。

bash 复制代码
#在/etc/dhcp/dhcpd.conf`最后添加如下内容:
[root@dhcp-server ~]# vim /etc/dhcp/dhcpd.conf 
host client.laogao.cloud {
hardware ethernet 00:0c:29:9d:fe:6e;
fixed-address 10.1.8.88;
}

重启服务

bash 复制代码
[root@server ~]# systemctl restart dhcpd

客户端验证

bash 复制代码
# 激活连接
[root@dhcp-client2 ~]#  nmcli connection add con-name dhcp-client2 type ethernet 
ipv4.method auto ifname ens33
Connection 'dhcp-client2' (3e7500e0-9b55-4f9e-92ef-cd0c10d74faa) successfully 
added.
[root@dhcp-client2 ~]# nmcli connection up dhcp-client2
Connection successfully activated (D-Bus active path: 
/org/freedesktop/NetworkManager/ActiveConnection/37)
# 验证
[root@dhcp-client2 ~]# ip addr show ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP 
group default qlen 1000
link/ether 00:0c:29:9d:fe:6e brd ff:ff:ff:ff:ff:ff
inet 10.1.8.88/24 brd 10.1.8.255 scope global noprefixroute dynamic ens33
valid_lft 588sec preferred_lft 588sec
inet6 fe80::c4af:6f2c:50d1:7a7/64 scope link noprefixroute 
valid_lft forever preferred_lft forever
# 测试释放IP后重新获取得IP       
# 释放IP
dhclient -r
# 重新获取
dhclient

ff:ff:ff:ff:ff

inet 10.1.8.88/24 brd 10.1.8.255 scope global noprefixroute dynamic ens33

valid_lft 588sec preferred_lft 588sec

inet6 fe80::c4af:6f2c:50d1:7a7/64 scope link noprefixroute

valid_lft forever preferred_lft forever

测试释放IP后重新获取得IP

释放IP

dhclient -r

重新获取

dhclient

复制代码
相关推荐
zhojiew1 小时前
在中国区aws通过Network Flow Monitor实现实例网络流量指标上传到cloudwatch
服务器·网络·aws
IMPYLH1 小时前
Linux 的 printf 命令
linux·运维·服务器·bash
艾莉丝努力练剑1 小时前
【Linux加餐】mmap文件映射
linux·运维·服务器·c语言·c++·学习
久绊A2 小时前
Linux 跨服务器导出 Docker 容器内文件
linux·docker
DeepHacking2 小时前
Ubuntu 22.04 安装 Allow Locked Remote Desktop 扩展:解决锁屏后 mstsc 无法连接的问题
linux·运维·ubuntu
广州灵眸科技有限公司2 小时前
瑞芯微(EASY EAI)RV1126B QT GUI例程方案
linux·服务器·开发语言·网络·人工智能·qt·物联网
枫叶丹42 小时前
【HarmonyOS 6.0】ArkWeb 私有网络访问控制接口详解
开发语言·网络·华为·harmonyos
dingdingfish2 小时前
TLPI 第4章 练习:File I/O: The Universal I/O Model
linux·tlpi·exercise
聊点儿技术2 小时前
大促期间IP代理识别API频频超时怎么办?——高并发场景下离线库选型与本地部署实战
网络·tcp/ip·游戏·ip离线库·电商风控·识别代理ip·代理ip识别api