Monthly Update (February 2015)

In the monthly update, I like to cover what I've been doing throughout the past month in regards to technology, computers and more.

You will also find what I'm currently interested in for the following weeks. If something doesn’t have a link, I may cover it myself in the future because I couldn't find much about it online.

LIFX 2.0

The upgrade to my lightbulb brings IFTTT (If this than that) integration. I previously used IFTTT to notify me when registration pages opened on private sites and it worked reasonably well.

Some recipes I would recommend:

CloudFlare Dynamic DNS

I was previously using the HTTP API but now CloudFlare has deprecated it in favour of their JSON API. There was one big change which required obtaining the domain's record ID instead of just listing its name and which type to change.

https://www.cloudflare.com/api_json.html?
a=rec_edit
&
tkn=aaaabbbbccc
&
id=123123123
&
email=email@gmail.com
&
z=calvin.me
&
type=A
&
ttl=1
&
name=calvin.me
&
content=%IP%

A few helpful sites

Putting that I350-T4 too good use!

First I added 3 physical adapters to the vSwitch on ESXi following their official video. Everything went well so I enabled Port Trunking (EtherChannel  if you use Cisco terminology) on my D-Link switch but then it completely stopped working :disappointed: After a short read, I found this question on serverfault which led to believe that ESXi only Load Balances but default and doesn't do any LACP.

Enabling Load Balancing on ESXi by default only acts as a failover using the Route Based on Originating Port ID option. Changing it to Route Based on IP Hash balances load across all of the network adapters in the team and make use of every single adapter in the process! This VMware KB really helped explaining that and also this page from Pearson Certification (but don't even recommend it...).

Capture

Finally I left the final port into my WAN connection in case anything ever goes wrong with that and because Port Trunking only does a maximum of 4 ports anyway :P

For whatever reason, no one recommends this wherever I search with the main reason being 'it's too complicated' or 'it adds an extra layer of complexity'. It's not that complicated firstly and if it does work then there shouldn't be anything wrong with it afterwards unless you mess with it?

BitLocker Encryption

I thought it would be time I started encrypting my workstations (Desktop and Laptop). Based on LifeHacker's article many commenters were wary of what NSA backdoors there were to BitLocker and chose VeraCrypt as the number one choice. For my own purposes I wanted simple and easy and opted for BitLocker instead. It was fast and now totally transparent within Windows. The only time I notice it is when I see my C drive has a padlock over it.

Capture

Server Rebuild

I'm starting to rebuild a lot of my VM's to make sure they're all as optimised as possible. At the same time I'm hoping to write into my wiki and document everything about them.

These are some changes I've made to my typical install:

  • Paravirtual SCSI - definitely some disadavantages but paravirtual means it is isnt a virtual device like an E1000
  • Video card specification also lowest as possible.
  • Taking away the CD/DVD drive saves about 10MB of RAM
  • Using Open-VM-Tools instead of the official VMware Tools
  • Disabling LVM
  • Disabling automatic security updates

MediaWiki Infobox

I've taken some time to write document my hosts in MediaWiki. What you start off with in terms of templates is pretty much nothing. I took some time to export some Wikipedia templates into my own and customise the infoboxes to meet my needs. Here's one I'm using a lot to quickly display host information:

Capture

{% raw %}{{Infobox
| bodyclass   = vevent
| bodystyle   = {{{bodystyle|}}}
| title       = {{#if:{{{title|{{{name|}}}}}}|{{{title|{{{name|}}}}}}|<includeonly>{{PAGENAME}}</includeonly>}}
| titleclass  = summary
| labelstyle  = white-space: nowrap;
| image       = {{#invoke:InfoboxImage|InfoboxImage|image={{{logo|}}}|size={{{logo size|{{{logo_size|}}}}}}|sizedefault=64px|alt={{{logo alt|{{{logo_alt|}}}}}}}}
| caption     = {{{logo caption|}}}
| image2      = {{#if:{{{collapsible|}}}|{{hidden begin|title=Screenshot|titlestyle=text-align:center}}}}{{#invoke:InfoboxImage|InfoboxImage|image={{{screenshot|}}}|size={{{screenshot size|{{{screenshot_size|}}}}}}|sizedefault=300px|alt={{{screenshot alt|{{{screenshot_alt|}}}}}}}}
| caption2    = {{{caption|}}}{{#if:{{{collapsible|}}}|{{hidden end}}}}
| header1     = Information
| label3      = Hostname
| data3       = {{{hostname|}}}
| label5      = IP
| data5       = {{{ip|}}}
| label7      = Website
| data7       = {{{website|}}}
| label9      = Working Directory
| data9       = {{{directory|}}}
| header11    = Software
| label13     = Version
| data13      = {{{version|}}}
| label15     = Last Updated
| data15      = {{{dateupdated|}}}
| label17      = OS
| data17       = {{{os|}}}
| label19      = Middleware
| data19       = {{{middleware|}}}
| header21     = Hardware
| label23      = CPU
| data23       = {{{cpu|}}}
| label25      = Memory
| data25       = {{{memory|}}}
| label27      = Network
| data27       = {{{network|}}}
| label29     = Hard drive
| data29      = {{{hdd1|}}}
| label31     = Hard drive2
| data31      = {{{hdd2|}}}
}}{% endraw %}

WordPress' Photon (CDN) runs into issues whenever it access my site. I narrowed the problem down to NGINX redirecting HTTP to HTTPS which causes Photon to not find content for whatever reason. Adding this location block into the HTTP (Listen 80) block allows HTTP connections to be made to images.

location ~ ^/wp-content/(.*).(svg|svgs|jpg|jpeg|gif|png|bmp)$ {
   access_log off;
   log_not_found off;
   expires max;
}

Interested In

  • Really want the VMware and Microsoft certifications but $800 + vSphere 6 and Windows 10 coming out soon I think I'll wait.
  • Switch to DNS Resolver in pfSense from DNS Forwarder
  • Mounting shares on a as-needed basis using Autofs