Linux学习笔记8 理解Ubuntu网络管理,做自己网络的主人

本文讲解了Ubuntu下网络由什么管理,介绍了临时ip和路由的设置方法,介绍了静态持久化网络配置的方法以及各网络管理软件之间的关系。

来看看Ubuntu网络管理。

序言

原本学习ubuntu网络管理就是为了检查nginx安装过程中使用wget获取压缩包为什么解析不出ip的问题。现在越学越泛倒是忘记初心了。

网络接口

Linux中,网络通信需要通过网络接口。那么网络的接口既有软件抽象的也有硬件的,我们就需要来了解怎么管理和使用。

ifconfig

这个命令大家应该非常熟悉。,之前的学习中我一直给各种命令列出很多选项和参数,但是我觉得不如在用到的时候去查询手册或者搜索引擎。比起知道到底有什么参数,我更想知道和记住这个命令的作用和最常见的使用场景。

作用

查看网络接口。

enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.11  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::87e5:906f:a18b:63e2  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:60:a1:de  txqueuelen 1000  (以太网)
        RX packets 2549  bytes 634859 (634.8 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 468  bytes 71960 (71.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (本地环回)
        RX packets 872  bytes 65297 (65.2 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 872  bytes 65297 (65.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

 怎么理解上面的输出:

首先看enp0s3,en代表以太网,p0代表总线0,s3是指插槽3.

lo代表本地环回地址。

ifconfig
#如果显示未安装
sudo apt install net-tools

flags 字段表示接口的状态和特性,通过标记(flag)以十六进制或十进制数值来表示。常见的标志及其含义如下:

UP:接口已启用。表示网络接口已被激活并处于运行状态。
BROADCAST:支持广播。表示接口可以发送和接收广播消息。
RUNNING:接口正在运行。这通常意味着该接口已经被激活,且有可能处于正常工作状态。
MULTICAST:支持组播。接口支持组播功能,可以处理多个目标地址的消息。
LOOPBACK:回环。表示这是一个本地回环接口,用于自我通信(通常是 lo 接口,地址为 127.0.0.1)。
PROMISC:混杂模式。表示网络接口将接收所有传入的数据包,不论目的地址是否匹配。
POINTOPOINT:点对点。接口用于点对点链接,不进行广播和多播。
在示例中:

flags=4163 对应的是十进制值 4163,转换为十六进制值为 0x1043。其中包含以下标志:
UP (0x1)
BROADCAST (0x2)
RUNNING (0x40)
MULTICAST (0x100)

其余的解释: 

enp0s3 是有线以太网接口:

flags=4163<UP,BROADCAST,RUNNING,MULTICAST>:接口已启动,可以广播和组播。
mtu 1500:最大传输单元为 1500 字节。
inet 192.168.1.11:IPv4 地址为 192.168.1.11,子网掩码为 255.255.255.0,广播地址为 192.168.1.255。
inet6 fe80::87e5:906f:a18b:63e2:IPv6 链路本地地址。
ether 08:00:27:60:a1
:MAC 地址。
RX/TX packets 和 bytes:接口接收到(RX)和发送的(TX)数据包数和字节数。
RX errors 0, TX errors 0:没有接收或发送错误。
lo 是本地回环接口(loopback):

flags=73<UP,LOOPBACK,RUNNING>:回环接口已启动。
mtu 65536:最大传输单元为 65536 字节。
inet 127.0.0.1:本地回环的 IPv4 地址。
inet6 ::1:IPv6 回环地址。
RX/TX packets 和 bytes:回环接口接收和发送的数据包和字节数。
没有接收或发送错误。

还有选项允许你显示更多的或者其他信息,你可以使用man方法察看。 

man ifconfig

网络接口命名规则

enp0s3,en代表以太网,p0代表总线0,s3是指插槽3.

lo 是 Linux 系统中的本地回环接口(Loopback Interface)的名称。它是一个特殊的网络接口,主要用于在本地计算机内部进行网络通信,而无需通过实际的物理网络硬件。

fc表示光纤,ge表示千兆以太网,xe表示万兆以太网。

配置网络接口IP地址

临时IP地址配置和静态ip地址配置,前者通过ifconfig,后者修改配置文件。

临时配置ip和路由:

ifconfig interface ip netmask netmask

例子:

sudo ifconfig enp0s3 192.168.1.12 netmask 255.255.255.0

重启或者重启网络接口之后我们使用ifconfig修改的ip会消失,因为它并不保存在任何配置中,而是在内存中。

重启网络接口:

ifup
ifdown

这里我的ssh连接软件直接掉了,我刚刚还以为虚拟机又出现问题了,发现是ip改变了。ssh连接自然断了。

但是我换了ip之后还是不能连接,于是接着看,还要配置默认网关。

经过修改ip之后发现路由全部空了。

添加路由又提示:

SIOCADDRT:网络不可达。

经过查询呢,发现是因为添加ip的时候出错,重新修改一次临时ip即可。

查看路由:

route -n

使用命令添加网关:

route add gw 192.168.1.1 enp0s3

这里我报错的原因已经说过了,正常情况下:

至少有一条这样的:

 

Destination(目的地):

表示目标网络或主机的地址范围。
0.0.0.0 通常表示默认路由,指向所有无法匹配的网络流量。
192.168.1.0 表示网络 192.168.1.0/24,即 IP 地址范围 192.168.1.0 到 192.168.1.255。
Gateway(网关):

指定该路由条目通过哪个网关发送数据。如果为 0.0.0.0,表示直接路由,没有中间网关。
在上面的例子中,默认路由通过网关 192.168.1.1,它通常是路由器的 IP 地址。
Genmask(子网掩码):

定义目的地的子网掩码,用于区分网络地址和主机地址。
例如,255.255.255.0 表示子网掩码 /24,也就是一个拥有 256 个 IP 地址的子网。
Flags(标志):

用于显示路由条目的特性。常见的标志有:
U:接口已启用(Up)。
G:路由使用网关。
H:目标是单一主机(Host)。
D:该路由是由系统动态创建的。
M:该路由已被修改。
在示例中,UG 表示该路由通过一个网关,且该路由项对应的接口是启用状态。

Metric(度量值):

表示该路由的优先级。较低的值表示更优先的路由。
在示例中,默认路由的度量值是 100,而其他直接连接的网络的度量值为 0,意味着系统会优先选择直接连接的路由。
Ref(引用计数):

这个字段现在通常没有实际意义,始终显示为 0。
Use(使用次数):

表示路由条目被使用的次数,但在现代 Linux 系统中通常没有实际意义。
Iface(接口):

指定该路由条目通过哪个网络接口发送数据。例如 enp0s3 是本地的以太网接口。

查看DNS服务:

cat /etc/resolv.conf

这个文件展示dns配置。 

每个人这里情况不一定一样,我这里就告诉我们两件事,第一就是这个文件最好不要修改,因为会被覆盖。

第二就是管理这个文件的服务为:system-resolved。

如果你想修改dns,应该去system-resolved那里修改。

如果你不想使用这个服务,你可以改变这个文件的链接方向,使其指向你自己创建的静态dns配置文件。 

下面是内容解释:

文件头部的一些注释表明,这个文件由 systemd-resolved 动态管理,并且这个 /etc/resolv.conf 可能是一个符号链接,指向 /run/systemd/resolve/stub-resolv.conf。
systemd-resolved 是一种服务,它管理本地和远程 DNS 解析,并在现代 Linux 系统中常用于自动化 DNS 配置。
nameserver 127.0.0.53:

表示系统使用的是本地 DNS 解析器(127.0.0.53),它是 systemd-resolved 服务的内部 DNS 转发器。
实际的外部 DNS 服务器(如 ISP 提供的 DNS 或 Google DNS)由 systemd-resolved 管理,这里只是本地的一个 DNS 中继。
options edns0 trust-ad:

edns0:启用扩展 DNS(EDNS),用于支持比传统 DNS 更大容量的数据包。
trust-ad:表示接受 DNS 服务器返回的认证数据(Authenticated Data, AD),这通常与 DNSSEC 相关。
search .:

表示搜索域为空,也就是说,DNS 查找时不会自动在本地域名后附加其他域。

静态地址配置

neplan是什么?

Netplan 是一种用于配置网络的工具,主要用于现代 Linux 发行版(例如 Ubuntu)中管理和配置网络接口。它是 Ubuntu 17.10 及之后版本中的默认网络配置工具,旨在简化网络配置管理。

它的配置文件在哪?

Netplan 的配置文件通常存放在 /etc/netplan/ 目录中,文件名一般是 *.yaml 格式(如 00-installer-config.yaml 或 01-netcfg.yaml)。每个 YAML 文件定义了网络接口、路由、DNS 等网络配置。

 其中会指示具体用的是那种服务管理我们的网络配置。这里就是NetWorkManager。

netplan后端具体的服务

具体由NetworkManager还是

我们要添加静态网络地址,或者说永久的地址改变就需要改变这个配置文件。

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager

额外的:

使用 /etc/network/interfaces 修改(旧方法): 在一些老版本的 Linux 发行版中(如 Ubuntu 16.04 及更早版本),可以通过编辑 /etc/network/interfaces 文件来永久修改 IP 地址。

此方法不与NetPlan共存。

 配置文件的方法

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

network:网络配置的根节点。
version: 2:Netplan 配置的版本,目前使用的是版本 2。
renderer:指定后端工具,networkd 使用 systemd-networkd,而 NetworkManager 是另一种选择,通常用于桌面环境。
ethernets:表示以太网接口的配置。
enp0s3:指定网络接口名称(类似 ifconfig 中的网络接口)。
dhcp4: true:启用 IPv4 的 DHCP 动态分配。
dhcp6: true:启用 IPv6 的 DHCP 动态分配。
Netplan 的常用命令:
netplan apply:应用网络配置文件的更改,立即生效。
netplan generate:生成配置,测试 YAML 文件是否有语法错误。
netplan try:应用更改但允许用户在配置有问题时回滚,适合测试新的配置。

配置静态ip

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

我们这里就是在enp0s3下的addresses项中添加ip地址,之后使用netplan apply应用即可。(建议使用netplan try)

添加路由

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      routes:
        - to: 192.168.2.0/24
          via: 192.168.1.1

 就是在网卡enp0s3下的routes选项中添加:

-to:ip
via gw

意思是:去哪要通过哪个网关。

然后:

sudo netplan apply

netplan的运行和刚刚说的system-resolved的关系 

Netplan 将配置应用到 systemd-networkd 后端。
systemd-networkd 配置网络接口 enp0s3 的 IP 地址、网关,并将 DNS 服务器(8.8.8.8 和 8.8.4.4)告知 systemd-resolved。
systemd-resolved 负责解析 DNS 查询,当系统中任何程序进行 DNS 查询时,它们会通过 127.0.0.53(/etc/resolv.conf 中配置的 DNS 服务器)向 systemd-resolved 发起查询。
systemd-resolved 将查询请求转发到实际配置的 DNS 服务器(如 8.8.8.8)并返回结果。
5. Netplan 与 systemd-resolved 的配置交互:
Netplan 提供 DNS 设置:Netplan 中的 nameservers 字段用于配置 DNS 服务器。这个配置通过 Netplan 传递到 systemd-networkd 或 NetworkManager,然后再传递到 systemd-resolved。

systemd-resolved 管理 DNS 请求:systemd-resolved 监听本地地址 127.0.0.53,处理所有传入的 DNS 请求,并将它们路由到合适的外部 DNS 服务器(如 Netplan 配置的 DNS 服务器)。

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python编码系列—Python适配器模式:无缝集成的桥梁

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

Jenkins怎么设置每日自动执行构建任务?

在 Jenkins 中设置每日自动执行构建任务可以按照以下步骤进行&#xff1a; 一、安装必要插件 确保安装了 “Timestamper” 插件&#xff0c;这个插件可以为构建添加时间戳&#xff0c;方便查看构建的执行时间。 二、配置任务 打开需要设置每日自动执行的 Jenkins 任务。在 …

105.游戏安全项目-基址的技术原理-分析技巧

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a;易道云信息技术研究院 本人写的内容纯属胡编乱造&#xff0c;全都是合成造假&#xff0c;仅仅只是为了娱乐&#xff0c;请不要盲目相信…

品牌力是什么?如何评估企业品牌影响力?

品牌影响力&#xff0c;其实就是指品牌在消费者心智中所占据的位置&#xff0c;以及它对消费者购买决策和行为的影响力。如果一个企业的品牌影响力越强&#xff0c;它在消费者心中的印象就越深刻&#xff0c;能够更有效地驱动消费者的购买行为&#xff0c;形成品牌忠诚度&#…

【C++ 学习】多态的基础和原理(10)

目录 前言1. 概念2. 多态的定义及实现2.1 多态的构成条件2.2 虚函数2.3 虚函数重写2.4 虚函数重写的例外2.4.1 协变2.4.1 析构函数的重写 2.5 多态调用和普通调用2.6 函数重写/函数隐藏/函数重载 的对比2.6.1 函数重写2.6.2 函数隐藏2.6.3 函数重载 2.7 C11 final 和override 3…

爬虫--翻页tips

免责声明&#xff1a;本文仅做分享&#xff01; 伪线程 from DrissionPage import ChromiumPage import timepage ChromiumPage() page.get("https://you.ctrip.com/sight/taian746.html") # 初始化 第0页 index_page 0# 翻页点击函数 sleep def page_turn():page…

计算机毕业设计 美妆神域网站的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

IP 协议分析《实验报告》

目录 一、 实验目的 二、实验设备和环境 三、实验记录 1、实验环境搭建 2、IP 协议分析 1.设置抓包接口 2.IP 报文分析 3.报文长度计算 4.生存时间 TTL 5.分析总结 3、IP分片 1.IP 分片简介 2.捕获分组 3.结果分析 一、 实验目的 1、掌握 IP 协议数据报格式&…

硬件工程师笔试面试——保险丝

目录 10、保险丝 10.1 基础 保险丝原理图 保险丝实物图 10.1.1 概念 10.1.2 保险丝的工作原理 10.1.3 保险丝的主要类型 10.1.4 保险丝的选择和使用注意事项 10.2 相关问题 10.2.1 保险丝的额定电流和额定电压是如何确定的? 10.2.2 保险丝的熔断速度对电路保护有何…

2024年PMP报考需要什么条件?怎么报名?

PMP证书报名的门槛并不高&#xff0c;在项目管理领域里也很热门&#xff0c;很多公司要求项目组成员去考PMP证书的&#xff0c;很多招聘JD也要求持PMP证书优先&#xff0c;如果你是在项目相关管理岗位工作&#xff0c;不妨一起考一个。 一、PMP报考条件 PMP 报考条件是需要35个…

AI是否会带来一场认知革命?Reid Hoffman 的独特见解

随着人工智能&#xff08;AI&#xff09;技术的迅猛发展&#xff0c;关于AI对人类社会及认知的影响&#xff0c;已经成为了学术界和业界热议的话题。硅谷著名投资人、LinkedIn联合创始人Reid Hoffman&#xff0c;在斯坦福大学的演讲中分享了他对AI的深刻看法。他认为&#xff0…

Windows版本下Redis安装与使用---详解

目录 1、下载Redis压缩包 2、解压到文件夹 3、启动Redis服务 4、打开Redis客户端进行连接 5、使用一些基础操作来测试 6、Redis常用的服务指令 7、C#项目使用redis 8、C#中使用StackExchange.Redis库操作Redis 9、执行 Redis 命令 10、常见报错和相关指令 1、下载Redi…

翻页时钟 2.0-自动置顶显示,点击小时切换显示标题栏不显示标题栏-供大家学习研究参考

更新内容 自动置顶显示点击小时切换显示标题栏&#xff0c;&#xff08;显示标题栏后可移动时钟位置&#xff0c;鼠标拖动边框调整时钟大小&#xff09;不显示标题栏时&#xff0c;透明部分光标可穿透修正一个显示bu 下载地址&#xff1a; https://download.csdn.net/download…

技术美术百人计划 | 《4.5 DOF景深算法》笔记

1. 景深定义 景深&#xff08;Depth of Field&#xff0c;DOF&#xff09;&#xff0c;是指在摄影机镜头或其他成像器前沿能够取得清晰图像的成像所测定的被摄物体前后距离范围。镜头光圈、镜头焦距、及焦平面到拍摄物的距离是影响景深的重要因素。在聚焦完成后&#xff0c;焦点…

基于SpringBoot的招生宣传管理系统【附源码】

基于SpringBoot的招生宣传管理系统&#xff08;源码L文说明文档&#xff09; 目录 4 系统设计 4.1 系统概述 4.2系统功能结构设计 4.3数据库设计 4.3.1数据库E-R图设计 4.3.2 数据库表结构设计 5 系统实现 5.1管理员功能介绍 5.1.1管理员登录 …

[数据集][目标检测]智慧交通铁路人员危险行为躺站坐检测数据集VOC+YOLO格式3766张4类别

图片数量(jpg文件个数)&#xff1a;3766 标注数量(xml文件个数)&#xff1a;3766 标注数量(txt文件个数)&#xff1a;3766 标注类别数&#xff1a;4 标注类别名称:["sitting","sleeping","standing","track"] 每个类别标注的框数&…

半导体器件制造5G智能工厂数字孪生物联平台,推进制造业数字化转型

半导体器件制造行业作为高科技领域的核心驱动力&#xff0c;正积极探索和实践以5G智能工厂数字孪生平台为核心的新型制造模式。这一创新不仅极大地提升了生产效率与质量&#xff0c;更为制造业的未来发展绘制了一幅智能化、网络化的宏伟蓝图。 在半导体器件制造5G智能工厂中&a…

解决selenium爬虫被浏览器检测问题

文章目录 专栏导读1.问题解析2.代码解析(Edge/Chrome通用)2.1 设置Edge浏览器选项:2.2 尝试启用后台模式2.3 排除启用自动化模式的标志2.4 禁用自动化扩展2.5 设置用户代理2.6 实例化浏览器驱动对象并应用配置2.7 在页面加载时执行JavaScript代码 3.完整代码&#xff08;可直接…

ETHERCAT转PROFIENT网关—迅捷伺服驱动器数据交互

在当前的生产现场中&#xff0c;PLC 控制器与迅捷伺服驱动器之间通过通讯方式进行连接的情况愈发频繁。有些现场中&#xff0c;控制器和伺服驱动器采用统一的通讯协议&#xff0c;然而在另一些现场&#xff0c;会出现伺服驱动器 站使用不同协议的情况&#xff0c;这主要是由于不…

No operations allowed after statement closed

错误信息&#xff1a; The last packet successfully received from the server was 3,576,246 milliseconds ago. The last packet sent successfully to the server was 3,576,247 milliseconds ago. 参考解决方案 https://github.com/alibaba/druid/issues/5549 如果修改…