BGP初体验-Linux,Openwrt与Quagga

好久没写博客了!今天抽出点时间分享一下我的BGP初体验。

这一切的一切都要从一个叫鹤伞Ria的Vtuber说起……

环境配置

操作环境

Debian系Linux(其实是kali):

sudo apt update & sudo apt install quagga

Openwrt

opkg update & opkg install quagga quagga-zebra quagga-bgpd quagga-vtysh

网络配置

采用Zerotier建立内网环境模拟真实网络。

Zerotier的安装及配置不再赘述,官网有详尽教程。

网络环境

本来想做三台设备两个AS间的通讯,有一台设备无法安装任何BGP软件也就作罢;也没有画拓扑图的必要了(悲)。

AS114514 Debian 10.0.1.1,命名为R1,享有10.0.1.0/24网段;

AS1919810 Openwrt 10.0.2.1,命名为R2,享有10.0.2.0/24网段。

Quagga配置

下面才是重头戏。Quagga的配置文件位于/etc/quagga/

据测试,Openwrt安装quagga后会带有初始配置,而Debian不带初始配置,可自行创建。

/etc/quagga/zebra.conf配置(可不用修改)

1
2
3
4
5
6
7
8
! 登陆密码
password zebra
!
access-list vty permit 127.0.0.0/8
access-list vty deny any
!
line vty
access-class vty

/etc/quagga/bgpd.conf配置(需要根据情境修改)

1
2
3
4
5
6
7
8
9
10
11
! 密码
password zebra
! AS号
router bgp 114514
! 本机公网(VPN网络)ip
bgp router-id 10.0.1.1
! 本路由享有网段(需要交换的网段)
network 10.0.1.0/24
! peer信息(建立连接的机器的公网(VPN网络)ip,AS及称呼)
neighbor 10.0.2.1 remote-as 1919810
neighbor 10.0.2.1 description R2

另一台机器的配置只需依葫芦画瓢,我就不再赘述。

配置之后,运行

/etc/init.d/zebra restart

/etc/init.d/bgpd restart(Debian)

或者

/etc/init.d/quagga restart(Openwrt)

重启quagga服务。

欣赏结果

忙活了这么久,终于能看到结果了!

运行

vtysh

进入quagga控制台(指令模拟Cisco,这块不大了解)

输入

show ip bgp neighbor

就会看到

1
2
3
BGP neighbor is 10.0.2.1, remote AS 1919810, local AS 114514, external link
Description: R2
BGP version 4, remote router ID 10.0.2.1

还有这么一张表

                     Sent       Rcvd
Opens:                  2          0
Notifications:          0          0
Updates:                2          2
Keepalives:          1050       1049
Route Refresh:          0          0
Capability:             0          0
Total:               1054       1051

再看看路由器内的活动ipv4路由表

网络 对象 IPv4 网关 跃点数
xxx 10.0.2.0/24 10.0.2.1 20 main

就算大功告成了!

有什么用处呢?

没有。

内网测试唯一能享受的就是看着这条无形的链接,想象自己也是网络工程师。

但是还是感觉很爽!

而且你已经学会(大概)了BGP,获取全球路由表也能办到了!

参考Ria的爸爸(我的岳父)的文章

使用bird配置bgp网络互连

至于这一切与Ria有啥关系?欢迎关注Ria了解详情(滑稽)

Telegram群组 bilibli Youtube


BGP初体验-Linux,Openwrt与Quagga
https://blog.laoliu.eu.org/archives/e3c95af8.html
作者
Lao_Liu
发布于
2020年2月10日
许可协议