【Linux操作系统】网络配置详解:从原理到实践(详细通俗讲明DNS)

导语:网络配置是Linux系统中的一项重要任务,合理的网络配置可以保证计算机与其他设备的正常通信。本文将详细介绍Linux网络配置的原理和实践,包括网络配置原理、查看网络IP和网关、测试网络连通性、网络环境配置、设置主机名和hosts映射以及主机名解析过程分析等内容。

文章目录

    • 1. 网络配置原理
    • 2. 查看网络IP和网关
    • 3. 测试网络连通性
    • 4. 网络环境配置
    • 5. 设置主机名
    • 6. hosts映射
      • 6.1 Linux系统设置hosts映射的方式:
      • 6.2 Windows系统设置hosts映射的方式:
    • 7.主机名解析过程的分析:
      • 一个通俗的例子:
    • 结语

1. 网络配置原理

网络配置是通过配置网络接口来实现的,它包括设置IP地址、子网掩码、网关等参数,使计算机能够与其他设备进行通信。在这里插入图片描述

Linux网络配置涉及到多个概念和组件,下面对这些概念和组件进行解释:

  • 互联网(Internet):互联网是全球范围内的计算机网络,它通过标准化的通信协议互相连接起来。互联网可以连接各种不同类型的计算机和网络,使它们能够相互通信和交换数据。

  • 局域网(LAN):局域网是指在相对较小的地理范围内的计算机网络,例如家庭、办公室或学校内部的网络。局域网通常由路由器、交换机和计算机等设备组成,可以实现内部计算机之间的通信和资源共享。

  • 网关(Gateway):网关是计算机网络中的一个节点,它连接两个不同的网络,并负责将数据包从一个网络传输到另一个网络。网关通常是一个路由器,它具有多个接口,分别连接不同的网络,例如连接局域网和互联网。

  • 无线网卡(Wireless Network Interface Card):无线网卡是一种用于无线网络连接的硬件设备,它允许计算机通过无线信号与无线路由器或接入点进行通信。无线网卡通常通过Wi-Fi标准进行通信,可以连接到无线局域网(WLAN)。

  • IP地址(Internet Protocol Address):IP地址是互联网中用于标识和定位设备的唯一地址。IP地址由32位(IPv4)或128位(IPv6)二进制数表示,通常以点分十进制的形式呈现。每个设备连接到网络时,都会被分配一个唯一的IP地址。

  • 子网掩码(Subnet Mask):子网掩码用于确定IP地址中的网络部分和主机部分。它是一个32位的二进制数,与IP地址进行逻辑与运算,以确定网络的范围。子网掩码的作用是将IP地址划分为网络地址和主机地址两个部分。

  • DHCP(Dynamic Host Configuration Protocol):DHCP是一种网络协议,用于自动分配IP地址、子网掩码、网关和其他网络配置信息给计算机。通过DHCP,计算机可以自动获取网络配置,而无需手动配置。

  • DNS(Domain Name System):DNS是互联网中的一种系统,用于将域名转换为IP地址。DNS服务器存储了域名与IP地址的映射关系,当用户输入一个域名时,计算机会向DNS服务器发送查询请求,以获取与域名对应的IP地址。

这些概念和组件之间的联系是:计算机通过网络接口连接到局域网或无线网络,通过网关连接到互联网。通过配置IP地址、子网掩码和网关,计算机可以与其他设备进行通信。DHCP协议可以自动分配IP地址和其他网络配置信息,而DNS系统可以将域名转换为IP地址,实现网络上的域名解析。

2. 查看网络IP和网关

在Linux中,我们可以使用ifconfig命令来查看当前计算机的网络接口及其对应的IP地址。打开终端,输入以下命令:

ifconfig

在这里插入图片描述

该命令将列出当前计算机的网络接口信息,包括接口名称、MAC地址、IP地址等。
 window电脑的命令是:

ipconfig

3. 测试网络连通性

测试网络连通性是网络配置的重要一步,它可以判断网络是否正常工作。在Linux中,我们可以使用ping命令来测试网络连通性。打开终端,输入以下命令:

ping <目标IP地址>

在这里插入图片描述

其中,目标IP地址可以是其他计算机、服务器或域名。如果网络正常,你将会收到ping命令的回应。

4. 网络环境配置

网络环境配置包括静态IP配置和动态IP配置。静态IP配置是手动设置IP地址、子网掩码和网关。打开网络配置文件,例如/etc/network/interfaces,在文件中添加以下配置信息:

auto eth0
iface eth0 inet static
address <IP地址>
netmask <子网掩码>
gateway <网关地址>

动态IP配置是通过DHCP服务器自动获取IP地址。打开网络配置文件,例如/etc/network/interfaces,在文件中添加以下配置信息:

auto eth0
iface eth0 inet dhcp

5. 设置主机名

设置主机名是为了方便识别和管理计算机。
使用hostname命令直接查看自己的主机名:
在这里插入图片描述
我们可以通过修改/etc/hostname文件来设置主机名。打开该文件,输入你想要设置的主机名,保存文件并重启计算机,使配置生效。
在这里插入图片描述

6. hosts映射

hosts文件是一个本地的域名解析文件,用于将域名映射到IP地址。我们可以通过修改/etc/hosts文件来添加自定义的域名解析。

6.1 Linux系统设置hosts映射的方式:

  1. 打开终端或命令行界面。

  2. 使用文本编辑器(如vi、nano等)以管理员权限打开hosts文件,该文件位于 /etc/hosts。
    在这里插入图片描述

  3. 在hosts文件中添加需要映射的主机名和对应的IP地址,每行一个映射,格式为:IP地址 主机名。

  4. 保存并关闭文件。

6.2 Windows系统设置hosts映射的方式:

  1. 打开记事本或其他文本编辑器。

  2. 以管理员权限打开hosts文件,该文件位于 C:\Windows\System32\drivers\etc\hosts。

  3. 在hosts文件中添加需要映射的主机名和对应的IP地址,每行一个映射,格式为:IP地址 主机名。
    在这里插入图片描述

  4. 保存并关闭文件。

7.主机名解析过程的分析:

以百度为例,以下是主机名解析过程的分析:
在这里插入图片描述

  1. 当用户在浏览器中输入百度的域名(www.baidu.com),浏览器会首先检查本地hosts文件中是否存在对应的映射关系。

  2. 如果在hosts文件中找到了对应的映射关系,浏览器会将主机名解析为对应的IP地址,并直接向该IP地址发送请求。

  3. 如果在hosts文件中未找到对应的映射关系,则浏览器会向本地DNS缓存发送查询请求。

  4. 如果在本地DNS缓存中找到了对应的IP地址,浏览器会将主机名解析为对应的IP地址,并直接向该IP地址发送请求。

  5. 如果在本地DNS缓存中未找到对应的IP地址,则本地DNS缓存会向本地DNS服务器发送查询请求。

  6. 本地DNS服务器会检查自己的缓存,如果找到了对应的IP地址,它会将结果返回给本地DNS缓存。

  7. 如果本地DNS服务器未找到对应的IP地址,它会根据域名的层次结构,从根域名服务器开始逐级查询。

  8. 本地DNS服务器会向根域名服务器发送查询请求,根域名服务器会返回顶级域名服务器的IP地址。

  9. 本地DNS服务器会向顶级域名服务器发送查询请求,顶级域名服务器会返回二级域名服务器的IP地址。

  10. 本地DNS服务器会继续向二级域名服务器发送查询请求,直到找到与主机名对应的IP地址。

  11. 一旦本地DNS服务器找到了对应的IP地址,它会将结果返回给本地DNS缓存。

  12. 本地DNS缓存将结果返回给浏览器,浏览器将主机名解析为IP地址,并向该IP地址发送请求。

  13. 百度服务器接收到请求后,会返回相应的网页内容给浏览器,浏览器将网页内容显示给用户。

这个过程中,从用户输入域名到最终获取到网页内容,涉及到了本地hosts文件、本地DNS缓存、本地DNS服务器、根域名服务器、顶级域名服务器和二级域名服务器等多个组件。通过这个过程,主机名可以最终解析为对应的IP地址,实现了用户与百度服务器之间的通信。

一个通俗的例子:

假设你要寄一封信给你的朋友,但你只知道他的名字,不知道他的具体地址。你需要通过一系列步骤找到他的地址才能寄出信件。

首先,你会查看你的通讯录(类似于计算机的hosts文件),看看是否有你朋友的地址。如果有,你就可以直接写上地址并寄出信件。

如果通讯录中没有你朋友的地址,你会去问你的家人或朋友(类似于本地DNS缓存),看看他们是否知道你朋友的地址。如果他们知道,他们会告诉你地址,你就可以写上地址并寄出信件。

如果你的家人或朋友也不知道你朋友的地址,你会去问邮局(类似于本地DNS服务器)。你告诉邮局你朋友的名字,邮局会帮你查询他的地址。如果邮局知道他的地址,他们会告诉你地址,你就可以写上地址并寄出信件。

如果邮局也不知道你朋友的地址,邮局会将你的请求转发给更高级的邮局(类似于根域名服务器)。更高级的邮局会继续查询,直到找到你朋友的地址。

一旦你得到了你朋友的地址,你就可以将信件寄给他。这样,通过一系列的查询和转发,你最终找到了你朋友的地址,成功寄出了信件。

在这个例子中,你的朋友的地址就相当于百度的IP地址,你的通讯录和家人朋友就相当于计算机的hosts文件和本地DNS缓存,邮局就相当于本地DNS服务器,而更高级的邮局就相当于根域名服务器和顶级域名服务器。整个过程就是为了找到你朋友的地址,让你能够成功寄出信件。

结语

本文详细介绍了Linux网络配置的原理和实践,包括网络配置原理、查看网络IP和网关、测试网络连通性、网络环境配置、设置主机名和hosts映射以及主机名解析过程分析等内容。

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

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

相关文章

win10笔记本显示器根据页面显示亮度自动调节亮度的问题

系统是win10企业版&#xff0c;针对这个问题查了很多种方法&#xff0c;比如&#xff1a; 1、控制面板->硬件和声音->电源选项->点击当前电源计划的更改计划设置->更改高级电源设置->显示->启用自适应亮度 但是我发现我的电源计划只有平衡这一种&#xff0c…

申请科技型中小企业的好处有哪些?

科技型中小企业&#xff0c;这是由国家出台的&#xff0c;科技部认定的&#xff0c;对中小型企业的一种荣誉。这种企业是有一定数量的科技人员从事科技研究开发&#xff0c;有了一定成果并转化为高新技术产品或服务&#xff0c;实现可持续发展的中小企业。 申请科技型中小企业有…

【雕爷学编程】 MicroPython动手做(38)——控制触摸屏

MixPY——让爱(AI)触手可及 MixPY布局 主控芯片&#xff1a;K210&#xff08;64位双核带硬件FPU和卷积加速器的 RISC-V CPU&#xff09; 显示屏&#xff1a;LCD_2.8寸 320*240分辨率&#xff0c;支持电阻触摸 摄像头&#xff1a;OV2640&#xff0c;200W像素 扬声器&#…

【Golang 接口自动化08】使用标准库httptest完成HTTP请求的Mock测试

目录 前言 http包的HandleFunc函数 http.Request/http.ResponseWriter httptest 定义被测接口 测试代码 测试执行 总结 资料获取方法 前言 Mock是一个做自动化测试永远绕不过去的话题。本文主要介绍使用标准库net/http/httptest完成HTTP请求的Mock的测试方法。 可能有…

【安装】阿里云轻量服务器安装Ubuntu图形化界面(端口号/灰屏问题)

阿里云官网链接 https://help.aliyun.com/zh/simple-application-server/use-cases/use-vnc-to-build-guis-on-ubuntu-18-04-and-20-04 网上搜了很多教程&#xff0c;但是我没在界面看到有vnc连接&#xff0c;后面才发现官网有教程。 其实官网很详细了&#xff0c;不过这里还是…

题解 | #1001.Count# 2023杭电暑期多校6

1001.Count 签到 题目大意 给定 n , m , k n,m,k n,m,k &#xff0c;构造长度为 n n n 的整数序列&#xff0c;元素大小范围为 a i ∈ [ 1 , m ] a_i\in [1,m] ai​∈[1,m] &#xff0c;并且需要保证前 k k k 个元素和后 k k k 个元素对应相同 求可以构造出的序列数量 …

Flink Windows(窗口)详解

Windows&#xff08;窗口&#xff09; Windows是流计算的核心。Windows将流分成有限大小的“buckets”&#xff0c;我们可以在其上应用聚合计算&#xff08;ProcessWindowFunction&#xff0c;ReduceFunction&#xff0c;AggregateFunction或FoldFunction&#xff09;等。在Fl…

【java安全】无Commons-Collections的Shiro550反序列化利用

文章目录 【java安全】无Commons-Collections的Shiro550反序列化利用Shiro550利用的难点CommonsBeanutils1是否可以Shiro中&#xff1f;什么是serialVersionUID&#xff1f;W 无依赖的Shiro反序列化利用链POC 【java安全】无Commons-Collections的Shiro550反序列化利用 Shiro5…

整数拆分——力扣343

文章目录 题目描述法一 动态规划法二 动态规划优化法三 数学 题目描述 法一 动态规划 int integerBreak(int n) {vector<int> dp(n1);for(int i2;i<n;i){int curMax 0;for(int j1;j<i;j){curMax max(curMax, max(j*(i-j), j*dp[i-j]));}dp[i] curMax;} return d…

AI赋能转型升级 助力打造“数智辽宁”——首次大模型研讨沙龙在沈成功举行

当前&#xff0c;以“ChatGPT”为代表的大模型正在引领新一轮全球人工智能技术发展浪潮&#xff0c;推动人工智能从以专用小模型定制训练为主的“手工作坊时代”&#xff0c;迈入以通用大模型预训练为主的“工业化时代”&#xff0c;正不断加速实体经济智能化升级&#xff0c;深…

量子机器学习解决方案新鲜出炉!Rigetti和ADIALab签署合作

​ &#xff08;图片来源&#xff1a;网络&#xff09; 近日&#xff0c;美国全栈量子经典计算的先驱Rigetti Computing宣布与阿拉伯联合酋长国的ADIA Lab签署了合作协议&#xff0c;双方将共同设计、构建、运行和优化量子计算解决方案&#xff0c;旨在解决概率分布分类问题&am…

spring通过文件属性注入bean和基于xml的bean的自动装配以及spring-eel表达式的使用加代码合集

&#x1f600;前言 本章是spring基于XML 配置bean系类中第7篇讲解spring通过文件属性注入bean和基于xml的bean的自动装配以及spring-eel表达式的使用加代码合集 &#x1f3e0;个人主页&#xff1a;尘觉主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是尘觉&…

echarts图表渐变色 + 每个柱子不同颜色设置

echarts柱状图&#xff0c;默认所有柱子都是同一个颜色&#xff0c;显示效果差强人意&#xff0c;本文介绍如果修改成为每个柱子添加不同的颜色&#xff0c;以及如何添加渐变色&#xff0c;丰富图表的显示鲜果。先看效果&#xff1a; 每个柱子颜色不同 每个柱子都有自己的渐变…

Redis的缓存穿透、缓存击穿和缓存雪崩

目录 一、解释说明 二、缓存穿透 1. 什么是缓存穿透&#xff1f; 2. 常见的两种解决方案 &#xff08;1&#xff09;缓存空对象 &#xff08;2&#xff09;布隆过滤 3. 编码解决商品查询的缓存穿透问题 三、缓存雪崩 1. 什么是缓存雪崩&#xff1f; 2. 缓存雪崩解决方…

力扣 416. 分割等和子集

题目来源&#xff1a;https://leetcode.cn/problems/partition-equal-subset-sum/description/ C题解&#xff08;思路来源代码随想录&#xff09; &#xff1a; 背包问题有多种背包方式&#xff0c;常见的有&#xff1a;01背包、完全背包、多重背包、分组背包和混合背包等等。…

Prometheus实现系统监控报警邮件

Prometheus实现系统监控报警邮件 简介 Prometheus将数据采集和报警分成了两个模块。报警规则配置在Prometheus Servers上&#xff0c; 然后发送报警信息到AlertManger&#xff0c;然后我们的AlertManager就来管理这些报警信息&#xff0c;聚合报警信息过后通过email、PagerDu…

linux多线程

文章目录 linux多线程1. 相关概念1.1 线程概念详解线程 VS 进程线程的优点线程的缺点线程异常线程用途 1.2 页表详解 2. 线程控制2.0 POSIX线程库深入理解线程库使用C多线程接口在Linux环境创建多线程 深入理解线程id线程局部存储 2.1 线程的创建 - pthread_create线程创建时参…

计算机毕设 深度学习疫情社交安全距离检测算法 - python opencv cnn

文章目录 0 前言1 课题背景2 实现效果3 相关技术3.1 YOLOV43.2 基于 DeepSort 算法的行人跟踪 4 最后 0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要求&#xff0c;这两…

OC与Swift的相互调用

OC调用Swift方法 1、在 Build Settings 搜索 Packaging &#xff0c;设置 Defines Module 为 YES 2、新建 LottieBridge.swift 文件&#xff0c;自动生成桥 ProductName-Bridging-Header.h 3、在 LottieBridge.swift 中&#xff0c;定义Swift类继承于OC类&#xff0c;声明 obj…

Postgresql源码(109)并行框架实例与分析

1 PostgreSQL并行参数 系统参数 系统总worker限制&#xff1a;max_worker_processes 默认8 系统总并发限制&#xff1a;max_parallel_workers 默认8 单Query限制&#xff1a;max_parallel_workers_per_gather 默认2 表参数限制&#xff1a;parallel_workers alter table tbl …