网络配置指南

网络管理工具概述

银河麒麟服务器系统提供多种网络配置方式:

工具 特点 适用场景
nmcli NetworkManager 命令行工具 推荐,现代管理方式
nmtui NetworkManager 文本界面 交互式配置
配置文件 直接编辑配置文件 批量部署/脚本
ip命令 临时配置(重启失效) 测试/临时调整

查看网络状态

查看所有网络接口
ip addr show
                              # 设置 bond0 的 IP
                                ip a
查看网络设备状态
nmcli device status
查看连接配置
nmcli connection show
查看详细连接信息
nmcli connection show "连接名"
查看路由表
ip route show
                                # 或
                                route -n
查看DNS配置
cat /etc/resolv.conf

使用 nmcli 配置静态 IP

这是推荐的配置方式,配置会自动保存并在重启后生效。

1

查看当前连接名称

nmcli connection show

记录需要配置的连接名称,如 ens33Wired connection 1

2

设置 IP 地址

nmcli connection modify "ens33" ipv4.addresses 192.168.1.100/24

注意:IP 地址需要带子网掩码(如 /24 表示 255.255.255.0)。

3

设置网关

nmcli connection modify "ens33" ipv4.gateway 192.168.1.1
4

设置DNS服务器

# 设置单个DNS
nmcli connection modify "ens33" ipv4.dns "8.8.8.8"

# 设置多个DNS
nmcli connection modify "ens33" ipv4.dns "8.8.8.8 114.114.114.114"
5

设置为手动模式

nmcli connection modify "ens33" ipv4.method manual

此步骤将地址获取方式从DHCP改为手动配置

6

应用配置

nmcli connection up "ens33"
7

验证配置

ip addr show ens33
ping -c 4 192.168.1.1

一键配置命令

将以上步骤合并为一条命令:

nmcli connection modify "ens33" \
  ipv4.addresses 192.168.1.100/24 \
  ipv4.gateway 192.168.1.1 \
  ipv4.dns "8.8.8.8 114.114.114.114" \
  ipv4.method manual && \
  nmcli connection up "ens33"

使用 nmtui 图形化配置

nmtui 提供文本界面,更直观易用。

nmtui
  • 选择 "Edit a connection"
  • 选择要编辑的网络连接
  • 修改 IPv4 Configuration 为 Manual
  • 填写 Address、Gateway、DNS
  • 选择 OK 保存
  • 返回主菜单选择 "Activate a connection" 激活连接

配置文件方式

适用于批量部署或自动化脚本场景。

配置文件位置

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

静态IP配置示例

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static # 改为 static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=ens33
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
DEVICE=ens33
ONBOOT=yes # 确保为 yes
IPADDR=192.168.1.100 # IP 地址
NETMASK=255.255.255.0 # 子网掩码(或使用 PREFIX=24)
GATEWAY=192.168.1.1 # 网关
DNS1=8.8.8.8 # 主 DNS
DNS2=114.114.114.114 # 备用 DNS

DHCP配置示例

TYPE=Ethernet
BOOTPROTO=dhcp # DHCP获取地址
DEFROUTE=yes
NAME=ens33
DEVICE=ens33
ONBOOT=yes

应用配置

# 重启 NetworkManager
systemctl restart NetworkManager

# 或重新激活连接:
nmcli connection reload
nmcli connection up ens33

配置主机名

查看当前主机名
hostnamectl
临时修改主机名
hostname newname
永久修改主机名(推荐)
hostnamectl set-hostname server01.example.com
配置本地域名解析
# 编辑 /etc/hosts
echo "192.168.1.100 server01.example.com server01" >> /etc/hosts

配置静态路由

临时添加路由(重启失效)
ip route add 10.0.0.0/8 via 192.168.1.254
使用nmcli添加永久路由
nmcli connection modify "ens33" +ipv4.routes "10.0.0.0/8 192.168.1.254"
nmcli connection up "ens33"
配置文件方式添加路由
# 创建 /etc/sysconfig/network-scripts/route-ens33
10.0.0.0/8 via 192.168.1.254
172.16.0.0/12 via 192.168.1.253
删除路由
ip route del 10.0.0.0/8

网络绑定(Bonding)

将多块网卡绑定提高带宽或实现冗余。

创建 Bond 接口

# 创建 bond0 接口,使用 mode4 (802.3ad LACP)
nmcli connection add type bond con-name bond0 ifname bond0 mode 802.3ad

# 设置 bond0 的 IP
nmcli connection modify bond0 ipv4.addresses 192.168.1.100/24
nmcli connection modify bond0 ipv4.gateway 192.168.1.1
nmcli connection modify bond0 ipv4.method manual

# 添加从属接口
nmcli connection add type bond-slave con-name bond0-ens33 ifname ens33 master bond0
nmcli connection add type bond-slave con-name bond0-ens34 ifname ens34 master bond0

# 启动 bond
nmcli connection up bond0

常用 Bond 模式

模式 名称 特点
mode=0 balance-rr 轮询负载均衡
mode=1 active-backup 主备冗余
mode=4 802.3ad LACP(需交换机支持)
mode=6 balance-alb 自适应负载均衡

网络故障排查

检查物理连通性
ethtool ens33
测试网络连通性
# 测试网关
ping -c 4 192.168.1.1

# 测试外网
ping -c 4 8.8.8.8

# 测试DNS解析
ping -c 4 www.baidu.com
检查端口连通性
telnet 目标IP 端口
# ?
nc -zv 目标IP 端口
路由追踪
traceroute 8.8.8.8
# ?
mtr 8.8.8.8
抓包分析
# 抓取指定接口的包
tcpdump -i ens33

# 抓取指定端口
tcpdump -i ens33 port 80

# 保存到文?
tcpdump -i ens33 -w capture.pcap

常见问题

Q: 配置后无法上网?

A: 检查步骤:

  • 确认IP/网关/DNS配置正确
  • 检查网线连接和交换机端配置
  • 尝试 ping 网关 测试局域网
  • 尝试 ping 8.8.8.8 测试外网
  • 尝试 ping www.baidu.com 测试DNS

Q: 重启后配置丢失?

A: 确保使用 nmcli 或配置文件方式,临时命令(ip addr add)重启后会失效。检?ONBOOT=yes 是否设置。

Q: DNS 无法解析?

A: 检查 /etc/resolv.conf 中的 DNS 配置。如果被覆盖,可能需要配置 NetworkManager 不覆盖该文件。