【FRRouting User Guide】【Protocols】(十三)BGP

BGP代表边界网关协议。最新的BGP版本是4。BGP-4是一种外部网关协议,是事实上的标准域间路由协议。 BGP-4 is described in RFC 1771 and updated by RFC 4271RFC 2858 adds multiprotocol support to BGP-4.

Starting BGP

The default configuration file of bgpd is bgpd.confbgpd searches the current directory first, followed by /etc/frr/bgpd.conf. All of bgpd’s commands must be configured in bgpd.conf when the integrated config is not being used.

bgpd特定的调用选项描述如下。还可以指定公共选项(公共调用选项)。

  • -p--bgp_port <port>

设置bgp协议的端口号。当端口号为0时,表示不侦听bgp端口。

  • -l--listenon

指定bgpd要侦听的特定IP地址,而不是其默认值0.0.0.0/::。这对于将bgpd约束到内部地址或在一台主机上运行多个bgpd进程非常有用。可以指定多个地址。

在下面的示例中,bgpd开始侦听地址100.0.1.2和fd00::2:2上的连接。选项-d(在守护程序模式下运行)和-f(使用特定的配置文件)也在本例中使用,因为在使用-l选项时,我们可能会运行多个bgpd实例,每个实例都有不同的配置。

请注意,此选项意味着–no_ kernel选项,并且不会在linux内核中安装任何已学习的路由。

# /usr/lib/frr/bgpd -d -f /some-folder/bgpd.conf -l 100.0.1.2 -l fd00::2:2
  • -n--no_kernel

不要将学习的路由安装到linux内核中。此选项对于路由反射器环境或在同一命名空间中运行多个bgp进程非常有用。此选项与–no_zebra选项的不同之处在于建立了ZAPI连接。

这个选项也可以在运行时通过在vty shell中使用[no] bgp no-rib命令来切换。

请注意,除非在配置写入操作之前通过vtyshell中的no bgp no-rib命令取消设置,否则在运行时保存配置后,此选项将保持不变。

  • -S--skip_runas

跳过检查功能和更改用户和组信息的正常过程。

  • -e--ecmp

使用有限的ecmp功能运行BGP,这与编译BGP时使用的不同。指定的值必须大于0且小于或等于编译时指定的值。

  • -Z--no_zebra

不要和zebra 交流。这与–no_kernel 选项不同,因为我们甚至不打开到zebra进程的ZAPI连接。

  • -s--socket_size

打开与对等方的tcp连接时,设置内核将用于对等方套接字的套接字发送缓冲区大小。这个选项只有在非常大规模的情况下才真正有用。应该做实验,看看这是否有帮助或没有在规模你正在运行。

LABEL MANAGER

  • -I--int_num

设置zclient id。在代理模式下使用Zebra标签管理器时,这是必需的。

Basic Concepts(基本概念)

Autonomous Systems(自治系统)

From RFC 1930:

AS是一个由一个或多个网络运营商运行的一个或多个IP前缀组成的连接组,该组具有SINGLE 且CLEARLY DEFINED的路由策略。

每个AS都有一个与之相关联的标识号,称为ASN。这是一个两个八位字节的值,取值范围为1到65535。AS编号64512到65535被定义为专用AS编号。私人电话号码不得在全球互联网上公布。

ASN是BGP的基本元素之一。BGP是一种距离向量路由协议,AS-Path框架为BGP提供了距离向量度量和环路检测。

另请参见
RFC 1930

Address Families

多协议扩展使BGP能够承载多个网络层协议的路由信息。BGP支持IPv4和IPv6的地址族标识符(AFI)。还通过BGP后续地址族标识符(SAFI)支持多组每AFI信息。FRR支持单播信息、标记信息((RFC 3107 and RFC 8277)和第3层VPN信息(RFC 4364 and RFC 4659)的SAFI。

Route Selection

FRR的BGP实现使用的路由选择过程使用以下决策标准,从列表的顶部开始,一直到可以使用其中一个因素为止。

  1. Weight check

    更喜欢本地权重较高的路由,而不是较低的路由。

  2. Local preference check

    Prefer higher local preference routes to lower.

  3. Local route check

    首选本地路由(静态、聚合、重新分发)而不是接收路由。

  4. AS path length check

    选择最短 hop-count AS_PATHs.

  5. Origin check

    首选最低起点类型路线。也就是说,与EGP相比,更喜欢IGP始发路线,而不是不完整路线。

  6. MED check

    如果从与相同的位置接收到具有MED的路由,则首选具有最低MED的路由。多出口鉴别器。

  7. External check

    更喜欢从外部eBGP对等接收的路由,而不是从其他类型的对等点接收的路由。

  8. IGP cost check

    Prefer the route with the lower IGP cost.

  9. Multi-path check

    If multi-pathing is enabled, then check whether the routes not yet distinguished in preference may be considered equal. If bgp bestpath as-path multipath-relax is set, all such routes are considered equal, otherwise routes received via iBGP with identical AS_PATHs or routes received from eBGP neighbours in the same AS are considered equal.

  10. Already-selected external check

    Where both routes were received from eBGP peers, then prefer the route which is already selected. Note that this check is not applied if bgp bestpath compare-routerid is configured. This check can prevent some cases of oscillation.

  11. Router-ID check

    Prefer the route with the lowest router-ID. If the route has an ORIGINATOR_ID attribute, through iBGP reflection, then that router ID is used, otherwise the router-ID of the peer the route was received from is used.

  12. Cluster-List length check

    The route with the shortest cluster-list length is used. The cluster-list reflects the iBGP reflection path the route has taken.

  13. Peer address

    Prefer the route received from the peer with the higher transport layer address, as a last-resort tie-breaker.

Capability Negotiation(协商能力)

在将IPv6路由信息交换功能添加到BGP时。有一些建议,IETFIDR通过了一个叫做BGP的多协议扩展的提案。 RFC 2283中描述了该规范。该协议没有定义新协议。它定义了现有BGP的新属性。当使用它交换IPv6路由信息时,称为BGP-4+。当它用于交换组播路由信息时,它被称为MBGP。

bgpd支持BGP的多协议扩展。因此,如果远程对等方支持该协议,bgpd可以交换IPv6和/或多播路由信息。

传统的BGP不具备检测远程对等方能力的功能,例如它是否可以处理IPv4单播路由以外的前缀类型。这是一个大问题,使用多协议扩展BGP在一个运营网络。 RFC 2842采用了一种称为能力协商的特性。bgpd使用这种能力协商来检测远程对等方的能力。如果对等端仅配置为IPv4单播邻居,则bgpd不会发送这些能力协商数据包(至少不会,除非其他可选BGP功能需要能力协商)。

默认情况下,FRR将使用双方最小的公共功能进行对等。例如,如果本地路由器具有单播和多播功能,而远程路由器仅具有单播功能,则本地路由器将建立具有单播功能的连接。当没有公共功能时,FRR发送不支持的功能错误,然后重置连接。

BGP Router Configuration

ASN and Router ID

首先,您必须用 router bgp ASN命令配置BGP路由器。AS编号是自治系统的标识符。BGP协议使用AS号来检测BGP连接是内部连接还是外部连接。

  • router bgp ASN

使用指定的ASN启用BGP协议进程。在此语句之后,您可以输入任何BGP命令。

  • bgp router-id A.B.C.D

此命令指定路由器ID。如果bgpd连接到zebra,它将获取接口和地址信息。在这种情况下,默认路由器ID值被选为接口的最大IP地址。当路由器zebra未启用时,bgpd无法获取接口信息,因此路由器id设置为0.0.0.0。所以请手动设置路由器id。

Multiple Autonomous Systems

FRR的BGP实现能够同时运行多个自治系统。每个配置为对应于管理距离。在过去,为了获得相同的功能,网络管理员必须运行一个新的bgpd进程;使用VRFs可以在一个进程中处理多个自治系统。

当使用多个自治系统时,在第一个路由器配置块之后的所有路由器配置块必须指定一个VRF作为BGP的路由选择目标。对于用于相同目的的所有其他VRF,该VRF必须是唯一的,即两个不同的自治系统不能使用相同的VRF。但是,相同的可用于不同的VRF。

注意
VRFs的分离特性使得在一台机器上对等单个bgpd进程成为可能。请注意,这可以完全在BGP中完成,而无需在内核或Zebra中使用相应的VRF,这支持一些实际用例,例如路由反射器和路由服务器。

附加自治系统或针对特定VRF的路由器的配置通过以下命令完成:

  • router bgp ASN vrf VRFNAME

VRFNAME与内核中配置的VRFs匹配。未指定vrf VRFNAME时,BGP协议进程属于默认vrf。

具有多个自治系统的示例配置可能如下所示:

router bgp 1
 neighbor 10.0.0.1 remote-as 20
 neighbor 10.0.0.2 remote-as 30
!
router bgp 2 vrf blue
 neighbor 10.0.0.3 remote-as 40
 neighbor 10.0.0.4 remote-as 50
!
router bgp 3 vrf red
 neighbor 10.0.0.5 remote-as 60
 neighbor 10.0.0.6 remote-as 70
...

Views

除了支持多个自治系统外,FRR的BGP实现还支持Views。

BGPviews 与普通BGP进程几乎相同,只是BGP选择的路由没有安装到内核路由表中。每个BGP views 提供一组独立的路由信息,这些信息仅通过BGP分发。可以支持多个views ,并且BGP views 信息始终独立于其他路由协议和 Zebra/kernel 路由。BGP views 使用核心实例(即默认VRF)与对等方进行通信。

  • router bgp AS-NUMBER view NAME

创建新的BGP views 。您可以使用任意单词作为名称。views 选择的路由不会安装到内核路由表中。
使用此命令,您可以如下所示设置路由服务器。

!
router bgp 1 view 1
 neighbor 10.0.0.1 remote-as 2
 neighbor 10.0.0.2 remote-as 3
!
router bgp 2 view 2
 neighbor 10.0.0.3 remote-as 4
 neighbor 10.0.0.4 remote-as 5
  • show [ip] bgp view NAME

Display the routing table of BGP view NAME.

Route Selection

  • bgp bestpath as-path confed

此命令指定在BGP最佳路径决策过程中应考虑联合路径集和序列的长度。

  • bgp bestpath as-path multipath-relax

此命令指定BGP决策过程应将路径长度相等的AS_PATH作为多径计算的候选路径。如果没有knob,整个AS_PATH必须匹配多路径计算。

  • bgp bestpath compare-routerid

在比较在大多数度量(包括 local-pref, AS_PATH length, IGP cost, MED)上两者相等的路由时,确保根据router-ID broken 。
如果启用此选项,则跳过已选择的检查,其中首选已选择的eBGP路由。

If a route has an ORIGINATOR_ID attribute because it has been reflected, that ORIGINATOR_ID will be used. Otherwise, the router-ID of the peer the route was received from will be used.

The advantage of this is that the route-selection (at this point) will be more deterministic. The disadvantage is that a few or even one lowest-ID router may attract all traffic to otherwise-equal paths because of this check. It may increase the possibility of MED or IGP oscillation, unless other measures were taken to avoid these. The exact behaviour will be sensitive to the iBGP and reflection topology.

Administrative Distance Metrics(管理距离度量)

  • distance bgp (1-255) (1-255) (1-255)

此命令更改BGP的距离值。参数分别是外部路由、内部路由和本地路由的距离值。

  • distance (1-255) A.B.C.D/M
  • distance (1-255) A.B.C.D/M WORD

设置特定路线的管理距离。

Require policy on EBGP

  • bgp ebgp-requires-policy

作为RFC-8212合规性的一部分,此命令要求对eBGP会话应用 incoming and outgoing filters 。如果没有 incoming  filters ,将不接受任何路由。如果没有outgoing filters,将不会宣布任何路由。
对于传统配置,这在默认情况下是启用的,对于数据中心配置,这在默认情况下是关闭的。
启用/禁用此选项时,必须清除会话。
当 incoming and outgoing filters丢失时,您将在下面看到“(Policy)”符号

  show bgp summary:

exit1# show bgp summary

IPv4 Unicast Summary:
BGP router identifier 10.10.10.1, local AS number 65001 vrf-id 0
BGP table version 4
RIB entries 7, using 1344 bytes of memory
Peers 2, using 43 KiB of memory

Neighbor        V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd   PfxSnt
192.168.0.2     4      65002         8        10        0    0    0 00:03:09            5 (Policy)
fe80:1::2222    4      65002         9        11        0    0    0 00:03:09     (Policy) (Policy)

此外,show bgp neighbor命令将在For address family::块中指示:

exit1# show bgp neighbor
...
For address family: IPv4 Unicast
 Update group 1, subgroup 1
 Packet Queue length 0
 Inbound soft reconfiguration allowed
 Community attribute sent to this neighbor(all)
 Inbound updates discarded due to missing policy
 Outbound updates discarded due to missing policy
 0 accepted prefixes

Reject routes with AS_SET or AS_CONFED_SET types(拒绝具有AS_SET 或AS_CONFED_SET 类型的路由)

  • bgp reject-as-sets

此命令允许拒绝具有AS_SET 或AS_CONFED_SET 类型的incoming and outgoing routes。

Suppress duplicate updates(抑制重复更新)

  • bgp suppress-duplicates

例如,如果在出口处剥离,BGP路由器可以生成多个具有空community 属性的相同通告。这是一种不希望的行为。如果路由实际上没有更改,则禁止重复更新。默认值:已启用。

Disable checking if nexthop is connected on EBGP sessions(禁用检查EBGP会话上是否连接了nexthop)

  • bgp disable-ebgp-connected-route-check

此命令用于禁用EBGP对等会话的连接验证过程,这些会话可由单个跃点访问,但在环回接口上配置或以其他方式配置为非直接连接的IP地址。

Route Flap Dampening

  • bgp dampening [(1-45) [(1-20000) (1-20000) (1-255)]]

。。。。。。。。

Networks

  • network A.B.C.D/M

此命令添加通告网络。

router bgp 1
 address-family ipv4 unicast
  network 10.0.0.0/8
 exit-address-family

这个配置示例说明网络10.0.0.0/8将向所有邻居宣布。一些供应商的路由器如果没有出现在他们的IGP路由表中,就不会公布路由;bgpd在公布路由时并不关心IGP路由。

  • bgp network import-check

This configuration modifies the behavior of the network statement. If you have this configured the underlying network must exist in the rib. If you have the [no] form configured then BGP will not check for the networks existence in the rib. For versions 7.3 and before frr defaults for datacenter were the network must exist, traditional did not check for existence. For versions 7.4 and beyond both traditional and datacenter the network must exist.

此配置修改network语句的行为。如果您配置了此功能,则底层网络必须存在于rib中。如果您配置了[no]表单,那么BGP将不会检查rib中是否存在网络。对于版本7.3和之前的frr默认数据中心是网络必须存在,传统的没有检查存在。对于版本7.4及更高版本的传统和数据中心,网络必须存在。

IPv6 Support

  • neighbor A.B.C.D activate

此配置修改是否为特定邻居启用地址族。默认情况下,仅启用IPv4单播地址系列。

router bgp 1
 address-family ipv6 unicast
  neighbor 2001:0DB8::1 activate
  network 2001:0DB8:5009::/64
 exit-address-family

此配置示例说明将宣布network 2001:0DB8:5009::/64,并使邻居2001:0DB8::1能够接收此通知。
默认情况下,只向所有邻居宣布IPv4单播地址族。使用“no bgp default ipv4 unicast”配置会覆盖此默认值,因此需要显式启用所有地址族。

router bgp 1
 no bgp default ipv4-unicast
 neighbor 10.10.10.1 remote-as 2
 neighbor 2001:0DB8::1 remote-as 3
 address-family ipv4 unicast
  neighbor 10.10.10.1 activate
  network 192.168.1.0/24
 exit-address-family
 address-family ipv6 unicast
  neighbor 2001:0DB8::1 activate
  network 2001:0DB8:5009::/64
 exit-address-family

此配置演示如何在具有两个上游的设置中使用“no bgp default ipv4 unicast”,其中每个上游只应接收ipv4或IPv6注释。
使用bgp默认的ipv6单播配置,ipv6单播地址族在默认情况下为所有新邻居启用。

Route Aggregation(路由聚合)

Route Aggregation-IPv4 Address Family

  • aggregate-address A.B.C.D/M

此命令指定聚合地址。

  • aggregate-address A.B.C.D/M route-map NAME

为聚合前缀应用 route-map。

  • aggregate-address A.B.C.D/M origin <egp|igp|incomplete>

覆盖聚合前缀的ORIGIN 。

  • aggregate-address A.B.C.D/M as-set

此命令指定聚合地址。生成的路由包括AS set。

  • ggregate-address A.B.C.D/M summary-only

此命令指定聚合地址。聚合routes将不会通告。

  • aggregate-address A.B.C.D/M matching-MED-only

将聚合地址配置为仅在路由匹配时创建,否则不会创建聚合路由。

  • aggregate-address A.B.C.D/M suppress-map NAME

仅与摘要类似,但仅会抑制与选定路线图匹配的更特定的路由。
此配置示例在ipv4地址族下设置聚合地址。

router bgp 1
 address-family ipv4 unicast
  aggregate-address 10.0.0.0/8
  aggregate-address 20.0.0.0/8 as-set
  aggregate-address 40.0.0.0/8 summary-only
  aggregate-address 50.0.0.0/8 route-map aggr-rmap
 exit-address-family

。。。。。。。。

Redistribution

重新分发配置应该放在address-family部分下,以便将特定AF重新分发到其中。重新分发的协议可用性由BGP AF确定;例如,您不能将OSPFv3重新分发到地址族ipv4单播中,因为OSPFv3支持IPv6。

  • redistribute <babel|connected|eigrp|isis|kernel|openfabric|ospf|ospf6|rip|ripng|sharp|static|table> [metric (0-4294967295)] [route-map WORD]

将其他协议的路由重分发到BGP。

  • redistribute vnc-direct

将VNC直接(不是通过zebra)路由重新分配到BGP进程。

  • bgp update-delay MAX-DELAY
  • bgp update-delay MAX-DELAY ESTABLISH-WAIT

此功能用于在BGP进程重新启动时或使用“clear ip BGP*”清除BGP进程时启用只读模式。请注意,此命令是在全局级别配置的,适用于所有bgp实例/vrfs。它不能与下面描述的“update delay”命令同时使用,该命令输入每个bgp实例/vrf以延迟更新安装和广告。定义更新延迟的全局和每vrf方法是互斥的。

如果适用,只读模式将在第一个对等方达到已建立状态并启动最大延迟秒计时器后立即开始。在此模式下,BGP不会运行任何最佳路径或生成任何对其对等方的更新。此模式持续到:

  1. 所有配置的对等机(除了关闭对等机)都已发送显式EOR(RIB结束)或隐式EOR。BGP达到建立后的首次保活被认为是隐含的EOR。如果给定了establish wait可选值,那么BGP将等待对等点从更新延迟的开始到达establish,直到establish wait周期结束,即期望EOR的最小已建立对等点集将是在establish wait窗口期间建立的对等点,而不必是所有配置的邻居。
  2. 最大延迟时间已过。

当达到上述两个条件中的任何一个时,BGP将恢复决策过程并向其对等方生成更新。
默认最大延迟为0,即功能默认关闭。

  • update-delay MAX-DELAY
  • update-delay MAX-DELAY ESTABLISH-WAIT

此功能用于在BGP进程重新启动时或使用“clear ip BGP*”清除BGP进程时启用只读模式。请注意,此命令是在启用feaure的特定bgp实例/vrf下配置的。它不能与上面描述的全局“bgp update delay”同时使用,后者在全局级别输入并应用于所有bgp实例。定义更新延迟的全局和每vrf方法是互斥的。
如果适用,只读模式将在第一个对等方达到已建立状态并启动最大延迟秒计时器后立即开始。在此模式下,BGP不会运行任何最佳路径或生成任何对其对等方的更新。此模式持续到:

  1. 所有配置的对等机(除了关闭对等机)都已发送显式EOR(RIB结束)或隐式EOR。BGP达到建立后的首次保活被认为是隐含的EOR。如果给定了establish wait可选值,那么BGP将等待对等点从更新延迟的开始到达establish,直到establish wait周期结束,即期望EOR的最小已建立对等点集将是在establish wait窗口期间建立的对等点,而不必是所有配置的邻居。
  2. 最大延迟时间已过。

当达到上述两个条件中的任何一个时,BGP将恢复决策过程并向其对等方生成更新。
默认最大延迟为0,即功能默认关闭。

  • table-map ROUTE-MAP-NAME

此功能用于在从BGP到Zebra的route 更新上应用route-map。允许所有适用的匹配操作,例如前缀匹配、下一跳、communities等。此连接点的设置操作仅限于metric 和下一跳。此功能的任何操作都不会影响BGPs内部RIB。
支持ipv4和ipv6地址系列。它也适用于多路径,但度量设置仅基于最佳路径。

Peers

Defining Peers

  • neighbor PEER remote-as ASN

创建一个新邻居,其 remote-as为ASN。对等方可以是IPv4地址、IPv6地址或用于连接的接口。

router bgp 1
 neighbor 10.0.0.1 remote-as 2

在这个例子中,我的路由器在AS-1中,正试图在10.0.0.1与AS-2进行对等。
此命令必须是配置邻居时使用的第一个命令。如果没有指定远程as,bgpd会这样抱怨:

can't find neighbor 10.0.0.1
  • neighbor PEER remote-as internal

创建一个对等点,就像您在指定ASN时所做的那样,但如果对等点ASN不同于在router bgp ASN命令下指定的,则连接将被拒绝。

  • neighbor PEER remote-as external

创建一个对等点,就像您在指定ASN时所做的那样,但如果对等点ASN与router bgp ASN命令下指定的相同,则连接将被拒绝。

  • bgp listen range <A.B.C.D/M|X:X::X:X/M> peer-group PGNAME

接受来自指定前缀中任何对等方的连接。来自指定对等组的配置用于配置这些对等。

注意:

使用BGP侦听范围时,如果关联的对等组配置了TCP MD5身份验证,则内核必须支持前缀上的此功能。在Linux上,内核版本4.14中添加了这种支持。如果内核不支持此功能,则日志文件中会收到警告,侦听范围将仅接受未配置MD5的对等方的连接。

此外,我们还观察到,在大规模(几百个对等机)使用此选项时,内核可能会达到其选项内存限制。在这种情况下,您将看到如下错误消息:

bgpd: sockopt_tcp_signature: setsockopt(23): Cannot allocate memory

在这种情况下,需要增加sysctl的值net.core.optmem_max允许内核分配必要的选项内存。

  • coalesce-time (0-4294967295)

BGP在决定哪些对等方可以一起放入更新组以便为它们生成单个更新之前延迟的时间(毫秒)。默认时间为1000。

Configuring Peers

  • neighbor PEER shutdown [message MSG...] [rtt (1-65535) [count (1-255)]]

关闭对等机。我们可以删除邻居的配置通过no neighbor PEER remote-as ASN ,但所有配置的邻居将被删除。如果要保留配置,但要删除BGP对等点,请使用此语法。

您可以指定关闭消息MSG。
此外,您还可以指定可选rtt(毫秒),以在往返时间高于定义的情况下自动关闭对等机。
附加计数参数是在对等机关闭之前要计数的keepalive消息数,如果往返时间高于定义的时间。

  • neighbor PEER disable-connected-check

允许使用环回地址在直接连接的eBGP对等点之间进行对等。

  • neighbor PEER ebgp-multihop

指定ebgp-multihop 允许与eBGP 邻居的会话在多跳离开时建立。当邻居未直接连接且此旋钮未启用时,会话将不会建立。

如果对等方的IP地址不在RIB中,并且可以通过默认路由访问,则必须启用ip nht resolve-via-default.

  • neighbor PEER description ...
  • neighbor PEER version VERSION

设置邻居的BGP版本。版本可以是4、4+或4-。BGP版本4是用于BGP对等的默认值。bgpversion4+意味着邻居支持BGP-4的多协议扩展。BGP版本4-是类似的,但邻居说旧的互联网草案修订00的多协议扩展BGP-4。一些路由软件仍在使用此版本。

  • neighbor PEER interface IFNAME

通过IPv6链路本地地址连接到BGP对等方时,必须指定用于连接的接口的IFNAME。要指定IPv4会话地址,请参阅下面的邻居对等更新源命令neighbor PEER update-source 。
此命令已弃用,可能会在将来的版本中删除。应避免使用。

  • neighbor PEER next-hop-self [all]

此命令指定一个已宣布路由的nexthop,如果它是通过eBGP学习的,则该nexthop等同于bgp路由器的地址。如果指定了可选关键字all,则也会对通过iBGP学习的路由进行修改。

  • neighbor PEER attribute-unchanged [{as-path|next-hop|med}]

此命令指定发送给对等方的播发的属性保持不变。使用此选项可在ipv6配置中保持下一个跃点不变,因为保持下一个跃点不变的路由映射指令仅适用于ipv4。

  • neighbor PEER update-source <IFNAME|ADDRESS>

指定用于此邻居的BGP会话的IPv4源地址,可以直接指定为IPv4地址,也可以指定为接口名称(在这种情况下,zebra守护程序必须运行,以便bgpd能够检索接口状态)。

router bgp 64555
 neighbor foo update-source 192.168.0.1
 neighbor bar update-source lo0
  • neighbor PEER default-originate

bgpd的默认值是不宣布默认路由(0.0.0.0/0),即使它在路由表中。当您想宣布到对等机的默认路由时,请使用此命令。

  • neighbor PEER port PORT
  • neighbor PEER password PASSWORD

设置MD5密码以与用于连接到远程对等机的tcp套接字一起使用。请注意,如果在linux上对大量对等机使用此命令,则应考虑修改 net.core.optmem_max  sysctl设置为更大的值,以避免linux内核出现内存不足错误。

  • neighbor PEER send-community
  • neighbor PEER weight WEIGHT

此命令指定邻居路线的默认权重值。

  • neighbor PEER maximum-prefix NUMBER [force]

设置可从给定对等方接收的最大前缀数。如果超过这个数字,BGP会话将被销毁。
在实践中,通常优选使用前缀列表来限制从对等方接收的前缀,而不是使用该旋钮。当超过限制时中断BGP会话比仅仅拒绝不需要的前缀破坏性要大得多。前缀列表方法也更细粒度,提供比接收到的前缀数量更智能的匹配标准,使其更适合于实现策略。
如果设置了force,则所有前缀都将按最大值计算,而不是仅接受。这对于应用入站筛选器的情况很有用,但您希望最大前缀作用于所有(包括已筛选的)前缀。此选项要求为对等方启用入站软重新配置。

  • neighbor PEER maximum-prefix-out NUMBER

设置可发送给给定对等方的最大前缀数。
由于发送的前缀计数由更新组管理,因此此选项为传出更新创建单独的更新组。

  • neighbor PEER local-as AS-NUMBER [no-prepend] [replace-as]

当与指定的对等方交互时,为此BGP进程指定备用的AS。在没有修饰符的情况下,当从对等方接收路由更新时,指定的本地as将前置到接收的AS_PATH,当向对等方发送本地路由时,指定的本地as将前置到传出AS_PATH(在处理本地as之后)。
如果指定了no prepend属性,则提供的本地as不在接收AS_PATH的前面。
如果指定了replace-as属性,则在将本地路由更新传输到此对等方时,只有提供的本地as被前置到AS_PATH。
请注意,只有在未指定prepend时才能指定replace-as。
此命令仅允许eBGP对等方使用。

  • neighbor <A.B.C.D|X:X::X:X|WORD> as-override

用本地AS号覆盖发起路由器的AS号。
通常,此配置在PEs(提供商边缘)中用于替换传入的customer AS number,以便连接的CE(customer边缘)可以使用与其他客户站点相同的AS number。这允许提供商网络的客户在其站点上使用相同的AS号码。
此命令仅允许eBGP对等方使用。

  • neighbor <A.B.C.D|X:X::X:X|WORD> allowas-in [<(1-10)|origin>]

接受AS path包含AS编号且值与当前系统AS相同的传入路由。
当您想在站点中使用与号码相同的号码,但无法直接连接时,可以使用此选项。这是一个替代的邻居字作为覆盖。
参数(1-10)将系统的可接受发生数配置为AS path中的number。
参数origin将BGP配置为仅接受以与系统相同的AS编号发起的路由。
此命令仅允许eBGP对等方使用。

  • neighbor <A.B.C.D|X:X::X:X|WORD> addpath-tx-all-paths

Configure BGP to send all known paths to neighbor in order to preserve multi path capabilities inside a network.

  • neighbor <A.B.C.D|X:X::X:X|WORD> addpath-tx-bestpath-per-AS

Configure BGP to send best known paths to neighbor in order to preserve multi path capabilities inside a network.

  • neighbor PEER ttl-security hops NUMBER

This command enforces Generalized TTL Security Mechanism (GTSM), as specified in RFC 5082. With this command, only neighbors that are the specified number of hops away will be allowed to become neighbors. This command is mutually exclusive with ebgp-multihop.

  • neighbor PEER capability extended-nexthop

允许bgp与其对等方协商扩展的nexthop功能。如果您正在通过v6ll地址进行窥视,则此功能将自动打开。如果您在v6全局地址上进行对等,那么如果您没有在接口上配置v4,那么启用此命令将允许BGP使用v6 nexthops安装v4路由。

  • bgp fast-external-failover

This command causes bgp to not take down ebgp peers immediately when a link flaps. bgp fast-external-failover is the default and will not be displayed as part of a show run. The no form of the command turns off this ability.

  • bgp default ipv4-unicast

此命令允许用户指定v4对等在默认情况下是否打开。此命令默认为“开”,不显示。将显示命令的no-bgp default ipv4单播形式。

  • bgp default ipv6-unicast

This command allows the user to specify that v6 peering is turned on by default or not. This command defaults to off and is not displayed. The bgp default ipv6-unicast form of the command is displayed.

  • bgp default show-hostname

This command shows the hostname of the peer in certain BGP commands outputs. It’s easier to troubleshoot if you have a number of BGP peers.

  • bgp default show-nexthop-hostname

This command shows the hostname of the next-hop in certain BGP commands outputs. It’s easier to troubleshoot if you have a number of BGP peers and a number of routes to check.

  • neighbor PEER advertisement-interval (0-600)

Setup the minimum route advertisement interval(mrai) for the peer in question. This number is between 0 and 600 seconds, with the default advertisement interval being 0.

  • neighbor PEER timers delayopen (1-240)

This command allows the user enable the RFC 4271 <https://tools.ietf.org/html/rfc4271/> DelayOpenTimer with the specified interval or disable it with the negating command for the peer. By default, the DelayOpenTimer is disabled. The timer interval may be set to a duration of 1 to 240 seconds.

。。。。。。。。。。

猜你喜欢

转载自blog.csdn.net/weixin_39094034/article/details/115207390