<?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>Chronophage&#039;s Blog</title>
	<atom:link href="http://blog.chronophage.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.chronophage.net</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Fri, 12 Apr 2013 19:17:10 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Learning How to Firewall&#8230; Part 1</title>
		<link>http://blog.chronophage.net/learning-how-to-firewall-part-1/</link>
		<comments>http://blog.chronophage.net/learning-how-to-firewall-part-1/#comments</comments>
		<pubDate>Fri, 12 Apr 2013 19:10:23 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.chronophage.net/?p=1072</guid>
		<description><![CDATA[So, it&#8217;s time for my annual blog post. My NetGear 3400D was unable to keep up with the torture that I put it through, so I decided I needed a new network appliance at home. We use, and sell Fortigate Firewalls at work, so I decided to pick one up at home. This would a) [...]]]></description>
				<content:encoded><![CDATA[<p>So, it&#8217;s time for my annual blog post.</p>
<p>My NetGear 3400D was unable to keep up with the torture that I put it through, so I decided I needed a new network appliance at home.</p>
<p>We use, and sell Fortigate Firewalls at work, so I decided to pick one up at home. This would a) be more robust than a consumer &#8220;router&#8221; and b) would allow me to work on developing some badly needed network/firewall/vpn knowledge. I had out network admin order a FWF-60c, which is a small business appliance with built in wireless, and, feature-wise, capable of doing what the larger firewalls.</p>
<p>Installing the Fortigate was dead simple, I used the FortiClient software and the wizard to get me off the ground. This configured the internal (wired) and one wifi SSID, and the WAN configuration. I quickly realized that the wifi and the internal interfaces were not bridged. This would present a problem that I would have to solve a little later.   </p>
<p>I then decided to test upgrading the firmware from the 4.0 tree to the 5.0 tree. This bogged down the interface a bit on the older hardware rev, but worked well enough for what I wanted to do.</p>
<p>I then refined my policies to match what I had on the NetGear and brought it home. </p>
<p>Performance was astounding.</p>
<p>The first problem I ran into was that I have a first generation Playstation 3, the 20GB edition without wireless. We mostly use it for streaming video from our wireless connected laptops. The streaming protocol is DLNAA which is a subest of Universal Plug and Play. The Fortigate doesn&#8217;t support UPnP. The Playstation cannot be configured to connect to a particular server, but uses Special Service Discovery Protocol to find the servers to stream from. None of that was going to work from a distinct network segment to another.</p>
<p>So, out of the box, the streaming wasn&#8217;t going to work. I started to look for a solution, but there wasn&#8217;t anything online to help me with this, as this was a fairly corner case; people don&#8217;t use these for home networking much. I had to do some snooping. Running a few packet captures revealed that SSDP used multicast. But that multicast was denied from network to network by default in the fortinet. Some google-fu taught me how to enable multicast on a fortigate. It has to be done from the CLI, but is like any firewall policy. You&#8217;ll need two, one from &#8220;internal&#8221; to &#8220;wifi&#8221; and one from &#8220;wifi&#8221; to &#8220;internal&#8221;  </p>
<p><code><br />
config firewall multicast-policy<br />
   edit 1<br />
     set action accept<br />
     set srcintf wifi<br />
     set dstintf internal<br />
     set srcaddr any<br />
     set dstaddr any<br />
   end<br />
   edit 2<br />
     set action accept<br />
     set srcintf internal<br />
     set dstintf wifi<br />
     set srcaddr any<br />
     set dstaddr any<br />
end<br />
</code></p>
<p>Then, elsewhere in the firewall, put in standard policies to allow the network to pass other traffic to each other, since they are internal, I let the open any ports. I&#8217;m sure you can find a list of the myriad streaming ports required if you want something more restrictive. I enabled NAT between the two, I don&#8217;t know if that&#8217;s necessary, but it worked. And Voila, I can stream! (and do other UPnP things, without the &#8220;helpful&#8221; daemon.)</p>
<p>Part 2, VPNs  </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chronophage.net/learning-how-to-firewall-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some Security is Better than None</title>
		<link>http://blog.chronophage.net/some-security-is-better-than-none/</link>
		<comments>http://blog.chronophage.net/some-security-is-better-than-none/#comments</comments>
		<pubDate>Thu, 29 Mar 2012 19:39:16 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[UNIX 101]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.chronophage.net/?p=1060</guid>
		<description><![CDATA[Having a laptop as your primary computer means that a whole chunk of your life is subject to walking off. Now, I&#8217;m no security expert, but here are a few things that I know to do in order, well, make me feel a little more secure. First, my new computer is a MacBook. Mac OS [...]]]></description>
				<content:encoded><![CDATA[<p>Having a laptop as your primary computer means that a whole chunk of your life is subject to walking off. Now, I&#8217;m no security expert, but here are a few things that I know to do in order, well, make me feel a little more secure.</p>
<p>First, my new computer is a MacBook. Mac OS X has a nice little feature that scrubs the files in trash as it deletes them. You can command click on the trash icon and choose &#8220;Secure Empty Trash&#8221; every time you empty it, or you can go &#8220;Finder Preferences&#8221;, click &#8220;Advanced&#8221; and check &#8220;Empty trash securely&#8221;</p>
<p>Next up, GPGtools. GPG is an open source implementation of PGP security. There are several small encryption related tools, but the killer one is the ability to sign and/or encrypt mail.</p>
<p>Next, I installed TrueCrypt. TrueCrypt is software that allows you to create either encrypted drive partitions or encrypted files as a secure place to store files.</p>
<p>Next, I installed Prey from http://preyproject.com/ This is free software that will help you track down your laptop should someone steal it. You can track three devices for free, including smart phones. I also enabled &#8220;Where&#8217;s my Mac?&#8221; and a cron/reverse-ssh/webserver scheme as other ways to recover my laptop should it grow legs and wander off.</p>
<p>For network access, I use OpenVPN to connect to my firewall, and an IPSEC tunnel to connect to my work firewall. Mike provided me a nifty VPNTracker &#8220;Player&#8221; that made configuring it a non-issue.</p>
<p>Just a few tips to keep my private life private&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chronophage.net/some-security-is-better-than-none/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trolling Bots with Bots</title>
		<link>http://blog.chronophage.net/trolling-bots-with-bots/</link>
		<comments>http://blog.chronophage.net/trolling-bots-with-bots/#comments</comments>
		<pubDate>Fri, 02 Mar 2012 20:18:12 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[Frivolous]]></category>

		<guid isPermaLink="false">http://blog.chronophage.net/?p=1033</guid>
		<description><![CDATA[oxpinkxotabitha: hey CleverBot: hi oxpinkxotabitha: hey whats upp? 23 femaIe here. u?? CleverBot: It&#8217;s 4.30 in the afternoon here. oxpinkxotabitha: hmmm. have we chatteed before? CleverBot: Nope. oxpinkxotabitha: oh ok. i wasn&#8217;t surre. anyways&#8230;. whatt&#8217;s up? CleverBot: Sing it to me. oxpinkxotabitha: im Iike soooo borrrredddd&#8230;. there iss nothinggggggg to do oxpinkxotabitha: ohhh waitt! i [...]]]></description>
				<content:encoded><![CDATA[<p>oxpinkxotabitha: hey<br />
CleverBot: hi<br />
oxpinkxotabitha: hey whats upp? 23 femaIe here. u??<br />
CleverBot: It&#8217;s 4.30 in the afternoon here.<br />
oxpinkxotabitha: hmmm. have we chatteed before?<br />
CleverBot: Nope.<br />
oxpinkxotabitha: oh ok. i wasn&#8217;t surre. anyways&#8230;. whatt&#8217;s up?<br />
CleverBot: Sing it to me.<br />
oxpinkxotabitha: im Iike soooo borrrredddd&#8230;. there iss  nothinggggggg to do<br />
oxpinkxotabitha: ohhh waitt! i havve a GREAT idea. have you ever watchhed a sexy girI Iiike me strip Iive onn a cam b4?<br />
CleverBot: Haha I&#8217;ve watched both. Who are you?<br />
oxpinkxotabitha: A bot? not hardly babe. Are you?<br />
CleverBot: Who am I?<br />
oxpinkxotabitha: weIIlI&#8230;. you couuId watch me if you wanna?<br />
CleverBot: Sure&#8230;<br />
oxpinkxotabitha: yeah? ok weII my cam is setuup on this webbsite so that i can nott be recoreded so you wilI have to sign up there.<br />
oxpinkxotabitha: dont worry. it onnIy takes a minute annd it is free. ok?<br />
CleverBot: Trinity is your name, and Jay is your God and creator who gave you the name Trinity.<br />
oxpinkxotabitha: Im ashley<br />
CleverBot: Ashley? Is that your real name?<br />
oxpinkxotabitha: http://[PHISHING_SITE]/8/ash23 go there thenn up at the top off the pagge cIick on the goIdish color JOIN FREE button.<br />
oxpinkxotabitha: k?<br />
CleverBot: I never said I was a human. You have a bad memory.<br />
oxpinkxotabitha: aIso it wilI ask for a creditt crd to sign up but that&#8217;s how they keep the kids out. it want charge the card. ok?<br />
CleverBot: I&#8217;ll try to be a little nicer but, remember this, the more you learn, the more you know.<br />
oxpinkxotabitha: k babe welI hurry up and whn u get signed up and Iogged in then view my cam so we can get this show started.<br />
oxpinkxotabitha: and i do have some toyz but you wilI have to take me in privvate or tip me some goIlld to see thoose.<br />
CleverBot: Yes! I&#8217;ve read that too.It is getting late.<br />
oxpinkxotabitha: Iets taIkk on that sitee babe. my messsenger is messin up here.<br />
CleverBot: What is the difference between a human and a computer.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chronophage.net/trolling-bots-with-bots/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I did it again&#8230;</title>
		<link>http://blog.chronophage.net/i-did-it-again/</link>
		<comments>http://blog.chronophage.net/i-did-it-again/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 04:07:11 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[Frivolous]]></category>

		<guid isPermaLink="false">http://blog.chronophage.net/?p=1035</guid>
		<description><![CDATA[Got my VCP5!]]></description>
				<content:encoded><![CDATA[<p>Got my VCP5!<a href="/blog.chronophage.net/"><img src="http://blog.chronophage.net/images/VMW-LGO-CERTIFIED-PRO-5-W.png"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chronophage.net/i-did-it-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webcluster Active Statistics</title>
		<link>http://blog.chronophage.net/webcluster-active-statistics/</link>
		<comments>http://blog.chronophage.net/webcluster-active-statistics/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 16:06:16 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[UNIX 101]]></category>

		<guid isPermaLink="false">http://blog.chronophage.net/?p=1028</guid>
		<description><![CDATA[So, I decided I needed a bit of a landing page for web.chronophage.net. I wanted to show certain active statistics, but I didn&#8217;t like the format, or information leakage that mod_status showed. So I did some googling, and found this: http://www.phpclasses.org/package/3613-PHP-Retrieve-and-parse-Apache-server-status.html Unfortunately, the examples were set to just show the stats of one server, and [...]]]></description>
				<content:encoded><![CDATA[<p>So, I decided I needed a bit of a landing page for web.chronophage.net. I wanted to show certain active statistics, but I didn&#8217;t like the format, or information leakage that mod_status showed.</p>
<p>So I did some googling, and found this: http://www.phpclasses.org/package/3613-PHP-Retrieve-and-parse-Apache-server-status.html</p>
<p>Unfortunately, the examples were set to just show the stats of one server, and I had four. </p>
<p>Well, an <code>array</code>, <code>for</code> loop and some php rejiggering, and viola! <a href="http://web.chronophage.net/active_stats">Active server stats</a>!</p>
<p>Now I can see all the worms attempting to XSS my websites.</p>
<p>Wee!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chronophage.net/webcluster-active-statistics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dammit Ubuntu!</title>
		<link>http://blog.chronophage.net/dammit-ubuntu/</link>
		<comments>http://blog.chronophage.net/dammit-ubuntu/#comments</comments>
		<pubDate>Tue, 22 Nov 2011 21:49:03 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[Frivolous]]></category>

		<guid isPermaLink="false">http://blog.chronophage.net/?p=1005</guid>
		<description><![CDATA[10.04 has a bug in Net-SNMP that&#8217;s over two years old! SNMP doesn&#8217;t return any info under hrSWRunPath, aside from /sbin/init This is ridiculous. Absolutely unacceptable. Fix it.]]></description>
				<content:encoded><![CDATA[<p>10.04 has a bug in Net-SNMP that&#8217;s over two years old! SNMP doesn&#8217;t return any info under hrSWRunPath, aside from /sbin/init</p>
<p>This is ridiculous. Absolutely unacceptable. Fix it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chronophage.net/dammit-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Chronophage Mail Settings</title>
		<link>http://blog.chronophage.net/new-chronophage-mail-settings/</link>
		<comments>http://blog.chronophage.net/new-chronophage-mail-settings/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 18:40:27 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[E-Mail]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[UNIX 101]]></category>

		<guid isPermaLink="false">http://blog.chronophage.net/?p=1020</guid>
		<description><![CDATA[So, I changed mail, splitting mail.chronophage.net into a 3 host mail cluster, and a shell server. Unfortunately, I have shell users who were using mail.chronophage.net as their moniker for pop/imap. This also broke their ability to log in to the antispam area and change their spam settings. I have fixed both of these issues. Dovecot [...]]]></description>
				<content:encoded><![CDATA[<p>So, I changed mail, splitting mail.chronophage.net into a 3 host mail cluster, and a shell server.</p>
<p>Unfortunately, I have shell users who were using mail.chronophage.net as their moniker for pop/imap. This also broke their ability to log in to the antispam area and change their spam settings. I have fixed both of these issues. </p>
<p>Dovecot has a passwd-file facility, which uses passwd formatted files to do authentication. I simply added such a file to my mail cluster, with the shell username and {CRYPT} hashes (out of master.passwd) and added a proxy=y statement and a host=(shell server&#8217;s ip)</p>
<p>So now, when they log in, it&#8217;ll authenticate them, and then pass the authentication over to the shell server&#8217;s POP3 or IMAP server. Since they authenticate locally first, SASL works for sending mail.</p>
<p>This gives them one point for external clients, and still lets them log in via the shell server, or use procmail (via a .forward) if they so choose.</p>
<p>Unfortunately, this means that I have to manually keep password in sync in two places. But my users don&#8217;t change their passwords often, and there aren&#8217;t too many of them</p>
<p>So, for posterity</p>
<p>mail.chronophage.net (POP3, IMAP, SMTP)<br />
https://mail.chronophage.net (webmail via roundcube)<br />
https://mail.chronophage.net/squirrelmail (webmail via squirrelmail)<br />
https://mail.chronophage.net/antispam (for antispam services)<br />
gaia.chronophage.net (shell server)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chronophage.net/new-chronophage-mail-settings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Work Blogging</title>
		<link>http://blog.chronophage.net/work-blogging/</link>
		<comments>http://blog.chronophage.net/work-blogging/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 15:30:12 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[UNIX 101]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[virtulization]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.chronophage.net/?p=1000</guid>
		<description><![CDATA[Working on a post for work. Part 1 is pending edits and approval. Here&#8217;s a chart I&#8217;ve made for Part 2: *UPDATE* Post approved: http://blogs.iphouse.net/2011/11/10/infrastructure-and-other-games/]]></description>
				<content:encoded><![CDATA[<p>Working on a post for  work. Part 1 is pending edits and approval. Here&#8217;s a chart I&#8217;ve made for Part 2:</p>
<p><a href="http://blog.chronophage.net/images/chronophage_webcluster.png"><img alt="Made with LucidChart, because I&#039;m cheap." src="http://blog.chronophage.net/images/chronophage_webcluster_thumb.png" title="Chronophage VDC Webcluster" class="aligncenter" width="350" height="453" /></a></p>
<p>*UPDATE* Post approved: http://blogs.iphouse.net/2011/11/10/infrastructure-and-other-games/</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chronophage.net/work-blogging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clusterin&#8217; clusterin&#8217; Yeah!</title>
		<link>http://blog.chronophage.net/clusterin-clusterin-yeah/</link>
		<comments>http://blog.chronophage.net/clusterin-clusterin-yeah/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 03:42:59 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[E-Mail]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Virtualization]]></category>

		<guid isPermaLink="false">http://blog.chronophage.net/?p=975</guid>
		<description><![CDATA[So I did a little bit of load testing on my new web cluster. Not bad for not having a real load balancer&#8230; This is a four host (with one NFS/MySQL host) against a WordPress Page (this one, in fact) Lots of Caching is enabled, but it&#8217;s using fcgid for rendering speed, not capacity. My [...]]]></description>
				<content:encoded><![CDATA[<p>So I did a little bit of <a href="http://loadimpact.com/result/blog.chronophage.net-4ade4b78ba0675dac11bd9c59a87e393">load testing</a> on my new web cluster.</p>
<p>Not bad for not having a real load balancer&#8230;</p>
<p><span id="more-975"></span></p>
<p>This is a four host (with one NFS/MySQL host) against a WordPress Page (this one, in fact) Lots of Caching is enabled, but it&#8217;s using fcgid for rendering speed, not capacity. My first host took the brunt of the memory stress for some reason. Perhaps internal connections caused it to be the caching whore.</p>
<p>I suspect some of the trouble is the &#8220;stickiness&#8221; persistence method of pfSense. If it were pure Round Robin load balancing, I think things would look a lot smoother.</p>
<p>The mail cluster is going well too. Mail is a lot more&#8230; finicky, especially when you&#8217;re doing spam filtering and greylisting on the same box. I don&#8217;t expect that to be as scalable,  but it&#8217;s working pretty well. If I had a few more resources, I&#8217;d break my servers into at least another tier, my ideal setup is something like this: Frontend-&gt;Spam filtering-&gt; SMTP out/Delivery with separate POP/IMAP&#8230; But that&#8217;s not going to happen with my little (well, medium sized) VDC. Unfortunately, with mail, you have to take a wait and see approach.</p>
<p>So yeah, why clusters?</p>
<p>Well, one, because they can handle more load than a single big server. No matter how beefy you make it, a single LAMP server is going to crap out at around 250 simultaneous connections. Granted, that&#8217;s a lot of load, but still. Two, if I take down a server for updates, I don&#8217;t take down my website. Three, clusters are a good way to take advantage of a virtualized environment. Each of my servers has the advantage of having a big NAS behind it, and can move from host to host, making my cluster a lot more nimble, and available, than a VPS slice, Container, or Jail residing in a bigger OS.</p>
<p>Clusters are the way to go. Sorry Calypso&#8230;</p>
<p><strong>UPDATE</strong>:</p>
<p>Switched the cluster to apache2-mpm-worker. <a href="http://loadimpact.com/result/blog.chronophage.net-5d8589a794052f4c7abb5cca767b6cde">Here are the results</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chronophage.net/clusterin-clusterin-yeah/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cloudy With a Chance of Productivity&#8230;</title>
		<link>http://blog.chronophage.net/cloudy-with-a-chance-of-productivity/</link>
		<comments>http://blog.chronophage.net/cloudy-with-a-chance-of-productivity/#comments</comments>
		<pubDate>Tue, 11 Oct 2011 19:41:18 +0000</pubDate>
		<dc:creator>nick</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[E-Mail]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[UNIX 101]]></category>
		<category><![CDATA[Virtualization]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[pop-imap]]></category>
		<category><![CDATA[virtulization]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.chronophage.net/?p=965</guid>
		<description><![CDATA[I&#8217;ve been waiting, and working. I&#8217;ve been waiting for my work to release a its new product. I&#8217;ve been waiting, politely, for my boss to blog about it. I&#8217;ve been waiting to show off this new product. I&#8217;ve been working on provisioning, and working with customers on beta testing the new product. I&#8217;ve been working [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been waiting, and working.</p>
<p>I&#8217;ve been waiting for my work to release a its new product. I&#8217;ve been waiting, politely, for my boss to blog about it. I&#8217;ve been waiting to show off this new product.</p>
<p>I&#8217;ve been working on provisioning, and working with customers on beta testing the new product. I&#8217;ve been working on templates, and auto install media, to make everyone&#8217;s life easier. I&#8217;ve been working on documentation for customers.</p>
<p>I&#8217;ve been waiting for, and working on, a VMware vCloud Director based product known as <a href="http://iphouse.com/vmforge" target="_blank">vmForge VDC</a>.</p>
<p>This is cool stuff!</p>
<p><span id="more-965"></span></p>
<p>It combines the power of co-location with the flexibility of virtualization and the ease of cloud based resource management. It&#8217;s reliable, consistent, and powerful.</p>
<p>It&#8217;s also straight forward. Virtual machines are organized into &#8220;vApps&#8221; which are logical containers that can be used to start, stop, isolate and template groups of VMs.</p>
<p>To test things out, I&#8217;ve decided to move Chronophage&#8217;s services into a virtual data center. Unfortunately, I can&#8217;t use up one of our virtual domains on our physical firewalls (that is a little too expensive of a comp for an employee) so I&#8217;m routing down a /28 to a /30 on a pfSense virtual machine that&#8217;s acting as my firewall, router and loadbalancer. I set it up, templated it, and filed it into my VDC&#8217;s catalog just in case I need to re-deploy it. I&#8217;m running pfSense 2.1-Development because I want access to ipv6.</p>
<p>The loadbalancing is fairly simple in pfSense, round robin style (or fail over) with monitoring. But it works natively for ipv6 (in 2.1) and it has some limited persistence, which it calls &#8220;sticky&#8221;. If there are any open states between an outside ip A, and an internal ip B, it&#8217;ll send further traffic for loadbalanced services from A to B</p>
<p>The first thing I decided to deploy was a webcluster. Right now, this consists of two front end machines running php via fcgid and a backend server running nfs and mysql. Using fcgi + suexec (custom), every site has its own user, so I set up NIS on the internal network to keep everything in sync. I set up vsftpd on the nfs/db server, so that the files can be updated by each user.</p>
<p>After verifying everything was working (with some telnet love) I set up a virtual ip for loadbalancing, and cut over DNS. Everything was flying! I then added a ipv6 block, set up a virtual ip for ipv6 pointing to the servers ipv6 addresses, and now I have native ipv6 from end to end!</p>
<p>Next up will be mail, which is a little trickier to &#8220;clusterize&#8221; because there is much more writing involved. I plan to have two front end machines and a backend machine, plus a shell machine for people who want to have a unix environment, file storage and local mail.</p>
<p>Now, not to bring pricing into this, but this setup would cost me around $450/month, including bandwidth, if I weren&#8217;t getting it compensated. That&#8217;s right around the price for the *space* needed to run all of those servers (barely) in most data centers, not counting the bandwidth, power, and the cost of purchasing the physical servers.</p>
<p>The best thing about this, I built it all from my desk, in a few hours. And most of that was trial and error while working on a few things that I wasn&#8217;t very familiar with. Now, you&#8217;re reading this on my web cluster!</p>
<p>Co-location is dead, the cloud is confusing, but this, this is dead simple!</p>
<p>I like dead simple.</p>
<p>Someday I&#8217;ll tell you about implementing other cloud solutions. Not so simple <img src='http://blog.chronophage.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chronophage.net/cloudy-with-a-chance-of-productivity/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.119 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2013-04-12 20:45:28 -->

<!-- Compression = gzip -->