hbugs001 发表于 2026-5-17 14:49:12

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

<h1>1 EVE-NG桥接外网的5种方式:从&quot;ping不通8.8.8.8&quot;到全通</h1>
<hr />
<h2>1.1 痛点引入</h2>
<p>拓扑搭好了,设备起来了,CLI里show ip interface brief全绿——然后你试着ping 8.8.8.8,不通。</p>
<p>想从浏览器登录防火墙Web界面?打不开。想在实验设备里装个软件包?没网。折腾半天才发现,设备之间倒是通了的,但整个实验环境跟外部网络是隔离的。</p>
<p>问题出在哪?桥接没搞对。EVE-NG的网络模型和VMware不一样,不是&quot;装上就通&quot;,而是要理解Cloud、pnet、Bridge三种网络类型各自的作用,选对方式才能把你的实验环境接入外部网络。</p>
<p>这篇把5种方式一次讲清。</p>
<hr />
<h2>1.2 核心知识:5种桥接方式</h2>
<h3>1.2.1 方式1:Bridge(实验内互联)</h3>
<p>Bridge是EVE-NG的内部虚拟交换机,基于Linux Bridge实现。当你从左侧网络菜单添加&quot;bridge&quot;类型网络时,EVE-NG在后台创建一个Linux Bridge设备,接口命名规则为 <code>vnet&lt;随机ID&gt;</code>。</p>
<ul>
<li>用途:同一实验内多个节点之间的二层互联</li>
<li>关键特征:Bridge网络完全隔离于宿主机物理网络,不提供外网连通性</li>
<li>典型场景:两台路由器之间跑OSPF,中间接一台交换机,用Bridge连就行</li>
</ul>
<p>注意:Bridge不是&quot;桥接外网&quot;的意思,它的名字容易误导新手。如果你要连外网,看方式2。</p>
<blockquote>
<p>来源:03.3 节点与网络配置文档 5.1节 / Cloud网络映射源码分析文档 维度3</p>
</blockquote>
<h3>1.2.2 方式2:Cloud/pnet(直连物理网络)</h3>
<p>这是最常用的外网连接方式。EVE-NG的Cloud网络底层绑定的是宿主机物理网口对应的Linux Bridge——pnet接口。</p>
<p>核心映射规则:</p>
<table>
<thead>
<tr>
<th>前端显示</th>
<th>后端标识</th>
<th>绑定对象</th>
<th>用途</th>
</tr>
</thead>
<tbody>
<tr>
<td>Management(Cloud0)</td>
<td>pnet0</td>
<td>管理网口</td>
<td>宿主机管理网络,设备可获取DHCP地址</td>
</tr>
<tr>
<td>Cloud1</td>
<td>pnet1</td>
<td>第二物理网口</td>
<td>连接第二张物理网卡所在网络</td>
</tr>
<tr>
<td>Cloud2</td>
<td>pnet2</td>
<td>第三物理网口</td>
<td>连接第三张物理网卡所在网络</td>
</tr>
<tr>
<td>...</td>
<td>...</td>
<td>...</td>
<td>...</td>
</tr>
<tr>
<td>Cloud9</td>
<td>pnet9</td>
<td>第十物理网口</td>
<td>连接第十张物理网卡所在网络</td>
</tr>
</tbody>
</table>
<p>核心原则:Cloud网络是一个虚拟交换机,它桥接到宿主机的一个物理网口(pnet接口)。你可以将实验内任意设备的任意网卡连接到这个Cloud网络上,该网卡即可获得与宿主机物理网络相同的连通性。例如,将设备A的eth2连接到Cloud1,设备A的eth2就能访问宿主机pnet1所连接的网络。</p>
<p>关键操作注意——社区版限制:</p>
<p>社区版不支持开机状态下修改网络连接。添加或更改Cloud连接时,必须:</p>
<ol>
<li>先关闭设备</li>
<li>断开该接口上所有连线</li>
<li>重新连接到Cloud网络</li>
<li>再开机</li>
</ol>
<p>如果跳过&quot;断线&quot;步骤直接改,可能导致网络状态异常且无法自动恢复。</p>
<blockquote>
<p>来源:网卡桥接教程 / Cloud网络映射源码分析文档 维度5-6 / 03.3文档6.3节</p>
</blockquote>
<h3>1.2.3 方式3:ESXi环境额外配置——混杂模式</h3>
<p>如果你的EVE-NG跑在ESXi/ESX虚拟化环境里,方式2还不够,必须额外做一项配置:<strong>开启端口组混杂模式</strong>。</p>
<p>ESXi的vSwitch默认不允许虚拟机接收非自身MAC地址的流量。而EVE-NG内部的虚拟设备各有各的MAC地址,流量经过vSwitch时会被丢弃——表现为设备连了Cloud但ping不通任何外部地址。</p>
<p>操作步骤:</p>
<ol>
<li>登录vSphere Client → 选择宿主机 → 配置 → 虚拟交换机</li>
<li>找到EVE-NG虚拟机所在的端口组 → 编辑</li>
<li>安全设置中,将&quot;混杂模式&quot;改为&quot;接受&quot;</li>
<li>建议&quot;MAC地址变更&quot;&quot;伪传输&quot;也全部勾选为&quot;接受&quot;</li>
<li>安全提示:将&quot;MAC地址变更&quot;和&quot;伪传输&quot;设置为&quot;接受&quot;会降低端口组安全性,使其更容易受到MAC欺骗攻击。在生产环境的ESXi中,建议仅在EVE-NG虚拟机所在的特定端口组上开启这些选项,并确保该端口组是隔离的、可信的。对于纯实验环境,此设置是安全的。</li>
<li>vSwitch建议只绑定一张物理网卡,避免多网卡捆绑导致流量混乱</li>
</ol>
<blockquote>
<p>来源:网卡桥接教程注意事项2-3</p>
</blockquote>
<h3>1.2.4 方式4:VXLAN隧道透传(跨网段二层打通)</h3>
<p>这是多数人不知道的方式。当你有两台物理上分离的EVE-NG服务器(或一台EVE-NG + 一台远端Linux设备),需要让两边的交换机在同一VLAN内建立OSPF邻居时,VXLAN是答案。</p>
<p>原理:在两台Linux设备之间建立VXLAN隧道,隧道两端各创建一个Linux Bridge,将VXLAN接口和物理子接口(或VLAN接口)同时桥接进去,实现二层流量的跨三层透传。</p>
<p>配置要点:</p>
<pre><code class="language-bash"># 在两端Linux设备上分别执行
# 1. 创建VXLAN隧道接口
ip link add vxlan100 type vxlan id 100 remote &lt;对端IP&gt; local &lt;本端IP&gt; 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
</code></pre>
<p>验证要点:</p>
<ul>
<li>底层IP连通性是前提——先ping对端物理IP确认可达</li>
<li>检查网桥MAC表:<code>bridge fdb show br br100</code>,确认远端MAC已学习</li>
<li>交换机上配置Trunk允许VLAN 100通过,两端OSPF配置在同一区域</li>
<li>生产环境建议用NetworkManager或systemd-networkd做持久化,<code>ip link</code>命令重启后失效</li>
</ul>
<blockquote>
<p>来源:VXLAN透传交换机VLAN建立OSPF邻居实验指南</p>
</blockquote>
<h3>1.2.5 方式5:SSL VPN远程接入</h3>
<p>当你需要从外网(家里、咖啡厅、手机热点)访问EVE-NG内网设备的Web管理页面时,前4种方式都不够——它们解决的是EVE-NG到外网的连通,而你需要的是反向:从外网穿透进来。</p>
<p>SoftEtherVPN是社区验证过的方案,核心架构:</p>
<ul>
<li>VPN Server运行在EVE-NG宿主机上</li>
<li>创建一个Virtual HUB</li>
<li>用BridgeCreate命令将Virtual HUB桥接到pnet0(管理网络)</li>
<li>外网客户端通过SSL VPN拨号后,获得与EVE-NG内网同网段的IP地址</li>
</ul>
<p>关键配置步骤:</p>
<pre><code class="language-bash"># 编译安装SoftEtherVPN后,进入vpncmd
vpncmd localhost /SERVER /PASSWORD:&lt;密码&gt; /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:&lt;用户密码&gt;
</code></pre>
<p>客户端连接后,可以直接在浏览器输入防火墙的内部IP地址访问Web管理界面。</p>
<p>注意:如果没有公网IP,可以用内网穿透工具(如frp)替代,将VPN端口映射出去。</p>
<blockquote>
<p>来源:SSL VPN部署教程(SoftEtherVPN + BridgeCreate方案)</p>
</blockquote>
<hr />
<h2>1.3 操作步骤:Cloud/pnet桥接实战(最常用方式)</h2>
<p>以下以裸机部署的EVE-NG为例,将设备接入外网:</p>
<pre><code class="language-bash"># 第1步:确认pnet接口状态
# 登录EVE-NG CLI,执行以下命令确认pnet0网桥存在且状态为UP
# ip link show pnet0 或 brctl show pnet0
# 通常情况下,pnet0在系统安装时已自动配置好,并绑定了物理网口(如eth0),无需额外操作

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

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

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

# 第5步:开机验证
# 右键设备 → Start
# 进入设备CLI → ping 8.8.8.8
</code></pre>
<p>如果ping通了,说明桥接成功。设备也可以通过DHCP获取到管理网络的IP地址。</p>
<blockquote>
<p>【待验证】部分设备需要手动配置IP地址和默认路由,不一定是DHCP自动获取。</p>
</blockquote>
<hr />
<h2>1.4 常见报错及解决</h2>
<table>
<thead>
<tr>
<th>报错现象</th>
<th>原因</th>
<th>解决方案</th>
</tr>
</thead>
<tbody>
<tr>
<td>添加网络时Cloud选项灰色/不显示</td>
<td>管理界面未绑定pnet接口,或宿主机无可用物理网口</td>
<td>登录CLI → Network Settings → 将pnet0-pnet9绑定到对应物理接口</td>
</tr>
<tr>
<td>设备连了Cloud但ping不通外网</td>
<td>ESXi环境未开启端口组混杂模式</td>
<td>vSphere Client → 端口组安全设置 → 混杂模式改为&quot;接受&quot;</td>
</tr>
<tr>
<td>修改Cloud连接后节点网络异常</td>
<td>社区版未关机就修改了网络连接</td>
<td>关机 → 断开所有连线 → 重新连接Cloud → 开机</td>
</tr>
</tbody>
</table>
<blockquote>
<p>来源:Cloud网络映射源码分析文档 维度7故障表 / 网卡桥接教程注意事项</p>
</blockquote>
<hr />
<h2>1.5 总结升华:5种桥接方式速查表</h2>
<table>
<thead>
<tr>
<th>方式</th>
<th>适用场景</th>
<th>是否需要额外配置</th>
<th>难度</th>
</tr>
</thead>
<tbody>
<tr>
<td>Bridge</td>
<td>实验内节点互联</td>
<td>否</td>
<td>低</td>
</tr>
<tr>
<td>Cloud/pnet</td>
<td>直连物理网络(最常用)</td>
<td>需确认pnet接口状态</td>
<td>中</td>
</tr>
<tr>
<td>ESXi混杂模式</td>
<td>ESXi环境下的Cloud桥接</td>
<td>需开启端口组混杂模式</td>
<td>中</td>
</tr>
<tr>
<td>VXLAN隧道</td>
<td>跨网段二层透传(异地OSPF邻居等)</td>
<td>需在两端Linux配置VXLAN+Bridge</td>
<td>高</td>
</tr>
<tr>
<td>SSL VPN</td>
<td>从外网远程访问内网设备</td>
<td>需部署SoftEtherVPN并桥接pnet</td>
<td>高</td>
</tr>
</tbody>
</table>
<p><strong>一句话选型</strong>:同一实验内互联用Bridge,连外网用Cloud,ESXi加开混杂模式,跨机房用VXLAN,远程管理上VPN。</p>
<hr />
<blockquote>
<p><strong>本文为AI辅助生成草稿,标注【待验证】的技术细节请以实际环境验证为准。</strong></p>
</blockquote>
<hr />
<h2>1.6 内容来源</h2>
<p>本文素材来自以下EVE-NG知识库文档,按章节索引:</p>
<h3>1.6.1 痛点引入</h3>
<ul>
<li>社群高频问题整理(&quot;设备能互访但ping不通外网&quot;类问题)</li>
</ul>
<h3>1.6.2 方式1 Bridge</h3>
<ul>
<li><strong>03.3 <a href="http://xn--jhqz85fiwjmnawex2qsn5a.md">节点与网络配置.md</a></strong> 5.1节:前端实际支持的网络类型及区别</li>
<li><strong>T-CLOUD-ADDMAP <a href="http://xn--Cloud-4h6hz01ds7sy4c75ywpyvzsplb.md">Cloud网络映射源码分析.md</a></strong> 维度3:网络类型判定</li>
</ul>
<h3>1.6.3 方式2 Cloud/pnet</h3>
<ul>
<li><strong>网卡如何桥接?——EVE-NG亚太代理中文区独家合作伙伴</strong>:eth与pnet映射规则、Cloud命名对应关系、社区版关机断线操作要求</li>
<li><strong>T-CLOUD-ADDMAP <a href="http://xn--Cloud-4h6hz01ds7sy4c75ywpyvzsplb.md">Cloud网络映射源码分析.md</a></strong> 维度5-6:pnet接口扫描与Cloud虚拟交换机绑定机制、配置持久化</li>
<li><strong>03.3 <a href="http://xn--jhqz85fiwjmnawex2qsn5a.md">节点与网络配置.md</a></strong> 6.3节:Cloud网络操作流程</li>
</ul>
<h3>1.6.4 方式3 ESXi混杂模式</h3>
<ul>
<li><strong>网卡如何桥接?——EVE-NG亚太代理中文区独家合作伙伴</strong> 注意事项2-3:ESXi端口组混杂模式配置、vSwitch单物理网卡绑定建议</li>
</ul>
<h3>1.6.5 方式4 VXLAN隧道透传</h3>
<ul>
<li><strong>Linux基于Vxlan透传交换机vlan建立ospf邻居——EVE-NG亚太代理中文区独家合作伙伴</strong>:VXLAN隧道配置、二层网桥、交换机Trunk与OSPF配置、验证与排错</li>
</ul>
<h3>1.6.6 方式5 SSL VPN远程接入</h3>
<ul>
<li><strong>EVE-NG裸机部署SSL VPN,实现外网连接裸机内网——EVE-NG亚太代理中文区独家合作伙伴</strong>:SoftEtherVPN安装配置、BridgeCreate绑定pnet0、客户端连接验证</li>
</ul>
<h3>1.6.7 操作步骤</h3>
<ul>
<li>综合引用:网卡桥接教程 + 03.3文档6.2节 + Cloud映射文档维度5</li>
</ul>
<h3>1.6.8 常见报错及解决</h3>
<ul>
<li><strong>T-CLOUD-ADDMAP <a href="http://xn--Cloud-4h6hz01ds7sy4c75ywpyvzsplb.md">Cloud网络映射源码分析.md</a></strong> 维度7:故障排查表</li>
<li><strong>网卡如何桥接?——EVE-NG亚太代理中文区独家合作伙伴</strong> 注意事项</li>
</ul>
页: [1]
查看完整版本: EVE-NG桥接外网的5种方式