Linux网络的命令和配置
本文介绍了Linux网络命令和配置,如何查看网络接口信息、如何查看网络连接状况,如何添加ip地址、路由等,希望对你有帮助
目录
一、网络配置命令
1、配置和管理网络接口
1.1 ifconfig
ifconfig
是一个传统的网络工具,用于查看和配置网络接口的信息。它可以显示接口的 IP 地址、MAC 地址、子网掩码、广播地址
ifconfig #查看当前系统正在活动的网卡信息
ifconfig -a #查看所有网卡信息
ifconfig -s #网络通讯情况
ifconfig 网卡名称 down #关闭该网卡
ifconfig 网卡名称 up #开启该网卡
ifconfig ens33:0 ip地址/子网掩码 #临时设置虚拟网卡
ifconfig ens33 ip地址/子网掩码 #临时设置ens33网络接口的IP地址
[root@localhost ~]#ifconfig
ens33: flags=4163<UP, BROADCAST,RUNNING,MULTICAST> mtu 1500
#该接口已启用,支持广播、正在运行、支持组播、最大传输单元1500字节
inet 172.16.12.10 netmask 255.255.255.0 broadcast 172.16.12.255
inet6 fe80::cc81:8141:5f57:6b5a prefixlen 64 scopeid 0x20<link>
#IPV6地址 子网长度 作用域 link表示仅该接口有效
ether 00:0c:29:d5:d0:91 txqueuelen 1000 (Ethernet)
#mac地址 传输队列长度(传输缓存大小) 接口类型
RX packets 11894 bytes 16587119 (15.8 MiB)
#接收报文个数 总和字节数
RX errors 0 dropped 0 overruns 0 frame 0
#接收错误 丢弃 溢出 冲突帧数
TX packets 5168 bytes 325555 (317.9 KiB)
#发送报文个数 总字节数
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
# 错误 丢失 溢出 载荷数 冲突数
1.2 ip
ip
命令是一个更现代化和功能更强大的网络管理工具,用于配置和管理网络接口、路由表、网络命名空间
1.2.1 ip link
ip link
命令用于管理网络接口。它提供了各种选项和子命令,用于配置、显示和操作网络接口
ip link #显示所有网络接口的状态和信息
ip link set 网卡名 up #启用该网卡
ip link set 网卡名 down #禁用该网卡
ip link delete 网卡名 #删除该网卡
ip link set 网卡名 name 新网卡名 #修改网卡的命名
1.2.2 ip addr
ip addr用于显示和管理网络接口的命令,可以列出系统中所有的网络接口信息,包括接口名称、MAC 地址、IP 地址、子网掩码、广播地址
ip addr #显示和管理网络接口信息
ip address add ip地址/子网掩码 dev 网卡名
#临时增加网卡
ip address add ip地址/子网掩码 dev ens33 label ens33:1
#临时增加虚拟网卡
ip address del ip地址/子网掩码 dev 网卡名
#临时删除网卡
ip address del ip地址/子网掩码 dev ens33 label ens33:1
#临时删除虚拟网卡
1.3 修改网络接口名
1.3.1 临时修改网络接口名
设备重启,会恢复旧网络接口名
[root@localhost ~]#ifconfig ens36 #查看指定网卡ens36的信息
[root@localhost ~]#ip link set ens36 down #关闭网卡
[root@localhost ~]#ip link set ens36 name eth1 #修改网卡名
[root@localhost ~]#ip link set eth1 up #开启网卡
[root@localhost ~]#ifconfig eth1 #查看指定网卡eth1的信息
1.3.2 永久修改网络接口名
写入/etc/default/grub配置文件和修改网卡配置文件,就能完成永久修改了
#添加net.ifnames=0到/etc/default/grub文件
[root@localhost ~]#vim /etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0"
#重新生成grub配置文件
[root@localhost ~]#grub2-mkconfig -o /boot/grub2/grub.cfg
#修改网卡配置文件,统一网卡名
[root@localhost ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens36
NAME=eth1
DEVICE=eth1
#重启网络服务
[root@localhost ~]#systemctl restart network
1.4 永久配置单网卡
修改网卡的配置文件
[root@localhost ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet #网卡类型
BOOTPROTO=static #静态获取ip地址方式
NAME=ens33 #网卡的名称
DEVICE=ens33 #网卡的描述
ONBOOT=yes #开机自启
IPADDR=172.16.12.10 #设置ip地址
NETMASK=255.255.255.0 #设置子网掩码
GATEWAY=172.16.12.2 #设置网关
DNS1=8.8.8.8 #设置dns服务器1
DNS2=114.114.114.114 #设置dns服务器2
1.5 永久配置双网卡
#切换到有网卡配置文件的目录下
[root@localhost ~]#cd /etc/sysconfig/network-scripts/
**************************************************************
#复制ens33网卡配置文件作为模板成ens36网卡配置文件,再进行修改
[root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-ens36
[root@localhost network-scripts]#vim ifcfg-ens36
TYPE=Ethernet
BOOTPROTO=static
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=172.16.12.100
NETMASK=255.255.255.0
GATEWAY=172.16.12.2
DNS1=8.8.8.8
DNS2=114.114.114.114
***************************************************************
#重启网络服务,查看网络连接状态
[root@localhost network-scripts]#systemctl restart network
[root@localhost network-scripts]#ifconfig ens33
[root@localhost network-scripts]#ifconfig ens36
1.6 ethtool
用于查看和修改以太网接口驱动程序和硬件参数的工具
ethtool eth0 #显示以太网接口的状态信息
ethtool -i eth0 #查看以太网接口的驱动程序信息
ethtool -S eth0 #显示以太网接口的统计信息
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 临时添加路由和静态路由
#设置一条去往10.0.0.0段的路由通过172.16.12.2网关转发
[root@localhost ~]#route add -net 10.0.0.0/8 gw 172.16.12.2
[root@localhost ~]#route -n
#删除去往10.0.0.0段的路由
[root@localhost ~]#route del -net 10.0.0.0/8
#添加默认路由
[root@localhost ~]#route add -net 0.0.0.0(default) gw 172.16.12.2
[root@localhost ~]#systemctl restart network
[root@localhost ~]#route -n
#删除默认路由
[root@localhost ~]#route del -net 0.0.0.0(default)
[root@localhost ~]#route -n
2.2.2 永久添加路由
#永久添加路由
[root@localhost ~]#vim /etc/sysconfig/network-scipts/route-ens33
10.0.0.0/24 via 172.16.12.10
[root@localhost ~]#systemctl restart network
[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 | 查看计时器信息 |
-x | unix sock相关 |
-w | 裸套接字相关 |
-r、--resolve | 把 IP 解释为域名,把端口号解释为协议名称 |
3.3 netstat和ss命令的区别
区别 | netstat | ss |
---|---|---|
性能 | 在处理大量连接时可能性能较差,因为它需要遍历文件查看系统状态 | 使用新的内核接口,因此通常比 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
hostname #查看主机名
#临时修改主机名
hostname 新主机名
su #切换
#命令永久修改主机名
hostnamectl set-hostname 新主机名 #永久修改主机名
reboot #重启生效
原理:使用hostnamectl命令最后是在/etc/hostname文件中添加一条记录,hostnamectl实际是修改了hostname文件
#将新主机名写入配置文件,只有写在第一行的主机名有效
vim /etc/hostname #永久修改主机名
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工作状态又有何变化
前提:关闭防火墙和临时防护
[root@localhost ~]systemctl stop firewalld #关闭防火墙
[root@localhost ~]setenforce 0 #关闭临时防护
方法一:写入配置文件添加bonding
#复制ens33网卡配置文件为模版成bond0的配置文件,在此基础上进行修改
[root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-bond0
[root@localhost network-scripts]#vim ifcfg-bond0
TYPE=bond
BOOTPROTO=static
NAME=bond0
DEVICE=bond0
ONBOOT=yes
IPADDR=172.16.12.100
NETMASK=255.255.255.0
GATEWAY=172.16.12.2
DNS1=8.8.8.8
DNS2=114.114.114.114
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"
#miimon指定链路监测时间间隔。如果miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路
**************************************************************************************
#修改ens33网卡的配置文件
[root@localhost network-scripts]#vim ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
MASTER=bond0
SLAVE=yes
**************************************************************************************
#复制ens33网卡配置文件为模版成ens36的配置文件,在此基础上进行修改
[root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-ens36
[root@localhost network-scripts]#vim ifcfg-ens36
TYPE=Ethernet
BOOTPROTO=static
NAME=ens36
DEVICE=ens36
ONBOOT=yes
MASTER=bond0
SLAVE=yes
**************************************************************************************
#测试
[root@localhost ~]#ping 172.16.12.100 #查看能否ping通bond0设置的主机ip地址
[root@localhost ~]#cat /proc/net/bonding/bond0 #查看bond0状态信息
[root@localhost ~]#ifconfig bond0 #查看bond0网络接口信息
① 复制ens33网卡配置文件为模版成bond0的配置文件,在此基础上进行修改
②修改ens33网卡的配置文件
③复制ens33网卡配置文件为模版成ens36的配置文件,在此基础上进行修改
④测试
⑤测试关闭ens33,主机网络可以联通,bond0状态变为ens36网卡工作,提高容错能力
注:
重新连接ens33网卡,ens33也不会抢占成为主网卡,而是成为备网卡,依旧是ens36网卡是主网卡在工作
方法二:使用命令永久配置bonding
#添加bonding接口
nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 172.16.12.100/24
*******************************************************************************************
#添加从属接口
nmcli con add type bond-slave ifname ens33 master bond0
nmcli con add type bond-slave ifname ens36 master bond0
*******************************************************************************************
#启动绑定,则必须首先启动从属接口
nmcli con up bond-slave-ens33
nmcli con up bond-slave-ens36
nmcli con up mybond0
7.4 删除bonding
[root@localhost ~]#ifconfig bond0 down #关闭bond0
[root@localhost ~]#rmmod bonding #删除bond0
[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 数据包文件 | 把数据包数据写入指定的文件 |
#查看系统当前所有网卡的信息
#tcpdump -D
#监听特定网卡
tcpdump -i ens33
#监听特定主机,监听主机172.16.12.10的通信包,注意:出、入的包都会被监听
tcpdump host 172.16.12.10
#特定来源的通信
tcpdump src host hostname或ip地址/子网掩码
#特定目标地址的通信
tcpdump dst host hostname或ip地址/子网掩码
#如果不指定src跟dst,那么来源或者目标是hostname或ip地址/子网掩码的通信都会被监听
tcpdump host hostname或ip地址/子网掩码
#捕获从ip地址为172.16.12.10的主机发送到ip地址为172.16.12.12的主机的icmp报文
tcpdump -i eth0 -nn icmp and src host 172.16.12.10 and dst host 172.16.12.12
#捕获特定端口的数据包
tcpdump port 3000
#监听TCP/UDP,服务器上不同服务分别用了TCP、UDP作为传输层,假如只想监听TCP的数据包
tcpdump tcp
#来源主机+端口+TCP,监听来自主机172.16.12.10在端口22上的TCP数据包
tcpdump tcp port 22 and src host 172.16.12.10
#监听特定主机之间的通信
tcpdump ip host 172.16.12.10 and 172.16.12.12
#172.16.12.10和除了172.16.12.12之外的主机之间的通信
tcpdump ip host 172.16.12.10 and ! 172.16.12.12
#在eth1接口上抓取前100个源IP地址在172.16.12.0/24网段内、目标端口不为SSH的TCP 数据包,并将这些数据包保存到target.cap文件中,以便后续分析和处理
tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 172.16.12.0/24
-w ./target.cap
(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数
据报的类型
(2)-i eth1 : 只抓经过接口eth1的包
(3)-t : 不显示时间戳
(4)-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
(5)-c 100 : 只抓取100个数据包
(6)dst port ! 22 : 不抓取目标端口是22的数据包
(7)src net 172.16.12.0/24 : 数据包的源网络地址为172.16.12.0/24
(8)-w ./target.cap : 保存成cap文件,方便用wireshark分析
#限制抓包的数量,如下,抓到1000个包后,自动退出
tcpdump -c 1000
#保存到本地,tcpdump默认会将输出写到缓冲区,只有缓冲区内容达到一定的大小,或者tcpdump退出时,才会将输出写到本地磁盘,可以加上-U强制立即写到本地磁盘(一般不建议,性能相对较差)
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服务器
前提:关闭防火墙和临时防护
[root@localhost ~]systemctl stop firewalld #关闭防火墙
[root@localhost ~]setenforce 0 #关闭临时防护
9.5.1 配置DHCP服务器动态分配ip地址
#安装dhcp服务软件
[root@localhost ~]#yum install -y dhcp
******************************************************************
#配置ip地址为172.16.12.10的主机为DHCP服务器
#复制dhcpd.conf.example模版成dhcpd的配置文件,在此基础上进行修改
[root@localhost ~]#cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
[root@localhost ~]#vim /etc/dhcp/dhcpd.conf
subnet 172.16.12.0 netmask 255.255.255.0 {
range 172.16.12.20 172.16.12.50;
option routers 172.16.12.2;
option domain-name-servers 114.114.114.114;
}
systemctl restart dhcpd #重启dhcpd服务
*******************************************************************
#为Windows设备配置自动获取dhcp服务
win+r打开运行窗口输入“cmd”打开黑屏界面
ipconfig/release #释放ip地址
ipconfig/renew #重新获取ip地址
ipconfig/all #查看到该IP地址在配置的范围内
*******************************************************************
#为Linux设备配置自动获取dhcp服务
[root@localhost ~]vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=dhcp #将ip地址获取方式改为dhcp
ip配置及子网掩码等信息全部注释或删除
[root@localhost ~]systemctl restart network #重启网络服务
[root@localhost ~]ifconfig #查看到该IP地址在配置的范围内
①#配置ip地址为172.16.12.12的主机为DHCP服务器
②为Windows设备配置自动获取dhcp服务
③为Linux设备配置自动获取dhcp服务
9.5.2 配置固定的ip地址给单机使用
#在Windows设备中win+r打开运行窗口输入“cmd”打开黑屏界面
ipconfig /all #先查找单机的mac地址
00-0C-29-4E-46-39
*******************************************************
#修改dhcpd配置文件
[root@localhost ~]vim /etc/dhcp/dhcpd.conf
host fantasia {
hardware ethernet 00:0C:29:4E:46:39; #注意分隔符,指定单机的mac地址
fixed-address 172.16.12.100; #指定分配固定ip:172.16.12.100给单机使用
}
[root@localhost ~]systemctl restart dhcpd #重启dhcpd服务
******************************************************
#在Windows单机设备查看该IP地址是否是指定的固定ip地址
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 搭建本地时间同步服务器
前提:关闭防火墙和临时防护
[root@localhost ~]systemctl stop firewalld #关闭防火墙
[root@localhost ~]setenforce 0 #关闭临时防护
#修改本地时间服务器:172.16.12.10的配置文件
[root@localhost ~]#vim /etc/chrony.conf
allow 0.0.0.0/0 #添加允许任意网段的客户端访问
systemctl restart chronyd #重启chronyd服务
******************************************************
#修改内网客户端:172.16.12.12配置文件
[root@localhost ~]#vim /etc/chrony.conf
server 172.16.12.10 iburst #指定从时间同步服务器:172.16.12.10获取时间信息
systemctl restart chronyd #重启chronyd服务
******************************************************
#测试
[root@localhost ~]#chronyc sources -v #查看与哪个服务器同步时间
[root@localhost ~]#date -s '1 year' #客户端模拟将时间增加一年
[root@localhost ~]#ntpdate 172.16.12.10 #手动与时间同步服务器:172.16.12.10,同步时间
[root@localhost ~]#date #查看同步后的时间是否正确
①修改本地时间服务器:172.16.12.10的配置文件
②修改内网客户端:172.16.12.12配置文件
③测试
二、总结
查看网关 | route -n |
---|---|
查看IP地址 | ifconfig、ip addr |
查看路由 | route -n |
查看网络连接状态 | ss、netstat |
查看DNS服务器 | cat /etc/resolv.conf |
查看主机名 | hostname |
查看域名解析 | nslookup、host、dig |
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)