Ubuntu 运维系列 | 第 11 天:网络配置与排障——Netplan 与网络诊断工具实战

网络是服务器对外提供服务的命脉,也是运维工作中最容易”翻车”的环节之一。Ubuntu 自 17.10 起全面转向 Netplan 作为默认网络配置工具,将过去散落在 /etc/network/interfaces 的配置方式统一为 YAML 描述。掌握 Netplan 的配置语法,再配合 ip、ss、ping、traceroute、tcpdump 等诊断工具,你就能在绝大多数网络故障面前做到心中有数、手上有招。本篇文章围绕”配置”与”排障”两条主线,带你系统梳理 Ubuntu 网络运维的核心知识。

Ubuntu 运维 第11天

一、核心概念:Ubuntu 的网络管理分层

理解 Ubuntu 网络管理的关键,是先分清”配置层”和”管理服务层”。Netplan 只是负责把人类可读的 YAML 配置翻译成底层后端能识别的格式,真正执行网络配置的是 systemd-networkd 或 NetworkManager 这两个后端之一。桌面版 Ubuntu 默认使用 NetworkManager,服务器版默认使用 systemd-networkd。

配置文件的优先级遵循”字典序覆盖”原则:Netplan 会按文件名排序读取 /etc/netplan/ 目录下的所有 YAML 文件,后读取的文件中相同配置会覆盖先读取的。因此官方推荐使用类似 00-installer-config.yaml01-network-manager-all.yaml 这类带序号前缀的文件名,方便控制加载顺序。

查看当前 Netplan 使用的后端,可以执行下面的命令:

sudo netplan get

该命令会输出当前生效的网络配置,是快速了解机器网络状态的入口。

二、实战步骤:从配置静态 IP 到诊断网络故障

1. 使用 Netplan 配置静态 IP

先备份并查看现有配置文件:

ls -l /etc/netplan/
sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/00-installer-config.yaml.bak

然后编辑配置文件,写入静态 IP 与 DNS 信息:

network:
  version: 2
  renderer: networkd
  ethernets:
    ens160:
      dhcp4: false
      addresses:
        - 192.168.1.100/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses:
          - 223.5.5.5
          - 8.8.8.8

应用配置前务必先用 try 做预检,它会在超时无确认时自动回滚,避免把远程服务器”改断线”:

sudo netplan try

确认无问题后,正式应用并验证:

sudo netplan apply
ip addr show ens160
ip route show

2. 使用系统网络诊断工具

排障时遵循”链路层 -> 网络层 -> 传输层 -> 应用层”的顺序,由下往上逐步排查。先确认网卡与 IP 状态,再确认路由,最后验证端口连通性:

ip link show                      # 查看网卡链路状态(UP/DOWN)
ip addr show                      # 查看 IP 地址
ip route show                     # 查看路由表
ping -c 4 223.5.5.5               # 测试网络连通性
ss -lntp                          # 查看监听端口与服务进程

3. 抓包与路径追踪定位问题

当服务不通但端口正常时,需要借助抓包和路径追踪判断数据包卡在哪个环节:

sudo tcpdump -i ens160 -nn port 80 -c 20
traceroute -n 192.168.1.1

tcpdump 用于查看实际收发的数据包,traceroute 用于确认数据包经过的每一跳,两者结合基本能覆盖大部分网络疑难杂症。

三、常见问题

配置 netplan apply 后 SSH 断线怎么办? 远程修改网络前,务必使用 netplan try 而非直接 apply,它会等待你按回车确认,超时自动回滚,是远程操作的”后悔药”。

Netplan 报错”unknown key”? 通常由 YAML 缩进错误引起。Netplan 对缩进非常敏感,一律使用空格而非 Tab,且层级必须严格对齐,修改后可用 netplan trynetplan generate 校验语法。

ping 得通域名但打不开网页? 说明 DNS 解析正常但端口不通,用 ss -lntp 确认服务是否监听,再用 tcpdump 抓包查看请求是否到达,最后检查防火墙是否放行对应端口。

重启后网络配置丢失? 检查 /etc/netplan/ 下是否有多个配置文件相互覆盖,确认目标文件权限为 600,并核对 renderer 是否与实际后端匹配。

四、总结

Ubuntu 的网络运维,核心就两件事:用 Netplan 把配置写清楚、写规范,用一套诊断工具把故障定位准确。Netplan 的 YAML 配置直观、可版本化管理,配合 netplan try 的自动回滚机制,让远程改网络的危险性大幅降低;而 ip、ss、ping、traceroute、tcpdump 这套组合拳,则是从链路层到应用层逐层排查的基础功。把这两块吃透,日常的网络配置与排障就能从容应对。

下期预告:第 12 天我们将进入《SSH 远程管理——密钥认证与安全加固》,详解如何用密钥替代密码登录、禁用 root 远程访问、配置 fail2ban 等加固手段,让你的远程管理通道固若金汤。

微信二维码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容