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

十六、Linux网络配置

在 Linux 网络配置中,无论是 CentOS 7、CentOS 8 还是 Ubuntu等等,Linux 网络配置都直接关系到主机能否稳定提供 Web 服务、访问数据库、进行远程管理。

思维导图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一、网络基础概念与服务

1. Linux 网络接口名称规则

从 RHEL 7 / CentOS 7 开始,Linux 引入了一套可预测网络接口命名方案,以取代传统的 eth0, eth1可能重启后发生变化的名称。

新命名规则解析:

en: 代表以太网 (Ethernet)
wl: 代表无线局域网 (WLAN)
ww: 代表无线广域网 (WWAN)

名称的第二部分表示设备类型

o<N>: 板载设备 (on-board),N是索引号。
s<N>: 热插拔插槽 (hotplug slot),N是槽位号。
p<B>s<S>: PCI总线设备,B是总线号,S是插槽号。

示例eno1 (第一个板载网卡), enp2s0 (PCI总线2、插槽0上的网卡)

2. NetworkManager 服务

大多数现代 Linux 桌面和服务器发行版中 (包括 CentOS 7/8, Ubuntu),NetworkManager 成为了默认网络管理服务。它是一个动态的网络控制器,能够自动管理网络设备和连接

# 查看 NetworkManager 服务状态
systemctl status NetworkManager

在这里插入图片描述

二、通用网络配置工具

nmclinmtuiNetworkManager 提供的标准配置工具,它们在所有使用 NetworkManager 的系统上 (如 CentOS 7/8, Fedora, Ubuntu Desktop) 用法一致

1. nmcli:强大的命令行接口

nmcli (NetworkManager Command-Line Interface) 是功能最强大最高效最适合脚本化的网络配置工具。

核心 nmcli 命令

命令作用示例
nmcli connection show显示所有网络连接。nmcli con show
nmcli device status显示所有网络设备的状态。nmcli dev status
nmcli con mod <conn>修改一个连接的配置。nmcli con mod ens33 ...
nmcli con up <conn>激活一个连接。nmcli con up ens33
nmcli con down <conn>停用一个连接。nmcli con down ens33
nmcli con reload重新加载所有连接配置文件。nmcli con reload

实战步骤 (将 ens33 配置为静态IP 192.168.1.91/24):

# 1. 设置IP地址和子网掩码 (/24 等同于 255.255.255.0)
nmcli con mod ens33 ipv4.addresses 192.168.121.170/24# 2. 设置网关
nmcli con mod ens33 ipv4.gateway 192.168.121.2# 3. 设置DNS服务器 (可以设置多个,用空格隔开)
nmcli con mod ens33 ipv4.dns "8.8.8.8 114.114.114.114"# 4. 将获取IP的方式从自动(dhcp)改为手动(manual)
nmcli con mod ens33 ipv4.method manual# 5. (可选) 设置连接开机自启
nmcli con mod ens33 connection.autoconnect yes# 6. 应用更改
nmcli con up ens33

验证配置ip a, ip r, cat /etc/resolv.conf
在这里插入图片描述
在这里插入图片描述

2. nmtui:友好的文本图形界面

对于不熟悉 nmcli 命令的用户,nmtui (NetworkManager Text User Interface) 提供了一个非常友好文本图形界面大大降低网络配置门槛。你无需记忆复杂的命令参数,只需通过键盘方向键和 Tab 键即可完成所有基本配置

启动 nmtui
任何命令行终端中,直接输入 nmtui 命令并回车

nmtui

操作流程详解:

步骤一:选择操作
启动后,你会看到一个简洁主菜单。使用上下方向键移动光标,选择 “编辑连接”,然后按回车键确认。

编辑连接: 修改现有连接或创建新连接。
启用连接: 激活或停用一个连接。
设置系统主机名: 修改主机名。

在这里插入图片描述

步骤二:选择要编辑的网络接口
进入 “编辑连接” 菜单后,系统会列出所有 NetworkManager 当前管理的网络连接 (通常对应你的物理网卡)。

使用上下方向键选择你想要配置以太网接口 (例如 ens33)
然后使用 Tab 键将光标移动到右侧的 <编辑...> 按钮上,按回车键进入详细配置界面

在这里插入图片描述

步骤三:配置静态 IP 地址
这是最核心配置步骤
1.切换为手动模式: 在 “编辑连接” 界面中,找到 “IPv4 配置” 行。按回车键将其修改为 <手动>
2.添加 IP 地址、网关和 DNS:

使用 Tab 键或方向键移动光标到相应输入框
在 “地址 (Addresses)” 旁选择 <添加...>输入 IP地址/掩码 (如 192.168.121.131/24)
在 “网关 (Gateway)” 输入框填入网关地址
在 “DNS 服务器 (DNS servers)” 处添加DNS服务器地址

在这里插入图片描述
在这里插入图片描述

3.确保开机自启:
检查并确保 “自动连接” 前面的 [X] 被勾选

步骤四:保存配置
所有信息填写完毕后,使用 Tab 键 将光标一直移动到屏幕最下方<确定 (OK)> 按钮上,然后按回车保存配置。

在这里插入图片描述

步骤五:返回并激活连接
保存后,会返回到连接列表界面

使用 Tab 键移动到 <返回 (Back)> 按钮并按回车,回到主菜单
在主菜单选择 “启用连接”
在连接列表中,先选中你的网卡连接 (如 ens33) 并按回车 停用 (Deactivate) 它,然后再重新选中并按回车 启用
最后,返回主菜单选择 “退出”

步骤六:验证配置
退出 nmtui 后,回到命令行,使用标准命令验证你的新网络配置是否已成功应用。

ip a
ping www.baidu.com

三、CentOS 7 传统网络配置

在 CentOS 7 中,除了使用 nmcli/nmtui最常用网络配置方式还是直接编辑传统的 ifcfg- 配置文件

步骤一:定位并备份配置文件

  • 网络配置文件位于 /etc/sysconfig/network-scripts/ 目录下。
  • 文件名通常以 ifcfg- 开头,后面跟着你的网卡名称
# 备份配置文件
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak

步骤二:编辑配置文件

vim /etc/sysconfig/network-scripts/ifcfg-ens33

核心配置参数详解:

TYPE=Ethernet
BOOTPROTO=static
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.142.131
NETMASK=255.255.255.0
GATEWAY=192.168.142.2
DNS1=192.168.142.2
DNS2=8.8.8.8

步骤三:重启网络服务

修改完成后,必须重启 network 服务才能使配置生效

systemctl restart network

四、CentOS 8配置文件

CentOS 8 虽然兼容 ifcfg- 格式 (需要安装 network-scripts 包),但其原生推荐的配置文件格式是 Keyfile

步骤一:定位配置文件

配置文件位于 /etc/NetworkManager/system-connections/ 目录下。
文件名通常是连接的名称,以 .nmconnection 结尾,如:

ens33.nmconnection

步骤二:编辑配置文件

vim /etc/NetworkManager/system-connections/ens33.nmconnection

Keyfile 格式详解:
以下示例配置了一个静态 IP 的以太网连接:

[connection]
id=ens33
uuid=12345678-90ab-cdef-1234-567890abcdef
type=ethernet
interface-name=ens33
autoconnect=true[ethernet]
mac-address=00:0c:29:1a:2b:3c
cloned-mac-address=preserve[ipv4]
# 将 method 从 auto 修改为 manual
method=manual
# address1 的格式是 IP/掩码,网关
address1=192.168.1.91/24,192.168.1.1
# dns 的格式是 IP;IP;...
dns=8.8.8.8;114.114.114.114;
ignore-auto-dns=true[ipv6]
method=auto
addr-gen-mode=stable-privacy[proxy]

关键字段说明

[connection]: 连接的基本信息

id: 连接名称(对应文件名,保持一致)。
uuid: 唯一标识符,可以使用 nmcli con show 获取。
type: 网络类型,这里是 ethernet
interface-name: 网卡设备名称,例如 ens33

[ethernet]: 以太网相关配置

mac-address: 指定网卡的MAC地址
cloned-mac-address=preserve: 保持默认,不做 MAC 地址克隆。

[ipv4]: 核心配置部分。

method=manual: 必须设置为手动。
address1=...: 同时定义了 IP、子网掩码和网关。
dns=...: 定义 DNS 服务器,用分号隔开。
ignore-auto-dns=true: 禁用 DHCP 提供的 DNS。

[ipv6]: IPv6 设置。

method=auto: 自动获取 IPv6 地址。
addr-gen-mode=stable-privacy: 启用隐私地址。

[proxy]: 代理配置,通常留空。

步骤三:重新加载配置

修改文件后,必须让 NetworkManager 重新加载

nmcli con reload
nmcli con up ens33

五、Ubuntu Server 网络配置

从 Ubuntu 17.10 开始,服务器版本默认采用 netplan 作为网络配置前端工具netplan 使用简洁YAML 格式来描述网络接口。

a. netplan 配置文件

配置文件位于 /etc/netplan/ 目录下
文件名通常是 01-netcfg.yaml, 50-cloud-init.yaml 或类似

YAML 语法非常严格必须使用 空格 (通常是2个) 进行缩进不能使用 Tab 键。

步骤一:找到并备份配置文件

ls /etc/netplan/
# 假设找到 01-netcfg.yaml
cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak

步骤二:编辑配置文件

vim /etc/netplan/01-netcfg.yaml

DHCP (动态获取) 配置示例:

network:version: 2ethernets:ens33:dhcp4: true

静态IP 配置示例 (将 ens33 配置为 192.168.1.100/24):

network:version: 2ethernets:ens33:# 关闭 DHCPdhcp4: false# 设置 IP 地址和子网掩码 (CIDR 格式)addresses: [192.168.1.100/24]# 设置网关 (在新版 netplan 中,推荐使用 routes)routes:- to: defaultvia: 192.168.1.1# 设置 DNS 服务器nameservers:addresses: [8.8.8.8, 114.114.114.114]

步骤三:应用 netplan 配置
修改并保存 YAML 文件后,使用 netplan apply 命令应用配置

netplan apply

netplan apply验证配置的语法,如果有错误提示不会让你的网络立即中断

六、主机名配置

为服务器设置一个有意义的主机名是良好管理习惯

方法一:使用 hostnamectl (推荐,所有现代发行版通用)

# 查看当前主机名信息
hostnamectl
# 设置新的主机名 (立即生效,无需重启)
hostnamectl set-hostname node1.example.com

方法二:直接修改配置文件 (传统方法)

# 修改主机名
vim /etc/hostname
# (将文件内容替换为新的主机名)
# 此方法通常需要重启系统才能完全生效
reboot

练习题

题目一:查看网络信息
写出一条命令,只显示你系统中所有网络接口名称IP地址 (IPv4 和 IPv6)。

题目二:CentOS 7 配置文件
在 CentOS 7 系统中,网卡 eth0配置文件完整路径是什么?

题目三:ifcfg 关键参数
ifcfg- 文件中,哪个参数决定了网卡是否在系统启动时自动激活?

题目四:nmcli 查看
使用 nmcli 命令查看所有活动的网络连接。

题目五:nmcli 修改IP
使用 nmcli 将连接 ens34 的IPv4地址修改为 10.0.0.100,子网掩码为 255.255.255.0

题目六:Ubuntu netplan 语法
netplan 的 YAML 配置文件中,用于表示缩进字符是什么?

题目七:Ubuntu netplan 应用
在 Ubuntu Server 中修改/etc/netplan/*.yaml 文件后,应该执行什么命令让配置生效?

题目八:nmtui 的作用
nmtui 工具的主要用途是什么?

题目九:主机名
使用 hostnamectl 命令将主机名永久设置web-server-01

题目十:查看默认路由
写出一条只显示默认路由 (网关) 信息的命令。

题目十一:查看DNS配置 (通用)
哪个文件通常存储了系统当前使用的 DNS 服务器地址?

题目十二:接口命名规则
一个名为 enp3s0 的网络接口,根据命名规则,它很可能是什么类型的设备?

题目十三:重启网络服务 (CentOS 7 vs Ubuntu)
在 CentOS 7 中,我们使用 systemctl restart network。在 Ubuntu Server 中,使用 netplan 修改配置后,推荐使用什么命令应用更改?

题目十四:CentOS 8 配置文件格式
在 CentOS 8 中,NetworkManager 原生使用配置文件格式叫什么,它们通常位于哪个目录下?

题目十五:综合应用 (CentOS 8)
按顺序写出使用 nmcli 将连接 ens37 从DHCP 修改为静态IP 172.16.10.10/16、网关 172.16.0.1、DNS 172.16.0.1完整命令序列。

答案与解析

答案一:

ip a

答案二:

/etc/sysconfig/network-scripts/ifcfg-eth0

答案三:

ONBOOT=yes

答案四:

nmcli con show --active

答案五:

nmcli con mod ens34 ipv4.addresses 10.0.0.100/24

解析: /24 是 CIDR 表示法,等同于子网掩码 255.255.255.0

答案六:
空格 (通常是2个或4个,但必须保持一致),绝不能是 Tab 键。

答案七:

netplan apply

解析: netplan apply 会验证配置并将其应用到系统的网络后端。

答案八:

nmtui 提供了一个基于文本用户界面 (TUI),用于简化 NetworkManager 的网络配置,对新手不习惯命令行的用户非常友好

答案九:

hostnamectl set-hostname web-server-01

答案十:

ip r | grep default

答案十一:

/etc/resolv.conf

解析: 这个文件包含了域名解析器 (resolver) 所使用的DNS服务器地址。

答案十二:

它很可能是一个 PCI § 总线上的以太网 (en) 设备,位于总线3 (3)、插槽0 (s0)。

答案十三:

推荐使用 netplan apply

答案十四:

格式叫 Keyfile,位于 /etc/NetworkManager/system-connections/ 目录下。

答案十五:

# 1. 设置IP地址
nmcli con mod ens37 ipv4.addresses 172.16.10.10/16
# 2. 设置网关
nmcli con mod ens37 ipv4.gateway 172.16.0.1
# 3. 设置DNS
nmcli con mod ens37 ipv4.dns "172.16.0.1"
# 4. 切换为手动模式
nmcli con mod ens37 ipv4.method manual
# 5. 应用配置
nmcli con up ens37

在这里插入图片描述

日期:2025年10月23日
专栏:Linux教程

http://www.dtcms.com/a/521532.html

相关文章:

  • wordpress多站点支付插件企业网页建设公司咨询电话
  • Linux安装nvm教程(脚本与解压缩两种方式)
  • 无锡网站制作哪家便宜遵义网站建设制作公司
  • 制作网站流程湖南易图科技发展有限公司
  • 1.1、开篇:AI如何重塑网络安全攻防格局?
  • 福州 哈尔滨网站建设 网络服务连云港市网站建设
  • 电商智能客服机器人:客服的服务革新之路
  • 网站建设及推广方案桂林两江四湖象山景区简介
  • (3)Kafka生产者分区策略、ISR、ACK、一致性语义
  • 做盗链网站上国外网站用什么dns
  • 平面设计创意网站建设嵌入式软件开发招聘
  • TraceId如何在Spring-Cloud微服务的REST调用中传递
  • 网站关键词符号怎么样提高网站点击率
  • 【经典书籍】《编写可读代码的艺术》精华
  • 网站推广专业术语代表性设计制作作品图片
  • 小游戏网站欣赏wordpress 在线报名系统
  • 传奇手游大型网站seo计费怎么刷关键词的
  • 启东网站建设什么是网络营销竞争的利器之一
  • 网站申请微信登录wordpress双站 中英文
  • 2510rs,rust,1.87
  • 阮一峰《TypeScript 教程》学习笔记——类
  • 建设网站的企业费用金融行业做网站需要什么
  • 拌合楼软件开发(33)多品牌车牌识别摄像头引入
  • 使用postman玩转接口测试
  • 桂林北站怎么去阳朔辽宁网站建设多少钱
  • 烟台优化网站建设企业微信邮箱登录入口
  • 做移动网站优化快速网站推广如何做的
  • 网站建设需要怎样的经营范围公司logo图片大全
  • EtherCAT状态机
  • 探究Windows图形化界面的起源与原因