进阶学习——Linux网络

目录

一、网络配置命令

1.ifconfig——IP地址

1.1ifconfig的基础用法

1.1.1ifconfig命令详解

1.2常用格式

1.3修改网卡名称

1.3.1临时修改

1.3.2永久修改

1.4临时修改网卡

1.4.1设置虚拟网卡

1.4.2延伸——ethtool

1.5永久修改网卡

1.6实验  ——  双网卡配置

1.6.1添加新的网卡

1.6.2将ens33的配置文件拷给ens36

1.6.3进入ens36进行配置文件修改

1.6.4测试

 2.ip

2.1ip link——数据链路层

2.2ip address——网络层

2.3ip路由

3.hostname——主机名

3.1临时性修改主机名

3.2永久性修改主机名

4.route——查看路由表条目

4.1如何查看路由

4.2添加/删除路由

4.3永久添加路由——重点!!!!

5.ss/netstat——网络连接状态

5.1ss与netstat最主要的区别

6.ping——测试网络连通性

7.traceroute——路由追踪

8.nslookup——域名解析

8.1延伸——dig

 8.2怎么验证DNS服务器是否可以解析域名

8.3域名解析文件

8.3.1hosts文件和DNS服务器的比较

8.4查看服务器上的域名是否生效 

9.scp——远程同步

10.bond——网卡聚合(多网卡)

10.1bond的作用

10.2Bonding聚合链路工作模式

10.2.1网卡聚合实验一(通过手写配置文件操作)

添加网卡

切换到配置文件目录下

进入bood0进行配置

修改ens33网卡配置

修改ens36配置

重启网卡

测试

11.tcpdump——数据抓包

11.1格式

11.2选项及说明

11.3演示

11.3.1tcpdump -D  查看网卡

11.3.2tcpdump -i ens33   指定查看ens33 网卡

11.3.3tcpdump host 192.168.241.11 -i ens33

11.3.4tcpdump src host hostname——监听特定来源的包

11.3.5tcpdump dst host hostname——监听特定地址的包

11.3.6延伸

二、DHCP

1.主机获取网络配置可以通过两种方式

2.UDP协议,C/S模式,dhcp server: 67/udp,dhcpv4 client :68/udp, dhcpv6 client: 546/udp 主要用途

3.DHCP一次完整的过程

3.1重新登录

3.2更新租约

4.DHCP报文类型

5.实验操作——DHCP分配地址

5.1首先安装DHCP软件

5.2切换目录并拷贝配置文件信息

5.3修改配置文件

5.4验证

5.4.1验证方法一   使用Windows验证

5.4.2验证方法二  —— 使用Linux系统验证

6.实验二 ——分配固定地址

6.1修改配置文件为Windows系统配置固定地址



将Linux主机接入到网络,需要配置网络相关设置

一般包括如下内容:

  • 主机名
  • IP/netmask
  • 路由:默认网关
  • DNS服务器 主DNS服务器 次DNS服务器 第三个DNS服务器

一、网络配置命令

1.ifconfig——IP地址

来源于net-tools包

进阶学习——Linux网络_第1张图片

1.1ifconfig的基础用法

在不带任何选项和参数执行ifconfig 命令时, 将显示当前主机中已启用(活动)的网络接口信息

进阶学习——Linux网络_第2张图片

ifconfig -a可以查看所有网卡信息(包括被关闭的网卡) 

进阶学习——Linux网络_第3张图片

ens33:第一块以太网卡的名称详解

ens33中:“en”是”EtherNet“的缩写,表示网卡类型为以太网

“s”表示热插拔插槽上的设备(hot-plug-Slot)

数字“33”表示插槽编号 

1.1.1ifconfig命令详解
内容 含义

ens33

第一块以太网卡的名称
flags=4163 该接口
已启用
BRADCAST 支持广播
RUNNING 正在运行
MULTICAST 支持组播
mtu 1500 最大传输单元1500字节
 inet 192.168.241.11 IP地址
netmask 255.255.255.0 子网掩码
broadcast 192.168.241.255 广播地址
inet6 fe80::de6f:32c8:5a64:a6b2 Ipv6地址
prefixlen 64 子网长度
scopeid 0x20 作用域 link表示仅该接口有效
ether 00:0c:29:51:4b:b5 mac地址
txqueuelen 1000 传输队列长度(传输缓存大小)  接口类
RX 接收
packets  213 报文个数
bytes 24393 总和字节数
errors 错误
dropped 丢弃
overruns 溢出
frame 冲突帧数
carrier 载荷数
collisions 冲突数

1.2常用格式

  • ifconfig                #默认显示活动的网卡
  • ifconfig     具体网卡名称           #只显示具体网卡的详细信息(无论该网卡是否启用)
  • ifconfig   -a              #显示所有的网卡
  • ifconfig          网卡名称        [up|down]     (ifup  网卡、ifdown  网卡)           #表示开启或关闭网卡
  • ifconfig     ens33:0          ip地址/子网掩码                         #设置虚拟网卡

1.3修改网卡名称

1.3.1临时修改
ip link set ens36 down
#先将网卡ens36down掉

ip link set ens36 name abc     
#修改名字

ip link set abc up  
#启动网卡
1.3.2永久修改
[root@localhost ~]#vim /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0"

#加入net.ifnames=0

GRUB_DISABLE_RECOVERY="true"

[root@localhost ~]#grub2-mkconfig -o /boot/grub2/grub.cfg

#重新生成grub的配置文件

进阶学习——Linux网络_第4张图片

进阶学习——Linux网络_第5张图片

修改网卡之后连接不上了,可进入终端进行修改

进阶学习——Linux网络_第6张图片

TYPE=Ethernet
#接口类型
BOOTPROTO=static
#地址获取方式 手动配置    dhcp 动态获取

NAME=ens37
#网卡名称
DEVICE=ens37
#网卡
ONBOOT=yes
#开机是否自启 开启
IPADDR=192.168.91.10
#地址
NETMASK=255.255.255.0
#子网掩码
GATEWAY=192.168.91.2
#网关
DNS1=8.8.8.8
#将ip地址转换成 域名

修改之后就可以了

进阶学习——Linux网络_第7张图片

1.4临时修改网卡

进阶学习——Linux网络_第8张图片

1.4.1设置虚拟网卡

进阶学习——Linux网络_第9张图片

进阶学习——Linux网络_第10张图片

1.4.2延伸——ethtool

进阶学习——Linux网络_第11张图片

ethtool -p ens33命令可以让ens33网卡快速闪烁(便于找到该网卡进行操作)

1.5永久修改网卡

永久修改网卡的话,需要将配置写入文件vim /etc/sysconfig/network-scripts/ifcfg-ens33

进阶学习——Linux网络_第12张图片

只保留如下行

进阶学习——Linux网络_第13张图片

进阶学习——Linux网络_第14张图片

类型 含义
TYPE=Ethernet 网卡的类型
BOOTTPROTO=static ip地址获取方式
NAME=ens33 网卡的描述一般和DEVICE一样
DEVICE=ens33 网卡的名称,必须和ifconfig中看到的一样
ONBOOT=yes 开启自启动
IPADDR=192.168.91.100 ip地址
NETMASK=255.255.255.0 子网掩码 PREFIX=24
DNS1=8.8.8.8 dns服务器1
DNS2=114.114.114.114 dns2服务器2

1.6实验  ——  双网卡配置

1.6.1添加新的网卡

进阶学习——Linux网络_第15张图片

1.6.2将ens33的配置文件拷给ens36

进阶学习——Linux网络_第16张图片

1.6.3进入ens36进行配置文件修改

进阶学习——Linux网络_第17张图片

1.6.4测试

进阶学习——Linux网络_第18张图片

 2.ip

2.1ip link——数据链路层

进阶学习——Linux网络_第19张图片

2.2ip address——网络层

可以输入命令ip a  =ip  address

进阶学习——Linux网络_第20张图片

2.3ip路由

3.hostname——主机名

查看或设置当前主机名

3.1临时性修改主机名

hostname  主机名

3.2永久性修改主机名

hostnamectl set-hostname cxk

或者进入vim /etc/hostname进行修改

进阶学习——Linux网络_第21张图片

注意:vim /etc/hostname第一行是有效主机名,并且重启后生效

4.route——查看路由表条目

4.1如何查看路由

route命令查看或设置主机中路由表信息

进阶学习——Linux网络_第22张图片

路由表的主要构成
Destination 目标网络ID,表示可以到达的目标网络ID,0.0.0.0/0 表示所有未知网络,又称为默认路由,优先级最低
Genmask 目标网络对应的netmask
Iface 到达对应网络,应该从当前主机哪个网卡发送出来
Gateway 到达非直连的网络,将数据发送到临近(下一个)路由器的临近本主机的接口的IP地址,如果是直连网络,gateway是0.0.0.0
Metric 开销cost,值越小,路由记录的优先级最高

4.2添加/删除路由

route add -net 网段地址  gw  IP地址 添加指定网段的路由记录
route del -net 网段地址 删除指定网段的路由记录
route add default gw IP地址 向路由表中添加默认网关记录
route del default gw IP地址 删除路由表中默认的网关记录

进阶学习——Linux网络_第23张图片

添加一条去往10.0.0.0段的路由,通过网关localhost.local(本机)进行转发

进阶学习——Linux网络_第24张图片

删除去往10.0.0.0段的路由

进阶学习——Linux网络_第25张图片

添加默认路由

进阶学习——Linux网络_第26张图片

删除默认路由

4.3永久添加路由——重点!!!!

进入vim /etc/sysconfig/network-scripts/route-ens33编辑添加永久路由

进阶学习——Linux网络_第27张图片

重启网卡,查看网卡信息 

进阶学习——Linux网络_第28张图片

5.ss/netstat——网络连接状态

服务不能用,ftp、httpd网页无法访问

1.首先ping  是否能通;看网络是否通,防火墙是否关闭

2.查看服务是否开启systemctl status  服务名

3.ss   或  netstat  看服务端口是否被占用

4.查看服务的配置文件是否正确

进阶学习——Linux网络_第29张图片

ss(scket statistics)
-t tcp协议相关
-u udp协议相关
-w 套接字相关
-x unix sock相关
-l listen状态的连接
-a 所有
-n 数字格式
-p 相关的程序及PID
-e 扩展的信息
-m 内存容量
-o 计时器信息
-r --resolve 把IP解释为域名,把端口号解释为协议名称

进阶学习——Linux网络_第30张图片

netstat
-a 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-n 以数字的形式显示相关的主机地址、端口等信息
-r 显示路由表信息
-l 显示处于监听(Listening)状态的网络连接及端口信息
-t 查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息
-u 显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息
-p 显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)

5.1ss与netstat最主要的区别

ss 命令:也可以查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。 但 ss 的优势在于它能够显示更多更详细的有关 TCP 和UDP连接状态的信息,而且比 netstat 更快速更高效 当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。

进阶学习——Linux网络_第31张图片

6.ping——测试网络连通性

选项 含义
-c 指定发送多少个包
-w 指定等待时间
-t 无终止ping

ping  地址  会一直ping   Ctrl +  c  退出 

进阶学习——Linux网络_第32张图片

 ping -c指定ping包

进阶学习——Linux网络_第33张图片

 ping -w  指定几秒返回

进阶学习——Linux网络_第34张图片

7.traceroute——路由追踪

格式:tarceroute  IP地址

8.nslookup——域名解析

测试DNS域名解析

nslookup  目标主机地址  [DNS服务器地址]

进阶学习——Linux网络_第35张图片

同样,Windows也自带着域名解析工具

进阶学习——Linux网络_第36张图片

8.1延伸——dig

dig可以查看更详细的信息

 8.2怎么验证DNS服务器是否可以解析域名

nslookup、dig、host、ping

8.3域名解析文件

vim /etc/hosts

进阶学习——Linux网络_第37张图片

写在配置文件(/etc/hosts)中的优先级大于域名服务(域名服务器是自己设置的DNS1 8.8.8.8);

因此在选择中会选择192.168.91.101解析 

Windows也有自带的hosts解析文件,存放路径为(C:\Windows\System32\drivers\etc)

进阶学习——Linux网络_第38张图片

8.3.1hosts文件和DNS服务器的比较
  • 默认情况下,系统首先从 hosts 文件查找解析记录
  • hosts 文件只对当前的主机有效
  • hosts 文件可减少 DNS 查询过程,从而加快访问速度

8.4查看服务器上的域名是否生效 

本地主机映射文件

/etc/resolv.conf dns

保存的是你DNS服务器的地址

/etc/hosts 文件 保存主机名与IP地址的映射记录

9.scp——远程同步

[root@localhost opt]#scp /opt/passwd [email protected]:/opt/passwd 
The authenticity of host '192.168.241.22 (192.168.241.22)' can't be established.
ECDSA key fingerprint is SHA256:CcASxxV4CvFA+6w68th3aaCYGbGB3UwaAK1xifsM/Pk.
ECDSA key fingerprint is MD5:d6:ee:2e:4d:f6:34:c5:14:0e:ef:99:8c:54:48:c6:be.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.241.22' (ECDSA) to the list of known hosts.
[email protected]'s password: 
passwd                                          100% 2101     1.6MB/s   00:00    


#scp 命令字
#/opt/passwd 本地文件地址
#[email protected]   对方用户名@地址
#/opt/passwd   同步到对方用户哪个文件夹下

进阶学习——Linux网络_第39张图片

进阶学习——Linux网络_第40张图片

10.bond——网卡聚合(多网卡)

将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡设置同一IP地址是不可以的(会引发地址冲突)。

10.1bond的作用

主备模块:可以解决单点故障;

双主模式:可以分摊流量。 

10.2Bonding聚合链路工作模式

  • mod=0 ,即:(balance-rr) Round-robin policy(轮询)聚合口数据报文按包轮询从物理接口转发。负载均衡—所有链路处于负载均衡状态,轮询方式往每条链路发送报文这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。性能问题—一个连接或者会话的数据包如果从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降。Bond0在大压力的网络传输下,性能增长的并不是很理想。需要交换机进行端口绑定。

  • mod=1,即: (active-backup) Active-backup policy(主-备份策略)只有Active状态的物理接口才转发数据报文。容错能力—只有一个slave是激活的(active)。也就是说同一时刻只有一个网卡处于工作状态,其他的slave都处于备份状态,只有在当前激活的slave故障后才有可能会变为激活的(active)。无负载均衡—此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N。

  • mod=2,即:(balance-xor) XOR policy(平衡策略)聚合口数据报文按源目MAC、源目IP、源目端口进行异或HASH运算得到一个值,根据该值查找接口转发数据报文负载均衡—基于指定的传输HASH策略传输数据包。容错能力—这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。性能问题—该模式将限定流量,以保证到达特定对端的流量总是从同一个接口上发出。既然目的地是通过MAC地址来决定的,因此该模式在“本地”网络配置下可以工作得很好。如果所有流量是通过单个路由器,由于只有一个网关,源和目标mac都固定了,那么这个算法算出的线路就一直是同一条,那么这种模式就没有多少意义了。需要交换机配置为port channel

  • mod=3,即:broadcast(广播策略)这种模式的特点是一个报文会复制两份往bond下的两个接口分别发送出去,当有对端交换机失效,感觉不到任何downtime,但此法过于浪费资源;不过这种模式有很好的容错机制。此模式适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题。

  • mod=4,即:(802.3ad) IEEE 802.3ad Dynamic link aggregation(IEEE 802.3ad 动态链接聚合)在动态聚合模式下,聚合组内的成员端口上均启用LACP(链路汇聚控制协议)协议,其端口状态通过该协议自动进行维护。负载均衡—基于指定的传输HASH策略传输数据包。默认算法与blance-xor一样。容错能力—这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。对比blance-xor,这种模式定期发送LACPDU报文维护链路聚合状态,保证链路质量。需要交换机支持LACP协议

  • mod=5,即:(balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡)在每个物理接口上根据当前的负载(根据速度计算)分配外出流量。如果正在接收数据的物理接口口出故障了,另一个物理接口接管该故障物理口的MAC地址。需要ethtool支持获取每个slave的速率

  • mod=6,即:(balance-alb) Adaptive load balancing(适配器适应性负载均衡)该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡,而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个物理接口的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。mod=6与mod=0的区别:mod=6,先把eth0流量占满,再占eth1,….ethX;而mod=0的话,会发现2个口的流量都很稳定,基本一样的带宽。而mod=6,会发现第一个口流量很高,第2个口只占了小部分流量

常用的模式为 0,1,3,6
mode 1、5、6 不需要交换机设置
mode 0、2、3、4需要交换机设置
active-backup、balance-tlb 和 balance-alb 模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco 交换机需要在模式 0、2 和 3 中使用 EtherChannel,但在模式4中需要 LACP和 EtherChannel

10.2.1网卡聚合实验一(通过手写配置文件操作)

bond(绑定)是指将两个或多个物理网卡虚拟化为一个逻辑接口的过程,以实现冗余、负载均衡或增加带宽。

添加网卡

进阶学习——Linux网络_第41张图片

切换到配置文件目录下

cd /etc/sysconfig/network-scripts/

进阶学习——Linux网络_第42张图片

进入bood0进行配置

进阶学习——Linux网络_第43张图片

BONDING_OPTS=“mode=1 miimon=100 fail_over_mac=1”其中,

mode=1:指定绑定模式为负载均衡模式(balance-rr,Round-Robin Policy)。这意味着数据包会轮流从各个成员接口发送出去。

miimon=100:MIIMonitor(Media Independent Interface Monitor)间隔设置为100毫秒,用来检查成员接口的链路状态,如果发现某个接口失效,则切换到其他可用接口。

fail_over_mac=1:启用MAC地址转移功能,当主接口失效时,将整个bonding接口的MAC地址迁移到当前活动的从接口上。

修改ens33网卡配置

进阶学习——Linux网络_第44张图片

BOOTPROTO="static":表示这个网络接口(ens33)在启动时不会尝试通过DHCP或静态配置获取IP地址,而是依赖于其他方式来设置其网络参数。

NAME="ens33":指定了网络接口的名称,这里是ens33,这是Linux内核识别该物理网卡的方式。

DEVICE="ens33":与NAME相同,也是指明了网络设备的名称为ens33。

ONBOOT="yes":表明当操作系统启动时,应自动启动并激活此网络接口。MASTER=bond0 和 SLAVE=yes:这两个选项说明 ens33 网络接口被配置为一个bonding主/从接口的一部分,其中MASTER=bond0表示 ens33 是 bond0 的从接口(slave),而 SLAVE=yes也进一步确认了它是作为绑定接口的从属部分

修改ens36配置

进阶学习——Linux网络_第45张图片

重启网卡

进阶学习——Linux网络_第46张图片

测试

进阶学习——Linux网络_第47张图片

目前ens33是主流量网卡,ens36是从流量网卡

如果关掉一个,那么从会顶替,继续工作

进阶学习——Linux网络_第48张图片

11.tcpdump——数据抓包

tcpdump命令, 是一个强大的网络协议分析器,它主要用于监控和捕获网络流量数据包,并能够以易于阅读的格式显示这些信息。在Linux和其他类Unix系统中广泛使用,是网络管理员、安全专家和开发者进行网络故障排查、性能分析以及安全审计的重要工具。

11.1格式

tcpdump option proto           dir            type

                 选项   协议 数据的方向 抓取的数据类型

11.2选项及说明

-a 尝试将网络和广播地址转换成名称。
-c<数据包数目> 收到指定的数据包数目后,就停止进行倾倒操作。
-d 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。
-dd 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。
-ddd 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。
-e 在每列倾倒资料上显示连接层级的文件头。
-f 用数字显示网际网络地址。
-F<表达文件> 指定内含表达方式的文件。
-i<网络接口> 使用指定的网络截面送出数据包。
-l 使用标准输出列的缓冲区。
-n 不把主机的网络地址转换成名字。
-N 不列出域名。
-O 不将数据包编码最佳化。
-p 不让网络界面进入混杂模式。
-q 快速输出,仅列出少数的传输协议信息。
-r<数据包文件> 从指定的文件读取数据包数据。
-s<数据包大小> 设置每个数据包的大小。
-S 用绝对而非相对数值列出TCP关联数。
-t 在每列倾倒资料上不显示时间戳记。
-tt 在每列倾倒资料上显示未经格式化的时间戳记。
-T<数据包类型> 强制将表达方式所指定的数据包转译成设置的数据包类型。
-v 详细显示指令执行过程。
-vv 更详细显示指令执行过程。
-x 用十六进制字码列出数据包资料。
-w<数据包文件> 把数据包数据写入指定的文件。

11.3演示

11.3.1tcpdump -D  查看网卡

进阶学习——Linux网络_第49张图片

11.3.2tcpdump -i ens33   指定查看ens33 网卡

11.3.3tcpdump host 192.168.241.11 -i ens33

监听特定主机,监听主机10.0.0.100 的通信包

注意:出、入的包都会被监听。

进阶学习——Linux网络_第50张图片

11.3.4tcpdump src host hostname——监听特定来源的包

进阶学习——Linux网络_第51张图片

11.3.5tcpdump dst host hostname——监听特定地址的包

进阶学习——Linux网络_第52张图片

11.3.6延伸

抓取来源于192.168.241.22 目的地址是192.168.241.11的包

进阶学习——Linux网络_第53张图片

其中,

  • -nn:禁止将IP地址和端口号转换为主机名和服务名,提高输出速度
  • -vv:显示更多详细信息
  • -i  ens33:显示ens33网卡的信息
  • icmp:代表只显示icmp协议的数据包
  • and:各表达式之间使用and连接
  • src  host  ip地址:出发地址
  • dst  host  IP地址:目标地址

抓取ens33的22端口的包

进阶学习——Linux网络_第54张图片

二、DHCP

DHCP: Dynamic Host Configuration Protocol,动态主机配置协议

1.主机获取网络配置可以通过两种方式

  • 指定
  • 动态获取

2.UDP协议,C/S模式,dhcp server: 67/udp,dhcpv4 client :68/udp, dhcpv6 client: 546/udp 主要用途

  • 用于内部网络和网络服务供应商自动分配IP地址给用户
  • 用于内部网络管理员作为对所有电脑作集中管理的手段
  • 自动化安装系统

进阶学习——Linux网络_第55张图片

3.DHCP一次完整的过程

  1. 当DHCP客户机加入到网络中来,需要得到IP地址上网;
  2. DHCP客户机会发送一个广播报文DIscover,寻找DHCP服务器;
  3. DHCP服务器收到Discover报文,会回复一个Offer报文并且携带相关配置信息(IP地址 子网掩码 DNS 网关);
  4. 客户端收到Offer报文后,会将报文中的配置信息配置好,再回复一个Request报文,告诉DHCP服务器将使用的地址从合法地址池中去除;
  5. DHCP服务器收到Request报文后,会回复一个ACK报文,告诉客户机可以放心使用。

3.1重新登录

DHCP客户机每次重新登录网络时,不需要再发送DHCPDIscover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息

3.2更新租约

  • 当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约
  • 客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约 

4.DHCP报文类型

  • DHCP DISCOVER:客户端到服务器
  • DHCP OFFER :服务器到客户端
  • DHCP REQUEST:客户端到服务器
  • DHCPACK :服务器到客户端
  • .DHCPNAK:服务器到客户端通知用户无法分配合适的IP地址
  • DHCP DECLINE :客户端到服务器,指示地址已被使用
  • DHCP RELEASE:客户端到服务器,放弃网络地地口取消剩余的租约时间
  • DHCP INFORM:客户端到服务器,客户端如果需要从DHCP服务器端获取更为单ffl的配置信息,则 发送Inform报文向服务器进行请求,极少用到

5.实验操作——DHCP分配地址

5.1首先安装DHCP软件

yum install dhcp -y

5.2切换目录并拷贝配置文件信息

cd /etc/dhcp/
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example   /etc/dhcp/dhcpd.conf 

5.3修改配置文件

vim /etc/dhcp/dhcpd.conf

进阶学习——Linux网络_第56张图片

subnet:分配的子网段

netmask:子网掩码

range:可以分配给客户端使用的IP地址池

option routers:网关

5.4验证

5.4.1验证方法一   使用Windows验证

开启或重启dhcp服务  目前dhcp服务器为running  表示正常运行

进阶学习——Linux网络_第57张图片

Windows系统中Win + R输入cmd命令

再输入ipconfig/release   #释放ip地址

输入ipconfig/renew  #重新获取地址

ipconfig/all  #显示所有的网卡配置 

进阶学习——Linux网络_第58张图片

5.4.2验证方法二  —— 使用Linux系统验证

再开启一台机器  vim /etc/sysconfig/network-scripts/ifcfg-ens33修改配置文件

进阶学习——Linux网络_第59张图片

重启网卡,查看地址是否更换

进阶学习——Linux网络_第60张图片

进阶学习——Linux网络_第61张图片

6.实验二 ——分配固定地址

6.1修改配置文件为Windows系统配置固定地址

vim  dhcpd.conf进入配置文件前要先找到Windows的mac地址

进阶学习——Linux网络_第62张图片

进阶学习——Linux网络_第63张图片

重启dhcpd服务   查看dhcpd服务是开启状态 

进阶学习——Linux网络_第64张图片

此时  查看Windows的IP地址已经配好了

进阶学习——Linux网络_第65张图片

你可能感兴趣的:(学习,linux,网络)