Linux下的网络管理

注意:本文使用的Linux系统版本为Red Hat Enterprise Linux 9 (RHEL 9)。

在RHEL9上,使用NM(NetworkManager)进行网络配置,ifcfg (也称为 文件)将不再是网络配置文件的主存储。虽然 ifcfg 样式仍然可用,但它不再是NetworkManager 存储新网络配置文件的默认位置。从 RHEL 9.0 开始,RHEL 以 key-file 格式在 /etc/NetworkManager/system-connections/ 中存储新的网络配 置。配置以旧格式存储在 /etc/sysconfig/network-scripts/ 中的连接仍然可以正常工作。对现有配置集的修改会继续更新旧的文件。

一、对IPv4进行知识回顾

首先,我们要对IPv4的原理进行回顾

IPv4(Internet Protocol version 4)是互联网中广泛使用的网络层协议,负责将数据包从源地址路由到目标地址。以下我们简单复习一下:


1. IPv4地址结构

  • 地址长度:32位二进制,通常表示为点分十进制(如 192.168.1.1)。

  • 地址组成

    • 网络部分:标识设备所属的网络。

    • 主机部分:标识网络中的具体设备。

  • 地址分类(传统分类已逐渐被CIDR取代):

    类别范围默认子网掩码用途
    A1.0.0.0 - 126.255.255.255255.0.0.0大型网络(政府、ISP)
    B128.0.0.0 - 191.255.255.255255.255.0.0中型网络(企业)
    C192.0.0.0 - 223.255.255.255255.255.255.0小型网络(家庭、办公室)
    D224.0.0.0 - 239.255.255.255组播(Multicast)
    E240.0.0.0 - 255.255.255.255保留(实验用途)
  • CIDR(无类别域间路由):取代传统分类,使用斜杠表示法(如 192.168.1.0/24)灵活划分子网。

2. 子网掩码的作用

子网掩码是一个 32 位的二进制数,通常用点分十进制表示,如 255.255.255.0

如IP地址192.168.1.100/24 中的 /24 代表的是子网掩码前24位为1,剩下的为0,即子网掩码为255.255.255.0

它主要有以下两个作用:

  • 划分网络地址和主机地址:在 IP 地址中,一部分表示网络地址,另一部分表示主机地址。子网掩码通过与 IP 地址进行按位与运算,能够确定 IP 地址中的网络部分和主机部分。例如,对于 IP 地址 192.168.1.100 和子网掩码 255.255.255.0,进行按位与运算后得到网络地址 192.168.1.0

  • 子网掩码为1的部分代表IP地址的网络位,子网掩码为0的部分代表IP地址的主机位。

  • 划分子网:通过调整子网掩码,可以将一个大的网络划分为多个小的子网,提高 IP 地址的使用效率,同时也便于网络管理和安全控制。

3.IP 通信判定

在进行 IP 通信时,需要判断两个 IP 地址是否在同一个子网内,这可以通过比较它们的网络地址来实现。具体步骤如下:

  1. 将两个 IP 地址分别与子网掩码进行按位与运算,得到各自的网络地址。

  2. 比较两个网络地址,如果相同,则说明两个 IP 地址在同一个子网内,可以直接进行通信;如果不同,则说明它们不在同一个子网内,需要通过路由器进行通信

示例:

假设有两个 IP 地址 IP1 = 192.168.1.100 和 IP2 = 192.168.1.200,子网掩码为 255.255.255.0

  • 计算 IP1 的网络地址:IP地址 192.168.1.100/24 的网络地址为 192.168.1.0

  • 计算 IP2 的网络地址:IP地址 192.168.1.200/24 的网络地址为 192.168.1.0

由于两个网络地址相同,所以 IP1 和 IP2 在同一个子网内,可以直接通信。

4.网络命令设定

以下是 Linux 系统中 pingifconfig 和 ip addr 命令的详细解析与使用指南:

1. ping 命令:网络连通性测试

功能

通过发送 ICMP 回显请求 探测目标主机的可达性,测量往返时间(RTT)及丢包率。

常用选项与示例

命令格式说明
ping <目标IP或域名>持续发送请求,按 Ctrl+C 停止(默认间隔1秒)
ping -c <次数> <目标>指定发送请求次数(如 ping -c 4 google.com 发送4次后自动停止)
ping -w <超时秒数> <目标>设置总超时时间(如 ping -w 5 8.8.8.8 最多等待5秒)
ping -i <间隔秒数> <目标>设置发送间隔(如 ping -i 2 192.168.1.1 每2秒发送一次)
ping -c1 -w1 <目标>组合选项:发送1次请求,最多等待1秒(常用于脚本快速检测)

2. ifconfig 命令:传统网络接口管理

功能

查看或临时配置网络接口(已逐渐被 ip 命令替代)。

常用操作

命令格式说明
ifconfig显示所有活动接口的详细信息(IP、MAC、收发数据量等)
ifconfig <接口名>查看指定接口状态(如 ifconfig eth0
ifconfig <接口名> <IP>/<掩码位数>临时设置接口 IP(如 ifconfig eth0 192.168.1.100/24
ifconfig <接口名> up/down启用/禁用接口(如 ifconfig eth0 down 关闭网卡)

3. ip addr 命令:现代网络接口管理

功能

替代 ifconfig,提供更强大的地址管理(属于 iproute2 工具集)。

常用操作

命令格式说明
ip addr show显示所有接口地址(等效 ifconfig
ip addr add <IP>/<掩码位数> dev <接口>添加 IP 地址(如 ip addr add 192.168.1.101/24 dev eth0
ip addr del <IP>/<掩码位数> dev <接口>删除 IP 地址(如 ip addr del 192.168.1.101/24 dev eth0
ip addr flush dev <接口>清除接口所有地址(如 ip addr flush eth0

二、从网站下载文件的命令  wegt和curl

1、wget 命令基本格式:wget [选项] [URL]

  • 选项:控制下载行为的参数(如限速、断点续传等)。

  • URL:要下载的资源地址(支持 HTTP/HTTPS/FTP 协议)。

wegt的常用参数速查表

参数作用典型场景
-P指定下载目录整理下载文件
-t控制重试次数不稳定网络环境
-b后台下载长时间下载任务
-c断点续传中断后恢复下载
-p下载完整页面资源离线浏览页面
-r递归下载链接内容镜像网站或批量下载

示例:wget -r  -P /root/桌面/testfile https://image.baidu.com/

2、curl 命令基本格式:curl [选项] [URL]

  • 选项:控制请求行为(如方法、头信息、数据等)。

  • URL:目标资源地址(支持 HTTP/HTTPS/FTP/SFTP 等协议)。

curl 常用选项速查表

选项作用示例
请求控制
-X <方法>指定请求方法(GET/POST等)curl -X DELETE https://api.example.com
-H "头字段"添加请求头curl -H "Content-Type: json" URL
-L自动跟随重定向curl -L http://example.com/redirect
数据传输
-d "数据"POST 表单数据curl -d "name=John" URL
-F "字段=值"上传文件/表单(multipart)curl -F "file=@test.jpg" URL
--data-binary发送二进制数据curl --data-binary @data.bin URL
输出保存
-o 文件名输出到文件curl -o page.html URL
-O保存为远程文件名curl -O http://example.com/file.txt
-s静默模式(不显示进度)curl -s URL > /dev/null
-v显示详细日志(调试用)curl -v URL
认证安全
-u 用户:密码基本认证curl -u admin:12345 URL
-k跳过 SSL 证书验证(不安全)curl -k https://self-signed.site
其他常用
-I仅获取响应头(HEAD请求)curl -I URL
-C -断点续传curl -C - -O URL
--limit-rate限速(如 100Kcurl --limit-rate 200K URL
-x 代理地址使用代理curl -x http://proxy:8080 URL

示例:curl -o index.html www.baidu.com

三、使用图形界面方式设定IP

首先进行网络服务检查,NetworkManager这个服务处于运行状态我们才可以配置IP地址。

打开网络连接图形界面的命令:nm-connection-editor

nm-connection-editor 是 NetworkManager 提供的一款图形化网络连接配置工具,在 Linux 系统中,它能让用户以直观的图形界面来管理网络连接,而无需记忆复杂的命令行参数。

下图是新加的网络连接的初始状态,什么都没设定,接下来我们要对它重新设定一下。

nmcli工具: nmcli 是 NetworkManager 的命令行接口,用于管理网络连接。

下面我们将检查新创建的ens160网络连接是否在使用

1、nmcli connection show

  • 功能:此命令用于显示系统中所有网络连接的详细信息。这些信息涵盖连接的名称、UUID(通用唯一识别码)、设备、类型以及连接状态等。

2、nmcli connection down <连接名称>

  • 功能:该命令用于停用指定名称的网络连接。当执行此命令后,对应的网络接口将停止工作,无法再进行网络通信。

3、nmcli connection up <连接名称>

  • 功能:此命令用于启用指定名称的网络连接。执行该命令后,对应的网络接口会重新开始工作,尝试建立网络连接。

nmtui 是 NetworkManager 提供的一个基于文本的用户界面工具,它允许用户以一种交互式、可视化的方式来配置和管理网络连接,无需记忆复杂的命令行参数,对于不太熟悉命令行操作的用户来说非常友好。

nmtui的界面如下图,很多操作与nm-connection-editor一致,就不细致的讲解了。

四、使用命令方式来设定网络IP

1、通过命令临时设定IP地址(系统重启网络重启接口单独重启 后临时配置的IP会消失)

ip a a 是 ip addr add 的缩写形式,同理 ip a d 是 ip addr del 的缩写形式。

所以ip addr add 192.168.52.200/24 dev ens160的效果跟下面ip a a 192.168.52.200/24 dev ens160的示例是一样的

命令格式:ip a a <ip地址/子网掩码> dev <device>        #添加临时IP地址

                  ip a d <ip地址/子网掩码> dev <device>        #删除IP地址,临时性的,因为这个命令只是在当前运行状态下从指定网络设备上移除了相应的 IP 地址配置,它不会修改系统中保存的网络配置文件。

示例:ip a a 192.168.52.200/24 dev ens160

命令格式:ifconfig <device> <IP地址> netmask <子网掩码>

示例:ifconfig ens160 192.168.52.201 netmask 255.255.255.0

2、通过命令永久设定IP地址

首先,使用 nmcli networking 查看网络是否开启,如果没有开启是无法永久设定IP地址的。

nmcli的常用命令

命令:1、nmcli device status        # 查看设备状态--开启或者关闭

           2、nmcli device show <device>        # 查看设备的信息,若<device>不指定设备名称,则会默认查看所有设备的信息

           3、nmcli device disconnect <device>        # 断开设备连接,设备本身不关闭

示例:nmcli device disconnect ens160        # 断开设备ens160的连接,设备并不会关闭

           4、nmcli device connect <device>        # 重新连接设备,设备本身不关闭

示例:nmcli device connect ens160            # 重新连接设备ens160,设备并不会关闭

# 要先将设备ens160的网络配置好,否则如果没有配置好ens160的网络,那重新连接设备也是无效的。

           5、nmcli device down <device>             # 关闭设备,相当于给设备断电

示例:nmcli device down ens160             # 将设备ens160关闭

           6、nmcli device up <device>                  # 开启设备,相当于给设备供电

示例:nmcli device up ens160                  # 开启设备ens160

           7、nmcli connection delete <网络连接名称>        # 删除网络连接

示例:

           8、nmcli connection add type <网络连接类型> con-name <网络连接名称> ifname

<接口名称> ipv4.method <ipv4地址的设置类型> ipv4.addresses <IP地址/子网掩码> ipv4.gateway <网关地址>  ......

# 重新添加一个新的网络连接,若ipv4地址的设置类型为DHCP(自动),则后面不用手动添加IP地址省略号代表还有很多其它选项可以使用,这里就不全部列举出来了。

nmcli connection add表示添加网络连接,后面的参数可以交换位置。

例如:nmcli connection add con-name test ipv4.method auto ifname ens160 type ethernet

示例:

注:若一个设备用于两个或以上的网络连接,那只有最先设置的网络连接会生效

            9、nmcli connection modify <网络连接名称>   ......      # 修改网络连接

# 省略号位置的参数可以参考上面第八点--- 即重新添加一个新的网络连接那个位置

nmcli connection modify表示修改网络连接,后面的参数可以交换位置。

示例:        

3、通过设置配置文件来永久设置IP地址

首先,要检查网卡配置目录里面的文件权限不要出错了,否则无法激活网络连接。

然后,就是修改网卡配置目录里面的文件,只要修改完这个test.nmconnection文件之后对文件进行保存,就是永久性的设置。

下图为原设置。

下图为修改之后的设置,只修改了id和ipv4地址。

若想要上图中文件的修改立即生效,需要输入nmcli connection reload、nmcli connection up test这两条命令,让网络配置重新生效。

永久性修改:

通过修改网卡配置目录里文件的配置和使用nmcli命令修改后的配置都是永久性的。

例如:上图中的IP地址、dns服务器和网关都是永久性的,前提是文件要保存设置。

五、网关定义及配置方法

网关(Gateway) 是连接不同网络的设备或节点,负责在不同网络间转发数据。在 TCP/IP 网络中,默认网关是本地网络与其他网络(如互联网)通信的出口路由器的 IP 地址。当设备需要访问不在同一子网的目标 IP 时,数据包会被发送到默认网关进行路由。

下图中配置的网关是临时的,系统重启、网络重启、接口单独重启会让网关消失。

六、DNS解析和DNS的配置方法

一、DNS的定义

DNS(Domain Name System,域名系统) 是一个分布式数据库系统,用于将人类可读的域名(如 www.example.com)转换为计算机可识别的IP地址(如 192.0.2.1)。它是互联网的“电话簿”,通过分层和分布式的设计,实现了高效、可靠的域名解析。

二、DNS的核心作用

  1. 域名解析:将域名转换为IP地址(正向解析)或IP地址转换为域名(反向解析)。

  2. 负载均衡:通过轮询分配同一域名的多个IP地址,分散服务器压力。

  3. 邮件路由:通过MX记录指定邮件服务器的地址。

  4. 服务发现:支持多种记录类型(如SRV记录)定位特定服务(如VoIP、数据库)。

三、DNS配置方法

下图配置的DNS服务器是临时的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/76419.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

游戏引擎学习第233天

原地归并排序地方很蒙圈 game_render_group.cpp&#xff1a;注意当前的SortEntries函数是O(n^2)&#xff0c;并引入一个提前退出的条件 其实我们不太讨论这些话题&#xff0c;因为我并没有深入研究过计算机科学&#xff0c;所以我也没有太多内容可以分享。但希望在过去几天里…

从《周游记3》演绎歌剧版《菊花台》,周杰伦婚礼曲目意大利文版惊喜亮相

今天&#xff08;4月19日&#xff09;22:00&#xff0c;由魔胴西西里咖啡冠名的户外实境互动综艺《周游记3》第四期即将播出。本期节目中&#xff0c;“J式之旅”发起人周杰伦和林暐恒、杜国璋、陈冠霖、陈冠廷&#xff0c;将继续意大利之旅&#xff0c;从那不勒斯的百年老店到…

Linux系统编程 day6 进程间通信mmap

父子共享的信息&#xff1a;文件描述符&#xff0c;mmap建立的共享映射区&#xff08;MAP_SHARED&#xff09; mmap父子间进程通信 var的时候 &#xff1a;读时共享&#xff0c;写时复制 父进程先创建映射区&#xff0c;指定共享MAP_SHARED权限 &#xff0c; fork创建子进程…

opencv--图像处理

图像处理技术 图像处理技术是利用计算机对图像进行计算,分析和处理的技术,包括数字图像处理和计算机视觉两大领域。 对图像的处理包括滤波,缩放,分割,识别(两种信息对比)等。 链接 数字图像处理 1. 数字图像处理(Digital Image Processing) 数字图像处理主要关注图…

Spring 学习笔记之 @Transactional详解

一、数据库事务基础 数据库事务&#xff08;Transaction&#xff09;是数据库管理系统中用于确保数据一致性和完整性的一种机制。它是一组操作的集合&#xff0c;这些操作要么全部成功&#xff0c;要么全部失败&#xff0c;从而保证数据库状态的正确性。 1.1 事务的基本概念 定…

【Openlayers】Openlayers 入门教程

Openlayers 入门教程 -系列文章列表 openlayers 入门教程&#xff08;一&#xff09;&#xff1a;openlayers简介 openlayers 入门教程&#xff08;二&#xff09;&#xff1a;Map 篇 openlayers 入门教程&#xff08;三&#xff09;&#xff1a;View 篇 openlayers 入门教程&a…

【Lua语言】Lua语言快速入门

初始Lua Lua是一种轻量小巧的脚本语言&#xff0c;他使用标准C语言编写并以源代码形式开放。这意味着Lua虚拟机可以很方便的嵌入别的程序中&#xff0c;从而为应用程序提供灵活的扩展和定制功能。同时&#xff0c;在目前脚本引擎中&#xff0c;Lua的运行速度占有绝对优势。 变…

车载诊断新架构--- SOVD初入门(上)

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 周末洗了一个澡,换了一身衣服,出了门却不知道去哪儿,不知道去找谁,漫无目的走着,大概这就是成年人最深的孤独吧! 旧人不知我近况,新人不知我过…

linux查看目录相关命令

查看目录命令 学习目标 能够使用Linux命令查看目录信息 1. 查看目录命令的使用 命令说明ls查看当前目录信息tree以树状方式显示目录信息 ls命令效果图: tree命令效果图: 2. 查看当前目录路径 命令说明pwd查看当前目录路径 pwd命令效果图: 3. 清除终端内容 命令说明clear…

JavaScript中的Event事件对象详解

一、事件对象&#xff08;Event&#xff09;概述 1. 事件对象的定义 event 对象是浏览器自动生成的对象&#xff0c;当用户与页面进行交互时&#xff08;如点击、键盘输入、鼠标移动等&#xff09;&#xff0c;事件触发时就会自动传递给事件处理函数。event 对象包含了与事件…

OSPF综合实验(HCIP)

1&#xff0c;R5为ISP&#xff0c;其上只能配置Ip地址&#xff1b;R4作为企业边界路由器&#xff0c; 出口公网地址需要通过ppp协议获取&#xff0c;并进行chap认证 2&#xff0c;整个OSPF环境IP基于172.16.0.0/16划分&#xff1b; 3&#xff0c;所有设备均可访问R5的环回&…

2024-04-19| Java: Documented注解学习 JavaDoc

在 Java 中&#xff0c;Documented 是一个元注解&#xff08;meta-annotation&#xff09;&#xff0c;用于标记其他注解&#xff0c;表明这些注解应该被包含在 JavaDoc 文档中。以下是关于 Documented 注解的作用的简要说明&#xff1a; 作用 记录注解信息到 JavaDoc&#x…

15.Chromium指纹浏览器开发教程之WebAudio指纹定制

WebAudio指纹概述 浏览器中的 WebAudio API 提供了丰富的功能&#xff0c;其中包括了大量生成和处理音频数据的API。WebAudio API 的音频指纹技术是一种利用音频信号的特征来唯一标识音频的技术。因为WebAudio API 提供了丰富的音频处理功能&#xff0c;包括合成、过滤、分析等…

2025年赣教云智慧作业微课PPT模板

江西的老师们注意&#xff0c;2025年赣教云智慧作业微课PPT模版和往年不一样&#xff0c;千万不要搞错了&#xff0c;图上的才是正确的2025年的赣教云智慧作业微课PPT模版&#xff0c;赣教云智慧作业官网有问题&#xff0c;无法正确下载该模板&#xff0c;需要该模板的&#xf…

2.5.1DOS下常用工具 curl,netstat,telnet命令使用

curl命令 Win10及以上系统默认已安装Curl&#xff0c;打开命令提示符输入 curl --help&#xff0c;若显示帮助信息则无需安装 ​​手动安装方法​​ 官网下载&#xff1a;访问 curl官网 选择Windows版本curl for Windows若需在 Windows XP 等旧系统使用&#xff0c;需选择更…

使用Redis实现实时排行榜

为了实现一个实时排行榜系统&#xff0c;我们可以使用Redis的有序集合&#xff08;ZSet&#xff09;&#xff0c;其底层通常是使用跳跃表实现的。有序集合允许我们按照分数&#xff08;score&#xff09;对成员&#xff08;member&#xff09;进行排序&#xff0c;因此非常适合…

Linux——firewalld防火墙(笔记)

目录 一&#xff1a;Firewalld防火墙的概述 &#xff08;1&#xff09;firewalld简介 &#xff08;2&#xff09;firewalld&iptables的关系 &#xff08;3&#xff09;firewalld与iptables service的区别 1. ‌规则管理方式‌ 2. ‌默认策略与设计逻辑‌ 3. ‌配置文…

JS中实现类似sleep、wait、delay的延时功能

前言 编写代码时很多时候需要进行流程化的操作&#xff0c;各个流程间通常需要等待一定时间&#xff0c;这在很多语言中通常可以使用 sleep 、 wait 、 delay 等函数来实现。JavaScript原生并没有类似的功能&#xff0c;想要延时通常就是使用 setTimeout(functionRef, delay) …

Elasticsearch:使用 ES|QL 进行搜索和过滤

本教程展示了 ES|QL 语法的示例。请参考 Query DSL 版本&#xff0c;以获得等效的 Query DSL 语法示例。 这是一个使用 ES|QL 进行全文搜索和语义搜索基础知识的实践介绍。 有关 ES|QL 中所有搜索功能的概述&#xff0c;请参考《使用 ES|QL 进行搜索》。 在这个场景中&#x…

Java 动态代理实现

Java 动态代理实现 一、JDK动态代理二、CGLIB动态代理三、动态代理的应用场景四、JDK代理与CGLIB代理比较 动态代理是Java中一种强大的技术&#xff0c;它允许在运行时创建代理对象&#xff0c;用于拦截对目标对象的方法调用。 一、JDK动态代理 JDK动态代理是Java标准库提供的代…