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

复制代码
相关推荐
AlfredZhao8 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户97183563346614 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪15 小时前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush41 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5201 天前
Linux 11 动态监控指令top
linux
网络研究院1 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
酣大智1 天前
ARP代理--工作原理
运维·网络·arp·arp代理
treesforest1 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
不会C语言的男孩1 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言