<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>ipHouse Blog</title> <link>http://www.iphouse.com/blog</link> <description>A friendly, local ISP with a view.</description> <lastBuildDate>Mon, 30 Jul 2012 18:20:25 +0000</lastBuildDate> <language>en-US</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.4.2</generator> <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ipHouseBlog" /><feedburner:info uri="iphouseblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>ipHouseBlog</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><title>Local PHP configuration</title><link>http://feedproxy.google.com/~r/ipHouseBlog/~3/ZEYfqXY5RBY/</link> <comments>http://www.iphouse.com/blog/2012/07/12/local-php-configuration/#comments</comments> <pubDate>Thu, 12 Jul 2012 16:45:23 +0000</pubDate> <dc:creator>Doug Rau</dc:creator> <category><![CDATA[System Administrators]]></category> <category><![CDATA[Web Development]]></category> <category><![CDATA[Hosting]]></category> <category><![CDATA[php]]></category> <category><![CDATA[programming]]></category><guid isPermaLink="false">http://www.iphouse.com/blog/?p=3103</guid> <description><![CDATA[PHP 5.3 added a new feature: user configurable, per directory PHP directives.]]></description> <content:encoded><![CDATA[<p>PHP 5.3 added a useful feature, <a
href="http://www.php.net/manual/en/configuration.file.per-user.php" target="_blank">per-directory .ini files</a>. You can enter <a
href="http://www.php.net/manual/en/ini.list.php" target="_blank">PHP configuration directives</a> into a text file named &#8220;.user.ini&#8221;, upload it to your htdocs directory or any other directory of your website, and that configuration will be used for any PHP scripts in that directory or below.</p><p>For example, you may not want to display page errors to visitors of your website, but want to see them for anything in the /development/ sub-directory where you&#8217;re working on new things. You might create a .user.ini file in that sub-directory containing</p><blockquote><p> error_reporting = E_ALL<br
/> display_errors = On<br
/> display_startup_errors = On</p></blockquote><p>Or perhaps you have a sub-directory of remote procedure calls which are invoked from a webpage via AJAX and always return JSON data. You could simplify them by creating a .user.ini file in that subdirectory containing</p><blockquote><p> default_mimetype = &#8220;application/json&#8221;<br
/> display_errors = Off</p></blockquote><p>What can&#8217;t you do?  You can&#8217;t use any configuration directives marked PHP_INI_SYSTEM, which cover fundamental and security-related PHP configuration are reserved for the root php.ini file.</p> <img src="http://feeds.feedburner.com/~r/ipHouseBlog/~4/ZEYfqXY5RBY" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://www.iphouse.com/blog/2012/07/12/local-php-configuration/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://www.iphouse.com/blog/2012/07/12/local-php-configuration/</feedburner:origLink></item> <item><title>What’s the deal with DNSChanger Malware?</title><link>http://feedproxy.google.com/~r/ipHouseBlog/~3/8OyxhipY1sw/</link> <comments>http://www.iphouse.com/blog/2012/07/06/whats-the-deal-with-dnschanger-malware/#comments</comments> <pubDate>Fri, 06 Jul 2012 17:48:07 +0000</pubDate> <dc:creator>Andrew Will-Holmberg</dc:creator> <category><![CDATA[News]]></category> <category><![CDATA[Online Security]]></category> <category><![CDATA[Support]]></category> <category><![CDATA[DNS]]></category> <category><![CDATA[Security]]></category><guid isPermaLink="false">http://www.iphouse.com/blog/?p=3094</guid> <description><![CDATA[The FBI will be shutting down the temporary DNS servers that they set up to support Internet users that were compromised with DNSChanger malware.]]></description> <content:encoded><![CDATA[<p>The FBI will be shutting down the temporary DNS servers that they set up to support Internet users that were compromised with <a
title="PDF from the FBI" href="http://www.fbi.gov/news/stories/2011/november/malware_110911/DNS-changer-malware.pdf" target="_blank">DNSChanger</a> malware. Anyone still using those DNS servers will be unable to resolve host names, which will effectively render them unable to do pretty much anything online until they clean up their infected system.</p><p>On November 8th 2011, the FBI, in conjunction with NASA-OIG and Estonian police, arrested several criminals operating under the company name &#8220;Rove Digital&#8221;. Rove Digital had been distributing DNS changing viruses (TDSS, Alureon, TidServ and TDL4). They then routed victims through their own DNS servers in order to direct traffic to junk ads. They infected around 4 million users, and made a reported $14Million before getting shut down.</p><p>With such a large number of compromised users relying on Rove Digital&#8217;s DNS servers for their Net access, the FBI decided to temporarily leave the DNS servers up and running to give people time to clean up their infected systems. Because people have been slow about cleaning up their computers, the FBI extended their original March deadline to Monday July 9th.</p><p>If you would like to verify that your computer is clean, you can go to <a
title="http://www.dcwg.org/detect/" href="http://www.dcwg.org/detect/" target="_blank">http://www.dcwg.org/detect/</a> for a list of safe sites that you can use to check. Should you find that you have a compromised computer, they have good resources available to help you clean up your system.</p> <img src="http://feeds.feedburner.com/~r/ipHouseBlog/~4/8OyxhipY1sw" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://www.iphouse.com/blog/2012/07/06/whats-the-deal-with-dnschanger-malware/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://www.iphouse.com/blog/2012/07/06/whats-the-deal-with-dnschanger-malware/</feedburner:origLink></item> <item><title>Adding Exchange 2010 mailboxes from text file with PowerShell</title><link>http://feedproxy.google.com/~r/ipHouseBlog/~3/XVN6EJXFm-A/</link> <comments>http://www.iphouse.com/blog/2012/07/05/adding-exchange-2010-mailboxes-from-text-file-with-powershell/#comments</comments> <pubDate>Thu, 05 Jul 2012 22:01:47 +0000</pubDate> <dc:creator>Ben Tucker</dc:creator> <category><![CDATA[System Administrators]]></category> <category><![CDATA[email]]></category> <category><![CDATA[geeky]]></category> <category><![CDATA[programming]]></category> <category><![CDATA[technology]]></category> <category><![CDATA[windows]]></category><guid isPermaLink="false">http://www.iphouse.com/blog/?p=3065</guid> <description><![CDATA[I was having some trouble with the syntax of importing from a .csv or tab-delimited file so I punted and used awk on my workstation and got the work done.]]></description> <content:encoded><![CDATA[<p>I wrote before about <a
title="Adding Exchange mailboxes from a text file by way of awk" href="http://www.iphouse.com/blog/2012/03/09/adding-exchange-mailboxes-from-a-text-file-by-way-of-awk/">adding Exchange 2010 mailboxes with PowerShell and AWK</a>. I was having some trouble with the syntax of importing from a .csv or tab-delimited file so I punted and used awk on my workstation and got the work done.</p><p>That workflow is not ideal. I&#8217;d rather do it all in PowerShell. I got some great help from the fine folks over at <a
title="/r/powershell" href="http://reddit.com/r/powershell">/r/powershell</a> and Don Jones&#8217;s <a
title="Don Jones's PowerShell Books" href="http://itpro.concentratedtech.com/books.php">PowerShell books</a> and <a
title="Youtube: powershelldon" href="http://www.youtube.com/channel/UCqPxcTs1F2k-NeZ-igDHvnQ">videos</a>.</p><p>Here is a better way:</p><ul><li>Use the Import-Csv cmdlet to import the data as an array objects with text properties, for each column.</li><li>Add and adjust the properties we need and their values.</li><li>Pass the whole array to New-Mailbox, which will do the right thing, as long as all the parameter names match the object properties.</li></ul><p>If I exported the data as .csv, with properly named column headers, this would get even easier, but I will give PowerShell the same data I gave awk for the sake of parity. So let&#8217;s say I have no control over the format the data arrives in and it comes space-delimited like this:</p><pre>Alice Adams aadams aadams@corp.domain.com Password1
Bob Baker bbaker bbaker@corp.domain.com Password2
Charlie Carter ccarter ccarter@corp.domain.com Password3
Dan Davis ddavis ddavis@corp.domain.com Password4
Ed Evans eevans eevans@corp.domain.com Password5
Frank Foster ffoster ffoster@corp.domain.com Password6</pre><p>Here is how to use PowerShell to add these users using the data from this file.</p><p>To use a space for the field delimiter, we&#8217;ll use -Delimiter &#8216; &#8216;. This file does not have a header row. Import-Csv imports as key-value pairs, so each column needs a name.  By default, it uses the top row for that, but that would not be the right thing to do here, since the top row is data.  So we can either put a header row on the file, or define alternate column names with a -Header argument.  Here is the command import my users.txt file as an array of objects, $<em>users</em>:</p><pre><strong>PS&gt;</strong> $users = Import-Csv -Delimiter ' ' -path .\users.txt -Header FirstName, LastName, SamAccountName, UserPrincipalName, plaintextpass</pre><p>This loads the data from the file into an array of objects $<em>users</em>.  Each element of $<em>users</em> has properties as defined in the header with values from the corresponding row.  Here&#8217;s the first element in $<em>users</em>:</p><pre><strong>PS&gt;</strong> $users[0]

FirstName         : Alice
LastName          : Adams
SamAccountName    : aadams
UserPrincipalName : aadams@corp.domain.com
plaintextpass     : Password1</pre><p>Next, we&#8217;ll add the &#8220;Name&#8221; property, which is a string in the form &#8220;FirstName LastName&#8221;</p><pre><strong>PS&gt;</strong> $users = $users | Select-Object -Property *, @{name='Name';expression={$_.FirstName + ' ' + $_.LastName}}</pre><p>The property is appended to the end of the list, but that&#8217;s fine, since Add-Mailbox accepts these arguments in any order. Here&#8217;s how the first object looks now.</p><pre><strong>PS&gt;</strong> $users[0]

FirstName         : Alice
LastName          : Adams
SamAccountName    : aadams
UserPrincipalName : aadams@corp.domain.com
plaintextpass     : Password1
Name              : Alice Adams</pre><p>Add-Mailbox wants the password as a system.securestring, and won&#8217;t accept a plain string at all. Items of type System.SecureString is stored in memory encrypted.  We&#8217;re defeating the security benefits of that behavior by handling the passwords as plaintext elsewhere in the script and in the data file. For exactly that reason, ConvertToSecureString will complain if we use it to accept plain text with -AsPlainText, but it will do it anyway if we use -Force.  The whole thing goes like this.</p><pre><strong>PS&gt;</strong> $users = $users | Select-Object -Property *, @{name='Password';expression={(ConvertTo-SecureString -AsPlainText -Force -String "$_.plaintextpass")}}</pre><p>Now we have the password stored as a SecureString.  Trying to print the password only prints &#8220;System.Security.SecureString&#8221; and not the actual contents, but it is in there.</p><pre><strong>PS&gt;</strong> $users[0]

FirstName         : Alice
LastName          : Adams
SamAccountName    : aadams
UserPrincipalName : aadams@corp.domain.com
plaintextpass     : Password1
Name              : Alice Adams
Password          : System.Security.SecureString</pre><p>Now let&#8217;s get rid of that plaintext password.  Strictly, this step is not necessary. Since &#8220;plaintextpass&#8221; does not match any of the arguments that Add-Mailbox accepts, it will be discarded.  But since we need to encrypt the password as a SecureString to pass it anyway, why pass it as plaintext as well.  So we strip the property out like this:</p><pre><strong>PS&gt;</strong> $users = $users | Select-Object -Property * -ExcludeProperty plaintextpass</pre><p>And finally, our objects look like this:</p><pre><strong>PS&gt;</strong> $users[0]

FirstName         : Alice
LastName          : Adams
SamAccountName    : aadams
UserPrincipalName : aadams@corp.domain.com
Name              : Alice Adams
Password          : System.Security.SecureString</pre><p>It is not an accident that these are exactly the arguments that Add-Mailbox wants.  This is the fun part.</p><pre><strong>PS&gt;</strong> $users | Add-Mailbox</pre><p>That&#8217;s it. The contents of the properties of each object in $<em>users</em> are passed to the corresponding arguments Add-Mailbox accepts.  Add-Mailbox takes those arguments and creates six new users.</p><p>And of course, since this is powershell, all of this can be done in one big pipeline if readability is not your thing.  That would look like this:</p><pre><strong>PS&gt;</strong> Import-Csv -Delimiter ' ' -path .\users.txt -Header FirstName, LastName, SamAccountName, UserPrincipalName, plaintextpass | Select-Object -Property *, @{name='Name';expression={$_.FirstName + ' ' + $_.LastName}}, @{name='Password';expression={(ConvertTo-SecureString -AsPlainText -Force -String "$_.plaintextpass")}} | Select-Object -Property * -ExcludeProperty plaintextpass | Add-Mailbox</pre><img src="http://feeds.feedburner.com/~r/ipHouseBlog/~4/XVN6EJXFm-A" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://www.iphouse.com/blog/2012/07/05/adding-exchange-2010-mailboxes-from-text-file-with-powershell/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://www.iphouse.com/blog/2012/07/05/adding-exchange-2010-mailboxes-from-text-file-with-powershell/</feedburner:origLink></item> <item><title>World IPv6 Launch</title><link>http://feedproxy.google.com/~r/ipHouseBlog/~3/8Zyh6MXn34E/</link> <comments>http://www.iphouse.com/blog/2012/06/06/world-ipv6-launch/#comments</comments> <pubDate>Wed, 06 Jun 2012 20:33:11 +0000</pubDate> <dc:creator>Doug Rau</dc:creator> <category><![CDATA[ipHouse Products]]></category> <category><![CDATA[News]]></category> <category><![CDATA[IPv6]]></category> <category><![CDATA[networking]]></category><guid isPermaLink="false">http://www.iphouse.com/blog/?p=3051</guid> <description><![CDATA[Today is the day many companies and organizations permanently enable IPv6 for their products and services. This is a big deal.]]></description> <content:encoded><![CDATA[<p>Today is the day many companies and organizations <a
title="World IPv6 Launch" href="http://www.worldipv6launch.org/" target="_blank">permanently enable IPv6</a> for their products and services. This is a big deal.</p><p><a
href="http://www.iphouse.com/blog/2012/06/06/world-ipv6-launch/world_ipv6_launch_badge_187/" rel="attachment wp-att-3052"><img
class="aligncenter size-full wp-image-3052" title="World_IPv6_launch_badge_187" src="http://i2.wp.com/www.iphouse.com/blog/wp-content/uploads/2012/06/World_IPv6_launch_badge_187.png?resize=187%2C187" alt="" /></a></p><p>We&#8217;ve had all of our <a
title="ipHouse and World IPv6 day!" href="http://www.iphouse.com/blog/2011/06/07/iphouse-and-world-ipv6-day/" target="_blank">major public servers</a> accessible by both IPv4 and IPv6 for some time, and continuously since World IPv6 Day last year. We&#8217;ve also been assigning IPv6 networks by request to customers with routers and network gear capable of supporting it. We&#8217;d love to assign more, but although enterprise-grade equipment and every major computer operating system supports IPv6, support in consumer-grade equipment such as DSL routers has been in a chicken-and-egg limbo for years.</p><p><span
style="font-size: medium;">So what&#8217;s the big deal?</span></p><p>The Internet has run on the IPv4 protocol since <a
title="RFC791 - IPv4 is born" href="https://tools.ietf.org/html/rfc791" target="_blank">September, 1981</a>. An IPv4 address is a 32-bit value, which provides around 4 billion unique IP addresses. Even though changes have been made to the allocation and usage of this space, from replacing the original classed network system with <a
href="https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing">CIDR</a> to routing schemes like <a
href="https://en.wikipedia.org/wiki/Network_address_translation">NAT</a>, it was never really designed or intended for an <a
title="Video map of IPv4 addressing from 1982 to 2010" href="https://www.youtube.com/watch?v=y8WqJum_Gfg" target="_blank">rapidly growing public Internet</a>, and it&#8217;s clearly at the end of its road.</p><p>IPv6, which has actually been around for <a
href="https://tools.ietf.org/html/rfc1883">longer than you might think</a>, is the next generation of Internet addressing. Will it ever fully replace IPv4? That&#8217;s unknown but the days of freely allocating more <a
title="IPv4 Adresses exhausted" href="https://en.wikipedia.org/wiki/IPv4_address_exhaustion" target="_blank">IPv4 addresses are at an end</a>.</p><p>IPv6 uses a 128-bit address and provides a vastly larger number of unique IP addresses. Large enough to handle 4 billion unique organizations each with 4 billion unique clients each with their own 64-bit address space, itself 4 billion times larger than the entire IPv4 address space. IPv6 provides the room to create and implement advanced networking features like auto-configuration, efficient routing, and simplified renumbering.</p><p><span
style="font-size: medium;">What can you do to help move us further away from IPv4?</span></p><p>Talk to your Internet and/or hosting provider about IPv6 and ask about their deployment plans.  Ask them to publicly comment or announce their plans. Talk to your IT department and ask the same questions.</p><p>Welcome to the production Internet!</p> <img src="http://feeds.feedburner.com/~r/ipHouseBlog/~4/8Zyh6MXn34E" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://www.iphouse.com/blog/2012/06/06/world-ipv6-launch/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://www.iphouse.com/blog/2012/06/06/world-ipv6-launch/</feedburner:origLink></item> <item><title>Top 10 Signs You Have a Terrible Hosting Provider</title><link>http://feedproxy.google.com/~r/ipHouseBlog/~3/zCESrbSLn4o/</link> <comments>http://www.iphouse.com/blog/2012/06/04/top-10-signs-you-have-a-terrible-hosting-provider/#comments</comments> <pubDate>Mon, 04 Jun 2012 16:50:55 +0000</pubDate> <dc:creator>Doug Rau</dc:creator> <category><![CDATA[Humor]]></category> <category><![CDATA[Hosting]]></category> <category><![CDATA[humor]]></category><guid isPermaLink="false">http://www.iphouse.com/blog/?p=2987</guid> <description><![CDATA[Do you think you have a bad hosting company? Let's review the questions proving you may have made a bad choice.]]></description> <content:encoded><![CDATA[<ol><li>They boast of their &#8220;multi-homed SLIP&#8221; connectivity</li><li>They&#8217;re proud to provide both types of power, volts and amps</li><li>Each rack is supplied with its own extension cord and ground plug adapter</li><li>Their climate control system is an open window and a $10 box fan</li><li>They try to sell you a &#8220;virtual rail kit&#8221;</li><li>Private cages can be used for fights on the weekends</li><li>Their tech support email address ends in @hotmail.com</li><li>Their fire suppression system is a &#8220;No Smoking&#8221; sign</li><li>Their security system reads &#8220;Beware of Shih-Tzu&#8221;</li><li>Their backup system involves WinZip and BitTorrent</li></ol> <img src="http://feeds.feedburner.com/~r/ipHouseBlog/~4/zCESrbSLn4o" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://www.iphouse.com/blog/2012/06/04/top-10-signs-you-have-a-terrible-hosting-provider/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://www.iphouse.com/blog/2012/06/04/top-10-signs-you-have-a-terrible-hosting-provider/</feedburner:origLink></item> <item><title>Tegile in the news, and so are we!</title><link>http://feedproxy.google.com/~r/ipHouseBlog/~3/oQoM74R2eH8/</link> <comments>http://www.iphouse.com/blog/2012/06/01/tegile-in-the-news-and-so-are-we/#comments</comments> <pubDate>Fri, 01 Jun 2012 20:11:42 +0000</pubDate> <dc:creator>Mike Horwath</dc:creator> <category><![CDATA[ipHouse Products]]></category> <category><![CDATA[Virtual Machines]]></category> <category><![CDATA[Hosting]]></category> <category><![CDATA[technology]]></category> <category><![CDATA[Tegile]]></category> <category><![CDATA[Virtualization]]></category> <category><![CDATA[vmForge]]></category><guid isPermaLink="false">http://www.iphouse.com/blog/?p=3040</guid> <description><![CDATA[Congratulations to Tegile, whose press release today (picked up on multiple news sites, links below) includes one of the reasons we chose their HA2100EP storage array for our needs: Low latency &#038; high throughput. We also needed iSCSI and F/C for our customers.]]></description> <content:encoded><![CDATA[<p>Congratulations to Tegile, whose press release today (picked up on multiple news sites, links below) includes one of the reasons we chose their HA2100EP storage array for our needs: Low latency &amp; high throughput. We also needed iSCSI and F/C for our customers.</p><p><a
title="ipHouse - where storage is fast and latency low!" href="http://www.iphouse.com/">ipHouse</a> has a <a
title="Tegile Zebi - the HA2100EP is what ipHouse uses" href="http://www.tegile.com/products/zebi-storage-arrays/" target="_blank">Tegile Zebi</a> storage array in production since March, 2012, and the increase in performance has been noticeable.</p><p>ipHouse Deploys Tegile’s Zebi Storage Array <a
title="ipHouse Deploys Tegile’s Zebi Storage Array" href="http://ger.ms/KmJXa3" target="_blank">http://ger.ms/KmJXa3</a> - Exciting to see Tegile growing and I&#8217;m still happy with my choice in new storage for our <a
title="VMware - cause chroot() doesn't scale!" href="http://www.vmware.com/">VMware</a> clusters.</p><p>Newcomer gets out its box, plans to sell it cheaply to all comers <a
title="Newcomer gets out its box, plans to sell it cheaply to all comers" href="http://ger.ms/LTjuzY" target="_blank">http://ger.ms/LTjuzY</a></p><p>Tegile Selected as a Red Herring Top 100 North America Tech Startup <a
title="Tegile Selected as a Red Herring Top 100 North America Tech Startup" href="http://ger.ms/KxUJZE" target="_blank">http://ger.ms/KxUJZE</a></p><p>Our <a
title="vmForge Virtual Datacenter" href="https://www.iphouse.com/vmforge/" target="_blank">vmForge VDC</a> clusters are peaking around 14,000 <acronym
id="IOPS" title="Input Output per Second">IOPS</acronym> and the <a
title="Tegile Metadata Accelerated Storage System" href="http://www.tegile.com/products/zebi-technology/" target="_blank">MASS</a> solution is offloading about 11,500 IOPS via SSD. I wish I could graph this and show it to the public at large but I don&#8217;t have a way <em>yet</em>. (those are peaks, average is closer to ~8,000 IOPS with ~6,900 IOPS via SSD)</p> <img src="http://feeds.feedburner.com/~r/ipHouseBlog/~4/oQoM74R2eH8" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://www.iphouse.com/blog/2012/06/01/tegile-in-the-news-and-so-are-we/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://www.iphouse.com/blog/2012/06/01/tegile-in-the-news-and-so-are-we/</feedburner:origLink></item> <item><title>Into the vCloud API</title><link>http://feedproxy.google.com/~r/ipHouseBlog/~3/axMLfMrpkgM/</link> <comments>http://www.iphouse.com/blog/2012/05/21/into-the-vcloud-api/#comments</comments> <pubDate>Tue, 22 May 2012 00:41:07 +0000</pubDate> <dc:creator>Doug Rau</dc:creator> <category><![CDATA[ipHouse Products]]></category> <category><![CDATA[Connectivity]]></category> <category><![CDATA[networking]]></category> <category><![CDATA[programming]]></category> <category><![CDATA[Security]]></category> <category><![CDATA[Virtualization]]></category> <category><![CDATA[vmForge]]></category><guid isPermaLink="false">http://www.iphouse.com/blog/?p=3016</guid> <description><![CDATA[We've been working on building a proper vmForge account creation and management site, so for the last couple of weeks I've been working a lot with the vCloud API]]></description> <content:encoded><![CDATA[<p>We&#8217;ve been working on building a proper vmForge account creation and management site, so for the last couple of weeks I&#8217;ve worked a lot with the vCloud API. It&#8217;s a RESTful system, which means everything&#8217;s done by getting XML from and posting XML to a web server. It&#8217;s perhaps not the worst API I&#8217;ve ever worked with, but its tedious to work through. Even more so because their parser is insanely pedantic, to the point of requiring elements in a specific order. So that&#8217;s a point in PHP&#8217;s favor, that it maintains key order in associated arrays.</p><p><span
id="more-3016"></span>So far, I have everything I need to create and deploy organizations, administrator accounts, and the virtual data centers themselves, and have been working on networking. Unfortunately, the API doesn&#8217;t seem to offer an easy way of determining which external networks are unassigned and available for use. I&#8217;d have to walk through the tree of existing VDCs and their assigned networks, and subtract those from the complete list of external networks. Then hope there&#8217;s not another process running, doing the same thing, which tries to grab the same network. So we&#8217;ll be doing that via peeks and pokes into a separate SQL database.</p><p>Another hurdle we&#8217;re going to have to deal with is that some operations are asynchronous. For example, setting up a vShield Edge device for a routed external network takes a while. So when a client requests that, the API can only confirm that the task has been started correctly. The task will actually complete a few seconds or a few minutes later, long after the client has disconnected and continued on its way. If it fails for some reason, we&#8217;ll have to be monitoring those tasks to catch it.</p> <img src="http://feeds.feedburner.com/~r/ipHouseBlog/~4/axMLfMrpkgM" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://www.iphouse.com/blog/2012/05/21/into-the-vcloud-api/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://www.iphouse.com/blog/2012/05/21/into-the-vcloud-api/</feedburner:origLink></item> <item><title>Common confusion between DNS and web configurations</title><link>http://feedproxy.google.com/~r/ipHouseBlog/~3/Elh7Fuo6kp0/</link> <comments>http://www.iphouse.com/blog/2012/05/12/common-confusion-between-dns-and-web-configurations/#comments</comments> <pubDate>Sat, 12 May 2012 15:30:58 +0000</pubDate> <dc:creator>Doug McIntyre</dc:creator> <category><![CDATA[ipHouse Products]]></category> <category><![CDATA[Support]]></category> <category><![CDATA[System Administrators]]></category> <category><![CDATA[DNS]]></category> <category><![CDATA[Hosting]]></category> <category><![CDATA[technology]]></category><guid isPermaLink="false">http://www.iphouse.com/blog/?p=2633</guid> <description><![CDATA[DNS is a fairly simple system. It is intrinsically critical to the Internet, being the phone book for the Internet world. If you want to find a website, the first thing your computer does is consult DNS. It finds the name based on the hierarchical nature of DNS separated by the .'s in the hostname.]]></description> <content:encoded><![CDATA[<p>There is always confusion about what <a
title="Domain Name" href="http://en.wikipedia.org/wiki/Domain_Name_System">DNS</a> does and what it doesn&#8217;t do. In particular, I see constant reference to DNS functions mixed up with web server functions, and vice-versa. Hopefully this post clarifies things a bit to separate what DNS does and what web servers handle.<br
/> <span
id="more-2633"></span> <a
title="Domain Name" href="http://en.wikipedia.org/wiki/Domain_Name_System">DNS</a> is a fairly simple system. It is intrinsically critical to the Internet, being the phone book for the Internet world. If you want to find a website, the first thing your computer does is consult DNS. It finds the name based on the hierarchical nature of DNS separated by the .&#8217;s in the hostname.</p><p>A website <a
title="URL" href="http://en.wikipedia.org/wiki/Url">URL</a> has many pieces of information, even in common every day use. A URL such as</p><div
style="text-indent: 5em;">https://ipmom.iphouse.com/vacation.php</div><p>has 3 different pieces of data:</p><ul><li>https is the protocol used to get access to the service.</li><li>The second is the hostname of the server to get data from contained between the /&#8217;s.</li><li>The data after the hostname and slash tells the web server what specific data you are looking for.</li></ul><p>There could be more slashes, other odd characters, or even more advanced parts to a URL that I won&#8217;t get into here. The main point is that we have the protocol, the hostname, and we have web server data; three parts melded into one URL.</p><p>At the simplest levels, what DNS returns after looking up a hostname in the directory, though, is just a number. Much like a phone #, the number is the Internet address of the web server that should handle your request. Your computer connects to this web server, presents the rest of the URL for processing and gets the data you are looking for.</p><p>One very common misconception is that DNS gives you more data than a number. Specifically many people assume web server data, such as more web server URL data, is inside DNS A records as well. Only numbers are ever returned inside a DNS A (or AAAA for IPv6) record (what your computer is looking up for visiting a web site). Anything after the hostname in the URL is only handled within the web server itself.</p><p>We get requests all the time to set up a website &#8220;redirect&#8221; within DNS. This can&#8217;t be done. DNS hostnames can be pointed to web servers, but not with extra data that isn&#8217;t just a number (an Internet address). That extra data needs to be configured inside a web server somewhere.</p><p>Unfortunately, many people do believe that this can be done because a few web companies have set up magic systems to make it seem like it is part of DNS. But what their magic is doing is running up yet another web server somewhere, handling the web request, and the web server gives out more results to go back to somewhere else. Since many DNS service companies run out of the country, your web site visitors end up getting bounced around the globe chasing down the proper web server in the end. Usually this works, but there is delay and processing (or latency) while the requests are handled off in Australia or Europe. If that web server redirect server is down, so is your site, because you depend on somebody else having the correct configuration while being up and available.</p><p>It is better to configure your web server locally to properly handle different domain names you may have instead of having magic redirects bouncing your customers around the globe. That way all your requests stay local and nobody else can intercept your web visitor to somewhere else due to a misconfiguration (or potentially nefarious activity). Response time will be quicker (latency again) since you&#8217;ll handle the request directly off your server instead of the visitor going to different offsite servers and then finally back to your server with the correct URL you wanted in the first place.</p><p>Finally, you don&#8217;t have to keep track of who does what function. I have seen redirect chains more than 5 levels deep as nobody knows any longer what was set up, what goes where, or how to troubleshoot such a complex setup. They build up over the years with different designers doing something a bit different with each revision.</p><p>With all your domainname/URLs configured in the web server to properly handle each one, it is all in one place, one response, and updates are easily handled without chasing it all over.</p> <img src="http://feeds.feedburner.com/~r/ipHouseBlog/~4/Elh7Fuo6kp0" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://www.iphouse.com/blog/2012/05/12/common-confusion-between-dns-and-web-configurations/feed/</wfw:commentRss> <slash:comments>1</slash:comments> <feedburner:origLink>http://www.iphouse.com/blog/2012/05/12/common-confusion-between-dns-and-web-configurations/</feedburner:origLink></item> <item><title>Test everything!</title><link>http://feedproxy.google.com/~r/ipHouseBlog/~3/CHmiX8N3Ig8/</link> <comments>http://www.iphouse.com/blog/2012/05/08/test-everything/#comments</comments> <pubDate>Tue, 08 May 2012 22:35:31 +0000</pubDate> <dc:creator>Nick Gasper</dc:creator> <category><![CDATA[Opinion]]></category> <category><![CDATA[System Administrators]]></category> <category><![CDATA[DNS]]></category> <category><![CDATA[email]]></category> <category><![CDATA[Virtualization]]></category><guid isPermaLink="false">http://www.iphouse.com/blog/?p=2781</guid> <description><![CDATA[A while a go, I wrote down some personal rules to what I should do as an admin. First and foremost, and underlined about six times was this: Test Everything. It seems so simple, but you have to consider, if it&#8217;s not tested, and verified, it&#8217;s not working. Simple. Oh, it may be working, but <a
href="http://www.iphouse.com/blog/2012/05/08/test-everything/" class="more-link">More &#62;</a>]]></description> <content:encoded><![CDATA[<p>A while a go, I wrote down some personal rules to what I should do as an admin. First and foremost, and underlined about six times was this: Test Everything. It seems so simple, but you have to consider, if it&#8217;s not tested, and verified, it&#8217;s not working. Simple. Oh, it may be working, but it may not be. &#8220;May&#8221; is not good enough. So when I roll out a new server, I test and test and test. When I make a change, I test it. If I do reboot a server, I watch logs to make sure that the services are working. If the logs don&#8217;t show that everything is working, I manually test things.</p><p><span
id="more-2781"></span></p><p>I really don&#8217;t have a lot of tools for testing, I use two for the most part: telnet and <a
href="http://www.openssl.org/">openssl</a> s_client. I could use <a
href="http://netcat.sourceforge.net/">netcat</a>, but telnet is installed on every UNIX-like system I touch.</p><p>Testing http is simple.</p><pre>$ telnet localhost 80
 GET / HTTP/1.1
 HOST:www.example.com</pre><p>Should return the website for http://www.example.com</p><p>SMTP is a little more complicated. You have to know a bit about the SMTP protocol. Testing SMTP-AUTH requires a BASE64 the username and the password.</p><p>Testing SSL is nigh impossible with telnet, so that&#8217;s where openssl s_client comes in. Again, I could use netcat, but openssl works just fine, and is already there.</p><pre> $ openssl s_client -connect www.example.com:443</pre><p>Gives you something like this:</p><pre>New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
 Server public key is 1024 bit
 Secure Renegotiation IS supported
 Compression: NONE
 Expansion: NONE
 SSL-Session:
 Protocol : TLSv1
 Cipher : DHE-RSA-AES256-SHA
 Session-ID: 38964888A9D4EBD17FC76D033CE02C5A0710C5EBD51D51A9FC6350CC8CFE019B
 Session-ID-ctx:
 Master-Key: 3A997E182CA1E9B8C3D5314D80B0F4B98973B1FC5B6AC754BE02CDA53B686FD73D8F9329D6290BE7AC53EA3871F3099B
 Key-Arg : None
 Start Time: 1332519536
 Timeout : 300 (sec)
 Verify return code: 18 (self signed certificate)</pre><p>This includes SSL statistics, including the certificate&#8217;s status. The last line in this case shows that this is a self-signed certificate, and would generate errors After the SSL status appears, you are entered into an interactive session for issuing commands, a lot like telnet. SMTP over SSL works much the same way. You can also test TLS via the -starttls option.</p><p>So, with a little bit of knowledge, you can test both mail and http via telnet and openssl. No extra tools required.</p> <img src="http://feeds.feedburner.com/~r/ipHouseBlog/~4/CHmiX8N3Ig8" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://www.iphouse.com/blog/2012/05/08/test-everything/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://www.iphouse.com/blog/2012/05/08/test-everything/</feedburner:origLink></item> <item><title>Juniper JunOS Learning Opportunities</title><link>http://feedproxy.google.com/~r/ipHouseBlog/~3/NGr0SJFNALo/</link> <comments>http://www.iphouse.com/blog/2012/05/05/juniper-junos-learning-opertunities/#comments</comments> <pubDate>Sat, 05 May 2012 22:30:54 +0000</pubDate> <dc:creator>Doug McIntyre</dc:creator> <category><![CDATA[System Administrators]]></category> <category><![CDATA[networking]]></category> <category><![CDATA[Security]]></category><guid isPermaLink="false">http://www.iphouse.com/blog/?p=2971</guid> <description><![CDATA[If you wanted to learn how to use Juniper networking gear, and especially get some exposure to JunOS, their network OS based on FreeBSD that you need to configure almost all the Juniper devices with, there are many free or reasonable learning options available. Besides the documentation, which is voluminous (must like any network vendor), <a
href="http://www.iphouse.com/blog/2012/05/05/juniper-junos-learning-opertunities/" class="more-link">More &#62;</a>]]></description> <content:encoded><![CDATA[<p>If you wanted to learn how to use Juniper networking gear, and especially get some exposure to JunOS, their network OS based on FreeBSD that you need to configure almost all the Juniper devices with, there are many free or reasonable learning options available.</p><p><span
id="more-2971"></span></p><p>Besides the documentation, which is voluminous (must like any network vendor), an excellent point to start is with Juniper&#8217;s DayOne whitepapers.</p><p>They are available at <a
title="http://www.juniper.net/dayone/" href="http://www.juniper.net/dayone/">http://www.juniper.net/dayone/</a> and cover a range of beginning to advanced topics. They are called DayOne, as it should take a person about a full day to read and digest what is contained in them. They also have some advanced topics that are weekly guides (called This Week).</p><ul><li></li></ul><p>While these study guides are old, they are still valid for the basics, and getting started in JunOS, even if it doesn&#8217;t cover the very latest topics. These pointers are tucked away pretty good, so you may not run across it very easily.</p><p><a
title="http://www.juniper.net/us/en/training/certification/books.html" href="http://www.juniper.net/us/en/training/certification/books.html">http://www.juniper.net/us/en/training/certification/books.html</a></p><ul><li></li></ul><p>Certification Fast Track is part of the next topic, but I&#8217;d point out especially this part of where they offer study materials and sample tests for their certification tests. The Fast Track program starts here.</p><p><a
title="https://learningportal.juniper.net/juniper/user_fasttrack_home.aspx" href="https://learningportal.juniper.net/juniper/user_fasttrack_home.aspx">https://learningportal.juniper.net/juniper/user_fasttrack_home.aspx</a></p><p>But this gives you course materials, and pre-assessment exams about those topics. You can also get half-priced exams at Prometric testing.</p><ul><li></li></ul><p>Juniper also offer more topics than just their certification tracks through their learning portal (https://learningportal.juniper.net) with even topics on their newest hardware, such as the QFabric. eg. they have installation, design and setup topics on that solution up already, as well as firewalls (SRX), Switching (EX), as well as their routing (MX, M &amp; T series) devices.</p><ul><li></li></ul><p>Finally, the ultimate soft-lab is Junosphere. They&#8217;ve made it very easy now for people to buy time with just a credit-card. Just sign-up, give them credit card data and I had to wait 3-4 business days for it to process through their systems.</p><p><a
title="https://learningportal.juniper.net/juniper/user_activity_info.aspx?id=5735" href="https://learningportal.juniper.net/juniper/user_activity_info.aspx?id=5735">https://learningportal.juniper.net/juniper/user_activity_info.aspx?id=5735</a></p><p>While it does cost some $$$, paying $5 per day/per router virtual spun-up is not all that expensive as a study aid.</p><p>This lets you deploy a network of routers spun up inside virtual machines, and build a whole network with a few configurations here and there, and a few mouse clicks.</p><p>It is setup for a full-on lab training for enterprise customers, but single home-users can use it just fine as well.</p><p>It is pretty cool to have at your control a number of routers spun up at your command, as used Juniper routers aren&#8217;t exactly cheap. Even ancient discontinued models still fetch a pretty decent price on eBay.</p> <img src="http://feeds.feedburner.com/~r/ipHouseBlog/~4/NGr0SJFNALo" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://www.iphouse.com/blog/2012/05/05/juniper-junos-learning-opertunities/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://www.iphouse.com/blog/2012/05/05/juniper-junos-learning-opertunities/</feedburner:origLink></item> </channel> </rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic

Served from: www.iphouse.com @ 2013-06-13 15:45:54 -->
