网络配置指南
网络管理工具概述
银河麒麟服务器系统提供多种网络配置方式:
| 工具 | 特点 | 适用场景 |
|---|---|---|
| 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
记录需要配置的连接名称,如 ens33 或 Wired 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 不覆盖该文件。