Linux系统学习总串()(网络管理以及可能出现的问题处理)

发布时间:2026/7/4 4:33:40
Linux系统学习总串()(网络管理以及可能出现的问题处理) 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档文章目录前言一、linux系统网络管理相关命令1.进入设定网络界面基础命令2.控制网络相关基础命令3.显示设备服务属性相关基础命令4.配置文件方式配置IP5.IP相关命令6. 查看主机路由表二、linux系统中网络的设定全程操作三、拓展操作总结前言在Linux系统中网络的作用主要体现在它极大提升了Linux的可用性与扩展能力使其成为云计算、容器和微服务架构的基石同时也让日志审计、性能监控等运维工作不再受限于物理位置但同时网络也引入了安全风险如端口扫描、DDoS攻击或中间人攻击因此Linux必须配合防火墙、加密协议和严格的访问控制来维护系统的稳定性与数据的机密性本文暂不讨论这一环节所以主要是围绕其核心作用将单机操作系统扩展为能够与外界进行数据交换、资源共享和协同工作的平台这一步来进行操作一、linux系统网络管理相关命令首先让我们先对所用代码进行梳理1.进入设定网络界面基础命令[rootlocalhost 桌面]# nm-connection-editor开启图形形式网络管理界面如下tui模式设定网络[rootlocalhost 桌面]# nmtui结果如图2.控制网络相关基础命令networkingnmcli networking 用来检测网络状态[rootlocalhost 桌面]# nmcli networkingenablednmcli networking off 用来关闭网络功能[rootlocalhost 桌面]# nmcli networking off[rootlocalhost 桌面]# nmcli networkingdisablednmcli networking on 用来开启网络功能[rootlocalhost 桌面]# nmcli networking on[rootlocalhost 桌面]# nmcli networkingenabledip a 可显示网卡个数地址以及网络是否是开启状态等等[rootlocalhost 桌面]# ip a1: lo:LOOPBACK,UP,LOWER_UPmtu65536qdisc noqueue state UNKNOWN group default qlen1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet127.0.0.1/8 scopehostlo valid_lft forever preferred_lft forever inet6 ::1/128 scopehostvalid_lft forever preferred_lft forever#此处网络如果是开启状态则会显示UP 否则为DOWN2: ens160:BROADCAST,MULTICASTmtu1500qdisc mq state DOWN group default qlen1000link/ether 00:0c:29:44:cc:e6 brd ff:ff:ff:ff:ff:ff altname enp3s03.显示设备服务属性相关基础命令nmcli devicenmcli device show 展示设备服务状态 也可以在show后面添加你 你想要查看的设备名[rootlocalhost 桌面]# nmcli device showGENERAL.DEVICE: ens160 GENERAL.TYPE: ethernet GENERAL.HWADDR: 00:0C:29:44:CC:E6 GENERAL.MTU:1500GENERAL.STATE:100已连接 GENERAL.CONNECTION: ens160 GENERAL.CON-PATH:/org/freedesktop/NetworkManager/ActiveCWIRED-PROPERTIES.CARRIER: 开..........(此处还有内容但因为篇幅问题不过多展示主要显示的是ens160,和lo设备的服务状态)nmcli device down 断开你所想要断开的设备[rootlocalhost 桌面]# nmcli device down ens160成功断开设备ens160。[rootlocalhost 桌面]# nmcli device show ens160GENERAL.DEVICE: ens160 GENERAL.TYPE: ethernet GENERAL.HWADDR: 00:0C:29:44:CC:E6 GENERAL.MTU:1500GENERAL.STATE:30已断开 GENERAL.CONNECTION: -- GENERAL.CON-PATH:-- WIRED-PROPERTIES.CARRIER: 开 IP4.GATEWAY: -- IP6.GATEWAY: --nmcli device connect 连接设备[rootlocalhost 桌面]# nmcli device connect ens160设备ens160成功以7387e2ed-4c0b-3b81-b5bd-e649c8ca5f48激活。nmcli connectionnmcli connection show 展示连接状态[rootlocalhost 桌面]# nmcli connection showNAME UUID TYPE DEVICE lo 0fdc810c-0713-45e8-b7ea-839b74ca993e loopback lo ens160 7387e2ed-4c0b-3b81-b5bd-e649c8ca5f48 ethernet --nmcli connection delete 删除连接[rootlocalhost 桌面]# nmcli connection delete ens160成功删除连接ens160(7387e2ed-4c0b-3b81-b5bd-e649c8ca5f48)。 值得注意的是此时如果用直接用连接命令会使该设备以新的身份重新被建立激活[rootlocalhost 桌面]# nmcli device connect ens160设备ens160成功以6268b0b4-13c9-4b34-b000-4d56f1e56287激活。nmcli connection add type ethernet con-name lee ifname ens160 ipv4.method auto 指定设置一个ip的相关属性[rootlocalhost 桌面]# nmcli connection add type ethernet con-name lee ifname ens160 ipv4.method auto连接lee(f392fd62-f111-4c7b-9e22-32e312f6d13f)已成功添加。4.配置文件方式配置IP动态IP的配置[rootlocalhost 桌面]#vim haha.nmconnection[connection]#对网络连接设定idhaha#连接名称typeethernet#连接类型interface-nameens192#链接用的设备[ipv4]#对IPV4网络程序设定methodauto#ip地址获取方式为自动获取静态IP的配置[rootlocalhost 桌面]# vim haha.nmconnection[connection]idhahatypeethernet interface-nameens192[ipv4]methodmanualaddress1192.168.0.100/245.IP相关命令IPip a 查看所有设备的ip在2.控制网络相关基础命令 下方有相关演示ip a s dev 查看指定过设备的ip[rootlocalhost 桌面]# ip a s dev ens1602: ens160:BROADCAST,MULTICAST,UP,LOWER_UPmtu1500qdisc mq state UP group default qlen1000link/ether 00:0c:29:44:cc:e6 brd ff:ff:ff:ff:ff:ff altname enp3s0 inet192.168.91.129/24 brd192.168.91.255 scope global dynamic noprefixroute ens160 valid_lft 918sec preferred_lft 918sec inet6 fe80::9b86:396d:94cb:a9e9/64 scopelinknoprefixroute valid_lft forever preferred_lft forever在指定网卡中添加ip ip a 192.168.91.10/24 dev ens160ipa s dev ens1602: ens160:BROADCAST,MULTICAST,UP,LOWER_UPmtu1500qdisc mq state UP group default qlen1000link/ether 00:0c:29:3a:36:b0 brd ff:ff:ff:ff:ff:ff altname enp3s0 inet192.168.91.10/24 brd192.168.91.2.255 scope global noprefixroute ens160 valid_lft forever preferred_lft forever inet192.168.91.121/24 brd192.168.91.2.255 scope global secondary dynamic noprefixroute ens160 valid_lft 1006sec preferred_lft 1006sec.......ip的删除[rootlocalhost 桌面]#ip a d 192.168.91.10/24 dev ens160ifconfig默认输出 查看所有设备的网络信息[rootlocalhost 桌面]# ifconfigens160:flags4163UP,BROADCAST,RUNNING,MULTICASTmtu1500inet192.168.91.129 netmask255.255.255.0 broadcast192.168.91.255 inet6 fe80::9b86:396d:94cb:a9e9 prefixlen64scopeid 0x20linkether 00:0c:29:44:cc:e6 txqueuelen1000(Ethernet)RX packets602bytes44740(43.6KiB)RX errors0dropped0overruns0frame0TX packets302bytes36432(35.5KiB)TX errors0dropped0overruns0carrier0collisions0lo:flags73UP,LOOPBACK,RUNNINGmtu65536inet127.0.0.1 netmask255.0.0.0 inet6 ::1 prefixlen128scopeid 0x10hostloop txqueuelen1000(Local Loopback)RX packets41bytes5437(5.3KiB)RX errors0dropped0overruns0frame0TX packets41bytes5437(5.3KiB)TX errors0dropped0overruns0carrier0collisions0显示指定过设备的信息[rootlocalhost 桌面]# ifconfig ens160ens160:flags4163UP,BROADCAST,RUNNING,MULTICASTmtu1500inet192.168.91.129 netmask255.255.255.0 broadcast192.168.91.255 inet6 fe80::9b86:396d:94cb:a9e9 prefixlen64scopeid 0x20linkether 00:0c:29:44:cc:e6 txqueuelen1000(Ethernet)RX packets620bytes45892(44.8KiB)RX errors0dropped0overruns0frame0TX packets302bytes36432(35.5KiB)TX errors0dropped0overruns0carrier0collisions0关闭或开启设备[rootlocalhost 桌面]# ifconfig ens160 down[rootlocalhost 桌面]#ifconfig ens160 up设定设备临时ip[rootnode1 ~]# ifconfig ens160 192.168.91.10/24 netmask 255.255.255.0ping命令[rootlocalhost 桌面]# ping 192.168.91.10ping: connect: 网络不可达(不能到达同一区域的指定主机)ping -c3 可指定ping的次数 ping -w 1 指定ping的执行最长时间6. 查看主机路由表[rootlocalhost 桌面]# route -n二、linux系统中网络的设定全程操作了解了基础命令以后让我们开始着手搭建一个网络首先通过该代码开启图形网络管理界面[rootlocalhost 桌面]# nm-connection-editor我们就会显示这样一个界面如果我们此时ping 8.8.8.8(Google提供的免费公共DNS服务器主地址)发现是接通的在我们进行完上面步骤以后应该点击添加并添加地址子网掩码 最后保存。 地址应选用你所在的网段具体如何知道你所在哪个网段请接着看首先点击编辑我们就会看到虚拟网络编辑器点击该选项然后我们选择NAT模式进入NAT设置如图红圈所示就是网关ip,只需更改最后一位第一个问题点按图中网关地址我们 可取用的数字在3~254之间不能更改到网关以及1等被系统占用的IP否则会直接 连到外部安全风险增加于是我们就可以按照图片步骤进行操作以设置一个静态网络此处为第二个问题点如果我们点击自动而非手动设置网关就会导致系统自动寻找可用地址变成动态网络安全风险增加然后我们打开两台主机看看这两台主机是否可以互相通信ping 该地址192.168.91.20我们可以发现两台主机之间可以互相通信到这说明我们成功了第一步 实现了两台同网段下的主机之间的互相通信[rootlocalhost 桌面]# ping 192.168.91.20PING192.168.91.20(192.168.91.20)56(84)比特的数据。64比特来自192.168.91.20:icmp_seq1ttl64时间2.58毫秒64比特来自192.168.91.20:icmp_seq2ttl64时间0.364毫秒64比特来自192.168.91.20:icmp_seq3ttl64时间0.216毫秒64比特来自192.168.91.20:icmp_seq4ttl64时间0.209毫秒64比特来自192.168.91.20:icmp_seq5ttl64时间0.290毫秒64比特来自192.168.91.20:icmp_seq6ttl64时间0.610毫秒64比特来自192.168.91.20:icmp_seq7ttl64时间0.321毫秒 ^C^C ---192.168.91.20ping统计 --- 已发送7个包 已接收7个包,0% packet loss,time6146ms rtt min/avg/max/mdev0.209/0.656/2.583/0.796 ms随后我们将要实现一台单机状态下的主机通过自设网络连接的形式连接到外部网络以达到本篇最终目的”将单机操作系统扩展为能够与外界进行数据交换、资源共享和协同工作的平台“首先我们可以添加一块网卡以体现仅主机的单机模式如图我们先建立一块网卡随后我们用ifconfig命令查看添加网卡信息[rootlocalhost 桌面]# ifconfigens160:flags4163UP,BROADCAST,RUNNING,MULTICASTmtu1500ether 00:0c:29:7a:ca:ed txqueuelen1000(Ethernet)RX packets51bytes3264(3.1KiB)RX errors0dropped0overruns0frame0TX packets0bytes0(0.0B)TX errors0dropped0overruns0carrier0collisions0ens192:flags4163UP,BROADCAST,RUNNING,MULTICASTmtu1500inet192.168.91.15 netmask255.255.255.0 broadcast192.168.91.255 inet6 fe80::148c:6519:bf3d:6d8a prefixlen64scopeid 0x20linkether 00:0c:29:7a:ca:f7 txqueuelen1000(Ethernet)RX packets12bytes1152(1.1KiB)RX errors0dropped0overruns0frame0TX packets42bytes4595(4.4KiB)TX errors0dropped0overruns0carrier0collisions0lo:flags73UP,LOOPBACK,RUNNINGmtu65536inet127.0.0.1 netmask255.0.0.0 inet6 ::1 prefixlen128scopeid 0x10hostloop txqueuelen1000(Local Loopback)RX packets106bytes9784(9.5KiB)RX errors0dropped0overruns0frame0TX packets106bytes9784(9.5KiB)TX errors0dropped0overruns0carrier0collisions0此时我们ping 外界网络地址发现无法通信[rootlocalhost 桌面]# ping 8.8.8.8ping: connect: 网络不可达原因在于我们并未设置一个足以它连接到网关上的ip 我们此时可以设置一个[rootlocalhost 桌面]# route -nKernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface192.168.91.00.0.0.0255.255.255.0 U10000ens192此处的添加的网关ip就是我们前面查看虚拟网络编辑器时所看到的网关[rootlocalhost system-connections]# nmcli connection modify leyan ipv4.gateway 192.168.91.2[rootlocalhost system-connections]# nmcli connection reload[rootlocalhost system-connections]# nmcli connection up leyan连接已成功激活D-Bus 活动路径/org/freedesktop/NetworkManager/ActiveConnection/5此处我们设置的是永久网关此时再次查看主机路由表 就可发现有一个端口[rootlocalhost system-connections]# route -nKernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface0.0.0.0192.168.91.20.0.0.0 UG10000ens160192.168.91.00.0.0.0255.255.255.0 U10000ens160此时我们再ping8.8.8.8,就会发现我们的请求被接收[rootlocalhost system-connections]# ping 8.8.8.8PING8.8.8.8(8.8.8.8)56(84)比特的数据。64比特来自8.8.8.8:icmp_seq1ttl128时间60.0毫秒64比特来自8.8.8.8:icmp_seq2ttl128时间59.0毫秒 ^C ---8.8.8.8ping统计 --- 已发送2个包 已接收2个包,0% packet loss,time1002ms rtt min/avg/max/mdev58.978/59.491/60.004/0.513 ms[rootlocalhost system-connections]#三、拓展操作我们也可以ping别的地址如baidu(36.152.44.83)[rootlocalhost system-connections]# ping 36.152.44.83PING36.152.44.83(36.152.44.83)56(84)比特的数据。 ^C ---36.152.44.83ping统计 ---但我们如果直接输入它的域名就会发现无法找到[rootlocalhost system-connections]# ping www.baidu.comping: www.baidu.com: 未知的名称或服务我们可以通过以下代码编辑告诉该域名的IP地址[rootlocalhost system-connections]# vim /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6#此处为需要自行添加的内容localhost6.localdomain636.152.44.93 www.baidu.com此时我们输入域名也可以被接受请求rootlocalhost system-connections]# ping www.baidu.comPING www.baidu.com(36.152.44.93)56(84)比特的数据。64比特来自 www.baidu.com(36.152.44.93):icmp_seq1ttl128时间24.6毫秒64比特来自 www.baidu.com(36.152.44.93):icmp_seq2ttl128时间41.3毫秒64比特来自 www.baidu.com(36.152.44.93):icmp_seq3ttl128时间26.8毫秒 ^C --- www.baidu.comping统计 --- 已发送3个包 已接收3个包,0% packet loss,time2004ms那如果我们不知道它的IP该怎么办我们可以通过dns解析来帮助我们解决这个问题以下为dns的介绍dns是运营商提供给客户的一个域名和ip对应关系的服务器当你在自己的主机设定了dns后那么当去访问域名时系统 会根据你指定的dns去询问这个域名是多少dns会告诉你这个给域名的ip[rootlocalhost system-connections]# vim /etc/resolv.conf# Generated by NetworkManager#以下为自行设定内容nameserver8.8.8.8此时我们在ping其他我们不知道ip地址的域名也可以使我们的请求被接收[rootlocalhost system-connections]# ping www.taobao.comPING www.taobao.com.danuoyi.tbcache.com(117.157.129.53)56(84)比特的数据。64比特来自117.157.129.53(117.157.129.53):icmp_seq1ttl128时间54.3毫秒64比特来自117.157.129.53(117.157.129.53):icmp_seq2ttl128时间21.1毫秒 ^C --- www.taobao.com.danuoyi.tbcache.comping统计 --- 已发送3个包 已接收2个包,33.3333% packet loss,time2003ms总结linux系统中的网络管理是一个实现从无到有到有的过程可以脱离单机操作实现与外部的交流真正达到将虚拟转化为真实的一步操作通过命令行工具查看连接状态诊断连通性等等功能让我们的linux系统可以胜任更加复杂的功能胜任更复杂的操作环境