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

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

一、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配置,以及通过ping和traceroute进行的网络诊断。理解这些基本概念和命令将帮助您高效地管理和排查网络问题。

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

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

相关推荐
恒悦sunsite1 小时前
Ubuntu之apt安装ClickHouse数据库
数据库·clickhouse·ubuntu·列式存储·8123
奥尔特星云大使2 小时前
MySQL 慢查询日志slow query log
android·数据库·mysql·adb·慢日志·slow query log
来自宇宙的曹先生2 小时前
MySQL 存储引擎 API
数据库·mysql
间彧2 小时前
MySQL Performance Schema详解与实战应用
数据库
口嗨农民工2 小时前
win10默认搜索APP和window设置控制命板
linux·服务器·c语言
间彧2 小时前
MySQL Exporter采集的关键指标有哪些,如何解读这些指标?
数据库
weixin_446260852 小时前
Django - 让开发变得简单高效的Web框架
前端·数据库·django
mpHH3 小时前
babelfish for postgresql 分析--todo
数据库·postgresql
zizisuo3 小时前
解决在使用Lombok时maven install 找不到符号的问题
java·数据库·maven
qq_455760853 小时前
cmake命令行工具介绍
linux·服务器