Presentation is loading. Please wait.

Presentation is loading. Please wait.

NETCONFish: Speaking the network language Leonidas Poulopoulos GRNET NOC TNC2013 Maastricht, Netherlands, 3-6 June 2013 config = “

Similar presentations


Presentation on theme: "NETCONFish: Speaking the network language Leonidas Poulopoulos GRNET NOC TNC2013 Maastricht, Netherlands, 3-6 June 2013 config = “"— Presentation transcript:

1 NETCONFish: Speaking the network language Leonidas Poulopoulos leopoul@noc.grnet.gr GRNET NOC TNC2013 Maastricht, Netherlands, 3-6 June 2013 config = “ ” presentation = Presentation(config) presentation.present()

2 Structure snmpget SNMP.management NETCONF from ncclient import * nxpy=Developing.onTopOf.NETCONF def examples(*args, **kwargs) class Use_Cases(object) return

3 SNMP.oid Since 1999 v1,v2,v3 Wide deployment Perfect for get, walk BUT snmp-set  v1,v2 no security MIB bindings – SNMPv2- SMI::enterprises.2636.3.26.1.2.1.3.2.12.116.101.115.116.4 6.118.114.102.46.110.111.99

4 SNMP complimentary XML messages SSH v2 Close to device configuration Big “players” support it

5 ncclient

6 NETCONF in action HANDSHAKE Get Config Req RESPONSE Connect

7 ncclient get_config() ncclient – Python NETCONF client Connect RESPONSE Get Config Req

8 NETCONF

9 ncclient edit_config()

10 Was that XML??? NETCONF – XML knowledge – Careful very be syntax errors with  GET – XML parsing EDIT/SET – XML building Often, no reusable source code Susceptible to errors TIME TIME TIME

11 From https://github.com/leopoul/ncclient/ “Other issues I faced appear to be due to my lack of understanding of the Python XML library I was using. Handling of namespaces in tags was the problem.”

12 That’s what we want Python ONLY! Reusable Open Source Extendable Focus on app dev Ultimate goal: Translate from XML to Python and vice-versa NO XML

13 Network XML Python Proxy nxpy Open source https://code.grnet.gr/ Used in: – Firewall on Demand (https://fod.grnet.gr) – GRNET pilot AutoBAHN TP

14 nxpy Developer’s Shelter

15 Features Juniper configuration parts – Interfaces Units – Vlans – Routing Options Flow XML, JSON export Reconciliation made easy Extends easily

16 App Info Flow

17 Under the hood Getters Setters XML – Parsing – Building Write ONCE Use FOREVER

18 Source code snapshot

19 Diff

20 AddSomeComplexity.now() FlowSpec rule Block Attack

21 Isn’t that FoD??

22 AutoBAHN TP

23 from future import features Parse device configuration schema – Juniper 12.1R5.5 ~ 18MB Generate Python Proxy classes on the fly BGP reconciliation tool – Apply once/day – Check – Alert

24 All in one place nxpy: https://code.grnet.grhttps://code.grnet.gr ncclient: http://ncclient.grnet.gr/http://ncclient.grnet.gr/ FoD: https://code.grnet.gr, https://fod.grnet.grhttps://code.grnet.grhttps://fod.grnet.gr Where to find us: GRNET NOC: https://noc.grnet.grhttps://noc.grnet.gr GRNET: https://www.grnet.grhttps://www.grnet.gr

25 Questions ?

26 THANK YOU Leonidas Poulopoulos leopoul@noc.grnet.gr GRNET NOC https://twitter.com/grnetnoc https://www.facebook.com/noc.grnet.gr


Download ppt "NETCONFish: Speaking the network language Leonidas Poulopoulos GRNET NOC TNC2013 Maastricht, Netherlands, 3-6 June 2013 config = “"

Similar presentations


Ads by Google