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://idctop.com/ubuntu%e7%bd%91%e7%bb%9c%e9%85%8d%e7%bd%ae%e6%96%87%e4%bb%b6%e6%80%8e%e4%b9%88%e6%94%b9%ef%bc%9f%e8%87%aa%e5%ae%9a%e4%b9%89vlan%e6%80%8e%e4%b9%88%e9%85%8d%e7%bd%ae%ef%bc%9f/

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

相关推荐

  • 3D游戏开发语言有哪些?

    选择C#(Unity引擎)和C++(Unreal Engine)是当前3D游戏开发的核心语言,两者覆盖全球85%的商业游戏项目,下面将深入解析语言特性、实战应用及进阶路线,语言选择:商业项目与独立开发的黄金组合(1)C#:Unity引擎的敏捷开发利器// Unity角色移动代码示例public class Pl……

    2026年2月6日
    17300
  • c语言能做ios开发吗,ios开发必须用c语言吗

    C语言是iOS开发的基石,深入掌握C语言底层原理是构建高性能、高稳定性iOS应用的必经之路,虽然现代iOS开发主要采用Swift或Objective-C,但C语言在系统级编程、性能优化以及底层框架调用中依然占据不可替代的核心地位,忽视C语言基础,开发者将难以突破技术瓶颈,无法真正理解iOS系统的运行机制,底层机……

    2026年4月9日
    11100
  • 韩国云主机和VPS怎么选,哪家性价比高?

    韩国云主机、韩国云VPS和韩国云服务器并不是三个完全不同的东西,核心都是韩国机房里的虚拟化计算资源;选型时先看首尔机房线路、KVM隔离、带宽计费与弹性扩展,再谈价格,韩国云主机和韩国云VPS有什么区别?先分清资源隔离与适用边界很多人在搜索“韩国云主机 韩国云vps韩国云服务器”时,会把三者混着叫,实际下单时,差……

    2026年10月18日
    200
  • 智慧停车怎么建?2026年智慧停车系统建设方案

    关于加快智慧停车的建议在数字化转型的浪潮中,智慧停车系统已成为缓解城市拥堵、提升公共资源利用率的关键基础设施,支撑这一庞大系统的底层——服务器基础设施,往往被决策者忽视,本文旨在从服务器性能测评的角度,深入剖析如何选择合适的硬件配置以加速智慧停车系统的部署与运行,并结合2026年的最新市场动态与优惠活动,为项目……

    2026年5月31日
    4700
  • 如何测试a15开发板的实际运行性能?

    a15开发板是一款基于ARM Cortex-A15处理器的嵌入式开发平台,专为高性能计算和实时应用设计,广泛应用于物联网设备、工业自动化、机器人和智能家居等领域,它结合了低功耗和高效率的优势,支持Linux、Android或实时操作系统(如FreeRTOS),让开发者能快速构建复杂应用,本教程将一步步指导你从零……

    2026年2月6日
    12800
  • FTP服务器配置步骤如何操作,怎么设置?

    FTP服务器配置步骤在构建文件传输基础设施时,FTP服务器仍是许多企业的首选方案,本文以 SolarWinds Serv-U FTP Server 为例,从安装、基础配置到安全加固,完整梳理一套适用于生产环境的部署流程,同时呈现实际测评中的体验和最新活动信息,软件选择与测评背景Serv-U 在Windows平台……

    2026年7月14日
    2400
  • b5服务器怎么设置?b5服务器设置教程

    关于b5服务器设置的描述在云计算基础设施日益复杂的今天,服务器配置的选择直接决定了业务的稳定性与扩展性,B5服务器作为近期备受关注的中端计算实例,其硬件架构与网络优化策略体现了厂商在性价比与性能平衡上的最新思考,本文基于实际部署测试,深入解析B5服务器的核心配置、网络表现及适用场景,为开发者与企业IT决策者提供……

    2026年6月16日
    2900
  • 团购可以开发票吗?团购发票开具全攻略与常见问题解答

    团购可以开发票,这不仅是法律要求,也是提升用户体验的关键功能,所有商业交易都必须提供正规发票,以符合税务规定和消费者权益保护法,企业通过团购平台销售商品或服务时,必须集成发票功能,确保合规性和可信度,本文将深入讲解如何从零开始开发团购系统的发票模块,涵盖技术实现、最佳实践和常见问题解决,帮助开发者构建专业、高效……

    2026年2月6日
    13430
  • justhostVPS怎么样?美国6元VPS实测性能好不好

    JustHost作为俄罗斯知名主机商,在海外低成本VPS市场一直保持着较高的关注度,其主打的美国机房VPS,以极低的价格门槛吸引了大量建站及轻量应用用户,本次测评针对JustHost美国机房月付6元档位的VPS实例,通过全天候的真实数据采集,从硬件配置、网络表现、磁盘IO及真实负载等多个维度进行深度解析,同时详……

    2026年4月29日
    9800
  • 开发公司工程师待遇如何?开发工程师招聘要求高吗

    开发公司工程师是软件项目成功交付的核心驱动力,其专业能力直接决定了产品的质量、稳定性与市场竞争力,在数字化转型加速的今天,企业选择技术团队或工程师寻求职业发展,必须透过现象看本质,聚焦于工程实践能力、系统架构思维以及问题解决的深度,优秀的工程师不仅是代码的编写者,更是技术资产的守护者与业务价值的创造者,核心价值……

    2026年3月20日
    12700

发表回复

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