【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的其他进阶功能,期待能帮助您更好地理解和使用这个强大的操作系统!

相关推荐
网硕互联的小客服9 分钟前
Apache 如何支持SHTML(SSI)的配置方法
运维·服务器·网络·windows·php
基于python的毕设30 分钟前
C语言栈的实现
linux·c语言·ubuntu
爱掘金的土拨鼠31 分钟前
国产化dm数据库锁表解锁
数据库
苏琢玉1 小时前
如何让同事自己查数据?写一个零依赖 PHP SQL 查询工具就够了
mysql·php
luoqice1 小时前
linux下找到指定目录下最新日期log文件
linux·算法
庖丁解java1 小时前
N个Utils
数据库
Mr. zhihao1 小时前
SQL LEFT JOIN 与 WHERE 条件的隐藏坑
数据库·sql
2301_793086871 小时前
Redis 04 Reactor
数据库·redis·缓存
林开落L1 小时前
库的制作与原理
linux·开发语言·动静态库·库的制作
Sais_Z2 小时前
ClickHouse的学习与了解
数据库·clickhouse