当前位置: 首页 > news >正文

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

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、linux系统网络管理相关命令
    • 1.进入设定网络界面基础命令
    • 2.控制网络相关基础命令
    • 3.显示设备服务属性相关基础命令
    • 4.配置文件方式配置IP
    • 5.IP相关命令
    • 6. 查看主机路由表
  • 二、linux系统中网络的设定全程操作
  • 三、拓展操作
  • 总结

前言

在Linux系统中,网络的作用主要体现在它极大提升了Linux的可用性与扩展能力,使其成为云计算、容器和微服务架构的基石,同时也让日志审计、性能监控等运维工作不再受限于物理位置;但同时网络也引入了安全风险,如端口扫描、DDoS攻击或中间人攻击,因此Linux必须配合防火墙、加密协议和严格的访问控制来维护系统的稳定性与数据的机密性(本文暂不讨论这一环节)所以主要是围绕其核心作用,将单机操作系统扩展为能够与外界进行数据交换、资源共享和协同工作的平台,这一步来进行操作

一、linux系统网络管理相关命令

首先,让我们先对所用代码进行梳理

1.进入设定网络界面基础命令

[root@localhost 桌面]# nm-connection-editor
开启图形形式网络管理界面

如下

tui模式设定网络
[root@localhost 桌面]# nmtui

结果如图

2.控制网络相关基础命令

networking

nmcli networking 用来检测网络状态
[root@localhost 桌面]# nmcli networkingenabled
nmcli networking off 用来关闭网络功能
[root@localhost 桌面]# nmcli networking off[root@localhost 桌面]# nmcli networkingdisabled
nmcli networking on 用来开启网络功能
[root@localhost 桌面]# nmcli networking on[root@localhost 桌面]# nmcli networkingenabled
ip a 可显示网卡个数,地址,以及网络是否是开启状态等等
[root@localhost 桌面]# ip a1: lo:<LOOPBACK,UP,LOWER_UP>mtu65536qdisc 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,MULTICAST>mtu1500qdisc mq state DOWN group default qlen1000link/ether 00:0c:29:44:cc:e6 brd ff:ff:ff:ff:ff:ff altname enp3s0

3.显示设备服务属性相关基础命令

nmcli device

nmcli device show 展示设备服务状态 也可以在show后面添加你 你想要查看的设备名
[root@localhost 桌面]# 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/ActiveC>WIRED-PROPERTIES.CARRIER: 开..........(此处还有内容,但因为篇幅问题不过多展示主要显示的是ens160,和lo设备的服务状态)
nmcli device down 断开你所想要断开的设备
[root@localhost 桌面]# nmcli device down ens160成功断开设备"ens160"[root@localhost 桌面]# 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 连接设备
[root@localhost 桌面]# nmcli device connect ens160设备"ens160"成功以"7387e2ed-4c0b-3b81-b5bd-e649c8ca5f48"激活。

nmcli connection

nmcli connection show 展示连接状态
[root@localhost 桌面]# nmcli connection showNAME UUID TYPE DEVICE lo 0fdc810c-0713-45e8-b7ea-839b74ca993e loopback lo ens160 7387e2ed-4c0b-3b81-b5bd-e649c8ca5f48 ethernet --
nmcli connection delete 删除连接
[root@localhost 桌面]# nmcli connection delete ens160成功删除连接"ens160"(7387e2ed-4c0b-3b81-b5bd-e649c8ca5f48)。 (值得注意的是此时如果用直接用连接命令会使该设备以新的身份重新被建立,激活)[root@localhost 桌面]# nmcli device connect ens160设备"ens160"成功以"6268b0b4-13c9-4b34-b000-4d56f1e56287"激活。
nmcli connection add type ethernet con-name lee ifname ens160 ipv4.method auto 指定设置一个ip的相关属性
[root@localhost 桌面]# nmcli connection add type ethernet con-name lee ifname ens160 ipv4.method auto连接"lee"(f392fd62-f111-4c7b-9e22-32e312f6d13f)已成功添加。

4.配置文件方式配置IP

动态IP的配置

[root@localhost 桌面]#vim haha.nmconnection[connection]#对网络连接设定id=haha#连接名称type=ethernet#连接类型interface-name=ens192#链接用的设备[ipv4]#对IPV4网络程序设定method=auto#ip地址获取方式为自动获取

静态IP的配置

[root@localhost 桌面]# vim haha.nmconnection[connection]id=hahatype=ethernet interface-name=ens192[ipv4]method=manualaddress1=192.168.0.100/24

5.IP相关命令

IP

ip a 查看所有设备的ip
2.控制网络相关基础命令 下方有相关演示
ip a s dev 查看指定过设备的ip
[root@localhost 桌面]# ip a s dev ens1602: ens160:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdisc 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 ens160
ipa s dev ens1602: ens160:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdisc 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的删除
[root@localhost 桌面]#ip a d 192.168.91.10/24 dev ens160

ifconfig

默认输出 查看所有设备的网络信息
[root@localhost 桌面]# ifconfigens160:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu1500inet192.168.91.129 netmask255.255.255.0 broadcast192.168.91.255 inet6 fe80::9b86:396d:94cb:a9e9 prefixlen64scopeid 0x20<link>ether 00:0c:29:44:cc:e6 txqueuelen1000(Ethernet)RX packets602bytes44740(43.6KiB)RX errors0dropped0overruns0frame0TX packets302bytes36432(35.5KiB)TX errors0dropped0overruns0carrier0collisions0lo:flags=73<UP,LOOPBACK,RUNNING>mtu65536inet127.0.0.1 netmask255.0.0.0 inet6 ::1 prefixlen128scopeid 0x10<host>loop txqueuelen1000(Local Loopback)RX packets41bytes5437(5.3KiB)RX errors0dropped0overruns0frame0TX packets41bytes5437(5.3KiB)TX errors0dropped0overruns0carrier0collisions0
显示指定过设备的信息
[root@localhost 桌面]# ifconfig ens160ens160:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu1500inet192.168.91.129 netmask255.255.255.0 broadcast192.168.91.255 inet6 fe80::9b86:396d:94cb:a9e9 prefixlen64scopeid 0x20<link>ether 00:0c:29:44:cc:e6 txqueuelen1000(Ethernet)RX packets620bytes45892(44.8KiB)RX errors0dropped0overruns0frame0TX packets302bytes36432(35.5KiB)TX errors0dropped0overruns0carrier0collisions0
关闭或开启设备
[root@localhost 桌面]# ifconfig ens160 down[root@localhost 桌面]#ifconfig ens160 up
设定设备临时ip
[root@node1 ~]# ifconfig ens160 192.168.91.10/24 netmask 255.255.255.0

ping命令

[root@localhost 桌面]# ping 192.168.91.10ping: connect: 网络不可达(不能到达同一区域的指定主机)
ping -c3 可指定ping的次数 ping -w 1 指定ping的执行最长时间

6. 查看主机路由表

[root@localhost 桌面]# route -n

二、linux系统中网络的设定全程操作

了解了基础命令以后让我们开始着手搭建一个网络
首先通过该代码开启图形网络管理界面

[root@localhost 桌面]# nm-connection-editor

我们就会显示这样一个界面


如果我们此时ping 8.8.8.8(Google提供的免费公共DNS服务器主地址)发现是接通的

在我们进行完上面步骤以后,应该点击"添加"并添加地址,子网掩码 最后保存。 地址应选用你所在的网段,具体如何知道你所在哪个网段?请接着看

首先点击编辑,我们就会看到虚拟网络编辑器,点击该选项

然后我们选择NAT模式,进入NAT设置

如图红圈所示就是网关ip,只需更改最后一位(第一个问题点:按图中网关地址我们 可取用的数字在3~254之间,不能更改到网关以及1等被系统占用的IP,否则会直接 连到外部,安全风险增加)

于是我们就可以按照图片步骤进行操作以设置一个静态网络(此处为第二个问题点:如果我们点击自动而非手动设置网关就会导致系统自动寻找可用地址,变成动态网络,安全风险增加)

然后,我们打开两台主机,看看这两台主机是否可以互相通信

ping 该地址(192.168.91.20)

我们可以发现两台主机之间可以互相通信,到这说明我们成功了第一步, 实现了两台同网段下的主机之间的互相通信
[root@localhost 桌面]# ping 192.168.91.20PING192.168.91.20(192.168.91.20)56(84)比特的数据。64比特,来自192.168.91.20:icmp_seq=1ttl=64时间=2.58毫秒64比特,来自192.168.91.20:icmp_seq=2ttl=64时间=0.364毫秒64比特,来自192.168.91.20:icmp_seq=3ttl=64时间=0.216毫秒64比特,来自192.168.91.20:icmp_seq=4ttl=64时间=0.209毫秒64比特,来自192.168.91.20:icmp_seq=5ttl=64时间=0.290毫秒64比特,来自192.168.91.20:icmp_seq=6ttl=64时间=0.610毫秒64比特,来自192.168.91.20:icmp_seq=7ttl=64时间=0.321毫秒 ^C^C ---192.168.91.20ping统计 --- 已发送7个包, 已接收7个包,0% packet loss,time6146ms rtt min/avg/max/mdev=0.209/0.656/2.583/0.796 ms

随后,我们将要实现一台单机状态下的主机通过自设网络连接的形式连接到外部网络,以达到本篇最终目的,”将单机操作系统扩展为能够与外界进行数据交换、资源共享和协同工作的平台“

首先我们可以添加一块网卡,以体现仅主机的单机模式

如图,我们先建立一块网卡

随后我们用ifconfig命令查看添加网卡信息
[root@localhost 桌面]# ifconfigens160:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu1500ether 00:0c:29:7a:ca:ed txqueuelen1000(Ethernet)RX packets51bytes3264(3.1KiB)RX errors0dropped0overruns0frame0TX packets0bytes0(0.0B)TX errors0dropped0overruns0carrier0collisions0ens192:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>mtu1500inet192.168.91.15 netmask255.255.255.0 broadcast192.168.91.255 inet6 fe80::148c:6519:bf3d:6d8a prefixlen64scopeid 0x20<link>ether 00:0c:29:7a:ca:f7 txqueuelen1000(Ethernet)RX packets12bytes1152(1.1KiB)RX errors0dropped0overruns0frame0TX packets42bytes4595(4.4KiB)TX errors0dropped0overruns0carrier0collisions0lo:flags=73<UP,LOOPBACK,RUNNING>mtu65536inet127.0.0.1 netmask255.0.0.0 inet6 ::1 prefixlen128scopeid 0x10<host>loop txqueuelen1000(Local Loopback)RX packets106bytes9784(9.5KiB)RX errors0dropped0overruns0frame0TX packets106bytes9784(9.5KiB)TX errors0dropped0overruns0carrier0collisions0
此时我们ping 外界网络地址发现无法通信
[root@localhost 桌面]# ping 8.8.8.8ping: connect: 网络不可达
原因在于我们并未设置一个足以它连接到网关上的ip 我们此时可以设置一个
[root@localhost 桌面]# route -nKernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface192.168.91.00.0.0.0255.255.255.0 U10000ens192
此处的添加的网关ip就是我们前面查看虚拟网络编辑器时所看到的网关
[root@localhost system-connections]# nmcli connection modify leyan ipv4.gateway 192.168.91.2[root@localhost system-connections]# nmcli connection reload[root@localhost system-connections]# nmcli connection up leyan连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/5)
此处我们设置的是永久网关,此时再次查看主机路由表 就可发现有一个端口
[root@localhost 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,就会发现我们的请求被接收
[root@localhost system-connections]# ping 8.8.8.8PING8.8.8.8(8.8.8.8)56(84)比特的数据。64比特,来自8.8.8.8:icmp_seq=1ttl=128时间=60.0毫秒64比特,来自8.8.8.8:icmp_seq=2ttl=128时间=59.0毫秒 ^C ---8.8.8.8ping统计 --- 已发送2个包, 已接收2个包,0% packet loss,time1002ms rtt min/avg/max/mdev=58.978/59.491/60.004/0.513 ms[root@localhost system-connections]#

三、拓展操作

我们也可以ping别的地址如baidu(36.152.44.83)
[root@localhost system-connections]# ping 36.152.44.83PING36.152.44.83(36.152.44.83)56(84)比特的数据。 ^C ---36.152.44.83ping统计 ---
但我们如果直接输入它的域名就会发现无法找到
[root@localhost system-connections]# ping www.baidu.comping: www.baidu.com: 未知的名称或服务
我们可以通过以下代码编辑告诉该域名的IP地址
[root@localhost 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
此时我们输入域名也可以被接受请求
root@localhost system-connections]# ping www.baidu.comPING www.baidu.com(36.152.44.93)56(84)比特的数据。64比特,来自 www.baidu.com(36.152.44.93):icmp_seq=1ttl=128时间=24.6毫秒64比特,来自 www.baidu.com(36.152.44.93):icmp_seq=2ttl=128时间=41.3毫秒64比特,来自 www.baidu.com(36.152.44.93):icmp_seq=3ttl=128时间=26.8毫秒 ^C --- www.baidu.comping统计 --- 已发送3个包, 已接收3个包,0% packet loss,time2004ms

那如果我们不知道它的IP该怎么办?我们可以通过dns解析来帮助我们解决这个问题,以下为dns的介绍
dns是运营商提供给客户的一个域名和ip对应关系的服务器,当你在自己的主机设定了dns后那么当去访问域名时系统 会根据你指定的dns去询问这个域名是多少,dns会告诉你这个给域名的ip

[root@localhost system-connections]# vim /etc/resolv.conf# Generated by NetworkManager#以下为自行设定内容nameserver8.8.8.8
此时我们在ping其他我们不知道ip地址的域名也可以使我们的请求被接收
[root@localhost 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_seq=1ttl=128时间=54.3毫秒64比特,来自117.157.129.53(117.157.129.53):icmp_seq=2ttl=128时间=21.1毫秒 ^C --- www.taobao.com.danuoyi.tbcache.comping统计 --- 已发送3个包, 已接收2个包,33.3333% packet loss,time2003ms

总结

linux系统中的网络管理,是一个实现从无到有到有的过程,可以脱离单机操作,实现与外部的交流,真正达到将虚拟转化为真实的一步操作,通过命令行工具查看连接状态,诊断连通性等等功能,让我们的linux系统可以胜任更加复杂的功能,胜任更复杂的操作环境

http://www.jsqmd.com/news/1119531/

相关文章:

  • Systemd和Systemctl的关系及相关理解
  • LangFlow 1.x 系列【4】首页侧边栏与用户菜单功能说明
  • 十倍利润!30美元成本的产品卖到300美元,论独立站选品的重要性
  • 小学期第八周
  • 终极E-Hentai漫画下载指南:免费开源工具完整教程
  • E-Hentai漫画收藏神器:一键打包下载全攻略
  • 如何让产品参与测试/验证
  • E-Hentai漫画批量下载终极指南:免费一键打包完整教程
  • Gemini Advanced与ChatGPT-4真实工作流深度对比
  • Linux:进程信号
  • Pipeline-聚类质心提取
  • devkit-pipeline最佳实践:企业级开发团队的10个经验分享
  • 深入理解ROS编译:从catkin到CMakeLists.txt的全面指南
  • 终极E-Hentai漫画下载指南:免费批量打包ZIP文件
  • Codex 实战 Skills:用 Skill 一键为 API 接口生成 100% 覆盖率的 Python pytest 用例
  • 01背包 这个算法界的守门员
  • 一人公司技术栈指南:VIbecoding之后,为什么一定要重视 BaaS (后端即服务)
  • 24. 【C语言】把数据存下来:文件操作基础
  • 无人机航拍小目标检测系统 无人机监控 无人机安防巡检 无人机交通管理应用
  • 代理系统架构_agent-architecture
  • 开源E-Hentai漫画下载器:3分钟掌握免费批量下载技巧
  • AI模型评测平台辨伪指南:如何识别虚假排名与虚构版本号
  • 品牌推广PPT模板哪家强?这几个宝藏平台别错过
  • 运筹说 第156期 | 大模型基础篇之大模型概述(1):当“大“成为一种革命
  • 高速PCB设计中AC耦合电容布局的7个黄金法则
  • 一些C语言代码小技巧
  • [论文笔记] AI SOTA模型全景 海外 AI 短剧平台技术方案
  • Ubuntu 26.04下实现无边框全屏窗口:Wayland与X11的实战指南
  • 层级协调系统_agent-hierarchical-coordinator
  • 探秘职坐标:解锁IT学习新姿势,开启梦想职业大门