位置: 编程技术 - 正文

在CentOS中制作BGP路由的教程(centos做bond4)

编辑:rootadmin

推荐整理分享在CentOS中制作BGP路由的教程(centos做bond4),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:centos bgp,centos开启bbr,centos bgp,centos 做bond,centos bbrplus,centos bgp,centos bgp,centos bgp,内容如对您有帮助,希望把文章链接给更多的朋友!

Quagga是一个开源路由软件套件。在这个教程中,我将会重点讲讲如何把一个Linux系统变成一个BGP路由器,还是使用Quagga,演示如何建立BGP与其它BGP路由器对等。

在我们进入细节之前,一些BGP的背景知识还是必要的。边界网关协议(即BGP)是互联网的域间路由协议的实际标准。在BGP术语中,全球互联网是由成千上万相关联的自治系统(AS)组成,其中每一个AS代表每一个特定运营商提供的一个网络管理域(据说,美国前总统乔治.布什都有自己的 AS 编号)。为了使其网络在全球范围内路由可达,每一个AS需要知道如何在英特网中到达其它的AS。这时候就需要BGP出来扮演这个角色了。BGP是一个AS去与相邻的AS交换路由信息的语言。这些路由信息通常被称为BGP线路或者BGP前缀。包括AS号(ASN;全球唯一号码)以及相关的IP地址块。一旦所有的BGP线路被当地的BGP路由表学习和记录,每一个AS将会知道如何到达互联网的任何公网IP。

在不同域(AS)之间路由的能力是BGP被称为外部网关协议(EGP)或者域间协议的主要原因。就如一些路由协议,例如OSPF、IS-IS、RIP和EIGRP都是内部网关协议(IGPs)或者域内路由协议,用于处理一个域内的路由.测试方案

在这个教程中,让我们来使用以下拓扑。我们假设运营商A想要建立一个BGP来与运营商B对等交换路由。它们的AS号和IP地址空间的细节如下所示:

运营商 A: ASN (), IP地址空间 (..0.0/), 分配给BGP路由器eth1网卡的IP地址(..1.1) 运营商 B: ASN (), IP地址空间 (..0.0/), 分配给BGP路由器eth1网卡的IP地址(..1.1)

路由器A和路由器B使用..0.0/子网来连接到对方。从理论上来说,任何子网从运营商那里都是可达的、可互连的。在真实场景中,建议使用掩码为位的公网IP地址空间来实现运营商A和运营商B之间的连通。在 CentOS中安装Quagga

如果Quagga还没安装好,我们可以使用yum来安装Quagga。

复制代码代码如下:# yum install quagga

如果你正在使用的是CentOS7系统,你需要应用一下策略来设置SELinux。否则,SElinux将会阻止Zebra守护进程写入它的配置目录。如果你正在使用的是CentOS6,你可以跳过这一步。

复制代码代码如下:# setsebool -P zebra_write_config 1

Quagga软件套件包含几个守护进程,这些进程可以协同工作。关于BGP路由,我们将把重点放在建立以下2个守护进程。

Zebra:一个核心守护进程用于内核接口和静态路由. BGPd:一个BGP守护进程.

配置日志记录

在Quagga被安装后,下一步就是配置Zebra来管理BGP路由器的网络接口。我们通过创建一个Zebra配置文件和启用日志记录来开始第一步。

复制代码代码如下:# cp /usr/share/doc/quagga-XXXXX/zebra.conf.sample /etc/quagga/zebra.conf

在CentOS6系统中:

复制代码代码如下:# service zebra start # chkconfig zebra on

在CentOS7系统中:

复制代码代码如下: # systemctl start zebra # systemctl enable zebra

Quagga提供了一个叫做vtysh特有的命令行工具,你可以输入与路由器厂商(例如Cisco和Juniper)兼容和支持的命令。我们将使用vtysh shell来配置BGP路由在教程的其余部分。

启动vtysh shell 命令,输入:

复制代码代码如下: # vtysh

提示将被改成该主机名,这表明你是在vtysh shell中。

复制代码代码如下: Router-A#

现在我们将使用以下命令来为Zebra配置日志文件:

复制代码代码如下:Router-A# configure terminal Router-A(config)# log file /var/log/quagga/quagga.log Router-A(config)# exit

永久保存Zebra配置:

复制代码代码如下:Router-A# write

在路由器B操作同样的步骤。配置对等的IP地址

下一步,我们将在可用的接口上配置对等的IP地址。

复制代码代码如下: Router-A# show interface #显示接口信息</p><p> Interface eth0 is up, line protocol detection is disabled . . . . . Interface eth1 is up, line protocol detection is disabled . . . . .

配置eth0接口的参数:

复制代码代码如下:site-A-RTR# configure terminal site-A-RTR(config)# interface eth0 site-A-RTR(config-if)# ip address ..0.1/ site-A-RTR(config-if)# description "to Router-B" site-A-RTR(config-if)# no shutdown site-A-RTR(config-if)# exit

继续配置eth1接口的参数:

复制代码代码如下:site-A-RTR(config)# interface eth1 site-A-RTR(config-if)# ip address ..1.1/ site-A-RTR(config-if)# description "test ip from provider A network" site-A-RTR(config-if)# no shutdown site-A-RTR(config-if)# exit

现在确认配置:

复制代码代码如下:Router-A# show interface </p><p> Interface eth0 is up, line protocol detection is disabled Description: "to Router-B" inet ..0.1/ broadcast ..0.3 Interface eth1 is up, line protocol detection is disabled Description: "test ip from provider A network" inet ..1.1/ broadcast ..1.</p><p> Router-A# show interface description #显示接口描述</p><p> Interface Status Protocol Description eth0 up unknown "to Router-B" eth1 up unknown "test ip from provider A network"

如果一切看起来正常,别忘记保存配置。

复制代码代码如下:Router-A# write

同样地,在路由器B重复一次配置。

在我们继续下一步之前,确认下彼此的IP是可以ping通的。

复制代码代码如下: Router-A# ping ..0.2 </p><p> PING ..0.2 (..0.2) () bytes of data. bytes from ..0.2: icmp_seq=1 ttl= time=0. ms

在CentOS中制作BGP路由的教程(centos做bond4)

配置BGP对等

Quagga守护进程负责BGP的服务叫bgpd。首先我们来准备它的配置文件。

复制代码代码如下: # cp /usr/share/doc/quagga-XXXXXXX/bgpd.conf.sample /etc/quagga/bgpd.conf

在CentOS6系统中:

复制代码代码如下: # service bgpd start # chkconfig bgpd on

在CentOS7中:

复制代码代码如下: # systemctl start bgpd # systemctl enable bgpd

现在,让我们来进入Quagga 的shell。

复制代码代码如下:# vtysh

第一步,我们要确认当前没有已经配置的BGP会话。在一些版本,我们可能会发现一个AS号为的BGP会话。由于我们不需要这个会话,所以把它移除。

复制代码代码如下:Router-A# show running-config </p><p> ... ... ... router bgp bgp router-id ..1.1 ... ... ...

我们将移除一些预先配置好的BGP会话,并建立我们所需的会话取而代之。

复制代码代码如下:Router-A# configure terminal Router-A(config)# no router bgp Router-A(config)# router bgp Router-A(config)# no auto-summary Router-A(config)# no synchronizaiton Router-A(config-router)# neighbor ..0.2 remote-as Router-A(config-router)# neighbor ..0.2 description "provider B" Router-A(config-router)# exit Router-A(config)# exit Router-A# write

路由器B将用同样的方式来进行配置,以下配置提供作为参考。

复制代码代码如下:Router-B# configure terminal Router-B(config)# no router bgp Router-B(config)# router bgp Router-B(config)# no auto-summary Router-B(config)# no synchronizaiton Router-B(config-router)# neighbor ..0.1 remote-as Router-B(config-router)# neighbor ..0.1 description "provider A" Router-B(config-router)# exit Router-B(config)# exit Router-B# write

当相关的路由器都被配置好,两台路由器之间的对等将被建立。现在让我们通过运行下面的命令来确认:

复制代码代码如下:Router-A# show ip bgp summary

从输出中,我们可以看到"State/PfxRcd"部分。如果对等关闭,输出将会显示"Idle"或者"Active'。请记住,单词'Active'这个词在路由器中总是不好的意思。它意味着路由器正在积极地寻找邻居、前缀或者路由。当对等是up状态,"State/PfxRcd"下的输出状态将会从特殊邻居接收到前缀号。

在这个例子的输出中,BGP对等只是在AS和AS之间呈up状态。因此没有前缀被更改,所以最右边列的数值是0。配置前缀通告

正如一开始提到,AS 将以..0.0/作为通告,在我们的例子中AS 将同样以..0.0/作为通告。这些前缀需要被添加到BGP配置如下。

在路由器-A中:

复制代码代码如下:Router-A# configure terminal Router-A(config)# router bgp Router-A(config)# network ..0.0/ Router-A(config)# exit Router-A# write

在路由器-B中:

复制代码代码如下:Router-B# configure terminal Router-B(config)# router bgp Router-B(config)# network ..0.0/ Router-B(config)# exit Router-B# write

在这一点上,两个路由器会根据需要开始通告前缀。测试前缀通告

首先,让我们来确认前缀的数量是否被改变了。

复制代码代码如下:Router-A# show ip bgp summary

为了查看所接收的更多前缀细节,我们可以使用以下命令,这个命令用于显示邻居..0.2所接收到的前缀总数。

复制代码代码如下:Router-A# show ip bgp neighbors ..0.2 advertised-routes

查看哪一个前缀是我们从邻居接收到的:

复制代码代码如下:Router-A# show ip bgp neighbors ..0.2 routes

我们也可以查看所有的BGP路由器:

复制代码代码如下:Router-A# show ip bgp

以上的命令都可以被用于检查哪个路由器通过BGP在路由器表中被学习到。

复制代码代码如下:Router-A# show ip route

代码: K - 内核路由, C - 已链接 , S - 静态 , R - 路由信息协议 , O - 开放式最短路径优先协议, I - 中间系统到中间系统的路由选择协议, B - 边界网关协议, > - 选择路由, * - FIB 路由 复制代码代码如下: C>* ..0.0/ is directly connected, eth0 C>* ..1.0/ is directly connected, eth1 B>* ..0.0/ [/0] via ..0.2, eth0, ::</p><p align="left"> Router-A# show ip route bgp </p><p align="left"> B>* ..0.0/ [/0] via ..0.2, eth0, ::

BGP学习到的路由也将会在Linux路由表中出现。

复制代码代码如下: [root@Router-A~]# ip route </p><p> ..0.0/ dev eth0 proto kernel scope link src ..0.1 ..1.0/ dev eth1 proto kernel scope link src ..1.1 ..0.0/ via ..0.2 dev eth0 proto zebra

最后,我们将使用ping命令来测试连通。结果将成功ping通。

复制代码代码如下: [root@Router-A~]# ping ..1.1 -c 2

总而言之,本教程将重点放在如何在CentOS系统中运行一个基本的BGP路由器。这个教程让你开始学习BGP的配置,一些更高级的设置例如设置过滤器、BGP属性调整、本地优先级和预先路径准备等,我将会在后续的教程中覆盖这些主题。

在CentOS的防火墙上开启通行端口的方法 如果希望在服务器上提供服务,诸如CentOS或RHEL的企业级Linux发行版包含内置的强大防火墙,它们默认的防火墙规则十分严格。因此,如果你安装了任何

在CentOS系统上查看用户登录记录的方法 保留、维护和分析日志(如某个特定时期内发生过的,或正在发生的帐号事件),是Linux系统管理员最基础和最重要的任务之一。对于用户管理,检查用

图文详解CentOS系统的安装过程 因为笔者一直都是使用CentOS,所以这次安装系统也是基于CentOS的安装。把光盘插入光驱,设置bios光驱启动。进入光盘的欢迎界面。其中有两个选项,可

标签: centos做bond4

本文链接地址:https://www.jiuchutong.com/biancheng/363317.html 转载请保留说明!

上一篇:在CentOS系统上安装Docker的教程(centos 安装)

下一篇:在CentOS的防火墙上开启通行端口的方法 (centos的防火墙怎么关)

  • 应交税费转出未交增值税借贷方表示什么
  • 企业留存的盈余公积属于哪个会计科目
  • 研发费用可以列支成本吗
  • 上期留抵税额会计分录
  • 预缴税款什么时候可以手动填写申报表
  • 借应交税费销项税额贷未交增值税
  • 个人独资企业个人所得税税率
  • 中外合资经营企业法
  • 平价转让股权个税申报表填写
  • 企业收到发要失控发票做进项税额转出如何做税务处理?
  • 无形资产摊销的年限规定
  • 工资基数缴纳个税怎么交
  • 开具房屋租赁发票税率
  • 应税服务计入什么科目
  • 误餐补助需要发票做账吗
  • 车辆租赁的增值税率
  • 公司低价卖房土地增值税计税方法是什么
  • 卷烟批发环节消费税计算
  • 公司租入农民的房子好吗
  • 增值税税额计入什么科目?
  • 员工奖励专项基金怎么填
  • 新版edge浏览器兼容模式怎么设置
  • 腾达路由器管理员密码
  • linux hdparm
  • iphone如何录音转文字
  • 农民专业合作社税收优惠政策
  • kindle屏幕黑斑
  • 滞纳金和罚金计入哪个会计科目
  • root怎么开oppo
  • 股票金融资产被称为
  • 土地增值税清算管理规程
  • 印度泰姬陵建筑
  • php注册和登录界面
  • php 截断
  • vue内置指令实验总结
  • js-cookie vue
  • 变量与数据
  • id命令的哪个参数可显示用户账号的uid信息
  • php曲线图模板
  • 投标代理费应如何支付
  • phpcms 数据库配置文件
  • 增值税多交了五万怎么办
  • 接受捐赠物品的入账价值
  • python如何对齐输出
  • python next iter
  • sqlserver数据库操作
  • 弥补以前年度亏损怎么算
  • 金税四期对企业纳税管理影响分析
  • 个体工商户税务注销流程
  • 残保金逾期申报了补报会有罚款和滞纳金吗?
  • 员工的交通费发票可以报销嘛
  • 营改增后所得税怎么计算
  • 二手车公司销售二手车增值税怎么算
  • 房地产开发公司是做什么的
  • 小规模纳税人免税政策
  • 增值税发票红冲和作废的区别
  • 对公账户提取备用金怎么做账
  • 完美解决索尼电视arc无声音
  • sql server数据库字段类型
  • SQLSERVER Pager store procedure分页存储过程
  • Windows 10 PC/Mobile Build 14965预览版推送:改进PC端
  • 如何关闭mac上的icloud
  • windows ftp软件
  • win10预览版和正式版区别
  • WIN10系统中没有接入音频设备 要启动gui
  • 苹果mac系统怎么截屏快捷键
  • linux抓包语句
  • 360安全卫士windows7
  • win7打开摄像头权限
  • win8丢失msvcp140.dll的解决办法
  • linux命令shell脚本
  • js函数详解
  • XML、HTML、CSS与JS的区别整理
  • shell脚本启动应用程序
  • jquery.cookie.js实现用户登录保存密码功能的方法
  • python获取list集合中某一元素的值
  • 重庆电子税务局网页版登录
  • 地方税务局发票查询
  • 2021辽宁粮食直补
  • 如果贸易后y产品的相对价格下降很大的话
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设