【Linux基础】Linux系统配置IP详解:从入门到精通

目录

1 Linux网络配置概述

2 网卡配置文件位置和命名规则

2.1 配置文件位置

2.2 网卡命名规则

2.3 配置文件命名示例

3 网卡配置文件详解

3.1 主要参数说明

4 Linux系统配置IP步骤

4.1 DHCP动态配置

4.2 静态IP配置

5 Linux网络配置流程

5.1 网络配置流程

5.2 网卡数据传输流程

6 概念解释

6.1 DHCP(动态主机配置协议)

6.2 静态IP vs 动态IP

6.3 子网掩码和网关

6.4 DNS(域名系统)

7 常见问题与解决方案

7.1 网络配置不生效

7.2 无法连接外网

7.3 多网卡配置

8 总结


1 Linux网络配置概述

在Linux系统中,网络配置是系统管理的基础技能。Linux支持多种网络配置方式,主要包括:
  • DHCP动态获取:自动从路由器或DHCP服务器获取IP地址
  • 静态IP配置:手动设置固定的IP地址、子网掩码、网关等
  • 命令行临时配置:使用ifconfig、ip等命令临时修改网络参数
不同的Linux发行版在网络配置文件的位置和格式上可能存在差异,但核心原理基本相同。

2 网卡配置文件位置和命名规则

2.1 配置文件位置

  • 在大多数Linux发行版(如CentOS、RHEL等)中,网卡配置文件通常位于:
/etc/sysconfig/network-scripts/

2.2 网卡命名规则

Linux系统中的网卡命名遵循一定的规则:
  • 传统命名:eth0、eth1、eth2...(eth0表示第一块网卡,eth1表示第二块网卡,依次类推)
  • CentOS 7+新命名:eno16777736、ens33等(基于硬件信息生成)
  • DELL R720示例:标配有4千兆网卡,在系统中的名称依次为:eth0、eth1、eth2、eth3

2.3 配置文件命名示例

  • 第一块网卡:ifcfg-eth0 或 ifcfg-eno16777736
  • 第二块网卡:ifcfg-eth1 或 ifcfg-ens33
  • 第三块网卡:ifcfg-eth2 或 ifcfg-ens34

3 网卡配置文件详解

  • 网卡配置文件是一个文本文件,包含各种网络参数。以下是一个典型的配置文件示例:
# 网卡设备名称
DEVICE=eth0# 获取IP地址的方式
# dhcp: 动态获取
# static/none: 静态IP
BOOTPROTO=dhcp# 硬件MAC地址
HWADDR=00:0c:29:52:c7:4e# 系统启动时是否激活此网卡
ONBOOT=yes# 网卡类型
TYPE=Ethernet# IP地址(静态配置时使用)
IPADDR=192.168.1.100# 子网掩码
NETMASK=255.255.255.0# 默认网关
GATEWAY=192.168.1.1# DNS服务器
DNS1=8.8.8.8
DNS2=114.114.114.1# 网络前缀长度(替代NETMASK)
PREFIX=24# UUID(系统自动生成)
UUID=50eff37c-72b4-407a-a3ee-9ef8ca746b95

3.1 主要参数说明

参数

说明

可选值

DEVICE

网卡设备名称

eth0, eth1, ens33等

BOOTPROTO

获取IP地址的方式

dhcp, static, none

ONBOOT

系统启动时是否激活

yes, no

TYPE

网卡类型

Ethernet, Bridge

IPADDR

IP地址

IPv4地址

NETMASK

子网掩码

如255.255.255.0

PREFIX

子网前缀长度

如24(等同于255.255.255.0)

GATEWAY

默认网关

网关IP地址

DNS1/DNS2

DNS服务器

DNS服务器IP地址

HWADDR

硬件MAC地址

MAC地址字符串

4 Linux系统配置IP步骤

4.1 DHCP动态配置

DHCP(动态主机配置协议)是最简单的网络配置方式,系统会自动从网络中的DHCP服务器获取IP地址配置。
配置步骤:
  • 进入网卡配置目录
cd /etc/sysconfig/network-scripts/
  • 编辑网卡配置文件
vi ifcfg-eth0
  • 修改配置参数
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet
  • 保存并退出
:wq
  • 重启网络服务
systemctl restart network
  • 验证配置
ip addr show eth0

4.2 静态IP配置

静态IP配置适用于需要固定IP地址的场景,如服务器、网络设备等。
配置步骤:
  • 进入网卡配置目录
cd /etc/sysconfig/network-scripts/
  • 编辑网卡配置文件
vi ifcfg-eth0
  • 修改配置参数
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=114.114.114.1
  • 保存并退出
:wq
  • 重启网络服务
systemctl restart network
  • 验证配置
ip addr show eth0 
ping 8.8.8.8

5 Linux网络配置流程

5.1 网络配置流程

5.2 网卡数据传输流程

6 概念解释

6.1 DHCP(动态主机配置协议)

DHCP是一种网络协议,用于自动分配IP地址和其他网络配置参数给网络中的设备。DHCP服务器维护一个IP地址池,当客户端请求时,从中分配一个可用的IP地址。

6.2 静态IP vs 动态IP

  • 静态IP:手动分配固定的IP地址,适用于服务器、网络设备等需要固定地址的场景
  • 动态IP:通过DHCP自动获取IP地址,适用于客户端设备,便于管理

6.3 子网掩码和网关

  • 子网掩码:用于区分网络地址和主机地址,如255.255.255.0表示前24位为网络地址
  • 网关:网络中的路由器地址,用于连接不同网络,实现跨网通信

6.4 DNS(域名系统)

DNS用于将域名(如www.google.com)解析为IP地址,是互联网的基础服务之一。

7 常见问题与解决方案

7.1 网络配置不生效

问题:修改配置文件后,网络配置不生效。
解决方案
  • 检查配置文件语法是否正确
  • 确认网卡名称是否正确
  • 重启网络服务:systemctl restart network
  • 检查NetworkManager服务是否冲突

7.2 无法连接外网

问题:配置了静态IP,但无法访问外网。
解决方案
  • 检查网关配置是否正确
  • 检查DNS配置是否正确
  • 检查防火墙设置
  • 使用ping命令测试网络连通性

7.3 多网卡配置

问题:服务器有多块网卡,需要配置不同的网络参数。
解决方案
  • 为每块网卡创建独立的配置文件
  • 确保每块网卡的DEVICE参数正确
  • 根据需要配置路由规则

8 总结

Linux网络配置是系统管理的基础技能,掌握这些知识将有助于更好地管理和维护Linux系统。在实际工作中,建议根据具体需求选择合适的配置方式,并定期检查网络配置的合理性。

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

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

相关文章

C语言sprintf的高效替代方案

C语言的sprintf和snprintf将变量格式化输出到内存buffer,其功能强大,用起来很方便。但sprintf系列函数的运行效率低下,主要包括四方面的原因:格式字符串解析、变参处理、locale(本地化)支持和通用&#xff…

【知识堂】制造业与物流数字化全景图:系统缩写大全与专业名词速查手册

前言在制造业和物流行业的数字化转型过程中,我们经常会接触到大量的 系统缩写(如 ERP、MES、WMS…)和 专业名词(如 AGV、BOM、LOT…)。 这些缩写往往让刚入行的人“一头雾水”,即使是有经验的从业者&#x…

利用JSONCrack与cpolar提升数据可视化及跨团队协作效率

文章目录前言1. 在Linux上使用Docker安装JSONCrack2. 安装Cpolar内网穿透工具3. 配置JSON Crack界面公网地址4. 远程访问 JSONCrack 界面5. 固定 JSONCrack公网地址前言 JSONCrack 是一款功能强大的开源数据可视化工具,专为解析和展示复杂的 JSON、XML 等结构化数据…

CANoe入门之一 CANoe功能概述

01 CANoe功能概述 CANoe软件在汽车电子领域被广泛应用。 CANoe软件的全称是CAN Open Environment,它是一个专业的系统级总线和ECU仿真、分析、开发、测试工具。支持ECU或总线网络开发从需求分析到系统实现的全过程,包括模型创建、仿真、测试、诊断及通信…

项目管理核心八项(软件篇)

2025年09月11日23:50:33:进来常思,写代码也五六年了,后面的路该何去何从呢? 项目管理核心八项一、项目管理之“建立开发人员 backup 机制”二、待补充一、项目管理之“建立开发人员 backup 机制” “建立开发人员 backup 机制” 是…

springboot redisson 分布式锁入门与实战

Spring Boot3 Redisson 项目地址 https://gitee.com/supervol/loong-springboot-study (记得给个start,感谢) Redisson 介绍 在分布式系统中,多节点部署的应用对共享资源(如数据库记录、缓存键、文件)的…

使用 Tkinter + Requests 实现地理信息安全系统学习时长助手

✨重磅!盹猫的个人小站正式上线啦~诚邀各位技术大佬前来探秘!✨ 这里有: 硬核技术干货:编程技巧、开发经验、踩坑指南,带你解锁技术新姿势!趣味开发日常:代码背后的脑洞故事、工具…

构建一个优雅的待办事项应用:现代JavaScript实践

构建一个优雅的待办事项应用:现代JavaScript实践本文将介绍如何使用现代JavaScript(ES6)和DOM操作创建一个功能完整的待办事项应用,无需任何外部库或框架。功能概述添加新任务标记任务为完成/未完成编辑任务内容删除任务过滤任务&…

【数据可视化-111】93大阅兵后的军费开支情况———2024年全球军费开支分析:用Python和Pyecharts打造炫酷可视化大屏

🧑 博主简介:曾任某智慧城市类企业算法总监,目前在美国市场的物流公司从事高级算法工程师一职,深耕人工智能领域,精通python数据挖掘、可视化、机器学习等,发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…

3.2.Maven-概述-介绍安装

一.介绍:二.安装:Maven的安装比较简单,因为他是绿色版的软件,官方给我们提供Maven的安装包就是一个zip压缩包,在进行Maven安装以及配置的时候,主要进行如下4步操作:第一步:把官方提供…

Kafka面试精讲 Day 14:集群扩容与数据迁移

【Kafka面试精讲 Day 14】集群扩容与数据迁移 在“Kafka面试精讲”系列的第14天,我们将深入探讨 Kafka 运维中最关键的操作之一:集群扩容与数据迁移。随着业务增长,原始 Kafka 集群可能面临磁盘不足、吞吐瓶颈或节点负载不均等问题&#xff…

字节一面 面经(补充版)

什么是RabbitMQ,特点是什么怎么理解保障消息的一致性String、StringBuffer、StringBuilder解释一下线程安全先操作数据库再删缓存还是先删缓存再操作数据库这种办法能杜绝数据不一致问题吗解释一下AOP介绍Redis的特点(Redis比较快)Redis为什么…

【MFC】对话框属性:Absolute Align(绝对对齐)

前言 本文介绍对话框属性中的Absolute Align(绝对对齐),同时给出相关示例便于理解。 目录1 位置2 详解3 示例1 位置 首先介绍一下这个属性在哪里。 在资源视图中双击对话框节点,打开该对话框; 鼠标右键工作区空白处,单击属性&…

【从0开始学习Java | 第17篇】集合(中-Set部分)

文章目录Java集合之Set:无序不重复的元素容器一、Set接口的核心特性二、常用实现类及底层原理1. HashSet:基于哈希表的高效实现2. LinkedHashSet:保留插入顺序的哈希实现3. TreeSet:基于红黑树的排序实现三、实现类对比与选择建议…

玩转Docker | 使用Docker部署dufs文件管理工具

玩转Docker | 使用Docker部署dufs文件管理工具 前言 一、 dufs介绍 Dufs简介 核心特性 📁 静态文件服务 💾 文件夹打包下载 📤 拖拽上传文件/文件夹 ✏️ 文件在线创建、编辑与搜索 ⏳ 断点续传与部分传输 🔐 细粒度访问控制 🔒 HTTPS 安全传输 🌐 WebDAV 兼容支持…

【混合开发】vue+Android、iPhone、鸿蒙、win、macOS、Linux之android 把assert里的dist.zip 包解压到sd卡里

一图胜千言 上一篇有 <!-- 读写外部存储 --> <uses-permission android:name"android.permission.WRITE_EXTERNAL_STORAGE"android:maxSdkVersion"28"/> <uses-permission android:name"android.permission.READ_EXTERNAL_STORAGE&qu…

线程的创建.销毁

线程线程的创建在 C 中&#xff0c;线程的创建核心是通过std::thread类实现的&#xff0c;其构造函数需要传入一个可调用对象&#xff08;Callable Object&#xff09;作为线程入口。可调用对象包括普通函数、lambda 表达式、函数对象&#xff08;functor&#xff09;、类的成员…

MySQL基础全面解析

MySQL作为最流行的关系型数据库管理系统之一&#xff0c;是每一位开发者必备的核心技能。本文将系统性地解析MySQL的基础知识&#xff0c;结合关键概念与实战应用&#xff0c;帮助您构建扎实的数据库基础。1. SQL与NoSQL的本质区别SQL&#xff08;结构化查询语言&#xff09;数…

4、幽络源微服务项目实战:后端公共模块创建与引入多租户模块

前言 上节我们将电网巡检系统的前端vue2项目创建、配置&#xff0c;并构建了最基础的多租户界面&#xff0c;本节来继续构建后端的公共模块、多租户模块&#xff0c;并将公共模块引入到多租户模块中。 创建公共模块和多租户模块 在back父工程下创建两个Module&#xff0c;和…

STM32学习路线开启篇:芯片简介与课程简介

编写不易,请多多指教,觉得不错可以关注一下,相互学习 前言 一、课程配套资源 1、面包板 2、面包板专用的跳线 3、面包板的飞线 4、杜邦线 5、STM32F103C8T6最小系统板 6、0.96寸的OLED显示屏模块 7、电位器 8、按钮 9、LED灯 10、STLINK 11、USB转串口(TTL)模块 12、源蜂鸣器模…