<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Techinvasion.net &#187; Internet</title>
	<atom:link href="http://www.techinvasion.net/category/internet/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.techinvasion.net</link>
	<description></description>
	<lastBuildDate>Tue, 13 Jul 2010 15:44:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>MPLS VPN Services</title>
		<link>http://www.techinvasion.net/2010/02/09/mpls-vpn-services/</link>
		<comments>http://www.techinvasion.net/2010/02/09/mpls-vpn-services/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 02:04:40 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[Cisco]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[MPLS VRF Routing VPN]]></category>

		<guid isPermaLink="false">http://www.techinvasion.net/?p=176</guid>
		<description><![CDATA[This article with aim to take a in depth look at MPLS and explain how your packets get from one side of the MPLS cloud to another. Hopefully this will give you some perspective that will prove useful in troubleshooting issues in your own MPLS implementations. Most enterprise engineers MPLS experience goes something like this: [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-178" href="http://www.techinvasion.net/2010/02/09/mpls-vpn-services/mpls-drawing/"><img class="alignleft size-thumbnail wp-image-178" title="MPLS Architecture" src="http://www.techinvasion.net/wp-content/uploads/2010/02/mpls-drawing-150x150.png" alt="" width="90" height="90" /></a><br />
This article with aim to take a in depth look at MPLS and explain how your packets get from one side of the MPLS cloud to another. Hopefully this will give you some perspective that will prove useful in troubleshooting issues in your own MPLS implementations.</p>
<p>Most enterprise engineers MPLS experience goes something like this: The company needs to connect the office in Miami and the office in London with the corporate headquarters office in Chicago. The VPN design needs to be flexible, and most importantly the network connecting all 3 sites needs to be full mesh. By this I mean to say that any office should be able to talk to any other office using this MPLS VPN. At this point you contact your MPLS provider and ask them to provision 3 MPLS links, 1 for each of the above mentioned offices. The MPLS Sales team puts you in contact with their engineering department and they ask you a couple questions that they need answered in order to properly provision your lines. the number one question that they ask is &#8220;How do you want to send us routes?&#8221;  now depending on the size of your organization and the dynamic or static nature of your network you can opt for several options here are 3 of the most common.</p>
<p>1. Static Routes</p>
<p>2. BGP Peering</p>
<p>3. OSPF Peering</p>
<p>Now if your network is very small, say for instance you have 3 shoe stores that need to talk to the corporate office / warehouse, then you might opt for the static route option. If you are a large organization that is publicly traded and has a robust network and security policy in place you will most likely choose the second option as this gives you the most security and control over what routes enter and leave your network.  However the third option is also very popular, mainly because many organizations are already running OSPF, so this makes it that much easier to peer with the ISP. However using the same IGP to peer with your MPLS provider as you use to run your internal networks does leave you at risk. There are a host of vulnerabilities OSPF has that could be exploited even if you are using OSPF MD5 authentication such as LSA injection attacks. However the biggest reason not to do this is that if the ISP makes a mistake they could inadvertently dump hundred or thousands of routes into your routing table which could destabilize your entire network.</p>
<p>Now wouldn&#8217;t you know after all that negative talk about ospf peering. The example I am going to talk about below is exactly that OSPF peering.</p>
<p><a href="http://www.techinvasion.net/wp-content/uploads/2010/02/mpls-drawing.png"><img class="alignleft size-medium wp-image-178" title="MPLS Architecture" src="http://www.techinvasion.net/wp-content/uploads/2010/02/mpls-drawing-300x136.png" alt="" width="300" height="136" /></a></p>
<p>Please click on the above diagram for a larger view, you may want to download it as well and open it in a image view to zoom in on some of the smaller text and details.</p>
<p>In the example above you have 2 companies. To keep things simple we will call them Company A and Company B. Company A has 2 sites that need to communicate using MPLS, Company B also has 2 sites that need to communicate using MPLS. This ISP is lucky enough to get the business for both Company A and Company B. The ISP has a core network made up of an unspecified number of routers. In this example we will look at a small portion of the companies network. Our little piece of the network shows both customer sites connected to PE routers or (Provider edge) routers. These routers are responsible for providing access to the customers. The core of the network is made of P routers, or Provider routers. This provider has decided to convert their entire network to MPLS. This gives the ISP better performance by allowing the routers to utilize the ASICS built into the routers to switch the packets at incredible speeds. It also allows the ISP to offer many new services such as MPLS VPN&#8217;s as well as VPLS or (Virtual Private Lan Service.) In addition to these services the ISP can Use the tunneling aspect of MPLS to create Traffic engineering tunnels that will allow it to very precisely control which paths through the Provider network certain traffic takes. It also allows them to set very specific and granular QOS or COS policies for customers.</p>
<p>MPLS confuses many people because of its amorphous place in the OSI model. MPLs officially is a layer 2.5 protocol because Layer 3 protocols can be encapsulated in MPLS. MPLS stand for Multi Protocol Label Switching. MPLS can carry many different Layer 3 protocols inside it, just as ethernet a layer 2 protocol can carry TCP/IP inside its frames. However MPLS is more complicated than that. Many people can easily be confused because MPLs depends on the routing table in order to function, in this sense you could think of it like a layer 4 protocol. MPLS cannot function if the routing table is not working. MPLS depends on LDP or the Label Distribution Protocol to form adjacencies with neighbors and distribute its list of labels as well as receive labels from peers. LDP forms adjacencies at the layer 3 level and used the routing table to find peers. LDP is similar to OSPF in that is uses the highest Loopback address to identify itself. In our network Diagram each switch has a loopback address. All of the P routers including the PE routers are running OSPF. This OSPF instance is advertising the subnets owned by the ISP, many ISP&#8217;s use ISIS for this purpose, in fact many ISP&#8217;s use private addresses in their network especially if there network is a transit network. There are many situation in which you have public IP traffic traversing a private network connecting another public network. The 3 P routers and 2 PE routers need to know how to get to all of the non public IP addresses that the ISP is using to connect their network together. OSPF is used to synchronize these addresses as well as advertise each routers loopback address. Once all routers have formed neighbor relationships and all routes have been distributed through OSPF LDP is able to use the routing table to form adjacencies with other routers using their loopback addresses.</p>
<p><a href="http://www.techinvasion.net/wp-content/uploads/2010/02/pe-vrf-config.png"><img class="alignleft size-full wp-image-212" title="pe-vrf-config" src="http://www.techinvasion.net/wp-content/uploads/2010/02/pe-vrf-config.png" alt="" width="248" height="120" /></a></p>
<p>Once LDP has formed neighbor relationships with other routers using their loopback addresses it is able to start synchronizing the tag database. MPLS Assigns a tag or label to every route in the routing table. when a packet enters the MPLS PE routers interface, the router does a route lookup to determine the tag for the destination of the packet. Once this decision had been made, the router will push the tag on the packet and send it out the appropriate interface. The next router in line  has a simpler job. This router does not even have to look at the routing table, it can just look at its forwarding table and see what new tag should be assigned to the packet and send the packet on its way. the reason why this is so fast is because the MPLS tags were designed to look like layer 2 frames to the ASICS on the routers. This allows the programmers to leverage the same high speed chips used to route packets from one switch port to another based on mac addresses.</p>
<p><span id="more-176"></span></p>
<p><a href="http://www.techinvasion.net/wp-content/uploads/2010/02/p-mpls-forwarding.png"><img class="alignleft size-full wp-image-209" title="p-mpls-forwarding" src="http://www.techinvasion.net/wp-content/uploads/2010/02/p-mpls-forwarding.png" alt="" width="580" height="156" /></a></p>
<p>In MPLS the language is push and pop. to push a tag is to add a tag to a packet and to pop is to remove a tag from a packet.</p>
<p>Once MPLS is working the ISP can begin to configure its client connections. To do this the ISP creates two VRF tables (Virtual Routing forwarding). The first VRF table we will call CompanyA and the second VRF table we will call CompanyB. It is important to add 2 things to each VRF table. The first thing is the route-target and the second is the route-discriminator. The route target is used by BGP as an extended community attribute. This lets BGP and other protocols determine what routes should be added to a VRF instance, and it also lets BGP know what routes are from a VRF instance.</p>
<p><a href="http://www.techinvasion.net/wp-content/uploads/2010/02/pe-ospf.png"><img class="alignleft size-full wp-image-213" title="pe-ospf" src="http://www.techinvasion.net/wp-content/uploads/2010/02/pe-ospf.png" alt="" width="397" height="197" /></a></p>
<p>This is important, because we need a way to get the routes from Company A site 1 into Company A site 2 router without mixing them up with routes from any other client. This is one of the key factors that lets two way route redistribution function correctly.</p>
<p>Once the VRF is created the next thing to do is go to the interface that connects the customer and add that interface to the Companies VRF. Once you do this the connected route for that interface should no longer show up on the main routing table. Once this step is complete it is time to configure a second instance of OSPF to communicate with the CPE equipment. this is done by specifying the VRF name when creating the new instance of OSPF.</p>
<p><a href="http://www.techinvasion.net/wp-content/uploads/2010/02/pe-bgp.png"><img class="alignleft size-full wp-image-214" title="pe-bgp" src="http://www.techinvasion.net/wp-content/uploads/2010/02/pe-bgp.png" alt="" width="397" height="331" /></a></p>
<p>Now that the OSPF adjacency is up with the customer you should be able to see a list of the routes under that VRF. The next step is to establish a BGP neighbor relationship with the other PE routers in the ISP or a Route Reflector depending on the size of the environment. Once the BGP relationship is established, the only thing you have to do is redistribute the OSPF routes into BGP and vice versa under the appropriate OSPF Instance.</p>
<p>The end users should see the OSPF routes as simple IA routes. At the end of this post I will attach the full configs for all routers used incase you want to duplicate this in a lab or use GNS3 or Dynamips.</p>
<div id="attachment_218" class="wp-caption alignleft" style="width: 641px"><a href="http://www.techinvasion.net/wp-content/uploads/2010/02/cpe-routes.png"><img class="size-full wp-image-218" title="cpe-routes" src="http://www.techinvasion.net/wp-content/uploads/2010/02/cpe-routes.png" alt="" width="631" height="346" /></a><p class="wp-caption-text">Routes as seen by end USER or MPLS Subscriber</p></div>
<p>Here are links to all the configs for all routers used in the lab &#8211;&gt;<a href="http://www.techinvasion.net/wp-content/uploads/2010/02/mpls.zip">Router Configs</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.techinvasion.net/2010/02/09/mpls-vpn-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Public DMVPN network.</title>
		<link>http://www.techinvasion.net/2009/10/03/public-dmvpn-network/</link>
		<comments>http://www.techinvasion.net/2009/10/03/public-dmvpn-network/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 03:10:04 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[Cisco]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Juniper]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.techinvasion.net/?p=147</guid>
		<description><![CDATA[I was thinking about a new project idea. I was thinking of setting up a dynamic multipoint VPN concentrator. Put a small LAN behind it with a couple of servers. Put the configuration instructions on a webpage for Juniper and Cisco devices. I was thinking to run BGP routing protocol over the interface as it [...]]]></description>
			<content:encoded><![CDATA[<p>I was thinking about a new project idea. I was thinking of setting up a dynamic multipoint VPN concentrator. Put a small LAN behind it with a couple of servers. Put the configuration instructions on a webpage for Juniper and Cisco devices. I was thinking to run BGP routing protocol over the interface as it scales reasonably well. </p>
<p>The important part here is I wanted to create a web form which requests the internal and external address ranges of anyones network. Once that person submits that information I will have a Peal script pull those messages from the web form, parse the information, insert the networks and IP addresses into a J-Script template and apply it to my Juniper SRX router automatically.</p>
<p>This project will enable Cisco and Juniper students to participate in the environment and create a public VPN network where p2p APPS and anything else can run over the network without having to worry about any prying eyes. I want to see how far this project will scale. I was even envisioning a time when other people with idle equipment can volunteer to become a secondary hub to take some of the load once my connection reaches 10 thousand or so tunnels. Because of the way DMVPN works. The tunnels between sites will open up as needed when a user from site A needs to talk to site B. This combined with using BGP as the routing protocol will mean that it will require very little bandwidth as traffic destined from site A to C will not transit site B if site B in this scenario is the hub.</p>
<p>Anyways if anyone out there is interested please leave a comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techinvasion.net/2009/10/03/public-dmvpn-network/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using IP SLA with Route-maps</title>
		<link>http://www.techinvasion.net/2009/07/19/using-ip-sla-with-route-maps/</link>
		<comments>http://www.techinvasion.net/2009/07/19/using-ip-sla-with-route-maps/#comments</comments>
		<pubDate>Sun, 19 Jul 2009 14:38:07 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[Cisco]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[access list]]></category>
		<category><![CDATA[ip sla]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[route-map]]></category>
		<category><![CDATA[rtr]]></category>
		<category><![CDATA[sla]]></category>
		<category><![CDATA[squid]]></category>
		<category><![CDATA[wpad]]></category>

		<guid isPermaLink="false">http://www.techinvasion.net/?p=132</guid>
		<description><![CDATA[I recently came across a problem that is not an uncommon problem that small businesses face. I came up with several solutions to their problems and I thought I would take a minute to discuss one of those solutions. This customer has a business requirement to use a proxy server for all outgoing web traffic. [...]]]></description>
			<content:encoded><![CDATA[<p>I recently came across a problem that is not an uncommon problem that small businesses face. I came up with several solutions to their problems and I thought I would take a minute to discuss one of those solutions. This customer has a business requirement to use a proxy server for all outgoing web traffic. This on the face of it seems like a simple problem, there are many good proxy vendors out their such as my favorite vendor Blue Coat. There are many free alternatives such as Squid Caching Proxy server.<br />
<span id="more-132"></span><br />
            Now this is where things get interesting, the office is still using novel e-directory, yes I know Novell is ancient but that is what they are using. The other interesting issue they have is that they went with a proxy server vendor that does not support WCCP. Enough with the limitations now lets talk requirements! The business requirements are as follows, using their existing IT resources and infrastructure they need a proxy solution that is simple to support and highly available, they also need a way of insuring all clients are using the proxy and they do not have the resources to run all over the network manually entering proxy setting or dealing with an overwhelming number of support calls related to incorrect proxy settings. Now that we are done with the limitations and requirements lets spend a little time talking about proxy solutions. </p>
<p>The most popular solution today is to use some sort of interception caching mechanism such as WCCP. Now WCCP is a Cisco protocol that has been more or less adopted by many other vendors even though the name is different foundry supports this protocol in their layer 4 switches, juniper supports it although under a different name, as well as HP switch and router products. The way WCCP works is to grab packets matching either an access-list or the built in web-cache group and forward those packets to the proxy, their by intercepting the packets as they reach the routed interface upstream from the end user. Now Cisco routers do this by creating a one-way GRE tunnel while Cisco switches perform this by using L2 redirects. If you are configuring WCCP on a Catalyst 6500 switch you have a choice of using L2 redirects or GRE tunnels.</p>
<p>The second most popular way to insure inform proxy setting across an enterprise is to use WPAD or (Web Proxy Auto Discovery Protocol) . Wpad works by writing a small JavaScript function in a text file, which tells the browser the proxy settings and what domains or subnets are excluded from the proxy such as local settings. Once you create your text file you save it to a web server on the local LAN in the root directory. An example would be <a href="http://webserver.mycompany.com/wpad.dat">http://webserver.mycompany.com/wpad.dat</a> .</p>
<p>An example of the contents of the above file are as follows:</p>
<pre class="prettyprint">
function FindProxyForURL(url, host) {
// our local URLs from the domains below example.com don't need a proxy:
if (shExpMatch(url,"*.techinvasion.local/*"))   {return "DIRECT";}
// URLs within this network are accessed through
// port 8080 on fastproxy.example.com:
if (isInNet(host, "10.0.0.0",  "255.255.255.0"))    {
return "PROXY proxy.techinvasion.local:3128";
 }
// All other requests go through port 3128 of proxy.example.com.
// should that fail to respond, go directly to the WWW:
return "PROXY proxy.techinvasion.local:3128; DIRECT";
}
</pre>
<p>The next step would be to add option 252 to the dhcp scope with an ASCII text entry of the web server path to the wpad.dat file as listed above. On a Cisco router with DHCP the entry would look like the following:</p>
<pre class="prettyprint">
ip dhcp pool lan
     network 10.0.0.0 255.255.255.0
     update dns both
     domain-name techinvasion.local
     default-router 10.0.0.254
     dns-server 10.0.0.9 10.0.0.2
     option 252 ascii "http://stats.techinvasion.local/proxy.pac"
     lease infinite
 !
</pre>
<p>After this is done you should be in business. The only problem with this approach is that if you do not have active directory to force enable automatic proxy detection in internet explorer you really have no way to force users to look for this pac file. This can create uniformity problems and generate more calls to the help desk.</p>
<p>            The final way we can configure the proxy is to use route-maps to redirect all web traffic to the proxy. The only problem with this approach is that if for some reason the proxy Is to go down the route-map will be directing traffic to a black hole!  To remedy this we can use the IP-SLA feature to monitor the proxy and deactivate the route-map if the proxy is unavailable.</p>
<p>Now some things to remember, the route-map is only sending the traffic on port 80 to the proxy on port 80, if your proxy runs on a different port you will need to do a port redirect using ipfilter on FreeBSD based proxies, or ipchains on Linux based proxies to change the traffic to the correct port. Ok let get started with our configuration.</p>
<p>Step one create a http monitor that will use your proxy to pull an outside site like yahoo.com.</p>
<pre class="prettyprint">
ip sla monitor 1
 type http operation get url http://www.yahoo.com name-server 10.0.0.9 proxy http://10.0.0.8/
 timeout 5000
!
ip sla monitor schedule 1 start-time now
</pre>
<p>The above code polls yahoo.com every 60 seconds to verify that the proxy server is working. Once you have that turned on you can issue the following commands to test it.</p>
<pre class="prettyprint">
#sh ip sla monitor statistics 1
Round trip time (RTT)            Index 1
            Latest RTT: 266 ms
Latest operation start time: 04:19:13.020 edt Mon Jul 13 2009
Latest operation return code: OK
Latest DNS RTT: 0 ms
Latest TCP Connection RTT: 18 ms
Latest HTTP Transaction RTT: 248 ms
Number of successes: 55
Number of failures: 5
Operation time to live: 0
</pre>
<p>If you see:<br />
Last operation return code: OK</p>
<p>Then that means everything is ok, it will say timeout if the proxy is down. Now I do the proxy test on port 80 because I want to verify that the ipchains port redirection rule is working as well, however you could specify a different port such as 3128 or 8080 if you wanted to.</p>
<p>The next step is to build the route-map and the track object. The track object is what the route map references to check availability of the next hop, in this case the next hop is the proxy. You setup as track object as follows.</p>
<p>Track option1 option2 option3 </p>
<p>Option 1<br />
(&lt;1-500 &gt;     Tracked object)</p>
<p>Option 2<br />
(interface  Select an interface to track)<br />
  (ip         IP protocol)<br />
  (list       Group objects in a list)<br />
  (rtr        Response Time Reporter (RTR) entry)</p>
<p>Option 3<br />
(&lt;1-2147483647&gt;  Entry number)  ß this refers to the monitor number in the IP SLA command</p>
<p>In our case we want a response time reporter because we are interested in up/down information about the proxy.</p>
<pre class="prettyprint">
track 1 rtr 1
</pre>
<p>Now we need to build and apply the route-map.  First we need to build an access-list to specify the interesting traffic the route-map will be forwarding.</p>
<pre class="prettyprint">
ip access-list extended proxy
10 deny ip host 10.0.0.8 any
! Block proxy traffic, we do not want to create a routing loop.
20 permit tcp 10.0.0.0 0.0.0.255 any eq 80
</pre>
<p>Here is the appropriate route-map below</p>
<pre class="prettyprint">
route-map proxy permit 10
 match ip address proxy
 set ip next-hop verify-availability 10.0.0.8 1 track 1
</pre>
<p>To test this we can issue the command</p>
<pre class="prettyprint">
#show route-map proxy
route-map proxy, permit, sequence 10
  Match clauses:
    ip address (access-lists): proxy
  Set clauses:
    ip next-hop verify-availability 10.0.0.8 1 track 1  [up]
  Policy routing matches: 41673 packets, 6145267 bytes
</pre>
<p>You will notice the “UP” this means that it sees our track object and it is getting th response time code from the ip sla monitor that we setup.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techinvasion.net/2009/07/19/using-ip-sla-with-route-maps/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Introduction to Filter list for JUNOS</title>
		<link>http://www.techinvasion.net/2009/06/14/introduction-to-filter-list-for-junos/</link>
		<comments>http://www.techinvasion.net/2009/06/14/introduction-to-filter-list-for-junos/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 02:10:02 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Juniper]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[access list]]></category>
		<category><![CDATA[ACL]]></category>
		<category><![CDATA[Cisco]]></category>
		<category><![CDATA[filter-list]]></category>
		<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://www.techinvasion.net/?p=122</guid>
		<description><![CDATA[Junipers JUNOS is a very robust operating system, not only is the OS very advanced but the ASIC heavy design of Juniper hardware is akin to calorie free chocolate bars! Juniper Filter Lists which are non-stateful packet filters similar to Cisco Access-Lists are compiled and processed using hardware, what this means is that you can [...]]]></description>
			<content:encoded><![CDATA[<p>Junipers JUNOS is a very robust operating system, not only is the OS very advanced but the ASIC heavy design of Juniper hardware is akin to calorie free chocolate bars! Juniper Filter Lists which are non-stateful packet filters similar to Cisco Access-Lists are compiled and processed using hardware, what this means is that you can have as many Filter-Lists as you want and as long as you want without degrading performance.</p>
<p>Juniper is also big on naming things, in JUNOS everything has a name, the Filter Lists have names, the terms in the Filter Lists have names, and even the address&#8217;s you are matching on have names. This is a big concept in JUNOS because it allows you to write snippets of Filter-Lists and use them for many different Filter Lists. JUNOS also supports grouping Filter Lists and applying an entire group of filter to an interface. If you apply Filter groups to a JUNOS interface they individual Filter Lists are evaluated in order sequentially.<br />
<span id="more-122"></span><br />
To facilitate out discussion of Filter-Lists let’s take a look at a standard anti-spoofing access list which would be applied to most edge routers. First let’s talk about what a vanilla anti-spoofing ACL should contain! A standard ACL at a minimum should block all RFC-1918 address space from the internet, it should also block undesirable types of ICMP traffic, and depending on the setup should block packets with illegal combinations of TCP flags set, for example packets with the SYN-FIN flag set at the same time or FIN-URG-PSH or URG-ACK-PSH-RST-SYN-FIN at the same time. All of these combinations of TCP flags are illegal and should never be together as part of a legitimate packet. So without further ado lets talk about Filter Lists.<br />
Filter Lists are defined under the Firewall section of the JUNOS configuration. Prefix Lists which are groups of networks, IP address ranges, or single hosts such as 1.1.1.1/32 are defined in these lists. These lists can later be used in as many Filter Lists as you define.</p>
<p>Below I will show you the actual Filter Lists as it looks in the configuration and some of the commands to create the list. For brevity I have opted to only show some of the commands used in creating the list as they are basically repetitive. The important thing to remember is that like all Access-Lists the terms in the Filter List are evaluated from top to bottom so it is important that the last term be an allow all statement otherwise the anti-spoofing filter will block all communication even legitimate communication.</p>
<pre class="prettyprint">[edit]
john#set policy-options prefix-list rfc1918-prefix-list 192.168.0.0/16

[edit]
john#set policy-options prefix-list rfc1918-prefix-list 172.16.0.0/12

[edit]
john#set policy-options prefix-list rfc1918-prefix-list 10.0.0.0/8

[edit]
john# edit firewall

[edit firewall]
john# edit filter anti-spoofing

[edit firewall filter anti-spoofing]
john# edit term block-rfc1918

[edit firewall filter anti-spoofing term block-rfc1918]
john# set from source-prefix-list rfc1918-prefix-list

[edit firewall filter anti-spoofing term block-rfc1918]
john# set then log discard

[edit]
john# show policy-options

prefix-list rfc1918-prefix-list {
    10.0.0.0/8;
    172.16.0.0/12;
    192.168.0.0/16;
}

[edit firewall]
john# show

filter anti-spoofing {
    term block-rfc1918 {
        from {
            source-prefix-list {
                rfc1918-prefix-list; ## 'rfc1918-prefix-list' is not defined
            }
        }
        then {
            log;
            discard;
        }
    }
    term block-fin-urg-psh {
        from {
            protocol tcp;
            tcp-flags fin,psh,urg;
        }
        then {
            log;
            discard;
        }
    }
    term block-syn-fin {
        from {
            protocol tcp;
            tcp-flags fin,syn;
        }
        then {
            log;
            discard;
        }
    }
    term block-urg-ack-syn-fin-rst-psh {
        from {
            protocol tcp;
            tcp-flags urg,ack,psh,rst,fin,syn;
        }
        then {
            log;
            discard;
        }
    }
    term block-icmp {
        from {
            protocol icmp;
            icmp-type-except echo-reply,unreachable,source-quench,time-exceeded;
        }
        then {
            log;
            discard;
        }
    }
    term accept-all {
        then accept;
    }
}</pre>
<p>Remember to apply the Filter-List to the interface with the following command:</p>
<pre class="prettyprint">[edit]
john#set interfaces fe-0/0/0.0 family inet filter input anti-spoofing</pre>
<p><a href="http://www.alltimedefense.com/uncategorized/time-based-access-control-lists/" target="_blank">Here is a related Article on ACL&#8217;s</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.techinvasion.net/2009/06/14/introduction-to-filter-list-for-junos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>gopher</title>
		<link>http://www.techinvasion.net/2009/02/04/gopher/</link>
		<comments>http://www.techinvasion.net/2009/02/04/gopher/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 19:19:14 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[BBS]]></category>
		<category><![CDATA[finger]]></category>
		<category><![CDATA[gopher]]></category>
		<category><![CDATA[ident]]></category>
		<category><![CDATA[sbbs]]></category>
		<category><![CDATA[synchronet]]></category>
		<category><![CDATA[telnet]]></category>

		<guid isPermaLink="false">http://www.techinvasion.net/?p=117</guid>
		<description><![CDATA[I have been continuing to setup the bbs software on bbs.techinvasion.net. I have added irc, gopher, finger, and ident functionality. I encourage all of you to drop by and experience this neat software. The really neat thing about this BBS software is that it connects you to a world of forums and message boards that [...]]]></description>
			<content:encoded><![CDATA[<p>I have been continuing to setup the bbs software on bbs.techinvasion.net. I have added irc, gopher, finger, and ident functionality. I encourage all of you to drop by and experience this neat software. The really neat thing about this BBS software is that it connects you to a world of forums and message boards that can only be accessed using BBS software. If you are running firefox I encourage you all to go to <a href="gopher://bbs.techinvasion.net">gopher://bbs.techinvasion.net</a>. This will let you view the forums and posts, although it doesn&#8217;t look the same as it does through a telnet session, it is still very interesting.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techinvasion.net/2009/02/04/gopher/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blast From the Past &#8211; BBS.Techinvasion.net</title>
		<link>http://www.techinvasion.net/2009/02/02/blast-from-the-past-bbs-and-door-games/</link>
		<comments>http://www.techinvasion.net/2009/02/02/blast-from-the-past-bbs-and-door-games/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 16:12:17 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[personal News]]></category>
		<category><![CDATA[BBS]]></category>
		<category><![CDATA[gopher]]></category>
		<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://www.techinvasion.net/?p=109</guid>
		<description><![CDATA[Recently as a project cleaning up some old files and software, I came across a software disk for an old BBS I used to run. This got my interest peaked as I wondered if there were still BBS systems Alive and well on the internet. Information on BBS systems was few and far between in [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: 7.5pt; color: #000000; font-family: Verdana;">Recently as a project cleaning up some old files and software, I came across a software disk for an old BBS I used to run. This got my interest peaked as I wondered if there were still BBS systems Alive and well on the internet. Information on BBS systems was few and far between in my research and it took me a while to make some headway. Eventually I came across <a href="http://synchro.net/">http://Synchro.net</a>  BBS software. This software is very similar to old school dos BBS&#8217;s. I installed the software which was no small feet given the inadequate build instructions. Once the system was built and installed I had allot of fun setting up classic door games such as Trade wars and others.</span></p>
<p><span style="font-size: 7.5pt; color: #000000; font-family: Verdana;"><span id="more-109"></span></span></p>
<p><span style="font-size: 7.5pt; color: #000000; font-family: Verdana;">I also discovered that Dove-net and Fido-net are still alive and well, and there are a great many BBS’s connected all over the world. If the internet is a vast global city such as Coruscant (in Star Wars) then BBS’s and protocols such as telnet and gopher are its seedy underworld. An eclectic grouping of forgotten protocols running on forgotten systems, used by a hand full of lost souls who still cling to the web as it was. I had allot of fun setting up this BBS and I would like to use it in some way as a fun addition to part of my site. </span></p>
<p><span style="font-size: 7.5pt; color: #000000; font-family: Verdana;"> </span></p>
<p><span style="font-size: 7.5pt; color: #000000; font-family: Verdana;">In the spirit of the above and to old memories and a simpler if not better time I want to announce that <a href="telnet://bbs.techinvasion.net/">telnet://bbs.techinvasion.net</a> is open for business, with door games and all. Accounts are free, and I have even put up a forum for people to request firmware and various other things that they might need for a networking project. I hope everyone has as much fun using the system as I had creating it and I hope to see everyone in a session of Trade Wars.</span></p>
<p><a href="http://www.techinvasion.net/wp-content/uploads/2009/02/bbs1.jpg"><img class="alignnone size-medium wp-image-110" title="BBS Login Screen" src="http://www.techinvasion.net/wp-content/uploads/2009/02/bbs1-300x108.jpg" alt="" width="300" height="108" /></a></p>
<p><a href="http://www.techinvasion.net/wp-content/uploads/2009/02/bbs2.jpg"><img class="alignnone size-medium wp-image-111" title="ASCII ART" src="http://www.techinvasion.net/wp-content/uploads/2009/02/bbs2-300x128.jpg" alt="" width="300" height="128" /></a></p>
<p><a href="http://www.techinvasion.net/wp-content/uploads/2009/02/bbs3.jpg"><img class="alignnone size-medium wp-image-112" title="Login Status" src="http://www.techinvasion.net/wp-content/uploads/2009/02/bbs3-300x140.jpg" alt="" width="300" height="140" /></a></p>
<p><a href="http://www.techinvasion.net/wp-content/uploads/2009/02/bbs4.jpg"><img class="alignnone size-medium wp-image-113" title="main Menu" src="http://www.techinvasion.net/wp-content/uploads/2009/02/bbs4-300x141.jpg" alt="" width="300" height="141" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.techinvasion.net/2009/02/02/blast-from-the-past-bbs-and-door-games/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a GRE tunnel between endpoints!</title>
		<link>http://www.techinvasion.net/2008/09/08/create-a-gre-tunnel-between-endpoints/</link>
		<comments>http://www.techinvasion.net/2008/09/08/create-a-gre-tunnel-between-endpoints/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 18:20:02 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[Cisco]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[GRE]]></category>
		<category><![CDATA[IPSEC]]></category>
		<category><![CDATA[TUNNEL]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://www.techinvasion.net/?p=48</guid>
		<description><![CDATA[Many time it is necessary to link a remote office to your main site and today we have many technologies to accomplish this task. We have IPSEC tunnels, IP-IN-IP tunnels, and GRE or Generic Routing Encapsulation Tunnels. Each type of connectivity offers advantages and disadvantages. Some of these tunnels can even be overlaid on top [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: 10pt; color: #000000;"><span style="font-family: Times New Roman;">Many time it is necessary to link a remote office to your main site and today we have many technologies to accomplish this task. We have IPSEC tunnels, IP-IN-IP tunnels, and GRE or Generic Routing Encapsulation Tunnels.</span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt;"><span style="font-family: Times New Roman;">Each type of connectivity offers advantages and disadvantages. Some of these tunnels can even be overlaid on top of one another. For instance IPSEC can be used in a transport mode, which allows you to use the encryption with other tunnels or protocols. For this article we are going to discuss GRE tunnels. GRE is unique as tunneling technologies go in that is started out as a proprietary protocol developed by Cisco and later adopted as a standard. GRE was invented as a way of encapsulating non routable protocols in IP which is a routable protocol. In this way protocols such as multicast (this include OSPF, EIGRP), and other protocols like IPX could be tunneled across routable links.</span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt;"><span style="font-family: Times New Roman;"> <span id="more-48"></span></span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt;"><span style="font-family: Times New Roman;">GRE offers several advantages today when used as a tunnel to connect private LANs. The main advantages are the ability to carry multicast traffic, i.e. routing protocols across the internet. For instance, lets say you had a main office in London, which has Frame Relay links to 15 offices in Europe, and you have your headquarters in Washington D.C. with a MPLS network of 25 offices across North and South America. Now suppose due to the costs of bandwidth and particularly the cost of private connection such as frame across the pond, you decided to go with a 45mbps T3 line. Between London and D.C.<span style="mso-spacerun: yes;">  </span>Now you could connect these offices with an IPSEC VPN however if you did this you would be limited to building static <span style="mso-spacerun: yes;"> </span>routes for each network on each side of the ocean, this is not a very scalable solution and does not allow you the advantages of a dynamic routing protocol. This solution may even limit you should you decide to add a second T3 later say to an office in Madrid. With dynamic routing protocols, the traffic would automatically swing to the Madrid office if something were to happen to the link between D.C. and London. The solution <span style="mso-spacerun: yes;"> </span>to this problem is to use GRE tunnels, since GRE tunnels pass all types of traffic you can easily run a dynamic routing protocol, like OSPF or EIGRP. These protocols will allow seamless easy route adjustments when a route goes down.</span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt;"><span style="font-family: Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt;"><span style="font-family: Times New Roman;">Configuring GRE tunnels is easy with a few simple steps you will be on your way. Before we can talk about configuring GRE tunnels we need to discuss exactly what the requirements for GRE are! GRE is a protocol, like IP you need to make sure this protocol is allowed through your firewall if you want to terminate a GRE tunnel. GRE to be more exact is protocol 47. Please be mindful that this is not port 47 but protocol 47. Allowing port 47 through your firewall will not allow GRE to work.</span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt;"><span style="font-family: Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt;"><span style="font-family: Times New Roman;">Steps to configure a GRE tunnel</span></span></p>
<p class="MsoNormal" style="margin: 0in 0in 0pt;"><span style="font-size: 10pt;"><span style="font-family: Times New Roman;"> </span></span></p>
<ol style="margin-top: 0in;" type="1">
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in;"><span style="font-size: 10pt;"><span style="font-family: Times New Roman;">create access-list on outside interface to permit GRE</span></span></li>
<li class="MsoNormal" style="margin: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in;"><span style="font-size: 10pt;"><span style="font-family: Times New Roman;">create tunnel interface</span></span></li>
</ol>
<p class="MsoNormal" style="margin: 0in 0in 0pt 0.25in;"><span style="font-size: 10pt;"><span style="font-family: Times New Roman;"> </span></span></p>
<pre class="prettyprint">
interface Tunnel0
 ip address 172.20.1.1 255.255.255.252
 keepalive 10 3
 tunnel source FastEthernet0/0
 tunnel destination 192.168.1.2
 tunnel path-mtu-discovery
!
!
!
!
interface FastEthernet0/1
 description LAN INTERFACE
 ip address 10.0.0.254 255.255.255.0
 ip nat inside
 duplex auto
 speed auto
!
!
!
!
interface FastEthernet0/0
 description Internet Interface
 ip address 192.168.1.1 255.255.255.0
 ip access-group allow-gre in
 ip nat inside
 duplex auto
 speed auto
!
!
!
!
ip access-list extended allow-gre
 permit gre any any</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.techinvasion.net/2008/09/08/create-a-gre-tunnel-between-endpoints/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>liveplasma.com</title>
		<link>http://www.techinvasion.net/2008/02/09/liveplasmacom/</link>
		<comments>http://www.techinvasion.net/2008/02/09/liveplasmacom/#comments</comments>
		<pubDate>Sun, 10 Feb 2008 03:16:44 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[liveplasma.com]]></category>

		<guid isPermaLink="false">http://www.techinvasion.net/2008/02/09/liveplasmacom/</guid>
		<description><![CDATA[I found a really cool site that displays related content in a visual way, so if for instance you type in an Artist name like Pinback, it will show all related artists in a very cool visual way, very similar to some of the visual displays for Digg.com]]></description>
			<content:encoded><![CDATA[<p>I found a really cool site that displays related content in a visual way, so if for instance you type in an Artist name like Pinback, it will show all related artists in a very cool visual way, very similar to some of the visual displays for Digg.com</p>
]]></content:encoded>
			<wfw:commentRss>http://www.techinvasion.net/2008/02/09/liveplasmacom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
