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

相关推荐
2301_14725836940 分钟前
7月2日作业
java·linux·服务器
格调UI成品2 小时前
预警系统安全体系构建:数据加密、权限分级与误报过滤方案
大数据·运维·网络·数据库·安全·预警
VV- Wxiaoxwen4 小时前
Web3区块链有哪些岗位?
软件工程·软件构建·开源软件
xuanzdhc5 小时前
Linux 基础IO
linux·运维·服务器
愚润求学5 小时前
【Linux】网络基础
linux·运维·网络
bantinghy6 小时前
Linux进程单例模式运行
linux·服务器·单例模式
心平愈三千疾6 小时前
通俗理解JVM细节-面试篇
java·jvm·数据库·面试
小和尚同志7 小时前
29.4k!使用 1Panel 来管理你的服务器吧
linux·运维
帽儿山的枪手7 小时前
为什么Linux需要3种NAT地址转换?一探究竟
linux·网络协议·安全
shadon1789 天前
回答 如何通过inode client的SSLVPN登录之后,访问需要通过域名才能打开的服务
linux