从0开始学习Linux——网络配置

news2024/11/28 9:47:05

往期目录:

从0开始学习Linux——简介&安装

从0开始学习Linux——搭建属于自己的Linux虚拟机

从0开始学习Linux——文本编辑器

从0开始学习Linux——Yum工具

从0开始学习Linux——远程连接工具

从0开始学习Linux——文件目录

上一个教程中,我们了解了Linux系统的文件目录架构,本次教程我们将学习Linux系统基础设置中的网络设置。

一、 网络查看

对于网络查看我们可以使用ip命令。

ip addr

或者

ip addr show

现在我们来解析一下上图中的网络信息。

1、lo(Loopback)接口:lo是一个网络接口,它属于回环接口即用于本机与自己通信。

1)”lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000“:<LOOPBACK,UP,LOWER_UP>:表示的是接口的状态标志;LOOPBACK:表示这是回环接口,通常用于内部网络通信;UP表示该接口已经被启用;LOWER_UP:表示物理层状态处于“UP”状态,表明接口工作正常;”mtu 65536: MTU(Maximum Transmission Unit,最大传输单元)“表示最大允许的网络数据包大小,这里是 65536 字节(64KB),通常回环接口的MTU较大;qdisc noqueue是队列调度器(queuing discipline)的设置,表示没有配置排队队列,这通常意味着数据包直接传输,不进行排队;state UNKNOWN:指的是接口的状态,回环接口通常不需要太多的网络状态变化,因此标记为 "UNKNOWN";group default:表示该接口属于默认的接口组;qlen 1000表示接口的队列长度为1000个数据包。

2)”link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00“:link/loopback表示这是一个回环接口,没有硬件物理地址;00:00:00:00:00:00:表示这是回环接口的MAC地址,通常为全0;brd 00:00:00:00:00:00表示这是回环接口的广播地址,也为全0。

3)”inet 127.0.0.1/8 scope host lo  valid_lft forever preferred_lft forever“:inet 127.0.0.1/8是IPv4地址和子网掩码,表示该接口的IP地址是 127.0.0.1(通常被称为“localhost”),它的子网掩码是 /8,意味着子网掩码为 255.0.0.0scope host表示该地址仅在本机范围内有效,不可路由到其他主机;valid_lft forever preferred_lft forever表示该IP地址的有效期永远不会过期。

4)”inet6 ::1/128 scope host valid_lft forever preferred_lft forever“:inet6 ::1/128是IPv6回环地址,它与IPv4的 127.0.0.1 类似,表示本机的IPv6地址;scope host表示该地址仅在本机范围内有效,不可路由到其他主机。

2、ens33接口:en表示它是以太网接口,s33 可能表示网卡的某个硬件标识符,或基于设备的插槽编号等信息。

1)”inet 192.168.33.136/24 brd 192.168.33.255 scope global noprefixroute dynamic ens33
 valid_lft 1631sec preferred_lft 1631sec“:inet 192.168.33.136/24是该接口的IPv4地址即192.168.33.136,它的子网掩码是/24,意味着子网掩码为255.255.255.0;brd 192.168.33.255是该接口的广播地址,通常是该子网的最后一个地址;scope global表示该IP地址是一个全局可路由的地址,可以在网络中访问;noprefixroute表示没有为该地址指定路由前缀;dynamic表示这个IP地址是动态分配的,可能通过DHCP获取;valid_lft 1631sec preferred_lft 1631sec表示该IP地址的有效期和首选期剩余时间分别是1631秒,过期后该地址将不再有效。

上述的ip addr命令查询出两个接口即lo网络接口和ens33网络接口,其中lo是本机自身通信的回环网络接口,而ens33是一个实际的以太网网络接口,它可以和外部计算机进行相互通信。

在 Linux 操作系统中,网络接口是计算机与网络之间进行通信的媒介。网络接口不仅限于物理网络适配器,还可以包括虚拟接口、回环接口等。每个接口都有一个名称,例如 ens33lo 等,表示不同类型的网络接口。

对于网络信息的查看我们也可以使用ifconfig命令。

ifconfig

从上图中的执行结果可以看出系统中没有ifconfig命令,因此我们需要先去安装net-tools(net-tools是网络配置管理工具,该工具提供了多个管理网络的命令,例如ifconfig,Centos7默认不安装该工具,在Centos7中使用的是iproute2工具,该工具提供了ip命令)。

yum install net-tools

安装好net-tools以后我们就可以使用ifconfig命令。

 二、nmtui命令

CentOS 7 默认启用NetWorkManager,它有一个命令行的文本界面工具nmtui,可以用来方便地配置网络接口。

我们可以使用nmtui命令去开启它。

nmtui

执行完这条命令后就会弹出NetWorkManager界面。

在该界面中我们可以去编辑接口(删除、添加、修改等操作)、启用接口、修改主机名等操作。

 三、nmcli命令

nmcli是一个命令行工具,用于管理和配置网络。它提供了更多的控制功能,适合自动化脚本等。

3.1 查看当前网络连接

nmcli connection show

3.2 启用/禁用网络接口

启用接口

nmcli connection up 接口名

停止接口

nmcli connection down 接口名

3.3 配置静态ip地址

上述我们使用ip addr命令查看网络信息的时候可以看到ens33接口的ip地址是DHCP动态分布的,那么ip地址是随时可以变化的,假设我们要搭建Linux集群,ip地址就必须要是固定的,因此我们可以动态ip地址给修改为静态ip地址。

nmcli connection modify 网络接口名 
ipv4.method manual ipv4.addresses ip静态地址 
ipv4.gateway ip网关 
ipv4.dns dns解析地址1、dns解析地址2...

 假设现在我们想要去将ens33接口的ip地址由DHCP动态分配修改为静态地址进行一个固定。

在此之前我们需要先简单了解一下IPV4地址。

 IPv4(Internet Protocol Version 4)是互联网协议中的一种,用于标识网络中的设备。它使用32位二进制地址,通常表示为4个十进制数(每个0-255范围内)之间用点分隔。

IPV4地址分为公网IP和私有IP,顾名思义私有IP只能在内网中使用。

这里我们就以私有IP地址192.168.33.131为例。

1、地址拆分

192.168.33.131这个地址中的每个数字(192、168、33、131)都对应8位二进制数。我们可以将每个十进制数转换成二进制:

  • 192 → 11000000
  • 168 → 10101000
  • 33 → 00100001
  • 131 → 10000011

因此,192.168.33.131 的32位二进制表示是:11000000.10101000.00100001.10000011
2、地址各个数字含义

第一部分:192

  • 所属类别: 192 处于 Class C 地址范围(192.0.0.0 到 223.255.255.255),该类别通常用于小型网络,最多可以支持254个主机。
  • 网络部分: 在Class C地址中,前24位表示网络部分。192 是网络地址的一部分,标识了该IP属于哪个特定的网络。举例来说,所有IP地址为 192.168.33.x 的设备都在同一个子网内。

第二部分:168

  • 网络地址的扩展: 168 是网络部分的一部分,继续区分子网中的不同网络。结合 192168,我们知道这属于 192.168.x.x 网络范围,通常是局域网(LAN)内部使用的私有地址。

第三部分:33

  • 子网中的特定网络: 33 是子网内的更细分部分。在子网掩码为 255.255.255.0(也就是 /24)的情况下,33 是网络的第三个字节,进一步确定了该IP属于 192.168.33.x 的子网。
  • 子网范围: 如果考虑子网掩码为 255.255.255.0,那么 192.168.33.0192.168.33.255 是这个子网的地址范围,33 代表这是 192.168.33.x 子网中的一个具体地址。

第四部分:131

  • 主机地址: 131 是网络中某台设备的地址,标识该地址是 192.168.33.131 子网中的具体主机。对于这个IP地址,131 表示该地址在这个网络中的唯一标识符。
  • 主机可用地址: 在一个子网中,0 通常作为网络地址,255 用作广播地址,其他的数字(1到254)可以分配给具体的设备。131 就是该子网中的一个有效主机地址,可能对应着局域网中的某台计算机、打印机、路由器等设备。 

我们在修改ip地址之前需要先明确我们的Linux的网络模式是NAT模式还是桥接模式。

当然我们在安装Linux系统教程中选择的网络模式是NAT模式,可能我们在公司开发的时候公司会选择桥接模式,不过不影响,因为配置流程大差不差,这里我们以NAT模式为例。

在 NAT模式 下,虚拟机的 IP 地址通常来自 VMware 提供的虚拟子网(通常是vmnet8),宿主机会充当虚拟机与外部网络之间的网关。因此,当你在虚拟机(Linux)中配置网卡的 IP 地址时,需要确保该地址与宿主机的 虚拟网络 子网地址和网关保持一致。

那么我们怎么去查看虚拟子网呢?

首先打开我们的VM虚拟机,然后在头部导航栏中有个编辑下拉菜单,点击该按钮,然后点击下拉菜单里面的”虚拟网络编辑器“,点击后就会有一个模态框弹出用于配置虚拟网络。

当然打开后可能是下面这个页面。

 如果打开是这个页面,我们只需要点击更改设置按钮就可以了,点击后便可以进入到上述的页面。

从上图中我们可以看到有三张虚拟网卡,其中vmnet0用于桥接模式、vmnet1用于仅主机模式、vmnet8用于nat模式,由于我们Linxu系统是NAT模式,因此我们选择vmnat8网卡。

进来之后我们就可以去更改信息或者查看信息,在这里我们可以看到这里分配得到的子网值是33,我们也可以去修改成其它值,这里我们就先不去修改。

我们打开该页面的NAT设置选项。

我们记住里面的子网IP地址、子网掩码、网关信息,待会我们要用到,记住这些信息以后就可以关闭VM的虚拟网络编辑器。

当然对于vmnet1、vmnet8、vmnet0信息也可以直接在我们的windows系统中查看。

现在我们就开始将ens33接口的ip地址进行固定,并且固定为192.168.33.131。

nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.33.131/24 ipv4.gateway 192.168.33.2 ipv4.dns 8.8.8.8,8.8.4.4

配置完成以后我们可以重新启用ens33接口以使该配置生效。

nmcli connection down ens33
nmcli connection down ens33

重启ens33接口以后我们可以使用ip命令查看一下ip是否被修改成功。

ip addr show

这里我们看一下修改以后是否能成功连接到外网。

ping www.baidu.com

 我们可以看到虚拟机能够正常访问外网,那么说明我们刚才的配置是成功的。

3.4 配置DHCP动态获取ip

上述我们讲解了如何固定ens33接口的IP地址,那么假设现在我们还是想让VM给ens33动态分配的话,可以执行下述命令。

nmcli connection modify eth0 ipv4.method ens33

执行完上述命令以后,为了让设置生效,我们可以重启ens33这个接口。

nmcli connection down ens33 && nmcli connection up ens33

四、network配置文件、

上述我们使用nmcli完成了对网络信息的修改,当然我们也可以使用最传统的方式即修改network服务的配置文件也是可以的。

在上一个教程中,我们讲过/etc/sysconfig/network-scripts/目录下就存放在网络接口配置文件。在 CentOS 7 中,每个网络接口都会有一个配置文件,文件命名格式为:ifcfg-接口名,例如我们要配置ens33接口,那么文件名就是ifcfg-ens33。

 我们要去修改ens33接口的话就可以使用文本编辑器去编辑ens33接口配置文件。

vim  /etc/sysconfig/network-scripts/ifcfg-ens33

由于上述我们使用nmcli命令已经修改ens33接口,因此配置文件中的值已经被修改了。该配置文件中主要属性的含义如下所示:

  • BOOTPROTO=none:表示没有使用 DHCP,当然将该值设置为static也是一样的,如果我们要dhcp动态分配,那么就将该选项的值设置为dhcp就可以了。
  • IPADDR:设置静态 IP 地址。
  • NETMASK:设置子网掩码。
  • GATEWAY:设置默认网关。
  • DNS1, DNS2:配置 DNS 服务器。

我们把配置文件修改好以后需要对network服务进行重启。

systemctl restart network

补充:systemctl stop 服务名:表示停止服务;systemctl start 服务名:表示启动服务;systemctl restart 服务名:表示重启服务。

1、ls命令

ls(list)是 Linux 系统中最常用的命令之一,用于列出指定目录中的文件和子目录。

ls [选项] [路径]

具体选项如下所示:

  • -l:长格式(long listing format),显示更多的信息,包括文件的权限、所有者、大小和修改时间等。
  • -a:显示所有文件,包括以点(.)开头的隐藏文件。
  • -h:以人类可读的格式显示文件大小(例如,KB、MB、GB)。
  • -R:递归列出目录及其子目录中的文件。
  • -t:按修改时间排序,最近的文件排在前面。
  • -S:按文件大小排序。

2、ll命令

ll命令其实是ls -l命令的别名。

ll [文件路径]

五 、ip命令查看&管理网络接口

在这里我们学习使用ip命令去管理网络接口。

查看所有网络接口状态

ip link show

启用网络接口

ip link set 接口名 up

禁用网络接口

ip link set 接口名 down

查看网络接口路由表

ip route show

六、主机名

主机名(hostname)是系统的网络标识符之一,通常用于在网络中识别和与其他计算机进行通信。主机名不仅对本地机器有意义,还能影响系统的网络配置、服务标识等多个方面。

主机名(Hostname)是计算机在网络中用来标识自己的名字,通常与域名系统(DNS)或本地网络环境中的其他设备相关联。常见形式如下所示:

  • 静态主机名:系统启动时固定的主机名。
  • 动态主机名:在某些情况下可以改变的主机名,通常由 DHCP 或其他网络配置管理工具来动态分配。
  • FQDN(Fully Qualified Domain Name):完全合格的域名,通常包含主机名和域名。

现在我们知道了什么是主机名,那么我们可以想一下主机名的作用到底是啥?

主机民的作用如下所示:

  • 网络通信:主机名是网络中各计算机通信的标识之一。例如,在通过 SSH 连接远程主机时,通常是通过主机名或 IP 地址来访问。
  • 系统服务标识:许多服务和应用程序(如数据库、Web 服务器等)可能会根据主机名来配置和标识机器。
  • 日志管理:日志文件通常会记录主机名,帮助管理员识别不同主机上的活动。
  • DNS解析:当计算机连接到互联网时,DNS服务器会将主机名解析为 IP 地址。主机名是一个 DNS 解析过程中的关键部分。

6.1 主机名配置文件

/etc/hostname是存储主机名的核心文件。它包含了一个单一的主机名字段,通常就是计算机的静态主机名。

我们可以使用文本编辑器去修改我们的主机名。

/etc/hosts文件用于将主机名映射到 IP 地址,类似于 DNS 的作用。

 我们可以在/etc/hosts文件里面去映射ip地址和主机名。该文件相当于一个通讯录,前面的教程我们学习ssh的时候是通过ip地址进行访问,假设我们在hosts文件里面配置了映射的话,那么我们可以直接使用主机名就可以了,好比与李四给张三打电话,那么李四可以选择直接拨打张三的电话号码,久而久之,李四发现这样很麻烦,于是就将张三的电话号码保存在通讯录里面,那么下次李四给张三打电话就可以直接在通讯录里面找到张三的名字拨出去就可以了,就不用像以前一样要去记住张三的电话号码。

hosts中的ip地址和主机名映射也是很重要的,假如后面我们学习了虚拟机集群搭建,那么不同的虚拟机之间互相通信一方面可以直接使用ip地址,当然也可以根据hosts中的映射关系使用主机名完成通信。

6.2 更改主机名

6.2.1 查看主机名

方式一

 方式二

方式三

6.2.2 修改主机名

方式一

sudo hostnamectl set-hostname 主机名

 上述命令执行后会更新主机名并修改/etc/hostname文件。

方式二

使用文本编辑工具直接去修改/etc/hostname文件。

注意:上述两种方式修改的都是静态主机名。

6.2.3 修改临时主机名

sudo hostname 主机名

注意:该命令执行完成以后修改的主机名只是临时的即会话结束以后主机名还是会使用/etc/hostname文件里面的主机名。

 这节教程的内容就到此结束,更多内容将在后续教程中讲解。

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

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

相关文章

python在word中插入图片

本文讲解python如何在word文档中插入图片&#xff0c;以及指定插入图片的段落。 1、在新建的word文档中插入图片 import win32com.client as win32 from win32com.client import constants # 1&#xff09;打开word应用程序 doc_app win32.gencache.EnsureDispatch(Word.App…

亚信安全新一代WAF:抵御勒索攻击的坚固防线

近年来&#xff0c;勒索攻击已成为黑客的主要攻击手段。新型勒索攻击事件层出不穷&#xff0c;勒索攻击形势愈发严峻&#xff0c;已经对全球制造、金融、能源、医疗、政府组织等关键领域造成严重危害。如今&#xff0c;勒索攻击手段日趋成熟、攻击目标愈发明确&#xff0c;模式…

Linux qt下是使用搜狗輸入發

1.下载一个编译好的包 https://github.com/sixsixQAQ/fcitx5-qt 出处&#xff1a;这里 2.根据QT5&#xff0c;或者QT6选择下载 3.使用 把那个libfcitx5platforminputcontextplugin.so放到下面的路径&#xff1a; <你的Qt安装目录>/gcc_64/plugins/platforminputcontex…

linux命令详解,账号相关

账号相关 用户账号数据库相关文件 /etc/password 存储系统中所有用户账户的基本信息 /etc/shadow 用于存储用户账户的密码和其他安全相关信息 /etc/gshdow 用于存储用户组的密码和其他安全相关信息/etc/passwd: username:password:UID:GID:GECOS:home_directory:shell字段解…

Sentinel — 微服务保护

微服务架构将大型应用程序拆分为多个小而独立的服务&#xff0c;每个服务可以独立部署和扩展。然而&#xff0c;微服务系统需要面对的挑战也随之增加&#xff0c;例如服务之间的依赖、分布式环境下的故障传播和安全问题。因此&#xff0c;微服务保护措施是确保系统在高并发、资…

使用Qt制作一个流程变更申请流程进度以及未读消息提醒

1.1加载界面&#xff1a; 界面要素&#xff1a; 成员信息 变更位置申请 接受消息列表 根据角色加载对应界面。 1.2发起变更申请&#xff1a; 用户点击“发起变更申请”按钮。变更申请对话框可编辑&#xff0c;用户填写申请信息&#xff1a; 申请方&#xff08;自动填充&…

Markdown 全面教程:从基础到高级

Markdown 全面教程&#xff1a;从基础到高级 Markdown 是一种轻量级的标记语言&#xff0c;它的设计目标是使书写和阅读文档变得简单而直观。无论是撰写博客、编写文档还是创建 README 文件&#xff0c;Markdown 都是一个非常实用的工具。 目录 Markdown 简介Markdown 的基…

无插件H5播放器EasyPlayer.js关于硬解码和软解码的详细介绍

在当今这个多媒体内容日益丰富的时代&#xff0c;视频播放体验的重要性不言而喻.EasyPlayer.js H5播放器作为一款专为现代Web环境设计的播放器&#xff0c;它不仅提供了流畅的播放体验&#xff0c;还特别注重性能优化。EasyPlayer.js支持多种解码方式&#xff0c;包括硬解码和软…

Multi‐modal knowledge graph inference via media convergenceand logic rule

摘要 媒体融合通过处理来自不同模式的信息并将其应用于不同的领域来实现。传统的知识图很难利用多媒体特征&#xff0c;因为从其他模态引入大量信息降低了表示学习的有效性&#xff0c;并降低了知识图推理的有效性。为了解决这一问题&#xff0c;提出了一种基于媒体融合和规则…

大模型应用编排工具Dify二开之工具和模型页面改造

1.前言 简要介绍下 dify&#xff1a; ​ 一款可以对接市面上主流大模型的任务编排工具&#xff0c;可以通过拖拽形式进行编排形成解决某些业务场景的大模型应用。 背景信息&#xff1a; ​ 环境&#xff1a;dify-0.8.3、docker-21 ​ 最近笔者在做 dify的私有化部署和二次…

【数学】通用三阶矩阵特征向量的快速求法 超简单!!!

目录 三个定理1、3个特征值&#xff08;即根互不相等&#xff09;例题实践2、2个特征值&#xff08;即有一个双重根&#xff09;3、1个特征值&#xff08;即有一个三重根&#xff09;定理证明 三个定理 本定理适用于 所有三阶矩阵 的特征向量求法&#xff01; 1、3个特征值&…

MapReduce 的 Shuffle 过程

MapReduce 的 Shuffle 过程指的是 MapTask 的后半程&#xff0c;以及ReduceTask的前半程&#xff0c;共同组成的。 从 MapTask 中的 map 方法结束&#xff0c;到 ReduceTask 中的 reduce 方法开始&#xff0c;这个中间的部分就是Shuffle。是MapReduce的核心&#xff0c;心脏。 …

【WebRTC】视频采集模块中各个类的简单分析

目录 1.视频采集模块中的类1.1 视频采集基础模块&#xff08;VideoCaptureModule&#xff09;1.2 视频采集工厂类&#xff08;VideoCaptureFactory&#xff09;1.3 设备信息的实现&#xff08;DeviceInfoImpl&#xff09;1.4 视频采集的实现&#xff08;VideoCaptureImpl&#…

江协科技STM32学习- P40 硬件SPI读写W25Q64

&#x1f680;write in front&#x1f680; &#x1f50e;大家好&#xff0c;我是黄桃罐头&#xff0c;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流 &#x1f381;欢迎各位→点赞&#x1f44d; 收藏⭐️ 留言&#x1f4dd;​…

智慧场馆:安全、节能与智能化管理的未来

在当今社会&#xff0c;智慧场馆已经成为了现代场馆建设的一种重要模式。通过整合先进技术和智能系统&#xff0c;智慧场馆致力于提供全方位的解决方案&#xff0c;以实现场馆的安全性、节能性和智能化管理。本文将深入探讨智慧场馆如何实现安全、节能和全面智能化&#xff0c;…

Facebook与人工智能:推动社交媒体发展的新动力

在数字化时代的浪潮中&#xff0c;社交媒体已成为人们日常生活不可或缺的一部分。作为全球最大的社交平台之一&#xff0c;Facebook凭借其庞大的用户基础和先进的技术&#xff0c;正积极探索与人工智能&#xff08;AI&#xff09;的结合&#xff0c;以推动社交媒体的不断发展。…

【论文复现】自动化细胞核分割与特征分析

本文所涉及所有资源均在这里可获取。 作者主页&#xff1a; 七七的个人主页 文章收录专栏&#xff1a; 论文复现 欢迎大家点赞 &#x1f44d; 收藏 ⭐ 加关注哦&#xff01;&#x1f496;&#x1f496; 自动化细胞核分割与特征分析 引言效果展示HoverNet概述HoverNet原理分析整…

阿里云文本内容安全处理

1、什么是内容安全 内容安全是一款基于AI算法和云计算技术&#xff0c;对多媒体内容的不宜或违规内容提供识别和标注的产品。该产品&#xff0c;支持对各行业及业务场景下的图片、视频、文本、语音等对象进行检测&#xff0c;可以帮助您提高内容审核效率、提高平台内容质量和用…

双指针算法习题解答

1.移动零 题目链接&#xff1a;283. 移动零 - 力扣&#xff08;LeetCode&#xff09; 题目解析&#xff1a;该题要求将数组中为0的元素全部转移到数组的末尾&#xff0c;同时不能改变非零元素的相对位置。 解题思路&#xff1a;我们可以用变量dest和cur将该数组分为三个区域。…

idea、pycharm等软件的文件名红色怎么变绿色

1.问题 有时候在写完代码打算提交的时候&#xff0c;会遇到某个资源文件不是绿色的&#xff0c;不能提交 2.解决方法 右键该文件——git——添加即可 3.不同颜色含义 3.1 蓝色&#xff08;Blue&#xff09; 含义&#xff1a;文件被修改了但尚未保存。蓝色通常表示文件自上…