Python’s String “replace” method returns a copy of the string in which the occurrences of the old substring are replaced with the new substring. You can optionally restrict the number of replacements to a max amount by adding another number argument to the method call; for example “str.replace(old, new, max)”. Continue reading
EIGRP and OSPF Redistribution on Cisco Routers
This was a quick lab I threw together which I thought was pretty cool. In this lab I use five Cisco 3725 routers [IOS 12.4(15)T10] in which I have two groups of routers each on a different subnet and running a different routing protocol. A router is used to connect the two different subnets and EIGRP redistribution and OSPF redistribution allow nodes on the two different networks running different protocols to talk to each other. Below is the network diagram of the lab setup. Continue reading
Setup and Troubleshoot EIGRP
I discussed Enhanced Interior Gateway Routing Protocol (EIGRP) briefly in a prior blog, Load Balancing with EIGRP, however, in this lab I use two Cisco 3725 routers [IOS 12.4(15)T10] to demonstrate how to configure EIGRP; additionally, I’ll discuss some useful troubleshooting commands. Remember EIGRP is a Cisco proprietary routing protocol which allows for load balancing over equal and unequal links. When EIGRP is enabled, the router attempts to discover neighbors on interfaces by sending multicast EIGRP Hello messages via multicast address 224.0.0.10. The router then advertises to other neighbors about the subnets connected to its respective interfaces. Below is a diagram of the lab setup I will be using. Continue reading
Configuring PVST+ on Cisco Switches
Per VLAN Spanning Tree Plus (PVST+) is a flavor of Spanning Tree Protocol (see prior blog, Default STP Behavior on Cisco Switches) which maintains a spanning tree instance for each VLAN in the network. This means certain VLAN trunks (using 802.1q) can be forwarded for some VLANs while being blocked for others. Further, changes in one STP domain will not effect other spanning tree instances on other VLANs. Additionally, since each VLAN is treated as a separate network, layer 2 load balancing can be accomplished by forwarding some VLANs on one trunk and other VLANs on another trunk. Continue reading
The Rise of the Hybrid Cloud
As many organizations move their corporate services to private clouds to cut costs, enable rapid provisioning of resources, enable advanced monitoring, and increase up-time, I believe we will see a continuous uptake of solutions which tie private cloud services and public cloud services together into something called the “hybrid cloud”. The key will be to use a secure connection such as a VPN tunnel to connect the private and public clouds together. This can be a great cost-effective solution as a company, especially a start-up, doesn’t have to carry the burden of building the entire infrastructure from scratch. Continue reading
Cisco – Filtering Unwanted Packets with Standard Access Lists
Access lists (ACLs) are basically statements that packets are compared against for the purpose of taking some action if a match occurs. After an access list is created, it can be applied to inbound or outbound traffic; in some cases it is applied in both directions. You can think of an ACL as a method for filtering packets that meet a specific criteria so further action can be taken on them. Continue reading
Perl – Changing the Input Line Separator and Using the “chomp” Function
In this blog I demonstrate how you can change the input line separator in Perl and use Perl’s “chomp” function. Note, the input line separator is operating system dependent; see the following prior blog of mine where I discuss this subject in more detail: Unix shell script – convert Mac ASCII file to Unix ASCII file. The “chomp” function checks to see if the last character of a string or list of strings matches the line separator character stored in the ‘$/’ system variable; if there is a match, the character is deleted. Continue reading
Perl – Uppercase to Lowercase Conversion via the Translation Operator
Perl’s translation operator provides a way to substitute one group of characters for another. In the below script I demonstrate how easy it is to use the translation operator to convert standard input from the command prompt from uppercase letters to lowercase. You can also use Perl’s lc() function to accomplish the same thing more easily. Continue reading