睿诚科技协会

SUSE Linux网络配置如何操作?

重要前提:确定您的网络管理器

在开始配置前,了解您系统上使用的网络管理器至关重要,它决定了您应该使用哪种配置方式。

SUSE Linux网络配置如何操作?-图1
(图片来源网络,侵删)
  1. NetworkManager (nm):这是目前所有现代 SUSE 发行版(openSUSE Leap/Tumbleweed, SLES12 SP2+, SLES15)的默认和推荐的网络管理器,它功能强大,支持动态配置、有线、无线、VPN 等,并且拥有优秀的命令行和图形工具。
  2. wicked:在 SLES12 SP2 之前和 openSUSE Leap 42 中是默认管理器,虽然现在仍被支持,但 NetworkManager 是首选
  3. traditional ifcfg:一种非常传统的基于 /etc/sysconfig/network/ 目录下配置文件的方法,不推荐新用户使用,但在维护旧系统时可能会遇到。

检查当前网络管理器:

# 查看正在运行的网络管理器服务
systemctl status NetworkManager
# 或者
systemctl status wicked
# NetworkManager 是默认的,它的服务应该是活跃的

NetworkManager 服务是活跃的,请优先使用以下 NetworkManager 相关的方法。


使用 YaST 图形化工具(推荐新手)

YaST (Yet another Setup Tool) 是 SUSE Linux 的王牌图形化配置工具,功能全面且直观。

  1. 启动 YaST

    SUSE Linux网络配置如何操作?-图2
    (图片来源网络,侵删)
    • 在桌面环境中,通过应用程序菜单找到 "YaST Control Center" 并打开。
    • 在命令行中,以 root 身份运行:
      sudo yast2
  2. 配置网络

    • 打开 YaST 后,在左侧导航栏中选择 "Network Settings"
    • 系统会要求您输入 root 密码以继续。
  3. 配置以太网(有线网络)

    • 在 "Overview" 选项卡下,您会看到所有已发现的网络接口(如 eth0, enp3s0)。
    • 选择您要配置的有线网卡,然后点击右侧的 "Edit..." 按钮。
    • 在弹出的窗口中:
      • General 选项卡:
        • Configuration: 选择 "Statically assigned address"(静态IP)或 "DHCP"(动态IP)。
        • 如果选择静态IP,请填写 IP Address, Subnet Mask, Gateway
      • Hostname/DNS 选项卡:
        • 可以设置主机名。
        • "DNS Servers" 字段中填入 DNS 服务器地址(如 8.8.8, 1.1.1 或您的内网DNS),多个地址用空格隔开。
      • Routes 选项卡:如果需要配置静态路由,可以在这里添加。
    • 点击 "OK" 保存设置。
  4. 应用并重启网络服务

    • 返回到 "Network Settings" 主窗口,点击右下角的 "Finish" 按钮。
    • YaST 会提示您是否要立即应用更改,选择 "Yes",系统会短暂重启网络服务。

使用 nmcli 命令行工具(推荐高级用户和自动化)

nmcli 是 NetworkManager 的官方命令行接口,功能强大且非常适合脚本自动化。

SUSE Linux网络配置如何操作?-图3
(图片来源网络,侵删)

场景1:配置静态 IP 地址

假设网卡名为 enp3s0,配置如下:

  • IP 地址: 168.1.100
  • 子网掩码: 255.255.0 (或 /24)
  • 网关: 168.1.1
  • DNS 服务器: 8.8.81.1.1
# 1. 添加一个名为 "my-static-connection" 的新连接(如果已存在,可以修改)
sudo nmcli con add ifname enp3s0 type ethernet con-name my-static-connection
# 2. 修改该连接的配置
sudo nmcli con mod my-static-connection \
    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" \
    ipv4.ignore-auto-dns yes
# 3. 启用该连接(如果之前是禁用的状态)
sudo nmcli con up my-static-connection

场景2:配置 DHCP(自动获取IP)

# 1. 修改连接为DHCP模式
sudo nmcli con mod enp3s0 ipv4.method auto
# 2. 重启连接以应用新配置
sudo nmcli con down enp3s0 && sudo nmcli con up enp3s0
# 或者直接 up 命令通常就足够了
sudo nmcli con up enp3s0

常用 nmcli 命令

# 查看所有连接的列表
nmcli con show
# 查看某个连接的详细配置
nmcli con show my-static-connection
# 查看网络接口的实时状态
nmcli dev status
# 查看某个接口的详细信息
nmcli dev show enp3s0
# 删除一个连接
sudo nmcli con delete my-static-connection

直接编辑 NetworkManager 的配置文件(不推荐,但有时必要)

这种方法直接修改 NetworkManager 的配置文件,适合需要精确控制或图形工具无法解决问题时使用。

  1. 找到配置文件: NetworkManager 的连接配置文件通常存放在 /etc/NetworkManager/system-connections/ 目录下,文件名就是您在 nmcli 中定义的连接名。

    ls /etc/NetworkManager/system-connections/
    # 可能输出:my-static-connection.nmconnection
  2. 编辑文件: 使用 vinano 等编辑器打开文件。注意:您需要 root 权限

    sudo vi /etc/NetworkManager/system-connections/my-static-connection.nmconnection
  3. : 文件内容如下所示,您需要修改或取消注释(删除 [ ] 前面的 )相应的条目。

    [connection]
    id=my-static-connection
    uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    type=ethernet
    interface-name=enp3s0
    [ipv4]
    method=manual
    addresses=192.168.1.100/24
    gateway=192.168.1.1
    dns=8.8.8.8;1.1.1.1;
    # ignore-auto-dns=yes # 通常不需要手动添加,method=manual 时默认生效
    [ipv6]
    method=ignore # 禁用IPv6,如果不需要的话
  4. 重启 NetworkManager 服务: 保存文件后,需要重启服务使配置生效。

    sudo systemctl restart NetworkManager

使用传统 ifcfg 文件(仅适用于旧系统)

如果您维护的是非常旧的 SUSE 系统(如 SLES11 或 openSUSE Leap 42),您需要使用这种方法。

  1. 定位配置文件: 配置文件位于 /etc/sysconfig/network//etc/sysconfig/network/ifcfg-<interface>

    ls /etc/sysconfig/network/ifcfg-*
    # 可能输出:ifcfg-lo, ifcfg-enp3s0
  2. 编辑网卡配置文件: 编辑 /etc/sysconfig/network/ifcfg-enp3s0 文件。

    sudo vi /etc/sysconfig/network/ifcfg-enp3s0
  3. : 设置静态IP的示例:

    # 设备类型
    TYPE='Ethernet'
    # 是否启动时激活
    BOOTPROTO='static'
    # IP 地址和子网掩码
    IPADDR='192.168.1.100'
    NETMASK='255.255.255.0'
    # 网关
    STARTMODE='auto'
    BROADCAST='192.168.1.255' # 可选
    REMOTE_IPADDR='' # 可选
    # DNS 服务器配置(需要单独文件)
    # DNS=('8.8.8.8' '1.1.1.1')
  4. 配置 DNS: DNS 服务器通常在 /etc/resolv.conf 中指定,但为了持久化,应该在 /etc/sysconfig/network/config 中设置,或者创建一个单独的文件 /etc/sysconfig/network/resolv.conf

    # 在 /etc/sysconfig/network/config 中找到或添加以下行
    NETCONFIG_DNS_STATIC_SERVERS="8.8.8.8 1.1.1.1"
  5. 重启网络服务

    # 对于 wicked (SLES12 SP1及之前)
    sudo systemctl restart wicked
    # 或者对于传统的 service
    sudo /etc/init.d/network restart

网络配置常用命令(通用)

无论您使用哪种方法,以下命令都是排查和验证网络状态的基础。

# 1. 查看所有网络接口的IP信息
ip a
# 或者旧命令
ifconfig
# 2. 查看路由表,确认网关是否正确
ip r
# 或者
route -n
# 3. 测试网络连通性(ping)
ping 8.8.8.8
ping www.baidu.com
# 4. 查看DNS解析是否正常
nslookup www.baidu.com
# 或者
dig www.baidu.com
# 5. 查看网络连接状态(类似Windows的netstat)
ss -tulnp
# 或者
netstat -tulnp
# 6. 查看系统日志中的网络相关错误(非常重要!)
journalctl -u Network.service
# 或者对于 NetworkManager
journalctl -u NetworkManager.service

总结与建议

方法 适用场景 优点 缺点
YaST (图形) 新手,习惯图形界面的用户 直观,不易出错,功能全面 需要图形环境,不适合自动化
nmcli (命令行) 高级用户,服务器,自动化脚本 高效,强大,适合脚本,无需图形界面 需要学习命令语法
编辑配置文件 排查问题,特殊需求 精确控制 容易出错,不直观,不同管理器文件格式不同
传统 ifcfg 维护旧版 SUSE 系统 - 已过时,不推荐在新系统上使用

对于现代 SUSE Linux (SLES15, openSUSE Leap 42.3+):

  • 首选 nmcli:对于命令行操作,它是最佳选择。
  • 次选 YaST:对于不熟悉命令行的用户,它是最安全、最方便的选择。
  • 仅在必要时:当其他方法无效或需要精细调整时,才考虑直接编辑 NetworkManager 的配置文件。
分享:
扫描分享到社交APP
上一篇
下一篇