核心概念:NetworkManager
在大多数现代 Linux 发行版(包括 openSUSE)中,网络管理由 NetworkManager 服务负责,它是一个动态的网络管理工具,可以轻松地管理有线、无线、VPN 和移动宽带连接。

重要提示: 你需要确保 NetworkManager 服务正在运行,并且没有被其他网络服务(如 wicked 或 traditional ifup)抢占,在 openSUSE Leap 和 Tumbleweed 中,默认和推荐使用的就是 NetworkManager。
你可以通过以下命令检查当前使用的后端:
rcnetwork status
如果输出中包含 NetworkManager is running,并且没有 wicked 或 ifup 相关的服务,那么一切正常。
使用 YaST2 图形化界面(推荐新手)
YaST (Yet another Setup Tool) 是 openSUSE 的系统管理工具,提供了非常友好的图形界面来配置网络。

启动 YaST
- 在桌面环境中: 点击应用程序菜单,找到 "System" -> "YaST Control Center"。
- 在命令行中: 打开终端,以 root 权限运行:
sudo yast2
配置网络
启动 YaST 后,你会看到一个控制中心窗口。
场景 A:配置有线/以太网连接
- 在左侧导航栏中,选择 "Network Settings"。
- 系统会要求你输入 root 密码。
- 你会看到一个网络设备的列表(如
enp3s0,eno1等),找到你的有线网卡。 - 选中你的网卡,然后点击右侧的 "Edit..." 按钮。
- 在弹出的窗口中:
- General (常规):
- Start mode (启动模式): 选择
Automatically with systemd(推荐),这样系统启动时会自动连接。 - Configuration (配置): 选择
Statically assigned address(静态IP)或DHCP(动态IP)。
- Start mode (启动模式): 选择
- Address (地址 - 静态IP时):
- 如果选择了静态IP,你需要填写:
- Address: 你的 IP 地址 (
168.1.100) - Prefix length: 子网掩码 (
24代表255.255.0) - Gateway: 默认网关 (
168.1.1) - DNS servers: DNS 服务器地址 (
8.8.8,1.1.1)
- Address: 你的 IP 地址 (
- 如果选择了静态IP,你需要填写:
- Hosts (主机): 可以在此处添加本地主机名和 IP 的映射关系。
- General (常规):
- 点击 "OK" 保存设置,然后关闭 YaST。
场景 B:配置 Wi-Fi (无线网络)
- 在 YaST 控制中心的左侧,选择 "Network Settings"。
- 点击顶部的 "Wi-Fi" 标签页。
- YaST 会自动扫描可用的 Wi-Fi 网络,点击列表中的你想要连接的网络,然后点击 "Edit..."。
- 输入密码(Pre-Shared Key),然后点击 "OK"。
- 连接会自动建立,你也可以在 "General" 选项卡中设置它为自动连接。
场景 C:配置网络别名(多IP地址)
如果你需要为一个网卡配置多个 IP 地址:
- 在 "Network Settings" 中,编辑你的主网卡。
- 切换到 "Routing" 选项卡。
- 在 "Additional IP addresses" 部分,点击 "Add..."。
- 输入额外的 IP 地址和子网掩码,然后点击 "OK"。
使用 nm-connection-editor 命令行图形工具
这是 NetworkManager 官方提供的命令行图形化工具,比 YaST 更轻量,专注于网络配置。
- 在终端中直接运行:
nm-connection-editor
- 这会打开一个 "Network Connections" 窗口。
- 你可以在这里创建、编辑和删除各种网络连接(有线、无线、VPN等),操作逻辑与 YaST 类似,但界面更简洁。
使用命令行(nmcli)
对于服务器环境或需要自动化脚本时,使用 nmcli (NetworkManager Command-Line Interface) 是最强大的方式。

查看现有连接和设备状态
# 查看所有连接的配置 nmcli connection show # 查看所有网络设备的状态 nmcli device status # 查看特定设备(如 enp3s0)的详细信息 nmcli device show enp3s0
配置静态 IP 地址(有线网络)
假设你的网卡名为 enp3s0。
# 创建一个新的连接配置文件,类型为以太网,名称为 "MyStaticConnection"
sudo nmcli connection add type ethernet ifname enp3s0 con-name MyStaticConnection
# 配置静态IP地址、网关和DNS
sudo nmcli connection modify MyStaticConnection \
ipv4.method manual \
ipv4.addresses 192.168.1.100/24 \
ipv4.gateway 192.168.1.1 \
ipv4.dns "8.8.8.8 1.1.1.1"
# 启用该连接
sudo nmcli connection up MyStaticConnection
配置 DHCP(动态 IP 地址)
# 创建一个新的DHCP连接 sudo nmcli connection add type ethernet ifname enp3s0 con-name MyDHCPConnection # 设置IP获取方式为DHCP sudo nmcli connection modify MyDHCPConnection ipv4.method auto # 启用该连接 sudo nmcli connection up MyDHCPConnection
配置 Wi-Fi
# 扫描可用的Wi-Fi网络 nmcli device wifi list # 连接到一个Wi-Fi网络(需要替换 SSID 和 Password) sudo nmcli device wifi connect "Your-WiFi-SSID" password "Your-WiFi-Password"
修改主机名
# 查看当前主机名 hostnamectl # 永久修改主机名(需要重启或重新登录才能完全生效) sudo hostnamectl set-hostname "my-new-hostname"
使用传统 ifcfg 文件(不推荐)
在旧版本的 openSUSE 或一些特殊场景下,可能会使用 /etc/sysconfig/network/ 目录下的 ifcfg-* 文件来配置网络。这种方法在现代 openSUSE 中已被 NetworkManager 取代,不推荐使用,除非你遇到了与 NetworkManager 不兼容的特定问题。
如果你需要修改这些文件,/etc/sysconfig/network/ifcfg-eth0可能如下:
BOOTPROTO='static'
BROADCAST='192.168.1.255'
IPADDR='192.168.1.100'
NETMASK='255.255.255.0'
NETWORK='192.168.1.0'
REMOTE_IPADDR=''
STARTMODE='auto'
USERCONTROL='no'
修改后,需要重启网络服务或重启机器使配置生效:
sudo /etc/init.d/network restart
故障排除
检查网络服务状态
# 检查 NetworkManager 服务状态 systemctl status NetworkManager # 检查网络接口是否已启动 ip a # 或者 ifconfig
查看网络日志
# 查看 NetworkManager 的日志 journalctl -u Network.service # 查看系统网络相关的日志 journalctl -f | grep -i network
手动测试连接
# 测试 DNS 解析是否正常 ping google.com # 测试与网关的连通性 ping 192.168.1.1 # 将 IP 替换为你的网关地址 # 测试更详细的网络连接 traceroute google.com
| 方法 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| YaST2 | 图形化、直观、功能全面 | 需要图形环境,稍显笨重 | 桌面用户,新手,系统管理员进行全局配置 |
| nm-connection-editor | 轻量级,专注于网络 | 仍需要图形环境 | 桌面用户,快速管理网络连接 |
nmcli |
功能强大,适合脚本,无需图形界面 | 需要记忆命令和语法 | 服务器管理员,自动化运维,高级用户 |
ifcfg 文件 |
传统方式,在某些环境下必要 | 过时,易出错,不被 NetworkManager 优先管理 | 遗留系统,或与 NetworkManager 冲突的特殊环境 |
对于绝大多数用户,强烈推荐使用 YaST2 或 nmcli,日常使用 YaST2,服务器或自动化脚本使用 nmcli。
