EVE-NG桥接外网的5种方式

1 EVE-NG桥接外网的5种方式:从"ping不通8.8.8.8"到全通


1.1 痛点引入

拓扑搭好了,设备起来了,CLI里show ip interface brief全绿------然后你试着ping 8.8.8.8,不通。

想从浏览器登录防火墙Web界面?打不开。想在实验设备里装个软件包?没网。折腾半天才发现,设备之间倒是通了的,但整个实验环境跟外部网络是隔离的。

问题出在哪?桥接没搞对。EVE-NG的网络模型和VMware不一样,不是"装上就通",而是要理解Cloud、pnet、Bridge三种网络类型各自的作用,选对方式才能把你的实验环境接入外部网络。

这篇把5种方式一次讲清。


1.2 核心知识:5种桥接方式

1.2.1 方式1:Bridge(实验内互联)

Bridge是EVE-NG的内部虚拟交换机,基于Linux Bridge实现。当你从左侧网络菜单添加"bridge"类型网络时,EVE-NG在后台创建一个Linux Bridge设备,接口命名规则为vnet<随机ID>

  • 用途:同一实验内多个节点之间的二层互联
  • 关键特征:Bridge网络完全隔离于宿主机物理网络,不提供外网连通性
  • 典型场景:两台路由器之间跑OSPF,中间接一台交换机,用Bridge连就行

注意:Bridge不是"桥接外网"的意思,它的名字容易误导新手。如果你要连外网,看方式2。

来源:03.3 节点与网络配置文档 5.1节 / Cloud网络映射源码分析文档 维度3

1.2.2 方式2:Cloud/pnet(直连物理网络)

这是最常用的外网连接方式。EVE-NG的Cloud网络底层绑定的是宿主机物理网口对应的Linux Bridge------pnet接口。

核心映射规则:

前端显示 后端标识 绑定对象 用途
Management(Cloud0) pnet0 管理网口 宿主机管理网络,设备可获取DHCP地址
Cloud1 pnet1 第二物理网口 连接第二张物理网卡所在网络
Cloud2 pnet2 第三物理网口 连接第三张物理网卡所在网络
... ... ... ...
Cloud9 pnet9 第十物理网口 连接第十张物理网卡所在网络

核心原则:Cloud网络是一个虚拟交换机,它桥接到宿主机的一个物理网口(pnet接口)。你可以将实验内任意设备的任意网卡连接到这个Cloud网络上,该网卡即可获得与宿主机物理网络相同的连通性。例如,将设备A的eth2连接到Cloud1,设备A的eth2就能访问宿主机pnet1所连接的网络。

关键操作注意------社区版限制:

社区版不支持开机状态下修改网络连接。添加或更改Cloud连接时,必须:

  1. 先关闭设备
  2. 断开该接口上所有连线
  3. 重新连接到Cloud网络
  4. 再开机

如果跳过"断线"步骤直接改,可能导致网络状态异常且无法自动恢复。

来源:网卡桥接教程 / Cloud网络映射源码分析文档 维度5-6 / 03.3文档6.3节

1.2.3 方式3:ESXi环境额外配置------混杂模式

如果你的EVE-NG跑在ESXi/ESX虚拟化环境里,方式2还不够,必须额外做一项配置:开启端口组混杂模式

ESXi的vSwitch默认不允许虚拟机接收非自身MAC地址的流量。而EVE-NG内部的虚拟设备各有各的MAC地址,流量经过vSwitch时会被丢弃------表现为设备连了Cloud但ping不通任何外部地址。

操作步骤:

  1. 登录vSphere Client → 选择宿主机 → 配置 → 虚拟交换机
  2. 找到EVE-NG虚拟机所在的端口组 → 编辑
  3. 安全设置中,将"混杂模式"改为"接受"
  4. 建议"MAC地址变更""伪传输"也全部勾选为"接受"
  5. 安全提示:将"MAC地址变更"和"伪传输"设置为"接受"会降低端口组安全性,使其更容易受到MAC欺骗攻击。在生产环境的ESXi中,建议仅在EVE-NG虚拟机所在的特定端口组上开启这些选项,并确保该端口组是隔离的、可信的。对于纯实验环境,此设置是安全的。
  6. vSwitch建议只绑定一张物理网卡,避免多网卡捆绑导致流量混乱

来源:网卡桥接教程注意事项2-3

1.2.4 方式4:VXLAN隧道透传(跨网段二层打通)

这是多数人不知道的方式。当你有两台物理上分离的EVE-NG服务器(或一台EVE-NG + 一台远端Linux设备),需要让两边的交换机在同一VLAN内建立OSPF邻居时,VXLAN是答案。

原理:在两台Linux设备之间建立VXLAN隧道,隧道两端各创建一个Linux Bridge,将VXLAN接口和物理子接口(或VLAN接口)同时桥接进去,实现二层流量的跨三层透传。

配置要点:

bash 复制代码
# 在两端Linux设备上分别执行
# 1. 创建VXLAN隧道接口
ip link add vxlan100 type vxlan id 100 remote <对端IP> local <本端IP> dstport 4789

# 2. 创建VLAN感知的网桥
ip link add br100 type bridge vlan_filtering 1

# 3. 将物理网卡和VXLAN接口加入网桥
ip link set eth0 master br100
ip link set vxlan100 master br100

# 4. 在网桥上配置VLAN
bridge vlan add dev eth0 vid 100
bridge vlan add dev vxlan100 vid 100

# 5. 启用所有接口
ip link set vxlan100 up
ip link set br100 up
ip link set eth0 up

验证要点:

  • 底层IP连通性是前提------先ping对端物理IP确认可达
  • 检查网桥MAC表:bridge fdb show br br100,确认远端MAC已学习
  • 交换机上配置Trunk允许VLAN 100通过,两端OSPF配置在同一区域
  • 生产环境建议用NetworkManager或systemd-networkd做持久化,ip link命令重启后失效

来源:VXLAN透传交换机VLAN建立OSPF邻居实验指南

1.2.5 方式5:SSL VPN远程接入

当你需要从外网(家里、咖啡厅、手机热点)访问EVE-NG内网设备的Web管理页面时,前4种方式都不够------它们解决的是EVE-NG到外网的连通,而你需要的是反向:从外网穿透进来。

SoftEtherVPN是社区验证过的方案,核心架构:

  • VPN Server运行在EVE-NG宿主机上
  • 创建一个Virtual HUB
  • 用BridgeCreate命令将Virtual HUB桥接到pnet0(管理网络)
  • 外网客户端通过SSL VPN拨号后,获得与EVE-NG内网同网段的IP地址

关键配置步骤:

bash 复制代码
# 编译安装SoftEtherVPN后,进入vpncmd
vpncmd localhost /SERVER /PASSWORD:<密码> /HUB:DEFAULT

# 创建Virtual HUB
HubCreate VPN

# 桥接到pnet0
# /DEVICE:soft 告诉SoftEther创建一个名为soft的TAP接口,并将Virtual HUB VPN桥接到这个接口上
BridgeCreate VPN /DEVICE:soft /TAP:yes

# 之后需要将soft接口手动桥接到EVE-NG的pnet0网桥上,才能让VPN客户端访问管理网络
# brctl addif pnet0 soft

# 创建用户并设密码
UserCreate vpnuser /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet vpnuser /PASSWORD:<用户密码>

客户端连接后,可以直接在浏览器输入防火墙的内部IP地址访问Web管理界面。

注意:如果没有公网IP,可以用内网穿透工具(如frp)替代,将VPN端口映射出去。

来源:SSL VPN部署教程(SoftEtherVPN + BridgeCreate方案)


1.3 操作步骤:Cloud/pnet桥接实战(最常用方式)

以下以裸机部署的EVE-NG为例,将设备接入外网:

bash 复制代码
# 第1步:确认pnet接口状态
# 登录EVE-NG CLI,执行以下命令确认pnet0网桥存在且状态为UP
# ip link show pnet0 或 brctl show pnet0
# 通常情况下,pnet0在系统安装时已自动配置好,并绑定了物理网口(如eth0),无需额外操作

# 第2步:在实验中添加Cloud网络
# Web界面 → 左侧网络菜单 → 拖拽"Management(Cloud0)"到画布

# 第3步:设备关机 + 断线
# 右键设备 → Stop
# 右键设备连线 → Delete

# 第4步:连接Cloud
# 从设备网卡拖线到Cloud0图标

# 第5步:开机验证
# 右键设备 → Start
# 进入设备CLI → ping 8.8.8.8

如果ping通了,说明桥接成功。设备也可以通过DHCP获取到管理网络的IP地址。

【待验证】部分设备需要手动配置IP地址和默认路由,不一定是DHCP自动获取。


1.4 常见报错及解决

报错现象 原因 解决方案
添加网络时Cloud选项灰色/不显示 管理界面未绑定pnet接口,或宿主机无可用物理网口 登录CLI → Network Settings → 将pnet0-pnet9绑定到对应物理接口
设备连了Cloud但ping不通外网 ESXi环境未开启端口组混杂模式 vSphere Client → 端口组安全设置 → 混杂模式改为"接受"
修改Cloud连接后节点网络异常 社区版未关机就修改了网络连接 关机 → 断开所有连线 → 重新连接Cloud → 开机

来源:Cloud网络映射源码分析文档 维度7故障表 / 网卡桥接教程注意事项


1.5 总结升华:5种桥接方式速查表

方式 适用场景 是否需要额外配置 难度
Bridge 实验内节点互联
Cloud/pnet 直连物理网络(最常用) 需确认pnet接口状态
ESXi混杂模式 ESXi环境下的Cloud桥接 需开启端口组混杂模式
VXLAN隧道 跨网段二层透传(异地OSPF邻居等) 需在两端Linux配置VXLAN+Bridge
SSL VPN 从外网远程访问内网设备 需部署SoftEtherVPN并桥接pnet

一句话选型:同一实验内互联用Bridge,连外网用Cloud,ESXi加开混杂模式,跨机房用VXLAN,远程管理上VPN。


本文为AI辅助生成草稿,标注【待验证】的技术细节请以实际环境验证为准。


1.6 内容来源

本文素材来自以下EVE-NG知识库文档,按章节索引:

1.6.1 痛点引入

  • 社群高频问题整理("设备能互访但ping不通外网"类问题)

1.6.2 方式1 Bridge

1.6.3 方式2 Cloud/pnet

  • 网卡如何桥接?------EVE-NG亚太代理中文区独家合作伙伴:eth与pnet映射规则、Cloud命名对应关系、社区版关机断线操作要求
  • T-CLOUD-ADDMAP Cloud网络映射源码分析.md 维度5-6:pnet接口扫描与Cloud虚拟交换机绑定机制、配置持久化
  • 03.3 节点与网络配置.md 6.3节:Cloud网络操作流程

1.6.4 方式3 ESXi混杂模式

  • 网卡如何桥接?------EVE-NG亚太代理中文区独家合作伙伴 注意事项2-3:ESXi端口组混杂模式配置、vSwitch单物理网卡绑定建议

1.6.5 方式4 VXLAN隧道透传

  • Linux基于Vxlan透传交换机vlan建立ospf邻居------EVE-NG亚太代理中文区独家合作伙伴:VXLAN隧道配置、二层网桥、交换机Trunk与OSPF配置、验证与排错

1.6.6 方式5 SSL VPN远程接入

  • EVE-NG裸机部署SSL VPN,实现外网连接裸机内网------EVE-NG亚太代理中文区独家合作伙伴:SoftEtherVPN安装配置、BridgeCreate绑定pnet0、客户端连接验证

1.6.7 操作步骤

  • 综合引用:网卡桥接教程 + 03.3文档6.2节 + Cloud映射文档维度5

1.6.8 常见报错及解决

  • T-CLOUD-ADDMAP Cloud网络映射源码分析.md 维度7:故障排查表
  • 网卡如何桥接?------EVE-NG亚太代理中文区独家合作伙伴 注意事项
相关推荐
QuestLab4 小时前
③-进阶篇:vLLM实战——多卡部署、压测与排障
linux·服务器·网络
颖火虫盟主4 小时前
Claude Code Hook 系统详解与 Hello World 实操
前端·网络·数据库
汤愈韬5 小时前
TK_HCIP-Security_FW的可靠性_双机热备场景_上接路由器下接交换机
网络·网络协议·网络安全
wjs20245 小时前
Lua 字符串
开发语言
不正经的小寒5 小时前
PHP 8.0 核心特性
php
优化Henry5 小时前
5G基站设备替换过程中因参数配置与硬件不匹配产生的告警排查案例
运维·网络·5g·信息与通信
皮卡蛋炒饭.5 小时前
网络层相关学习
网络
三品吉他手会点灯5 小时前
C语言学习笔记 - 33.数据类型 - printf函数的详细用法
c语言·开发语言·笔记·学习·算法
知行合一。。。5 小时前
Python--05--面向对象(继承,多态)
android·开发语言·python