当前位置: 首页 > news >正文

【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.lqws.cn/news/97255.html

相关文章:

  • 大数据-277 Spark MLib - 基础介绍 机器学习算法 Gradient Boosting GBDT算法原理 高效实现
  • 数字商城小程序源码,开启便捷电商新体验
  • 大数据-276 Spark MLib - 基础介绍 机器学习算法 Bagging和Boosting区别 GBDT梯度提升树
  • 【后端架构师的发展路线】
  • Elasticsearch + Milvus 构建高效知识库问答系统《一》
  • Java高级 | (二十二)快速应用开发框架——Spring Boot
  • 小白的进阶之路系列之十二----人工智能从初步到精通pytorch综合运用的讲解第五部分
  • OpenCV CUDA模块图像处理------图像融合函数blendLinear()
  • Attention Is All You Need (Transformer) 以及Transformer pytorch实现
  • 【JavaWeb】SpringBoot原理
  • SpringBoot 自定义注解实现限流
  • 【Vmware】虚拟机安装、镜像安装、Nat网络模式、本地VM8、ssh链接保姆篇(图文教程)
  • 优化 Spring Boot API 性能:利用 GZIP 压缩处理大型有效载荷
  • 托福39-1 Early Writing Systems感悟
  • Kotlin List 操作全面指南
  • RabbitMQ 监控与调优实战指南(二)
  • JavaScript性能优化实战大纲
  • Neovim - 打造一款属于自己的编辑器(一)
  • 提取 PDF 文件中的文字以及图片中的文字
  • HALCON 深度学习训练 3D 图像的几种方式优缺点
  • 论文中pdf图片文件太大怎么办
  • 关于FPGA软核的仿真(一)
  • 基于 NXP + FPGA+Debian 高可靠性工业控制器解决方案
  • 云计算 Linux Rocky day03
  • YAML文件
  • 什么是AI芯片?
  • Tailwind CSS 实战:基于 Kooboo 构建 AI 对话框页面(六):图片上传功能
  • ArcGIS Pro字段计算器与计算几何不可用,显示灰色
  • 二分查找的边界艺术:LeetCode 34 题深度解析
  • 第七部分:阶段项目 5:构建 NestJS + MySQL RESTful API 服务器