第四节:检测环境搭建——用GNS3/EVE-NG搭BGP实验环境
说实话,搞路由泄露攻击检测,最怕什么?
怕你学了一堆理论,一上手发现环境都搭不起来。
我个人习惯是:先搭环境,再讲原理。因为只有你亲手配过BGP,你才知道哪些地方容易出问题,哪些配置是攻击者最爱钻的空子。
这一节,我就带你用GNS3和EVE-NG把BGP实验环境搭起来。两种工具我都会讲,你选一个顺手就行。
4.1 环境选型:GNS3还是EVE-NG?
先说说我的看法。
GNS3我用了七八年,EVE-NG也用了三四年。说实话,各有千秋。
| 对比项 | GNS3 | EVE-NG |
|---|---|---|
| 上手难度 | 低,图形化拖拽 | 中,需要Web访问 |
| 设备支持 | 思科、华为、Juniper等 | 几乎全厂商 |
| 资源占用 | 中等 | 较低(可跑在VMware上) |
| 适合场景 | 小规模实验、教学 | 大规模、多厂商混合 |
| 我个人的推荐 | 初学者首选 | 进阶/生产模拟 |
4.2 用GNS3搭建基础BGP拓扑
好,咱们直接开干。
我假设你已经装好了GNS3,并且导入了至少一个IOS镜像(比如c7200-adventerprisek9-mz.152-4.M7)。
4.2.1 拓扑设计
我们要模拟一个最简单的路由泄露场景:
- AS 100:三台路由器(R1、R2、R3),全互联
- AS 200:一台路由器(R4),通过EBGP连到R1和R2
- R3上有一个Loopback0(1.1.1.1/32),作为被泄露的目标
你想想看,如果R4通过R1学到了1.1.1.1/32,然后又通过R2学到了同一条路由,但R2的路径更优——这时候R4会不会把这条路由再通告给R1?
嗯,这就是典型的路由泄露场景。
4.2.2 具体配置步骤
第一步:拖拽设备并连线
- 从左侧设备栏拖出4台路由器
- 用以太网线连接:R1↔R2、R1↔R3、R2↔R3、R1↔R4、R2↔R4
- 接口分配:我习惯用GigabitEthernet0/0到0/3
第二步:配置IP地址
! R1配置
interface GigabitEthernet0/0
ip address 10.0.12.1 255.255.255.0
no shutdown
!
interface GigabitEthernet0/1
ip address 10.0.13.1 255.255.255.0
no shutdown
!
interface GigabitEthernet0/2
ip address 10.0.14.1 255.255.255.0
no shutdown
! R2配置
interface GigabitEthernet0/0
ip address 10.0.12.2 255.255.255.0
no shutdown
!
interface GigabitEthernet0/1
ip address 10.0.23.2 255.255.255.0
no shutdown
!
interface GigabitEthernet0/2
ip address 10.0.24.2 255.255.255.0
no shutdown
! R3配置
interface GigabitEthernet0/0
ip address 10.0.13.3 255.255.255.0
no shutdown
!
interface GigabitEthernet0/1
ip address 10.0.23.3 255.255.255.0
no shutdown
!
interface Loopback0
ip address 1.1.1.1 255.255.255.255
! R4配置
interface GigabitEthernet0/0
ip address 10.0.14.4 255.255.255.0
no shutdown
!
interface GigabitEthernet0/1
ip address 10.0.24.4 255.255.255.0
no shutdown
第三步:配置BGP
! R1 BGP配置
router bgp 100
bgp router-id 10.0.12.1
neighbor 10.0.12.2 remote-as 100
neighbor 10.0.13.3 remote-as 100
neighbor 10.0.14.4 remote-as 200
network 10.0.12.0 mask 255.255.255.0
network 10.0.13.0 mask 255.255.255.0
! R2 BGP配置
router bgp 100
bgp router-id 10.0.12.2
neighbor 10.0.12.1 remote-as 100
neighbor 10.0.23.3 remote-as 100
neighbor 10.0.24.4 remote-as 200
network 10.0.12.0 mask 255.255.255.0
network 10.0.23.0 mask 255.255.255.0
! R3 BGP配置
router bgp 100
bgp router-id 10.0.13.3
neighbor 10.0.13.1 remote-as 100
neighbor 10.0.23.2 remote-as 100
network 1.1.1.1 mask 255.255.255.255
network 10.0.13.0 mask 255.255.255.0
network 10.0.23.0 mask 255.255.255.0
! R4 BGP配置
router bgp 200
bgp router-id 10.0.14.4
neighbor 10.0.14.1 remote-as 100
neighbor 10.0.24.2 remote-as 100
配置完记得敲 clear ip bgp * 重置一下BGP会话,或者等它自动建立。
4.3 用EVE-NG搭建多AS环境
如果你觉得GNS3跑起来有点卡,或者你想模拟更复杂的场景——比如5个AS、10台路由器——那我建议你试试EVE-NG。
EVE-NG我一般装在VMware Workstation上,分配4核CPU、8GB内存就够了。装好后通过浏览器访问,界面比GNS3清爽不少。
4.3.1 导入镜像
EVE-NG支持导入各种镜像。我个人常用的是:
- 思科:vIOS-L2、vIOS-L3
- 华为:AR1K、CE12800
- Juniper:vMX、vSRX
导入方法很简单:把镜像文件放到 /opt/unetlab/addons/ 对应的目录下,然后运行 /opt/unetlab/wrappers/unl_wrapper -a fixpermissions 修复权限。
4.3.2 搭建拓扑
在EVE-NG里搭建拓扑比GNS3更直观。你只需要:
- 点击左侧的「Network」图标
- 拖拽设备到画布
- 右键设备选择「Start」启动
- 双击设备进入CLI配置
配置命令和GNS3完全一样,我就不重复了。
4.4 验证环境是否正常
环境搭好了,怎么知道它能不能用?
我一般做三步检查:
- 检查邻居状态:
show ip bgp summary,看所有邻居是不是Established状态 - 检查路由表:
show ip bgp,看1.1.1.1/32是不是出现在R4的路由表里 - 模拟泄露:在R4上配置
neighbor 10.0.14.1 route-map LEAK out,把从R2学到的路由再通告给R1
如果第三步成功了,恭喜你——你的环境已经可以用于路由泄露攻击检测实验了。
- GNS3适合小规模、教学场景
- EVE-NG适合大规模、多厂商模拟
- BGP邻居状态必须是Established
- 路由泄露的本质是:从一个AS学到的路由,又被通告回同一个AS
4.5 本章知识体系
下面这张图,是我自己总结的BGP实验环境搭建的核心逻辑。你看一眼,心里就有数了。
这张图把整个流程串起来了。你照着这个顺序走,基本不会出错。
公众号:蓝海资料掘金营,微信deep3321