As a
network engineer, sometimes i need to generate bulk configurations, especially
for testing purposes. Imagine you are trying to create 300 interfaces with
different ip address, it will be a burden if you are writing it down by hand.
Below are sample scripts that you could use as a sample to create bulk
configurations.
Creating
Bulk Interface Configuration with Sequantial IP Addresses
#!/usr/local/bin/python2.7
a=0
while a<10:
a=a+1
#reassign value b to zero thus keep last octet between 1-255
b=0
while b<255: #loop for last octet
b=b+4 #in every loop increase ip address by four, which corresponds to /30
print "interface Port-channel %s" % a
print "ip address 100.100.100.%s" % b
As seen in the script, there are two while loops. In the first loop the criteria is to keep a variable smaller than 10, which corresponds to port-channel number.
In the
second loop (which is inside the first loop), the criteria is to keep b
variable smaller than 255, which is the last octet value of the IP
address.
Creating Bulk Policy
Configurations For Different Bandwidth Limits
a=0 x=1000000 while a<10: a=a+1 cir=a*x bc=cir/40 print "policy-map %sM-internet" % a print " class class-default" print " police cir %s bc %s conform-action transmit exceed-action drop" %(cir, bc) print " set dscp default"
In python, while loops are
generally not suggested if you are not really intending to do something
non-lasting, instead you should use for-loops. Here is an example to create
bulk configurations using for loops.
Generating Bulk BGP
Configurations for IOS-XR
#!/usr/local/bin/python2.7
for x in range ( 1,20 ):
print "!"
print ("router bgp 65100")
print "vrf customer-%d" %x
print "rd 65100:%d" %(x)
print "address-family ipv4 unicast"
print "redistribute connected"
print "redistribute static"
print "neighbor 192.66.%d.2" %x
print "remote-as 10"
print "address-family ipv4 unicast"
print "route-policy accept-all in"
print " route-policy accept-all out"
print "soft-reconfiguration inbound always"
print "!"
print "interface GigabitEthernet0/1/0/0.%d" %(x+10)
You may compile these scripts and
see the result either in your pc, or may be on a website like http://www.compileonline.com/execute_python_online.php .
1 comments:
Which sports to bet on in 2021? - Sporting 100
Soccer Betting Guide for 2021 토토사이트 · MLS · Ligue 1 · Bundesliga · Ligue 2 · Bundesliga · La Liga · Bundesliga · Bundesliga · UEFA Champions League · La Liga · Ligue 1
Post a Comment