Ubuntu网络配置文件怎么改?,自定义VLAN怎么配置?

在Ubuntu Server上配置自定义VLAN网络,核心答案是:通过netplan的YAML配置文件声明VLAN虚拟子接口,指定物理网卡和VLAN ID,执行netplan apply后即可生效,全程无需重启系统。这套方法适用于Ubuntu 18.04到24.04全系列服务器版本,也是目前绝大多数生产环境采用的标准做法。

ubuntu server配置网络配置文件,先搞懂netplan的脾气

自Ubuntu 17.10起,netplan正式取代了老旧的/etc/network/interfaces,成为系统默认的网络配置管理工具,它的工作方式很简单:你只需要写好一份YAML格式的“愿望清单”,netplan负责把清单翻译成systemd-networkd或NetworkManager能理解的后端指令。

Ubuntu网络配置
加载中
Ubuntu网络配置

netplan配置文件到底存放在哪里

所有netplan配置都集中在/etc/netplan/目录下,常见文件名包括01-netcfg.yaml、50-cloud-init.yaml、99-config.yaml,执行ls /etc/netplan/查看你机器上实际存在的文件,注意,Ubuntu云镜像默认由cloud-init管理网络,如果你手动改过配置后又执行了cloud-init clean,配置会被覆盖回来。

下面是一份最基础的静态IP配置,后续所有VLAN操作都建立在这个框架之上:

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: no
      addresses:
        - 192.168.1.10/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses: [223.5.5.5, 8.8.8.8]

renderer选networkd还是NetworkManager

服务器场景选networkd,桌面或需要图形化网络管理的场景选NetworkManager。renderer参数直接决定netplan调用哪套后端,混用容易出奇怪问题,行业共识认为,生产服务器统一使用networkd更稳妥,资源占用也更小。

ubuntu配置自定义vlan网络的完整实操步骤

假设现有物理网卡eno1承载服务器管理流量,业务网段需要跑VLAN 100和VLAN 200,网关分别是0.100.1和0.200.1,下面每一步都直接抄作业即可。

确认物理网卡名称和VLAN信息

先查看当前网卡状态,确保物理链路正常:

ip -br link show

输出中能看到eno1、ens3或eth0之类的名称,记下来,同时向网络管理员确认:

Ubuntu网络配置文件怎么改?,自定义VLAN怎么配置?

交换机对接端口是否已配置为Trunk模式,并允许VLAN 100和VLAN 200通过,这一步漏掉,后面服务器侧配置再对也连不通。

基于独立VLAN块编写配置

写VLAN配置前,先说清楚一个重要技术背景:Linux自2.6.9内核起就支持VLAN子接口,而netplan提供两种声明VLAN的方式,一种是Ubuntu 22.04起推荐的独立VLAN块写法,另一种是沿用多年的子接口写法,两者效果等价,但独立VLAN块更规范。

对Ubuntu 22.04及以上版本,推荐这种写法:

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: no
  vlans:
    vlan100:
      id: 100
      link: eno1
      addresses:
        - 10.0.100.10/24
      routes:
        - to: default
          via: 10.0.100.1
    vlan200:
      id: 200
      link: eno1
      addresses:
        - 10.0.200.10/24

对ubuntu 20.04 vlan配置,采用传统子接口写法同样兼容:

network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      dhcp4: no
    eno1.100:
      dhcp4: no
      addresses: [10.0.100.10/24]
    eno1.200:
      dhcp4: no
      addresses: [10.0.200.10/24]

注意两种写法不要混用,否则netplan会报重复配置错误,如果VLAN走DHCP,把addresses整行删掉,dhcp4改成yes即可,比如内网自动分配IP的场景。

应用配置并验证结果

执行配置前先用sudo netplan try做个预检,这条命令会先验证语法,有问题会自动回滚,有效避免配置文件写错导致SSH断连的尴尬,如果60秒内没按回车确认,配置也会自动还原。

确认无误后正式应用:

sudo netplan try
sudo netplan apply

验证VLAN接口是否成功创建:

ip -br addr show | grep vlan

看到vlan100和vlan200都带上了对应的IP地址,说明配置生效,再ping一下各VLAN的网关,能通就大功告成,整个过程中eno1本身不用配IP,它只负责做物理通道。

ubuntu vlan配置命令排查思路:为什么配置对了却不通

这是后台运维群里出现频率最高的一类问题,配置看着没毛病,VLAN接口也起来了,但业务就是不通,排查顺序比技巧本身更重要。

Ubuntu网络配置文件怎么改?,自定义VLAN怎么配置?

先查交换机侧,别急着改服务器

约八成VLAN不通的案例,问题出在交换机而非服务器,确认交换机端口模式是Trunk而不是Access,确认Allowed VLAN列表里放行了对应ID,确认设备之间的MTU一致性,有条件的用tcpdump -i vlan100抓包看看有没有流量到达服务器网卡,没有抓到包就基本可以断定是物理侧链路问题。

检查netplan配置文件里的隐藏坑

  • 缩进必须用两个空格,YAML对Tab和缩进零容忍,而且netplan的报错信息对新手并不友好。
  • id字段是整数,不要加引号,id: "100"在某些版本会直接报类型错误。
  • 独立VLAN块名称不能叫vlan0,id范围必须是1到4094,0和4095为保留值不可用。
  • 子接口写法eno1.100和独立VLAN块写法不能出现在同一份配置文件中。
  • 如果renderer是NetworkManager,有些版本需要额外安装vlan插件包才能识别VLAN配置,服务器版默认networkd反而没这个问题。

多网卡服务器上的特殊场景

双网卡甚至四网卡服务器做VLAN聚合时,建议在每个VLAN块中显式声明link参数指向具体物理网卡,比如link: eno2,不要依赖netplan的自动匹配,否则系统重启后网卡名称顺序发生变化,VLAN会绑到错误的物理口上,这种故障极其隐蔽。

netplan和NetworkManager与传统ifupdown对比,VLAN配置方式怎么选

老运维可能习惯改/etc/network/interfaces,但Ubuntu各版本对它的支持已经基本停止,只在兼容模式下存在,对比如下:

配置工具 配置位置 VLAN支持方式 热加载 适合场景
netplan /etc/netplan/.yaml 独立VLAN块或子接口 netplan apply即时生效 所有Ubuntu Server
NetworkManager

Ubuntu网络配置文件怎么改?,自定义VLAN怎么配置?

/etc/NetworkManager

通过nmtui或nmcli即时生效桌面版或动态网络
ifupdown/etc/network/interfaces子接口需重启networking服务老版本迁移

对于追求稳定性和可脚本化的服务器环境,netplan毫无疑问是最优选,它用一份YAML描述整机网络拓扑,配合Git做版本管理,比手工敲命令改配置更透明可回溯,如果只是临时测试VLAN连通性,不走netplan也可以,用ip link add link eno1 name vlan100 type vlan id 100 && ip addr add 10.0.100.10/24 dev vlan100快速建立,测试完用ip link del vlan100删掉,对系统零残留。

Q&A:ubuntu配置vlan的常见疑问解答

netplan配置了VLAN并执行apply,重启服务器后配置丢了是什么原因?

配置文件本身没有被持久化,检查/etc/netplan/下是否存在同名冲突文件,多份YAML文件同时存在时,netplan按文件名顺序合并,后加载的配置如果层级相同会覆盖前面的,另外确认文件权限,netplan要求配置文件权限不能高于600,执行sudo chmod 600 /etc/netplan/.yaml可修复。

在同一张物理网卡上配置多个VLAN,如何平衡多个子网的流量?

多个VLAN共用同一物理网卡,在Linux内部通过802.1Q标签天然隔离,互不干扰,你需要做的只是确保每个VLAN块都有独立的IP地址、独立路由表条目,如果不同VLAN需要访问彼此,添加对应路由规则即可,但默认网关只能有一个,多VLAN环境下通常只在核心业务VLAN中声明默认网关。对这类场景,建议在VLAN配置中显式为每个子接口指定独立路由表,并配合策略路由实现精细转发。

临时创建的VLAN接口,重启后会自动消失吗?

会,通过ip link add命令手动创建的VLAN接口属于内核级临时对象,重启后Linux内核重新加载,未写入任何配置文件的接口全部清空,系统回到只有物理网卡的状态,这正是临时测试用ip link add、正式使用则写入netplan的意义所在。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.idctop.com/article/584564.html

赞 (0)
服务器SR550如何配置RAID5?,安装环境步骤是什么?
上一篇 2026年8月20日 02:05
QQ电脑文件连接到服务器失败怎么解决,原因是什么
下一篇 2026年8月20日 02:07

相关推荐

  • 服务器ip能直接加cdn吗?cdn加速如何配置

    可以,但通常不建议直接修改服务器 IP 地址,而是通过“添加域名并解析到 CDN”的方式来实现,你不能直接把 CDN 的 IP 填到服务器里,但你可以让 CDN 指向你的服务器 IP,以下是详细解释和正确操作步骤:✅ 正确做法(标准流程)保持服务器 IP 不变你的源站服务器(Origin Server)仍然使用……

    2026年7月12日
    17200
  • 景云数据VPS测评,美国4837大带宽实测,16元/月性价比高吗

    景云数据VPS美国4837节点在16元/月价位段具备极高的性价比,实测大带宽吞吐稳定,适合对成本敏感且需基础海外加速的个人开发者及小型企业建站使用,核心配置与基础性能解析在2026年的VPS市场中,低价位产品往往伴随着资源超售或带宽限制,景云数据(Jingyun Data)推出的16元/月套餐,主打“高性价比……

    2026年5月18日
    7300
  • Java开发html5怎么做?Java开发html5教程

    Java与HTML5的深度融合,是企业级应用迈向现代化、移动化与智能化的最佳技术路径,这一组合不仅继承了Java在后端逻辑处理上的强大稳定性与高并发能力,更充分利用了HTML5在前端表现力上的跨平台优势与富媒体特性,对于寻求数字化转型的企业而言,采用Java作为后端支撑、HTML5作为前端交互的架构模式,能够以……

    2026年3月30日
    10500
  • 小米1的开发者选项在哪,小米手机开发者模式怎么打开

    小米1的开发者选项是连接用户与系统底层桥梁的关键功能,其核心价值在于赋予用户超越普通权限的系统调试与优化能力,对于这款具有里程碑意义的机型,合理利用开发者选项,不仅能解决旧机型常见的卡顿、发热问题,更能通过USB调试实现数据备份、刷机救砖等高阶操作,核心结论在于:开发者选项并非仅针对程序员,普通用户通过精准配置……

    2026年3月28日
    9300
  • 镜像备份能保存多久?,备份文件保存时间怎么看

    镜像保存时间与存储成本的关系镜像文件存储在对象存储中,按容量计费,保存时间越长,累计容量越大,费用自然越高,你可以通过删除不再使用的镜像来控制成本,镜像类型也影响保留策略:公共镜像由云厂商提供,长期有效;自定义镜像由你创建,保留时间由你决定;共享镜像的保留时间取决于共享者的设置,备份会保存多久?常见备份类型有效……

    2026年7月31日
    700
  • 开发测试工资多少?测试开发工程师月薪一般多少钱

    开发测试工程师的薪资水平在当前技术人才市场中处于稳健上升通道,核心结论是:初级岗位年薪普遍在8万至15万元之间,具备自动化测试或性能测试能力的中高级工程师年薪可达20万至40万元,而测试开发专家或测试架构师年薪突破50万元已成常态,薪资差异主要取决于技术深度、所在城市层级以及行业属性,单纯的功能测试已难以获得高……

    2026年3月11日
    17300
  • 房地产开发期间费用包括哪些,房地产开发费用怎么算?

    房地产开发期间费用的精细化管控是决定项目最终利润率的关键变量,构建一套科学的管理体系或系统逻辑,必须建立在严格的分类核算、动态的预算阈值控制以及全流程的合规性审查之上,其核心在于将模糊的财务支出转化为可量化、可追踪的数据节点,通过技术手段实现成本最小化与合规最大化的平衡, 费用管理系统的顶层架构设计在开发费用管……

    2026年2月19日
    14600
  • ASP.NET项目开发教程哪里有?新手从零开始怎么做?

    ASP.NET 作为企业级 Web 开发的基石,凭借其跨平台能力、高性能输出以及强大的生态系统,成为了构建现代云原生应用的首选技术栈,掌握这一技术栈不仅需要熟悉语法,更要求开发者具备宏观的架构设计能力与微观的性能优化意识,本 ASP.NET项目开发教程 将遵循金字塔原则,从核心架构出发,深入剖析开发流程中的关键……

    2026年2月21日
    11800
  • 全脑开发教材pdf免费下载吗?全脑开发训练方法有哪些?

    开发一套自动化生成系统是解决全脑教育资料制作效率低下的最佳方案,通过编程技术,特别是利用Python语言结合专业的PDF处理库,可以精准控制排版、动态生成视觉训练素材,并实现个性化内容的批量输出,这种技术路线不仅能大幅降低全脑开发 pdf资料的制作成本,还能确保内容的标准化与专业度,为教育机构提供可持续的内容生……

    2026年3月1日
    13400
  • 服务器和电脑主机的辐射大吗,对人体有哪些危害?

    服务器和电脑主机的辐射都在安全标准之内,电脑主机的辐射量低于服务器,但两者对人体健康的影响均微乎其微,无需过度担忧,很多人一听到“辐射”就联想到生病、致癌,甚至不敢靠近电脑和服务器,家用电脑和商用服务器产生的电磁辐射属于非电离辐射,能量低,无法改变分子结构,所有上市电子产品都必须通过国家3C认证,辐射值被严格限……

    程序开发 2026年8月9日
    1000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注