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

相关推荐

  • 个人邮箱怎么注册域名?企业邮箱注册域名流程

    低成本建站与品牌独立性的终极测评在数字化转型的浪潮中,域名不仅是网站的地址,更是数字资产的核心,对于个人开发者、独立博主以及初创团队而言,“个人邮箱注册域名”这一看似简单的操作,实则隐藏着关于安全性、品牌独立性以及长期运维成本的巨大差异,本文将深入剖析当前主流域名注册服务商的底层逻辑,结合2026年的最新市场动……

    2026年6月30日
    1300
  • 服务器jvm在哪里看最大内存,jvm最大内存怎么查看

    查看服务器JVM最大内存的核心在于获取当前运行时环境的配置上限,最直接且通用的方法是通过JDK自带的命令行工具进行查询,或者直接查看Java进程的启动参数,这一操作不需要复杂的代码改造,仅需具备服务器访问权限即可完成,对于运维人员和开发者而言,准确掌握JVM最大内存配置是排查内存溢出(OOM)问题和进行性能调优……

    2026年3月29日
    7500
  • linux消息队列是什么?linux消息队列有哪些常用命令

    关于linux的消息队列在构建高并发、微服务架构的分布式系统时,消息队列(Message Queue, MQ) 已成为不可或缺的基础中间件,对于运行在 Linux 环境下的服务器而言,选择一款高性能、高可用且易于集成的消息队列方案,直接决定了系统的吞吐量、延迟表现以及数据一致性能力,本文将深入剖析当前主流 Li……

    2026年6月14日
    2700
  • 国内虚拟主机必须要备案吗,虚拟主机不备案的后果是什么?

    国内虚拟主机必须备案,这是中国大陆法律法规的硬性要求,任何未备案的国内虚拟主机都无法正常使用,解析会被拦截,国内虚拟主机备案,到底是不是必须的?很多新手站长在购买虚拟主机时,都会纠结一个问题:国内虚拟主机一定要备案吗?答案很明确,必须备案,这里的“国内虚拟主机”指的是服务器机房位于中国大陆境内的虚拟主机产品,根……

    2026年8月1日
    1800
  • aix查看服务器cpu内存使用情况,aix怎么查看cpu和内存使用率?

    在AIX操作系统运维中,掌握服务器CPU与内存的实时状态是保障业务稳定性的核心能力,核心结论是:高效监控AIX系统资源,必须建立以topas为实时监控核心,vmstat、iostat、svmon为深度分析工具的立体化监控体系, 运维人员不应仅停留在查看数值表面,而应通过这些工具的组合使用,精准定位资源瓶颈,实现……

    2026年3月8日
    11900
  • Excel分组怎么操作,常用方法有哪些?

    Excel分组操作并不复杂,核心在于根据数据特征选择正确的工具:数据透视表分组适合灵活按区间或日期分组,分类汇总适合快速分组求和,函数分组则适用于条件分组并嵌入公式,熟练掌握这三种方法,你就能解决绝大多数分组需求,Excel分组怎么设置?基础操作与常用技巧Excel分组功能自2007版本起内置,无需额外付费或购……

    程序开发 2026年7月17日
    3100
  • 三星开发者选项找不到怎么办?三星手机开发者选项在哪里打开

    三星手机开发者选项找不到的根本原因在于系统默认将其隐藏,这是安卓系统为了防止普通用户误操作而设置的底层保护机制,只需通过特定的“激活代码”即可让其永久显示,该过程安全且可逆,不会影响手机保修,核心解决方案:连续点击版本号这是解决“三星开发者选项找不到”问题的唯一标准且通用的方法,适用于几乎所有三星One UI版……

    2026年3月18日
    16500
  • 服务器cpu内存带宽如何计算?服务器配置带宽计算方法

    服务器配置的选择核心在于精准匹配业务需求,避免资源浪费与性能瓶颈,科学的配置计算模型应遵循“业务类型决定CPU架构,并发量决定内存容量,数据吞吐决定带宽规模”的基本原则,对于大多数Web应用,CPU与内存的比例通常维持在1:2或1:4,带宽则需根据峰值流量与冗余设计综合判定,精准的服务器cpu内存带宽计算不仅能……

    2026年3月30日
    9900
  • elasticsearch是什么?elasticsearch和mysql区别

    关于elasticsearch在现代数据驱动的业务场景中,Elasticsearch 已成为构建搜索引擎、日志分析和实时数据可视化的核心引擎,许多开发者在初期部署时往往忽视了底层基础设施的重要性,导致在生产环境中遭遇严重的性能瓶颈,本文基于真实的服务器部署体验,深入剖析不同配置对 Elasticsearch 集……

    2026年6月16日
    3700
  • 服务器1g内存能承载多少人?1g内存服务器性能评测

    1G内存服务器在经过深度优化的Linux系统环境下,能够稳定承载日均PV(页面浏览量)5000至10000的纯静态网站,或日均IP 2000左右的动态内容站点,其核心瓶颈在于并发连接数与数据库操作,而非单纯的存储空间,通过精细化配置,完全可以满足中小型企业官网、个人博客及轻量级API服务的运行需求,系统层面的极……

    2026年4月10日
    9900

发表回复

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