Linux 网络接口管理
为了更深入的了解linux系统,为此做出网络接口管理的知识总结。看起来麻烦,其实一点都不难,相信多看多了解总会是没错的!❤️❤️
一起加油吧!✨✨🎉🎉
文章目录
- 前言
- 一、网络配置的文件介绍
- 二、网卡配置文件
- 三、本地域名解析文件
- 四、DNS解析文件
- 五、主机名配置文件
- 六、常用网络命令
前言
Linux 网络接口管理涵盖了对Linux操作系统中各种网络接口的配置、监控和故障排查等工作。网络接口是操作系统与物理或虚拟网络设备交互的通道,负责发送和接收数据包。
提示:以下是本篇文章正文内容,下面案例可供参考
一、网络配置的文件介绍
Linux 网络配置涉及到多个核心配置文件,以下是主要的几个配置文件及其用途:
| 配置文件 | 作用 |
|---|---|
/etc/sysconfig/network-scripts/ifcfg-ethX | 系统网络设备配置文件,ethX 是网络接口的名字,如 ifcfg-eth0 表示第一块以太网卡的配置 |
| /etc/sysconfig/network | 全局网络配置文件,这个文件用来配置全局网络设置,例如主机名(HOSTNAME)和默认网关(GATEWAY) |
| /etc/resolv.conf | 域名解析配置文件,用于设置DNS客户端的相关配置,包括DNS服务器的IP地址(nameserver),以及可能的DNS搜索域(search) |
| /etc/hosts | 主机名映射文件,此文件中定义了主机名与IP地址的静态映射,当系统需要解析主机名时,首先会查找这个文件 |
| /etc/networks | 网络名和网络地址映射文件,定义网络名与其对应的网络地址的映射,不过在很多现代Linux发行版中,这个文件的使用不如以前那么常见 |
| /etc/network/interfaces | Debian/Ubuntu系列系统中的网络配置文件,在 Debian 及其衍生版本(如 Ubuntu)中,这是用来配置网络接口的主要文件,定义了接口的启动模式和详细参数 |
| /etc/hostname | 主机名配置文件,用于存储当前系统的主机名,重启后生效 |
| /etc/modprobe.d/ | 目录下的配置文件可能会影响到网络模块加载时的参数设置 |
| /etc/sysctl.conf | 系统级的网络和系统参数配置文件,可以调整内核级别的网络行为 |
需要注意的是,不同的Linux发行版可能会有不同的配置方式和文件结构,例如Systemd系统中,网络配置可能更多地依赖于"netplan"或"netctl"这样的新工具,而不再直接编辑上述传统的文本配置文件。
二、网卡配置文件
网卡配置文件主要用于定义网络接口卡(NIC)的各种参数,以便系统正确配置和启动网络服务。不同Linux发行版有不同的配置方式和文件位置。
-
System V init脚本的传统配置方式(如Red Hat Enterprise Linux/CentOS/Fedora系列):
网卡配置文件通常位于
/etc/sysconfig/network-scripts/ifcfg-<interface>目录下,其中<interface>时网卡名称,如ifcfg-eth0或ifcfg-ens33,该文件包含了网卡的IP地址、子网掩码、网关、DNS服务器等信息以及启动选项等配置项。
例如:
# 网卡基本信息
DEVICE=eth0 # 网络设备名,这里为eth0
TYPE=Ethernet # 网络类型,一般为以太网
UUID=<some-uuid> # 网卡的唯一标识符# 启动与管理
ONBOOT=yes # 是否在系统启动时启动此网卡
NM_CONTROLLED=yes # 是否由NetworkManager管理(如果是CentOS/RHEL 7+,这通常是默认配置)# IP地址配置
BOOTPROTO=dhcp # 地址获取方式,可选dhcp(动态)、static(静态)、none等
IPADDR=192.168.1.100 # 当BOOTPROTO=static时,设置静态IP地址
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.1.1 # 默认网关# DNS配置
DNS1=8.8.8.8 # 第一个DNS服务器地址
DNS2=8.8.4.4 # 第二个DNS服务器地址# IPv6相关设置
IPV6INIT=yes # 是否启用IPv6
IPV6_AUTOCONF=yes # 是否自动配置IPv6地址
IPV6ADDR=2001:db8::1 # 当配置静态IPv6地址时使用# 其他高级设置
PEERDNS=no # 是否在DHCP过程中接受DHCP服务器提供的DNS服务器信息
DOMAIN=mydomain.local # DNS搜索域
USERCTL=no # 是否允许非root用户控制该设备
MTU=1500 # 最大传输单元(默认通常是1500字节)
| 参数 | 作用 |
|---|---|
| TYPE=Ethernet | 指定网络接口类型为以太网 |
| PROXY_METHOD=none | 表示不使用任何代理方法 |
| BROWSER_ONLY=no | 不仅限于作为浏览器使用的网络接口 |
| BOOTPROTO | dhcp启动时通过DHCP协议自动获取IP地址、子网掩码、网关和DNS服务器等信息。static手动配置静态IP地址。none无协议,通常与手动分配静态IP地址一起使用 |
| DEFROUTE=yes | 是否使用此接口作为默认路由 |
| PEERNDNS=yes | 网络启动后加载的DNS服务器的读取位置 |
| 1IPV4_FAILURE_FATAL=no | 如果IPv4配置失败,是否认为是致命错误(yes表示是,no表示不是,系统将继续尝试启动其他网络接口) |
| IPV6INIT=yes | 是否初始化IPv6支持 |
| IPV6_AUTOCONF=yes | 是否允许自动配置IPv6地址(如通过RA消息) |
| IPV6_DEFROUTE=yes | 是否将此接口设为IPv6的默认路由 |
| IPV6_FAILURE_FATAL=no | 类似于IPv4_FAILURE_FATAL,但针对IPv6 |
| NAME=ens33 | 网络接口的名称 |
| UUID=… | 网络接口的唯一标识符 |
| DEVICE=ens33 | 设备名称,与NAME相同,指代具体的硬件接口 |
| ONBOOT=yes | 是否在系统启动时自动启动此网络接口 |
| IPADDR=192.168.2.121 | 静态分配给该接口的IPv4地址 |
| NETMASK=255.255.255.0 | 子网掩码,用于定义网络的大小 |
| GATEWAY=192.168.2.1 | 默认网关地址,用于将非本网段的数据包转发至路由器 |
| DNS1=8.8.8.8 | 主DNS服务器地址 |
网络重启命令:
systemctl restart network.service # 对于较早的系统
systemctl restart NetworkManager # 对于使用NetworkManager的系统
systemctl restart networking # 对于一些不使用NetworkManager的传统系统
对指定接口重启
ip link set dev ens33 down && ip link set dev ens33 up # 新式命令行方式
ifdown ens33 && ifup ens33 # 对于传统sysvinit方式
三、本地域名解析文件
本地域名解析文件主要是指 /etc/hosts 文件,它是系统内置的一个静态主机名到IP地址的映射表。当系统需要解析一个域名时,它会首先检查 /etc/hosts 文件中的记录,然后再去查询DNS服务器。这意味着在 /etc/hosts 中添加的条目可以覆盖DNS服务器的解析结果,从而实现本地化的、独立于外部DNS服务器的域名解析。

四、DNS解析文件
DNS解析主要不是通过单一的“解析文件”来进行的,而是通过一系列的配置文件和系统服务共同协作来完成。其中,设置DNS服务器地址以及影响域名解析过程的配置文件是 /etc/resolv.conf 。
| 参数 | 作用 |
|---|---|
| nameserver | 指定DNS服务器的IP地址,系统按列出的顺序依次查询DNS请求 |
| domain | 设定本地域名,这对于DNS查询中的未完全限定域名(FQDN)补全有一定作用 |
| search | 指定DNS搜索域列表,当主机名没有指定完全域名时,系统会自动加上这些搜索域进行查询 |
| options | 可以设定一些全局的DNS解析选项 |

五、主机名配置文件
主机名配置文件主要是 /etc/hostname 。这个文件用来存储系统的静态主机名,即不依赖于网络环境的本地主机名。
#更改主机名
hostnamectl set-hostname redhat.example.com
#刷新
bash
#查看主机名
hostname
六、常用网络命令
在Linux系统中,网络接口管理涉及多种网络命令,以下是一些常用的命令及其应用场景:
| 命令 | 作用 |
|---|---|
| ifconfig | 查看、配置网络接口的IP地址、子网掩码、广播地址等信息。例如:查看所有网络接口信息:ifconfig -a、配置IP地址:sudo ifconfig eth0 192.168.1.1 netmask 255.255.255.0和启用或禁用网络接口:sudo ifconfig eth0 up/down等 |
| ip | 更为强大的网络配置和管理工具,可用于查看、配置网络接口、路由表、邻居(ARP表)等。查看所有网络接口信息:ip addr show、 配置IP地址:sudo ip addr add 192.168.1.1/24 dev eth0和 启用或禁用网络接口:sudo ip link set eth0 up/down |
| ping | 测试网络连通性,通过发送ICMP Echo Request报文检查目标主机是否可达。如:ping www.example.com |
| traceroute | 追踪数据包到达目的地经过的所有路由器或网关。如:traceroute www.example.com |
| route | 查看、操作路由表。如:route -n 查看路由表;route add/delete 添加或删除路由。 |
| netstat | 查看网络连接、路由表、网络接口统计信息、打开的端口等。如:查看所有TCP连接:netstat -t、查看所有监听的端口:netstat -lntu 和 查看路由表:netstat -rn |
| ss | 类似于netstat,但是提供更高效、更精确的socket统计信息。如:查看类似netstat -tln的结果:ss -tln 和 查看TCP连接状态:ss -t states |
| ethtool | 获取和设置网络接口卡(NIC)的高级属性,如速度、双工模式、驱动信息等。如:ethtool eth0 |
| nmcli (NetworkManager CLI) | 在使用NetworkManager管理网络服务的系统中,通过命令行管理网络连接、无线网络等。如:查看网络连接:nmcli connection show |
| hostname | 查看或临时修改主机名。hostname 显示当前主机名;hostnamectl set-hostname newhostname 修改主机名。 |
相关文章:
Linux 网络接口管理
为了更深入的了解linux系统,为此做出网络接口管理的知识总结。看起来麻烦,其实一点都不难,相信多看多了解总会是没错的!❤️❤️ 一起加油吧!✨✨🎉🎉 文章目录 前言一、网络配置的文件介绍二、…...
【设计模式】Java 设计模式之模板策略模式(Strategy)
策略模式详解:模式结构、实现与应用场景 一、策略模式概述 策略模式是一种行为设计模式,它使得算法可以独立于使用它的客户端变化。策略模式使得算法可以在运行时切换,从而增强了系统的灵活性和可维护性。在策略模式中,我们定义…...
SpringBoot项目前端Vue访问后端(图片静态资源) 配置
静态资源配置 Configuration public class WebMvcConfig extends WebMvcConfigurationSupport {Value("${file.save-path}")private String fileSavePath;Overrideprotected void addResourceHandlers(ResourceHandlerRegistry registry) {//映射本地文件夹registry…...
colab中数据集保存到drive与取出的方法
from google.colab import drive drive.mount(/content/drive) 一、下载数据集 from datasets import load_dataset max_length 32 # Maximum length of the captions in tokens coco_dataset_ratio 50 # 50% of the COCO2014 dataset# Load the COCO2014 dataset for tr…...
React 应该如何学习?
学习 React 是现代 Web 前端开发中的重要一步,因为它是一个流行且强大的 JavaScript 库,用于构建用户界面。React 的学习过程需要掌握一系列的概念、技术和最佳实践。 1. 基础知识 1.1 HTML、CSS 和 JavaScript React 本质上是一个 JavaScript 库&…...
跨平台无缝操作:ShareMouse让多电脑协同更高效
ShareMouse是一款功能强大的鼠标和键盘共享软件,它支持多台计算机之间的无缝连接,让用户能够通过一套键鼠设备轻松控制多台电脑,提高工作效率。此外,ShareMouse还具备剪贴板共享、文件拖放等功能,实现不同计算机间的便…...
Vue使用pandoc-wasm进行各格式转换
前端使用pandoc-wasm的问题和建议 docx转md npm install --save pandoc-wasmimport { Pandoc } from "pandoc-wasm";const pandoc new Pandoc()pandoc.init().then(async (pandoc) > {const result await pandoc.run({text: "Some input text",opti…...
springboot284基于HTML5的问卷调查系统的设计与实现
问卷调查系统的设计与实现 摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理,然而,随着近些年信息技术的迅猛发展,让许多比较老套的信息管理模式进行了更新迭代,问卷信息因为其管理内容繁杂,管理数量繁多导…...
AI短视频制作一本通:文本生成视频、图片生成视频、视频生成视频
第一部分:文本生成视频 1. 文本生成视频概述 随着人工智能(AI)技术的飞速发展,视频制作领域也迎来了创新的浪潮。文本生成视频是其中的一项令人激动的进展,它利用自然语言处理技术将文本内容转化为视频。这项技术在广…...
详谈分布式事务
目录 前言 1.sharding的分布式事务 2.分布式事务的产生原因 3.分布式事务的解决方案 3.1.DTP模型 3.2.分阶段提交 3.3.TCC模式 3.4.可靠消息服务 3.5.AT模式 3.6.Seata 前言 本文是前面一篇文章聊了基于sharding的分库分表后拓展出来的关于分布式事务的讨论…...
Java基础知识八股
1.为什么静态方法无法调用非静态方法? 回答:因为静态方法是随着类的加载而加载,而非静态方法则是随着类的实例化才会被加载,生存周期不一样,所以静态方法的生命周期更长 2.Java–内部类持有外部类导致内存泄露的原因和…...
【Linux】网络基础一
网络基础一 1.计算机网络背景1.1 网络发展1.2 认识 “协议” 2.网络协议初识2.1 协议分层2.2 OSI七层模型2.3 TCP/IP五层(或四层)模型 3. 网络传输基本流程3.1 网络传输流程图 4.数据包封装和分用5.网络中的地址管理 从今天开始我们将要从系统横跨到网络的学习了,因…...
Redis-2 Redis基础数据类型与基本使用
高级Redis应用进阶 一站式Redis解决方案-Redis-2 Redis基础数据类型与基本使用 源代码在GitHub - 629y/food-social-contact-parent: redis项目-美食社交APP 1. Redis基本数据类型 1.字符串(strings) set username zhangsan get username mset age 18 …...
python提取身份证中的生日和性别
1.代码 def sfzAnalysis(idNum):#检查身份证长度是否正确if len(idNum)!18:raise ValueError("身份证号码长度不正确,请输入一个18位的身份证号码。")#raise关键字在Python中有多种用途,主要涉及异常的抛出和错误处理#提取出生日期year idN…...
opencv 傅里叶变换(低通滤波 + 高通滤波)
文章目录 1、傅里叶变换2、通过numpy实现3、高通滤波器5、通过opencv实现傅里叶变换6、低通滤波器7、C实现傅里叶变换 1、傅里叶变换 时域分析:以时间作为参照物,世间万物都是随着时间变化而变化,并且不会停止 频域分析:认为世间万…...
Educational Codeforces Round 163 (Rated for Div. 2)(A,B,C,D,E)
比赛链接 好忙好忙好忙,慢慢补老比赛的题解了。 这场没啥算法,全是思维。有也是BFS,屎。 A. Special Characters 题意: 您将得到一个整数 n n n 。 您的任务是构建一串大写的拉丁字母。此字符串中必须正好有 n n n 个特殊字…...
索引常见面试题
面试中,MySQL 索引相关的问题基本都是一系列问题,都是先从索引的基本原理,再到索引的使用场景,比如: 索引底层使用了什么数据结构和算法?为什么 MySQL InnoDB 选择 Btree 作为索引的数据结构?什…...
【Unity】旋转的尽头是使用四元数让物体旋转
// 导入必要的命名空间 using System.Collections; using System.Collections.Generic; using UnityEngine;// 创建一个名为 RotateObj 的 MonoBehaviour 类,该类可以附加到 Unity 中的游戏对象上并控制其行为 public class RotateObj : MonoBehaviour {// Update 函…...
哔哩哔哩秋招Java二面
前言 作者:晓宜 个人简介:互联网大厂Java准入职,阿里云专家博主,csdn后端优质创作者,算法爱好者 一面过后面试官叫我别走,然后就直接二面,二面比较简短,记录一下,希望可以…...
OSPF特殊区域(stub\nssa)
stub区域——只有1类、2类、3类;完全stub区域——只有1类、2类 NSSA区域:本区域将自己引入的外部路由发布给其他区域,但不需要接收其他区域的路由 在NSSA区域的路由器上,引入外部路由时,不会转换成5类LSA,…...
保姆级避坑指南:Redmi AC2100刷Breed和固件时,你可能遇到的5个‘坑’及解决方法
Redmi AC2100刷机实战:5个高频翻车点与深度救援方案 当你盯着论坛里那些"一次成功"的刷机帖时,可能没想到自己会卡在某个莫名其妙的环节。作为刷过三十多台AC2100的老玩家,我见过太多人在相同的地方跌倒——Stok码突然失效、Breed界…...
5分钟搞定Unity游戏自动翻译:XUnity.AutoTranslator完整使用指南
5分钟搞定Unity游戏自动翻译:XUnity.AutoTranslator完整使用指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为语言障碍无法畅玩海外Unity游戏而烦恼吗?XUnity.AutoTransl…...
从特征提取到微调:为什么你的BERT在MELD情感分类上效果差?我来帮你诊断
从特征提取到微调:为什么你的BERT在MELD情感分类上效果差?我来帮你诊断 当你第一次尝试用BERT处理MELD情感分类任务时,是否遇到过这样的困惑:明明使用了强大的预训练模型,F1分数却比论文报告的低了10%甚至更多…...
别再只调printf了!手把手教你用HI3861的UART1和PC串口助手通信(附完整代码)
HI3861实战:从日志打印到双向通信的UART1深度开发指南 在物联网设备开发中,UART串口通信就像设备间的"普通话"——简单、通用且无处不在。但很多开发者对它的认知停留在printf调试阶段,这就像只学会了用"你好"打招呼&…...
【C# 14 原生 AOT 生产级部署实战】:Dify 客户端零依赖发布、启动速度提升300%、内存占用降低65%的7大硬核步骤
第一章:C# 14 原生 AOT 部署 Dify 客户端的生产级价值全景图C# 14 原生 AOT(Ahead-of-Time)编译能力与 Dify 开源大模型应用平台的深度协同,正在重塑企业级 AI 客户端交付范式。相比传统 JIT 部署,AOT 编译生成的单文件…...
中兴C69E OLT升级避坑指南:从FTP配置到板卡激活,手把手搞定V1.2.2固件
中兴C69E OLT升级实战手册:V1.2.2固件全流程操作与关键细节解析 深夜的机房警报声突然响起,监控大屏上闪烁着某台C69E OLT的异常状态。作为值班工程师,你很清楚这意味着什么——又到了与固件版本搏斗的时刻。中兴OLT设备升级从来不是简单的&…...
从论文排版到技术博客:Overleaf和Markdown中LaTeX数学公式的实战避坑指南
跨平台数学公式写作实战:Overleaf与Markdown的LaTeX避坑手册 数学公式是学术写作和技术文档中不可或缺的元素,但在不同平台上编写LaTeX公式时,总会遇到各种"水土不服"的问题。本文将深入剖析Overleaf专业编辑器与主流Markdown工具…...
调试LVDS屏别再只改代码了!从屏闪、白屏到触控漂移,三个实战问题背后的硬件时序原理
调试LVDS屏别再只改代码了!从屏闪、白屏到触控漂移,三个实战问题背后的硬件时序原理 当一块崭新的LVDS屏幕无法正常点亮时,大多数工程师的第一反应往往是翻查驱动代码,调整参数后重新编译烧录。这种"代码优先"的思维定式…...
2025届学术党必备的十大AI科研工具实际效果
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 通过人工智能用来撰写开题报告,能够明显提高文献梳理跟框架构建的效率ÿ…...
郭老师-守住财富的秘诀:心力比运气更重要
守住财富的秘诀:心力比运气更重要“你赚不到钱,更可怕的是你赚到了又赔回去。”🌪️ 为什么很多人守不住财富? 1. 误把运气当能力 案例一: 做电商赚了200万 → 贷款买商铺 → 租不出去 → 月供压垮 案例二:…...
