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

Linux系统的网络管理(一)

一、网络参数配置:搭建稳定网络基础

网络参数配置是 Linux 网络管理的起点,根据操作方式可分为图形化配置、命令行配置和配置文件配置,不同方式适用于不同场景(临时调试 / 永久生效)。

1. 图形化配置:依赖 NetworkManager 服务

NetworkManager 是 Linux 系统中主流的图形化网络管理工具,但不同系统版本对其依赖不同:

  • Linux 7 系统:建议停止该服务,避免与其他配置方式冲突;
  • Linux 8 及以上系统:统一由 NetworkManager 管理网络,无需手动关闭。

2. 命令行配置:灵活调试临时生效

命令行配置适用于临时调整网络参数(重启网络 / 主机后失效),核心工具包括ifconfigifup/ifdownip address

2.1 ifconfig:经典网卡配置工具

  • 功能:查看 / 修改网卡参数(如 IP 地址),但无法查看未启用网卡及配置文件中的多 IP。
  • 权限:root 用户可修改参数,普通用户仅能查看。
选项作用案例
-a查看所有网卡(含未启用)ifconfig -a
up启用网卡(不读配置文件)ifconfig ens33 up
down停用网卡ifconfig ens33 down
直接配置 IP临时设置网卡 IPifconfig ens33 192.168.115.136/24

2.2 ifup/ifdown:基于配置文件的启停

ifconfig up/down的核心区别是:会读取网卡配置文件,适用于基于配置文件的参数加载。

# 启用网卡并加载配置
ifup ens33
# 停用网卡
ifdown ens33# 子接口配置(单网卡多IP临时方案)
ifconfig ens33:0 192.168.115.214/24
# 子接口永久配置(复制配置文件修改)
cd /etc/sysconfig/network-scripts
cp ifcfg-ens33 ifcfg-ens33:0
# 编辑子接口文件:修改NAME、DEVICE、IPADDR等参数
vim ifcfg-ens33:0
# 重启子接口生效
ifdown ens33:0 && ifup ens33:0

2.3 ip address:现代网络参数查看工具

ip a(缩写)是ifconfig的替代工具,功能更全面:

  • 可查看未启用网卡;
  • 支持查看配置文件中的多 IP 配置;
  • 语法简洁:ip a(直接查看所有网卡参数)。

3. 配置文件配置:永久生效的核心方式

通过修改网卡配置文件(路径:/etc/sysconfig/network-scripts/ifcfg-网卡名),可实现网络参数的永久生效,需重启网卡或网络服务加载配置。

3.1 单一 IP 地址配置

分为 DHCP 自动获取和静态手动配置两种模式:

配置项含义DHCP 模式静态模式
TYPE网卡类型EthernetEthernet
BOOTPROTOIP 获取方式dhcpstatic
NAME网卡描述(可选)ens33ens33
DEVICE网卡设备名(必对)ens33ens33
ONBOOT是否启用配置yesyes
IPADDRIP 地址(静态需填)-192.168.115.150
PREFIX/NETMASK子网掩码-PREFIX=24 或 NETMASK=255.255.255.0
GATEWAY默认网关(建议单网关)-192.168.115.2
DNS1DNS 服务器(多网卡慎填)-192.168.115.2

3.2 多 IP 地址配置

在单一配置文件中通过IPADDR1/PREFIX1IPADDR2/PREFIX2实现多 IP:

vim /etc/sysconfig/network-scripts/ifcfg-ens33
# 核心配置(新增部分)
IPADDR1=192.168.115.150
PREFIX1=24
IPADDR2=192.168.115.151
PREFIX2=24
DNS2=192.168.115.3
# 加载配置生效
systemctl restart network 或 ifdown ens33 && ifup ens33

3.3 配置验证命令

# 验证IP地址
ifconfig 或 ip a
# 验证网关
route -n
# 验证DNS
cat /etc/resolv.conf

二、nmcli 命令详解

1. 概述

nmcli 是 NetworkManager 的命令行工具,用于配置和管理网络连接。使用前需确保 NetworkManager 服务正常运行,且避免与 ip addr 等命令冲突。

2. 基本格式

nmcli [OPTIONS] OBJECT { COMMAND | help }

  • OPTIONS:控制输出格式(如 -t 简洁模式、-f 指定字段)
  • OBJECT:操作对象(如 generaldeviceconnection
  • COMMAND:具体操作(如 statusupdown

3. 常用系统指令

NetworkManager 服务管理命令:

# 查看状态
systemctl status NetworkManager# 启动/重启/停止
systemctl start/restart/stop NetworkManager# 开机启动配置
systemctl enable/disable NetworkManager

4. 核心操作对象

(1)networking(网络状态)

查看和控制整体网络连接状态:

nmcli networking         # 查看是否接管网络
nmcli n connectivity     # 检查连接状态(full/limited/portal/none/unknown)
nmcli n on/off           # 开启/关闭网络
(2)general(系统状态)

查看系统网络概览和主机名设置:

nmcli general status     # 显示系统网络状态
nmcli g hostname         # 查看主机名
nmcli g h newHostName    # 修改主机名(需重启服务)
(3)connection(连接配置)

管理网络连接配置(可简写为 c):

# 查看连接
nmcli c show             # 所有连接
nmcli c s -a             # 仅活动连接# 控制连接
nmcli c up ens33         # 启动连接
nmcli c down ens33       # 关闭连接
nmcli c delete ens33     # 删除连接# 修改连接(静态IP配置示例)
nmcli c m ens33 ipv4.address 192.168.80.10/24
nmcli c m ens33 ipv4.gateway 192.168.80.2
nmcli c m ens33 ipv4.dns 8.8.8.8
nmcli c m ens33 ipv4.method manual  # 设为静态模式# 新增连接
nmcli c a type ethernet con-name ens36 ifname ens36 \ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 \ipv4.dns "8.8.8.8 8.8.4.4" ipv4.method manual
(4)device(网络设备)

管理物理网络设备(可简写为 d):

nmcli d status           # 查看设备状态
nmcli d connect ens33    # 连接设备
nmcli d disconnect ens33 # 断开设备
nmcli d wifi list        # 查看附近WiFi
nmcli d wifi connect "SSID" password "密码"  # 连接WiFi

三、网络配置方法

方法一:修改 keyfile 配置文件

Rocky9 配置文件位于 /etc/NetworkManager/system-connections/,格式为 keyfile:

  1. 编辑对应接口文件(如 ens33.nmconnection
  2. 配置核心字段:
    (connection)
    id=ens33
    uuid=1c0d8661-d96c-3ecd-8578-eba771cadac4
    type=ethernet
    autoconnect-priority=-999
    interface-name=ens33(ipv4)
    method=manual
    address=192.168.1.3/24,192.168.1.1
    netmask=255.255.255.0
    gateway=192.168.1.1
    dns=8.8.8.8;114.114.114.114
    route1=10.1.0.0/16,192.168.1.1
    route2=10.2.0.0/16,192.168.1.1

  3. 加载并激活:
    nmcli c load /etc/NetworkManager/system-connections/ens33.nmconnection
    nmcli c up ens33

配置字段解析:

  • id:用于标识该网络连接的名称,可自定义,方便用户识别和管理不同的网络连接,通常与网络接口名称相关.

  • uuid:通用唯一识别码,由系统自动生成,用于在NetworkManager中唯一标识该网络连接配置,一般无需手动修改.

  • type:指定网络连接的类型,常见的值有“ethernet”表示以太网连接,“wifi”表示无线网络连接等,根据实际网络设备和连接方式进行选择.

  • autoconnect-priority:设置网络连接的自动连接优先级,数值越小优先级越高,-999表示较低的优先级。可根据需要调整该值来确定多个网络连接的顺序,以便在系统启动时优先连接重要的网络.

  • interface-name:必须与实际的网络接口设备名称一致,用于将网络连接配置与对应的物理网络接口关联起来,如“ens33”等.

  • method:获取IP地址的方式,常见的值有“auto”表示自动获取IP地址,通常通过DHCP等方式从网络中的DHCP服务器获取IP地址、子网掩码、网关等网络配置信息;“manual”表示手动配置静态IP地址,需要手动指定IP地址、子网掩码、网关和DNS等信息.

  • address:当method为manual时,用于指定静态IP地址和子网掩码,格式为“IP地址/子网掩码长度”,还可以在后面添加网关地址,用逗号分隔,如“192.168.1.10/24,192.168.1.1”.

  • netmask:子网掩码,也可以在address参数中统一配置,若单独配置则需按照子网掩码的格式填写,如“255.255.255.0”.

  • gateway:网关地址,用于指定网络数据包的转发地址,需与所在网络环境的网关配置一致.

  • dns:指定DNS服务器地址,多个DNS服务器之间用分号分隔,如“8.8.8.8;114.114.114.114”.

  • route:可用于添加静态路由,格式为“网段,网关”,可以添加多条route来配置多个静态路由,例如“route1=10.1.0.0/16,192.168.1.2 route2=10.2.0.0/16,192.168.1.2”.

http://www.xdnf.cn/news/1365805.html

相关文章:

  • c# 读取xml文件内的数据
  • 网络编程-HTTP
  • zookeeper-znode解析
  • 【动态规划】309. 买卖股票的最佳时机含冷冻期及动态规划模板
  • 深入浅出 ArrayList:从基础用法到底层原理的全面解析(中)
  • 【C语言16天强化训练】从基础入门到进阶:Day 11
  • 信号处理的核心机制:从保存、处理到可重入性与volatile
  • 系统架构设计师-计算机系统存储管理的模拟题
  • 【数据结构】栈和队列——队列
  • AR远程协助:能源电力行业智能化革新
  • 数据库迁移幂等性介绍(Idempotence)(Flyway、Liquibase)ALTER、ON DUPLICATE
  • 05 开发环境和远程仓库Gitlab准备
  • coze工作流200+源码,涵盖AI文案生成、图像处理、视频生成、自动化脚本等多个领域
  • 向量库Qdrant vs Milvus 系统详细对比
  • 智能专网升级:4G与5G混合组网加速企业数字化转型
  • FunASR基础语音识别工具包
  • 【Canvas与标牌】维兰德汤谷公司logo
  • JavaScript 中类(class)的super 关键字
  • 【YOLOv5部署至RK3588】模型训练→转换RKNN→开发板部署
  • UniApp文件上传大小限制问题解决方案
  • kafka 副本集设置和理解
  • kafka常用命令
  • 宋红康 JVM 笔记 Day07|本地方法接口、本地方法栈
  • Linux(四):进程状态
  • python项目中pyproject.toml是做什么用的
  • SDC命令详解:使用set_timing_derate命令进行约束
  • K8s高可用:Master与候选节点核心解析
  • 基于MalConv的恶意软件检测系统设计与实现
  • 力扣(用队列实现栈)
  • SSH 反向隧道:快速解决服务器网络限制