【Linux基础知识系列】第八篇-基本网络配置

网络配置是Linux系统维护中重要的一部分,正确配置网络能够确保系统与其他设备的有效连接。在本篇文章中,我们将探讨Linux系统中的基本网络配置,包括网络接口的管理、IP地址的设置,以及使用pingtraceroute命令进行网络诊断。通过这些内容,读者可以深入了解网络配置的基本原理和实践。

一、Linux中的网络接口

1. 什么是网络接口?

网络接口是计算机与网络之间的连接点。每个网络接口都有一个唯一的标识符(如IP地址),用于在网络中进行识别和通信。Linux系统支持多种网络接口类型,包括以太网、无线网络和虚拟网络接口。

2. 查看当前网络接口

在Linux中,可以使用ip命令查看当前系统的网络接口及其状态。输入以下命令:

bash

ip addr show

或者使用更简单的命令:

bash

ip a

输出示例:

sql

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000

    link/ether 08:00:27:5e:3e:98 brd ff:ff:ff:ff:ff:ff

    inet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic enp0s3

       valid_lft 86394sec preferred_lft 86394sec

在这个输出中:

  • enp0s3表示网络接口的名称。
  • inet 192.168.1.10/24表示IPv4地址和网络掩码。
  • state UP表示接口当前正在运行。

3. 启用和禁用网络接口

可以使用以下命令启用或禁用网络接口:

  • 启用接口:

bash

sudo ip link set enp0s3 up

  • 禁用接口:

bash

sudo ip link set enp0s3 down

确保将enp0s3替换为您的接口名称。

二、IP地址的设置

1. 静态IP地址配置

静态IP地址是指网络接口在每次重启时都会使用相同的IP地址。为网络接口设置静态IP地址可以通过以下步骤完成:

在Debian/Ubuntu系统中设置静态IP
  1. 编辑网络配置文件:

bash

sudo nano /etc/network/interfaces

  1. 添加以下内容(根据实际情况修改):

plaintext

auto enp0s3

iface enp0s3 inet static

    address 192.168.1.10    # 设置静态IP

    netmask 255.255.255.0   # 设置网络掩码

    gateway 192.168.1.1      # 设置默认网关

    dns-nameservers 8.8.8.8 # 设置DNS服务器

保存退出(按Ctrl + X,然后按Y确认)。

重新启动网络服务以应用更改:

bash

sudo systemctl restart networking

在CentOS/RHEL系统中设置静态IP
  1. 编辑网络配置文件:

bash

sudo nano /etc/sysconfig/network-scripts/ifcfg-enp0s3

  1. 添加或修改以下内容(根据实际情况修改):

plaintext

DEVICE=enp0s3

BOOTPROTO=none

ONBOOT=yes

IPADDR=192.168.1.10    # 设置静态IP

NETMASK=255.255.255.0  # 设置网络掩码

GATEWAY=192.168.1.1    # 设置默认网关

DNS1=8.8.8.8           # 设置DNS服务器

保存退出。

重新启动网络服务以应用更改:

bash

sudo systemctl restart network

2. 动态IP地址配置(使用DHCP)

动态IP地址是通过DHCP(动态主机配置协议)自动分配给网络接口的。大多数情况下,您只需确保网络接口配置为使用DHCP。

在Debian/Ubuntu系统中使用DHCP
  1. 编辑网络配置文件:

bash

sudo nano /etc/network/interfaces

  1. 修改以下内容:

plaintext

auto enp0s3

iface enp0s3 inet dhcp

保存退出。

重新启动网络服务:

bash

sudo systemctl restart networking

在CentOS/RHEL系统中使用DHCP
  1. 编辑网络配置文件:

bash

sudo nano /etc/sysconfig/network-scripts/ifcfg-enp0s3

  1. 修改为以下内容:

plaintext

DEVICE=enp0s3

BOOTPROTO=dhcp   # 使用DHCP

ONBOOT=yes

保存退出。

重新启动网络服务:

bash

sudo systemctl restart network

三、DNS服务器配置

DNS(域名系统)用于将域名解析为IP地址。正确配置DNS服务器能够提升网络访问的效率。

1. 设置DNS

您可以在您的网络配置文件中设置DNS服务器,也可以通过编辑/etc/resolv.conf文件来设置。

编辑/etc/resolv.conf
  1. 打开/etc/resolv.conf

bash

sudo nano /etc/resolv.conf

  1. 添加DNS服务器地址:

plaintext

nameserver 8.8.8.8  # Google Public DNS

nameserver 8.8.4.4  # Google Public DNS

  1. 保存并退出。

2. 持久化DNS配置

某些系统会在重启后覆盖/etc/resolv.conf,为了确保设置持久化,您可以在网络配置文件中指定DNS。

对于Debian/Ubuntu:

/etc/network/interfaces中加入:

plaintext

dns-nameservers 8.8.8.8

对于CentOS/RHEL:

/etc/sysconfig/network-scripts/ifcfg-enp0s3中加入:

plaintext

DNS1=8.8.8.8

DNS2=8.8.4.4

四、网络诊断工具

在配置网络后,使用一些命令行工具来进行网络诊断是很重要的。

1. 使用ping命令

ping命令用于测试网络连接情况,它通过向目标主机发送ICMP请求来检查目标主机是否可达。

bash

ping www.baidu.com

输出示例:

python

PING www.baidu.com (220.181.57.216) 56(84) bytes of data.64 bytes from 220.181.57.216: icmp_seq=1 ttl=56 time=10.5 ms

  • ttl表示生存时间,time表示往返时间。

Ctrl + C可停止ping命令的执行。

2. 使用traceroute命令

traceroute命令用于跟踪数据包从本地计算机到目标主机的路径。

bash

traceroute www.baidu.com

输出示例:

lua

traceroute to www.baidu.com (220.181.57.216), 30 hops max, 60 byte packets

 1  router.local (192.168.1.1)  10.12 ms  10.22 ms  10.33 ms

 2  10.0.0.1  20.12 ms  20.23 ms  20.34 ms

 3  220.181.57.216  30.12 ms  30.23 ms  30.34 ms

  • 每个跳数(hop)表示经过的路由器,帮助识别网络延迟的瓶颈。

3. 使用netstat命令

netstat命令用于显示网络连接、路由表、接口统计信息。

bash

netstat -tuln

  • -t:仅显示TCP连接。
  • -u:仅显示UDP连接。
  • -l:显示在监听状态的套接字。
  • -n:以数字格式显示地址。

输出示例:

css

Proto Recv-Q Send-Q Local Address           Foreign Address         State

tcp        0      0 0.0.0.0:22            0.0.0.0:*               LISTEN

五、网络配置的持久性

在Linux系统中,网络配置可以保持持久,确保在每次重启后自动应用设置。

1. 使用NetworkManager(适用于桌面环境)

大部分Linux桌面环境使用NetworkManager来管理网络连接。可以通过图形界面进行设置和监控。

在终端中,使用以下命令可查看和管理NetworkManager设置:

查看状态:

bash

nmcli general status

查看网络连接:

bash

nmcli connection show

使用CLI配置连接:

bash

nmcli connection add type ethernet ifname enp0s3 con-name my-connection autoconnect yes

2. 手动配置文件

如之前所述,编辑如/etc/network/interfaces/etc/sysconfig/network-scripts/ifcfg-*文件可以进行持久化配置。完成配置后,重启网络服务。

六、总结

在本篇文章中,我们深入探讨了Linux系统中的基本网络配置,包括网络接口的管理、IP地址的设置、DNS配置,以及通过pingtraceroute进行的网络诊断。理解这些基本概念和命令将帮助您高效地管理和排查网络问题。

良好的网络配置不仅能提高系统的安全性和稳定性,还有助于提升用户的工作效率。希望通过本篇文章的讲解,您能够掌握Linux网络配置的基本方法,并在实际操作中应用所学知识。

在接下来的系列文章中,我们将继续深入探索Linux的其他进阶功能,期待能帮助您更好地理解和使用这个强大的操作系统!

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

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

相关文章

React从基础入门到高级实战:React 高级主题 - React设计模式:提升代码架构的艺术

React设计模式&#xff1a;提升代码架构的艺术 引言 在React开发中&#xff0c;设计模式是构建可维护、可扩展和高性能应用的关键。随着应用复杂性的增加&#xff0c;掌握高级设计模式不仅是技术上的挑战&#xff0c;更是打造优雅架构的艺术。对于有经验的开发者而言&#xf…

Chrome书签的导出与导入:步骤图

Chrome书签的导出与导入&#xff1a;步骤图 步骤一&#xff1a;打开 Chrome。点击右上角的“更多”图标。依次选择书签 接着 书签管理器。 步骤二&#xff1a;在管理器中&#xff0c;点击“整理”菜单。 步骤三&#xff1a;选择导出书签。 步骤四&#xff1a;Chrome 会将您的…

PPO和GRPO算法

verl 是现在非常火的 rl 框架&#xff0c;而且已经支持了多个 rl 算法&#xff08;ppo、grpo 等等&#xff09;。 过去对 rl 的理解很粗浅&#xff08;只知道有好多个角色&#xff0c;有的更新权重&#xff0c;有的不更新&#xff09;&#xff0c;也曾硬着头皮看了一些论文和知…

PyTorch——优化器(9)

优化器根据梯度调整参数&#xff0c;以达到降低误差 import torch.optim import torchvision from torch import nn from torch.nn import Sequential, Conv2d, MaxPool2d, Flatten, Linear from torch.utils.data import DataLoader# 加载CIFAR10测试数据集&#xff0c;设置tr…

c++学习-this指针

1.基本概念 非静态成员函数都会默认传递this指针&#xff08;静态成员函数属于类本身&#xff0c;不属于某个实例对象&#xff09;&#xff0c;方便访问对象对类成员变量和 成员函数。 2.基本使用 编译器实际处理类成员函数&#xff0c;this是第一个隐藏的参数&#xff0c;类…

【Oracle】数据仓库

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. 数据仓库概述1.1 为什么需要数据仓库1.2 Oracle数据仓库架构1.3 Oracle数据仓库关键技术 2. 数据仓库建模2.1 维度建模基础2.2 星形模式设计2.3 雪花模式设计2.4 缓慢变化维度&#xff08;SCD&#xff09;处…

css-塞贝尔曲线

文章目录 1、定义2、使用和解释 1、定义 cubic-bezier() 函数定义了一个贝塞尔曲线(Cubic Bezier)语法&#xff1a;cubic-bezier(x1,y1,x2,y2) 2、使用和解释 x1,y1,x2,y2&#xff0c;表示两个点的坐标P1(x1,y1),P2(x2,y2)将以一条直线放在范围只有 1 的坐标轴中&#xff0c;并…

函数式接口实现分页查询

你提供的 PageResult 类是一个非常完整、功能齐全的分页结果封装类&#xff0c;它包含了&#xff1a; 当前页数据&#xff08;list&#xff09;总记录数&#xff08;totalCount&#xff09;总页数&#xff08;totalPage&#xff09;当前页码&#xff08;pageNo&#xff09;每页…

Global Security Markets 第 10 章衍生品知识点总结​

一、衍生品的定义与本质 衍生品&#xff0c;作为一种金融工具&#xff0c;其价值并非独立存在&#xff0c;而是紧密依赖于其他资产&#xff0c;如常见的股票、债券、商品&#xff0c;或者市场变量&#xff0c;像利率、汇率、股票指数等。这意味着衍生品的价格波动&#xff0c;…

DJango知识-模型类

一.项目创建 在想要将项目创键的目录下,输入cmd (进入命令提示符)在cmd中输入:Django-admin startproject 项目名称 (创建项目)cd 项目名称 (进入项目)Django-admin startapp 程序名称 (创建程序)python manage.py runserver 8080 (运行程序)将弹出的网址复制到浏览器中…

八股学习-JS的闭包

一.闭包的定义 闭包是指函数和其周围的词法环境的引用的组合。 简单来说&#xff0c;就是函数可以记住并访问其在定义时的作用域内的变量&#xff0c;即使该函数在其它作用域调用。 也就是说&#xff0c;闭包让你可以在一个内层函数中访问到其外层函数的作用域。 function …

qt使用笔记二:main.cpp详解

Qt中main.cpp文件详解 main.cpp是Qt应用程序的入口文件&#xff0c;包含程序的启动逻辑。下面我将详细解析其结构和功能。 基本结构 一个典型的Qt main.cpp 文件结构如下&#xff1a; #include <QApplication> // 或者 QGuiApplication/QCoreApplication #include &…

如何构建船舵舵角和船的航向之间的动力学方程?它是一个一阶惯性环节吗?

提问 船舵和船的航向之间的动力学方程是什么&#xff1f;是一个一阶惯性环节吗&#xff1f; 回答 船舵和船的航向&#xff08;航向角&#xff09;之间的动力学关系并不是一个简单的一阶惯性环节&#xff0c;虽然在某些简化控制模型中可以近似为一阶系统。实际上&#xff0c;…

抖去推--短视频矩阵系统源码开发

一、开发短视频矩阵系统的源码需要以下步骤&#xff1a; 确定系统需求&#xff1a; 根据客户的具体业务目标&#xff0c;明确系统需实现的核心功能模块&#xff0c;例如用户注册登录、视频内容上传与管理、多维度视频浏览与推荐、用户互动&#xff08;评论、点赞、分享&#xf…

Windows 下搭建 Zephyr 开发环境

1. 系统要求 操作系统&#xff1a;Windows 10/11&#xff08;64位&#xff09;磁盘空间&#xff1a;至少 8GB 可用空间&#xff08;Zephyr 及其工具链较大&#xff09;权限&#xff1a;管理员权限&#xff08;部分工具需要&#xff09; 2. 安装必要工具 winget安装依赖工具&am…

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…

安全月报 | 傲盾DDoS攻击防御2025年5月简报

引言 在2025年5月&#xff0c;全球数字化进程高歌猛进&#xff0c;各行各业深度融入数字浪潮&#xff0c;人工智能、物联网、大数据等前沿技术蓬勃发展&#xff0c;进一步夯实了数字经济的基石。然而&#xff0c;在这看似繁荣的数字生态背后&#xff0c;网络安全威胁正以惊人的…

【Spring】Spring哪些源码解决了哪些问题P1

欢迎来到啾啾的博客&#x1f431;。 记录学习点滴。分享工作思考和实用技巧&#xff0c;偶尔也分享一些杂谈&#x1f4ac;。 有很多很多不足的地方&#xff0c;欢迎评论交流&#xff0c;感谢您的阅读和评论&#x1f604;。 目录 Spring是怎么处理请求的&#xff1f;Spring请求方…

坚持每日Codeforces三题挑战:Day 4 - 题目详解(2025-06-07,难度:1000, 1100, 1400)

前言&#xff1a; 此文章主要是记录每天的codeforces刷题&#xff0c;还有就是给其他打算法竞赛的人一点点点点小小的帮助&#xff08;毕竟现在实力比较菜&#xff0c;题目比较简单&#xff0c;但我还是会认真写题解&#xff09;。 之前忙学校事情&#xff0c;懈怠了一段时间…

6.7本日总结

一、英语 复习默写list10list19&#xff0c;07年第3篇阅读 二、数学 学习线代第一讲&#xff0c;写15讲课后题 三、408 学习计组第二章&#xff0c;写计组习题 四、总结 本周结束线代第一讲和计组第二章&#xff0c;之后学习计网4.4&#xff0c;学完计网4.4之后开操作系…