当前位置:   article > 正文

Linux网络的命令和配置_欧拉系统跟踪路由

欧拉系统跟踪路由

目录

一、网络配置命令

1、配置和管理网络接口

1.1 ifconfig

1.2 ip

1.2.1 ip link

1.2.2 ip addr

1.3 修改网络接口名

1.3.1  临时修改网络接口名

1.3.2 永久修改网络接口名

1.4 永久配置单网卡 

1.5 永久配置双网卡 

1.6 ethtool

2、查看和设置主机中路由表信息

2.1 route

2.2 添加路由

2.2.1 临时添加路由和静态路由

2.2.2 永久添加路由

3、查看网络连接情况

3.1 netstat

3.2 ss

3.3 netstat和ss命令的区别

4、路由追踪

4.1 traceroute

5、域名解析

5.1 nslookup

5.2 dig

5.3 host

6、查看和修改主机名

6.1 hostname

 7、bonding多网卡绑定

7.1 网络绑定(bonding)的概念

7.2  Bonding聚合链路工作模式

7.3 永久配置主备模式(mode 1)的bonding

7.4 删除bonding

8、捕获网络数据包

8.1 tcpdump

9、DHCP网络协议

9.1 DHCP的概念

9.2 DHCP的分配方式

9.3 可分配的地址信息

9.4 DHCP的工作原理(租约过程)

9.5 搭建DHCP服务器

9.5.1 配置DHCP服务器动态分配ip地址

9.5.2 配置固定的ip地址给单机使用

10、时间同步

10.1 ntp

10.2 chrony

10.3 搭建本地时间同步服务器

​      二、总结


一、网络配置命令

1、配置和管理网络接口

1.1 ifconfig

ifconfig 是一个传统的网络工具,用于查看和配置网络接口的信息。它可以显示接口的 IP 地址、MAC 地址、子网掩码、广播地址

  1. ifconfig #查看当前系统正在活动的网卡信息
  2. ifconfig -a #查看所有网卡信息
  3. ifconfig -s #网络通讯情况
  4. ifconfig 网卡名称 down #关闭该网卡
  5. ifconfig 网卡名称 up #开启该网卡
  6. ifconfig ens33:0 ip地址/子网掩码 #临时设置虚拟网卡
  7. ifconfig ens33 ip地址/子网掩码 #临时设置ens33网络接口的IP地址

  1. [root@localhost ~]#ifconfig
  2. ens33: flags=4163<UP, BROADCAST,RUNNING,MULTICAST> mtu 1500
  3. #该接口已启用,支持广播、正在运行、支持组播、最大传输单元1500字节
  4. inet 172.16.12.10 netmask 255.255.255.0 broadcast 172.16.12.255
  5. inet6 fe80::cc81:8141:5f57:6b5a prefixlen 64 scopeid 0x20<link>
  6. #IPV6地址 子网长度 作用域 link表示仅该接口有效
  7. ether 00:0c:29:d5:d0:91 txqueuelen 1000 (Ethernet)
  8. #mac地址 传输队列长度(传输缓存大小) 接口类型
  9. RX packets 11894 bytes 16587119 (15.8 MiB)
  10. #接收报文个数 总和字节数
  11. RX errors 0 dropped 0 overruns 0 frame 0
  12. #接收错误 丢弃 溢出 冲突帧数
  13. TX packets 5168 bytes 325555 (317.9 KiB)
  14. #发送报文个数 总字节数
  15. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
  16. # 错误 丢失 溢出 载荷数 冲突数

1.2 ip

ip 命令是一个更现代化和功能更强大的网络管理工具,用于配置和管理网络接口、路由表、网络命名空间

ip link 命令用于管理网络接口。它提供了各种选项和子命令,用于配置、显示和操作网络接口

  1. ip link #显示所有网络接口的状态和信息
  2. ip link set 网卡名 up #启用该网卡
  3. ip link set 网卡名 down #禁用该网卡
  4. ip link delete 网卡名 #删除该网卡
  5. ip link set 网卡名 name 新网卡名 #修改网卡的命名
1.2.2 ip addr

ip addr用于显示和管理网络接口的命令,可以列出系统中所有的网络接口信息,包括接口名称、MAC 地址、IP 地址、子网掩码、广播地址

  1. ip addr #显示和管理网络接口信息
  2. ip address add ip地址/子网掩码 dev 网卡名
  3. #临时增加网卡
  4. ip address add ip地址/子网掩码 dev ens33 label ens33:1
  5. #临时增加虚拟网卡
  6. ip address del ip地址/子网掩码 dev 网卡名
  7. #临时删除网卡
  8. ip address del ip地址/子网掩码 dev ens33 label ens33:1
  9. #临时删除虚拟网卡

1.3 修改网络接口名

1.3.1  临时修改网络接口名

设备重启,会恢复旧网络接口名

  1. [root@localhost ~]#ifconfig ens36 #查看指定网卡ens36的信息
  2. [root@localhost ~]#ip link set ens36 down #关闭网卡
  3. [root@localhost ~]#ip link set ens36 name eth1 #修改网卡名
  4. [root@localhost ~]#ip link set eth1 up #开启网卡
  5. [root@localhost ~]#ifconfig eth1 #查看指定网卡eth1的信息

1.3.2 永久修改网络接口名

写入/etc/default/grub配置文件和修改网卡配置文件,就能完成永久修改了

  1. #添加net.ifnames=0到/etc/default/grub文件
  2. [root@localhost ~]#vim /etc/default/grub
  3. GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0"
  4. #重新生成grub配置文件
  5. [root@localhost ~]#grub2-mkconfig -o /boot/grub2/grub.cfg
  6. #修改网卡配置文件,统一网卡名
  7. [root@localhost ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens36
  8. NAME=eth1
  9. DEVICE=eth1
  10. #重启网络服务
  11. [root@localhost ~]#systemctl restart network

1.4 永久配置单网卡 

修改网卡的配置文件

  1. [root@localhost ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
  2. TYPE=Ethernet #网卡类型
  3. BOOTPROTO=static #静态获取ip地址方式
  4. NAME=ens33 #网卡的名称
  5. DEVICE=ens33 #网卡的描述
  6. ONBOOT=yes #开机自启
  7. IPADDR=172.16.12.10 #设置ip地址
  8. NETMASK=255.255.255.0 #设置子网掩码
  9. GATEWAY=172.16.12.2 #设置网关
  10. DNS1=8.8.8.8 #设置dns服务器1
  11. DNS2=114.114.114.114 #设置dns服务器2

1.5 永久配置双网卡 

  1. #切换到有网卡配置文件的目录下
  2. [root@localhost ~]#cd /etc/sysconfig/network-scripts/
  3. **************************************************************
  4. #复制ens33网卡配置文件作为模板成ens36网卡配置文件,再进行修改
  5. [root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-ens36
  6. [root@localhost network-scripts]#vim ifcfg-ens36
  7. TYPE=Ethernet
  8. BOOTPROTO=static
  9. NAME=ens36
  10. DEVICE=ens36
  11. ONBOOT=yes
  12. IPADDR=172.16.12.100
  13. NETMASK=255.255.255.0
  14. GATEWAY=172.16.12.2
  15. DNS1=8.8.8.8
  16. DNS2=114.114.114.114
  17. ***************************************************************
  18. #重启网络服务,查看网络连接状态
  19. [root@localhost network-scripts]#systemctl restart network
  20. [root@localhost network-scripts]#ifconfig ens33
  21. [root@localhost network-scripts]#ifconfig ens36

1.6 ethtool

用于查看和修改以太网接口驱动程序和硬件参数的工具

  1. ethtool eth0 #显示以太网接口的状态信息
  2. ethtool -i eth0 #查看以太网接口的驱动程序信息
  3. ethtool -S eth0 #显示以太网接口的统计信息
  4. ethtool -p eth0 #让ens33网口的灯快速闪烁,可分辨现实中的eth0网络接口

2、查看和设置主机中路由表信息

2.1 route

route -n         #显示数字格式的路由表,包括目标地址、网关、子网掩码和接口等信息

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

2.2 添加路由

2.2.1 临时添加路由和静态路由
  1. #设置一条去往10.0.0.0段的路由通过172.16.12.2网关转发
  2. [root@localhost ~]#route add -net 10.0.0.0/8 gw 172.16.12.2
  3. [root@localhost ~]#route -n
  4. #删除去往10.0.0.0段的路由
  5. [root@localhost ~]#route del -net 10.0.0.0/8

  1. #添加默认路由
  2. [root@localhost ~]#route add -net 0.0.0.0(default) gw 172.16.12.2
  3. [root@localhost ~]#systemctl restart network
  4. [root@localhost ~]#route -n
  5. #删除默认路由
  6. [root@localhost ~]#route del -net 0.0.0.0(default)
  7. [root@localhost ~]#route -n

2.2.2 永久添加路由
  1. #永久添加路由
  2. [root@localhost ~]#vim /etc/sysconfig/network-scipts/route-ens33
  3. 10.0.0.0/24 via 172.16.12.10
  4. [root@localhost ~]#systemctl restart network
  5. [root@localhost ~]#route -n

3、查看网络连接情况

3.1 netstat

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

3.2 ss

选项说明
-a显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-n以数字的形式显示相关的主机地址、端口等信息 
-p显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)
-l显示处于监听(Listening)状态的网络连接及端口信息 
-t查看 TCP(传输控制协议)相关的信息 
-u查看 UDP(用户数据报协议)相关的信息
-m查看内存用量
-o查看计时器信息
-xunix sock相关
-w裸套接字相关
-r、--resolve把 IP 解释为域名,把端口号解释为协议名称

3.3 netstat和ss命令的区别

区别netstatss
性能在处理大量连接时可能性能较差,因为它需要遍历文件查看系统状态使用新的内核接口,因此通常比 netstat 更快速和高效
功能提供了查看网络连接、路由表、接口统计等信息的功能不仅提供与 netstat 类似的功能,还可以显示更多的套接字信息,如 TCP/UDP 连接、监听端口
未来前景ss会替代netstat,因为ss在性能上更优秀

4、路由追踪

4.1 traceroute

traceroute IP地址    #追踪经过该ip地址的路由

5、域名解析

5.1 nslookup

nslookup主要用于简单的 DNS 查询,提供基本的 DNS 信息

nslookup 域名     #将域名解析成ip地址

5.2 dig

dig 提供了更为灵活和详细的查询功能,可以显示更多类型的 DNS 记录

dig 域名     #将域名解析成ip地址

5.3 host

host 主要用于简单的 DNS 查询,提供基本的 DNS 信息

host 域名     #将域名解析成ip地址

6、查看和修改主机名

6.1 hostname

  1. hostname #查看主机名
  2. #临时修改主机名
  3. hostname 新主机名
  4. su #切换
  5. #命令永久修改主机名
  6. hostnamectl set-hostname 新主机名 #永久修改主机名
  7. reboot #重启生效
  8. 原理:使用hostnamectl命令最后是在/etc/hostname文件中添加一条记录,hostnamectl实际是修改了hostname文件

  1. #将新主机名写入配置文件,只有写在第一行的主机名有效
  2. vim /etc/hostname #永久修改主机名
  3. reboot #重启生效

 7、bonding多网卡绑定

7.1 网络绑定(bonding)的概念

  • 在 Linux 中,网络绑定(bonding)是一种将多个物理网络接口组合成一个逻辑接口的技术
  • 直接给两块网卡设置同一IP地址是不可以的,而通过 bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址
  • 这种技术可以提高网络带宽、提供冗余性和容错能力

7.2  Bonding聚合链路工作模式

  • mode 0(balance-rr):将传输的数据包轮流发送到各个接口,实现负载平衡和带宽聚合
  • mode 1(active-backup):只有一个接口处于活动状态,其他接口处于备用状态,实现故障转移
  • mode 2(balance-xor):使用源和目的 IP 地址、源和目的 MAC 地址进行哈希计算,将数据包发送到相应的接口,实现负载平衡和带宽聚合
  • mode 3(broadcast):将数据包发送到所有接口,适用于无法确定接收方 MAC 地址的情况
  • mode 4(802.3ad):基于 IEEE 802.3ad 协议的链路聚合控制协议(LACP),实现带宽聚合和故障转移
  • mode 5(balance-tlb):使用传输负载平衡(TLB)算法,将数据包发送到活动接口,实现负载平衡和带宽聚合
  • mode 6(balance-alb):使用自适应负载平衡(ALB)算法,将传输负载分布到所有接口,实现负载平衡和带宽聚合

常用的模式为 mode 0、mode 1、mode 3、mode 6
mode 1、mode 5、mode 6 不需要交换机的任何特殊配置
mode 0、mode 2、mode 3、mode 4需要交换机设置,以便整合链接

 7.3 永久配置主备模式(mode 1)的bonding

要求:配置永久的主备模式(mode 1)的bonding,让ens33成为主网卡,ens36成为备网卡。测试关闭ens33,主机网络能否联通,bond0工作状态又有何变化

前提:关闭防火墙和临时防护 

  1. [root@localhost ~]systemctl stop firewalld #关闭防火墙
  2. [root@localhost ~]setenforce 0 #关闭临时防护

方法一:写入配置文件添加bonding

  1. #复制ens33网卡配置文件为模版成bond0的配置文件,在此基础上进行修改
  2. [root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-bond0
  3. [root@localhost network-scripts]#vim ifcfg-bond0
  4. TYPE=bond
  5. BOOTPROTO=static
  6. NAME=bond0
  7. DEVICE=bond0
  8. ONBOOT=yes
  9. IPADDR=172.16.12.100
  10. NETMASK=255.255.255.0
  11. GATEWAY=172.16.12.2
  12. DNS1=8.8.8.8
  13. DNS2=114.114.114.114
  14. BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"
  15. #miimon指定链路监测时间间隔。如果miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路
  16. **************************************************************************************
  17. #修改ens33网卡的配置文件
  18. [root@localhost network-scripts]#vim ifcfg-ens33
  19. TYPE=Ethernet
  20. BOOTPROTO=static
  21. NAME=ens33
  22. DEVICE=ens33
  23. ONBOOT=yes
  24. MASTER=bond0
  25. SLAVE=yes
  26. **************************************************************************************
  27. #复制ens33网卡配置文件为模版成ens36的配置文件,在此基础上进行修改
  28. [root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-ens36
  29. [root@localhost network-scripts]#vim ifcfg-ens36
  30. TYPE=Ethernet
  31. BOOTPROTO=static
  32. NAME=ens36
  33. DEVICE=ens36
  34. ONBOOT=yes
  35. MASTER=bond0
  36. SLAVE=yes
  37. **************************************************************************************
  38. #测试
  39. [root@localhost ~]#ping 172.16.12.100 #查看能否ping通bond0设置的主机ip地址
  40. [root@localhost ~]#cat /proc/net/bonding/bond0 #查看bond0状态信息
  41. [root@localhost ~]#ifconfig bond0 #查看bond0网络接口信息

① 复制ens33网卡配置文件为模版成bond0的配置文件,在此基础上进行修改

②修改ens33网卡的配置文件 

③复制ens33网卡配置文件为模版成ens36的配置文件,在此基础上进行修改 

 ④测试

 ⑤测试关闭ens33,主机网络可以联通,bond0状态变为ens36网卡工作,提高容错能力

注:

重新连接ens33网卡,ens33也不会抢占成为主网卡,而是成为备网卡,依旧是ens36网卡是主网卡在工作

方法二:使用命令永久配置bonding

  1. #添加bonding接口
  2. nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 172.16.12.100/24
  3. *******************************************************************************************
  4. #添加从属接口
  5. nmcli con add type bond-slave ifname ens33 master bond0
  6. nmcli con add type bond-slave ifname ens36 master bond0
  7. *******************************************************************************************
  8. #启动绑定,则必须首先启动从属接口
  9. nmcli con up bond-slave-ens33
  10. nmcli con up bond-slave-ens36
  11. nmcli con up mybond0

7.4 删除bonding

  1. [root@localhost ~]#ifconfig bond0 down #关闭bond0
  2. [root@localhost ~]#rmmod bonding #删除bond0
  3. [root@localhost ~]#ifconfig bond0 #查看是否还有bond0

8、捕获网络数据包

8.1 tcpdump

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

通式:tcpdump  【选项】 【表达式】
选项说明
-a尝试将网络和广播地址转换成名称
-c收到指定的数据包数目后,就停止进行倾倒操作
-d把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出
-dd把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出
-ddd把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出

-e

在每列倾倒资料上显示连接层级的文件头
-f用数字显示网际网络地址
-F 表达文件指定内含表达方式的文件
-i 网络接口使用指定的网络截面送出数据包
-l使用标准输出列的缓冲区
-n不把主机的网络地址转换成名字
-nn显示ip地址、端口号
-N不列出域名
-O不将数据包编码最佳化
-p不让网络界面进入混杂模式
-q快速输出,仅列出少数的传输协议信息
-r 数据包文件从指定的文件读取数据包数据
-s 数据包大小设置每个数据包的大小
-S用绝对而非相对数值列出TCP关联数
-t在每列倾倒资料上不显示时间戳记
-tt在每列倾倒资料上显示未经格式化的时间戳记
-T 数据包类型强制将表达方式所指定的数据包转译成设置的数据包类型
-v详细显示指令执行过程
-vv更详细显示指令执行过程
-x用十六进制字码列出数据包资料
-w 数据包文件把数据包数据写入指定的文件
  1. #查看系统当前所有网卡的信息
  2. #tcpdump -D
  3. #监听特定网卡
  4. tcpdump -i ens33
  5. #监听特定主机,监听主机172.16.12.10的通信包,注意:出、入的包都会被监听
  6. tcpdump host 172.16.12.10
  7. #特定来源的通信
  8. tcpdump src host hostname或ip地址/子网掩码
  9. #特定目标地址的通信
  10. tcpdump dst host hostname或ip地址/子网掩码
  11. #如果不指定src跟dst,那么来源或者目标是hostname或ip地址/子网掩码的通信都会被监听
  12. tcpdump host hostname或ip地址/子网掩码
  13. #捕获从ip地址为172.16.12.10的主机发送到ip地址为172.16.12.12的主机的icmp报文
  14. tcpdump -i eth0 -nn icmp and src host 172.16.12.10 and dst host 172.16.12.12
  15. #捕获特定端口的数据包
  16. tcpdump port 3000
  17. #监听TCP/UDP,服务器上不同服务分别用了TCP、UDP作为传输层,假如只想监听TCP的数据包
  18. tcpdump tcp
  19. #来源主机+端口+TCP,监听来自主机172.16.12.10在端口22上的TCP数据包
  20. tcpdump tcp port 22 and src host 172.16.12.10
  21. #监听特定主机之间的通信
  22. tcpdump ip host 172.16.12.10 and 172.16.12.12
  23. #172.16.12.10和除了172.16.12.12之外的主机之间的通信
  24. tcpdump ip host 172.16.12.10 and ! 172.16.12.12
  25. #在eth1接口上抓取前100个源IP地址在172.16.12.0/24网段内、目标端口不为SSH的TCP 数据包,并将这些数据包保存到target.cap文件中,以便后续分析和处理
  26. tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 172.16.12.0/24
  27. -w ./target.cap
  28. (1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数
  29. 据报的类型
  30. (2)-i eth1 : 只抓经过接口eth1的包
  31. (3)-t : 不显示时间戳
  32. (4)-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
  33. (5)-c 100 : 只抓取100个数据包
  34. (6)dst port ! 22 : 不抓取目标端口是22的数据包
  35. (7)src net 172.16.12.0/24 : 数据包的源网络地址为172.16.12.0/24
  36. (8)-w ./target.cap : 保存成cap文件,方便用wireshark分析
  37. #限制抓包的数量,如下,抓到1000个包后,自动退出
  38. tcpdump -c 1000
  39. #保存到本地,tcpdump默认会将输出写到缓冲区,只有缓冲区内容达到一定的大小,或者tcpdump退出时,才会将输出写到本地磁盘,可以加上-U强制立即写到本地磁盘(一般不建议,性能相对较差)
  40. tcpdump -n -vvv -c 1000 -w /tmp/tcpdump_save.cap

9、DHCP网络协议

9.1 DHCP的概念

DHCP(Dynamic HostConfiguration Protocol,动态主机配置协议)由Internet工作任务小组设计,开发专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议

9.2 DHCP的分配方式

自动分配:分配到一个IP地址后永久使用

手动分配: 由DHCP服务器管理员专门指定IP地址(如打印机、人事平台、报销平台)

动态分配:使用完后释放该IP,供其它客户机使用

9.3 可分配的地址信息

  • 网卡的IP地址、子网掩码
  • 对应的网络地址、广播地址
  • 默认网关地址
  • DNS服务器地址

9.4 DHCP的工作原理(租约过程)

客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程

分为六个步骤:
第一步:客户端通过广播发送DHCP Discover 报文寻找服务器端

第二步:服务器端通过单播发送DHCP Offer 报文向客户端提供IP地址等网络信息

第三步:客户端通过广播DHCP Request 报文告知服务器端本地选择使用哪个IP地址

第四步:服务器通过DHCP Ack报文告知客户端IP地址是合法可用的

第五步:客户端直接发送包含前一次所分配的IP地址的DHCP Request请求信息

第六步:客户端直接向提供租约的服务器发送DHCP Request包要求更新现有的地址租约

DHCP的四个报文:
discover(广播)、offer(单播)、request(广播)、ack(单播)

六个步骤的详细说明:
第一步客户端请求IP地址:当一个DHCP客户端启动时,客户端还没有IP地址,所以客户端要通过DHCP获取一个合法的地址,此时DHCP客户端以广播方式发送DHCP Discover发现信息来寻找DHCP服务器

第二步服务器响应:情况一当网络中无DHCP服务器,客户端会自动配置一个169.254开头的错误地址;情况二当网络中只有一台DHCP服务器,该DHCP服务器会在自己的IP地址池中查找是否有合法的IP地址提供给客户机。如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后广播一则DHCP Offer消息;情况三当网络中不止一台DHCP服务器,所有的DHCP服务器都发送offer报文给客户端,客户端优先采用先到达的offer报文

第三步客户端选择IP地址:DHCP客户端从接收到的第一个DHCP Offer消息中提取IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机

第四步服务端确认IP地址可用:服务器接接收到客户端发出的request广播,通过DHCP Ack报文告知客户端IP地址是合法可用的

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

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

9.5 搭建DHCP服务器

前提:关闭防火墙和临时防护 

  1. [root@localhost ~]systemctl stop firewalld #关闭防火墙
  2. [root@localhost ~]setenforce 0 #关闭临时防护
9.5.1 配置DHCP服务器动态分配ip地址
  1. #安装dhcp服务软件
  2. [root@localhost ~]#yum install -y dhcp
  3. ******************************************************************
  4. #配置ip地址为172.16.12.10的主机为DHCP服务器
  5. #复制dhcpd.conf.example模版成dhcpd的配置文件,在此基础上进行修改
  6. [root@localhost ~]#cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
  7. [root@localhost ~]#vim /etc/dhcp/dhcpd.conf
  8. subnet 172.16.12.0 netmask 255.255.255.0 {
  9. range 172.16.12.20 172.16.12.50;
  10. option routers 172.16.12.2;
  11. option domain-name-servers 114.114.114.114;
  12. }
  13. systemctl restart dhcpd #重启dhcpd服务
  14. *******************************************************************
  15. #为Windows设备配置自动获取dhcp服务
  16. win+r打开运行窗口输入“cmd”打开黑屏界面
  17. ipconfig/release #释放ip地址
  18. ipconfig/renew #重新获取ip地址
  19. ipconfig/all #查看到该IP地址在配置的范围内
  20. *******************************************************************
  21. #为Linux设备配置自动获取dhcp服务
  22. [root@localhost ~]vim /etc/sysconfig/network-scripts/ifcfg-ens33
  23. BOOTPROTO=dhcp #将ip地址获取方式改为dhcp
  24. ip配置及子网掩码等信息全部注释或删除
  25. [root@localhost ~]systemctl restart network #重启网络服务
  26. [root@localhost ~]ifconfig #查看到该IP地址在配置的范围内

①#配置ip地址为172.16.12.12的主机为DHCP服务器 

 ②为Windows设备配置自动获取dhcp服务

 ③为Linux设备配置自动获取dhcp服务

9.5.2 配置固定的ip地址给单机使用
  1. #在Windows设备中win+r打开运行窗口输入“cmd”打开黑屏界面
  2. ipconfig /all #先查找单机的mac地址
  3. 00-0C-29-4E-46-39
  4. *******************************************************
  5. #修改dhcpd配置文件
  6. [root@localhost ~]vim /etc/dhcp/dhcpd.conf
  7. host fantasia {
  8. hardware ethernet 00:0C:29:4E:46:39; #注意分隔符,指定单机的mac地址
  9. fixed-address 172.16.12.100; #指定分配固定ip:172.16.12.100给单机使用
  10. }
  11. [root@localhost ~]systemctl restart dhcpd #重启dhcpd服务
  12. ******************************************************
  13. #在Windows单机设备查看该IP地址是否是指定的固定ip地址
  14. ipconfig

10、时间同步

10.1 ntp

NTP是最早和最常用的时间同步协议,它使用UDP协议在客户端和时间服务器之间进行通信。NTP通过比较本地系统时钟和远程时间服务器的时钟来调整本地时钟,以实现时间同步

特点说明
广泛支持NTP是一种广泛支持的时间同步协议,几乎所有操作系统和网络设备都支持NTP
高精度NTP可以提供较高的时间精度,通常在几毫秒或更好的范围内
复杂配置NTP的配置相对复杂,需要手动编辑配置文件,并指定要使用的NTP服务器

10.2 chrony

Chrony是一个相对较新的时间同步工具,它提供了与NTP类似的功能,但使用了不同的实现方法。Chrony通过组合使用NTP和自己的算法来实现时间同步

特点说明
更快的同步Chrony使用一种称为"interleaved mode"的同步算法,可以更快地将本地时钟与远程时间服务器同步
适应性调整Chrony可以根据网络延迟和时钟偏差等因素进行适应性调整,以提供更准确的时间同步
简化配置Chrony的配置相对简单,可以使用命令行工具或编辑配置文件进行配置
更少的资源消耗Chrony对系统资源的消耗较少,适用于嵌入式设备或资源有限的环境

10.3 搭建本地时间同步服务器

前提:关闭防火墙和临时防护  

  1. [root@localhost ~]systemctl stop firewalld #关闭防火墙
  2. [root@localhost ~]setenforce 0 #关闭临时防护
  1. #修改本地时间服务器:172.16.12.10的配置文件
  2. [root@localhost ~]#vim /etc/chrony.conf
  3. allow 0.0.0.0/0 #添加允许任意网段的客户端访问
  4. systemctl restart chronyd #重启chronyd服务
  5. ******************************************************
  6. #修改内网客户端:172.16.12.12配置文件
  7. [root@localhost ~]#vim /etc/chrony.conf
  8. server 172.16.12.10 iburst #指定从时间同步服务器:172.16.12.10获取时间信息
  9. systemctl restart chronyd #重启chronyd服务
  10. ******************************************************
  11. #测试
  12. [root@localhost ~]#chronyc sources -v #查看与哪个服务器同步时间
  13. [root@localhost ~]#date -s '1 year' #客户端模拟将时间增加一年
  14. [root@localhost ~]#ntpdate 172.16.12.10 #手动与时间同步服务器:172.16.12.10,同步时间
  15. [root@localhost ~]#date #查看同步后的时间是否正确

 ①修改本地时间服务器:172.16.12.10的配置文件

 ②修改内网客户端:172.16.12.12配置文件

③测试

 二、总结

查看linux基础的网络设置的命令:
查看网关route -n
查看IP地址ifconfig、ip addr
查看路由route -n
查看网络连接状态 ss、netstat
查看DNS服务器cat /etc/resolv.conf
查看主机名hostname
查看域名解析nslookup、host、dig
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/621048
推荐阅读
相关标签
  

闽ICP备14008679号