首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何利用Opendaylight解决BGP窥视问题

如何利用Opendaylight解决BGP窥视问题
EN

Stack Overflow用户
提问于 2022-06-07 11:36:56
回答 1查看 65关注 0票数 0

我正在使用以下REST/XML配置和Postman调用在思科路由器(BGP Client)和OpenDaylight ( BGP ) (ODL释放)之间构建一个BGP对等点。思科路由器,以及ODL在相同的(BGP与65500),但不是在同一个IP地址空间。已配置了适当的IGP路由(OSPF),这两种路由都可以在IPv4上相互访问。

下面是用于ODL配置的XML模式I‘m的API调用:

代码语言:javascript
复制
PUT: http://localhost:8181/restconf/data/openconfig-network-instance:network-instances/network-instance=global-bgp/protocols

<protocols xmlns="http://openconfig.net/yang/network-instance">
   <protocol>
      <name>bgp-rr</name>
      <identifier xmlns:x="http://openconfig.net/yang/policy-types">x:BGP</identifier>
      <bgp xmlns="urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions">
         <global>
            <config>
               <router-id>172.16.10.3</router-id>
               <as>65500</as>
            </config>
            <afi-safis>
               <afi-safi>
                  <afi-safi-name xmlns:x="http://openconfig.net/yang/bgp-types">x:IPV4-UNICAST</afi-safi-name>
                  </afi-safi>
               </afi-safis>
            </global>
            <neighbors>
               <neighbor>
                  <neighbor-address>1.1.1.1</neighbor-address>
                  <route-reflector>
                     <config>
                        <route-reflector-client>true</route-reflector-client>
                     </config>
                  </route-reflector>
                  <timers>
                     <config>
                        <hold-time>180</hold-time>
                        <connect-retry>5</connect-retry>
                     </config>
                  </timers>
                  <transport>
                     <config>
                        <remote-port>179</remote-port>
                        <passive-mode>false</passive-mode>
                     </config>
                  </transport>
               </neighbor>
            </neighbors>
         </bgp>
      <protocol>
   </protocols>

然而,问题是我得到一个错误400坏请求与空响应主体,但当指向错误代码(在邮递员),我看到错误的语法信息。我试图简化我的API调用,只使用BGP窥视,但总是得到相同的错误。我通过XML验证器检查了XML代码,一切看起来都很好(代码是有效的)。在Cisco路由器上,BGP状态处于连接状态,我看到TCP状态是SYN发送的.套接字错误是连接拒绝(由远程对等方)。这是可以理解的,因为思科路由器试图连接到OpenDaylight,但由于BGP对等尚未成功应用,OpenDaylight中还没有BGP扬声器。

我假设问题可能是HTML请求(PUT),但由于我是ODL和REST/XML的初学者,我不知道正确的语法是什么。

有人能帮我找出并解决这个问题吗?谢谢。彼得

EN

回答 1

Stack Overflow用户

发布于 2022-06-09 06:54:03

我解决了上述REST请求中提到的一些问题,将REST调用分为两个单独的部分--并且都使用PUT调用请求(而不是POST)。通过应用此更改,我获得了对请求的成功响应,即分别创建了200 OK和201。

在下面两个(2)分离的REST调用下面,使用XML输入:

代码语言:javascript
复制
PUT: http://localhost:8181/restconf/config/openconfig-network-instance:network-instances/network-instance/global-bgp/openconfig-network-instance:protocols
    
    <protocols xmlns="http://openconfig.net/yang/network-instance">
       <protocol>
          <name>bgp-rr</name>
          <identifier xmlns:x="http://openconfig.net/yang/policy-types">x:BGP</identifier>
             <bgp xmlns="urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions">
                <global>
                   <config>
                      <router-id>172.16.10.3</router-id>
                      <as>65500</as>
                   </config>
                   <apply-policy>
                      <config>
                         <default-export-policy>ACCEPT-ROUTE</default-export-policy>
                         <default-import-policy>ACCEPT-ROUTE</default-import-policy>
                         <import-policy>default-odl-import-policy</import-policy>
                         <export-policy>default-odl-export-policy</export-policy>
                      </config>
                   </apply-policy>
                   <afi-safis>
                      <afi-safi>
                         <afi-safi-name xmlns:x="http://openconfig.net/yang/bgp-types">x:IPV4-UNICAST</afi-safi-name>
                      </afi-safi>
                      <afi-safi>
                         <afi-safi-name xmlns:x="http://openconfig.net/yang/bgp-types">x:L2VPN-EVPN</afi-safi-name>
                      </afi-safi>
                   </afi-safis>
                </global>
             </bgp>
       </protocol>
    </protocols>
    
RESULT: 200 OK
    
PUT: http://localhost:8181/restconf/config/openconfig-network-instance:network-instances/network-instance/global-bgp/openconfig-network-instance:protocols/protocol/openconfig-policy-types:BGP/bgp-rr/bgp/neighbors
    
    <neighbors xmlns="urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions">
       <neighbor>
          <neighbor-address>1.1.1.1</neighbor-address>
          <config>
             <peer-type>INTERNAL</peer-type>
             <description>Cisco1</description>
             <send-community>EXTENDED</send-community>
          </config>
          <afi-safis>
             <afi-safi>
                <afi-safi-name xmlns:x="http://openconfig.net/yang/bgp-types">x:IPV4-UNICAST</afi-safi-name>
                   <config>
                      <enabled>true</enabled>
                   </config>
             </afi-safi>
             <afi-safi>
                <afi-safi-name xmlns:x="http://openconfig.net/yang/bgp-types">x:L2VPN-EVPN</afi-safi-name>
                   <config>
                      <enabled>true</enabled>
                   </config>
             </afi-safi>
          </afi-safis>
          <route-reflector>
             <config>
                <route-reflector-client>true</route-reflector-client>
             </config>
          </route-reflector>
          <timers>
             <config>
                <hold-time>180</hold-time>
                <keepalive-interval>60</keepalive-interval>
                <connect-retry>5</connect-retry>
             </config>
          </timers>
          <transport>
             <config>
                <remote-port>179</remote-port>
                <passive-mode>false</passive-mode>
             </config>
          </transport>
       </neighbor>
    </neighbors>
    
    
RESULT: 201 Created

然而,与思科路由器建立BGP窥视的问题保持不变,不变。我仍然看到TCP SYN发送状态在思科路由器,而BGP对等是在连接状态。当在面向ODL实例的以太网接口上执行"tcpdump“时,我看到来自ODL的TCP标志R.与TCP握手通信。我不知道ODL为什么拒绝使用Cisco路由器的TCP会话。那里没有配置ACL。我在ODL中没有看到关于BGP的日志信息。我重新安装了"odl-bgpcep-bgp“功能,没有任何更改。

知道吗拜托?谢谢。彼得

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72530530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档