tag:blogger.com,1999:blog-158025532008-08-28T03:02:56.529+10:00lifestyle of a dying network adminVarious things describing my networking achievementsnaturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comBlogger159125tag:blogger.com,1999:blog-15802553.post-49905235232206044792008-08-13T12:59:00.003+10:002008-08-13T21:07:28.995+10:002008-08-13T21:07:28.995+10:00Weather StationInstalled a Fine Offset Electronics <a href="http://www.foshk.com/en/products/show.asp?id=41">WH1081</a> Weather Station on my roof the other day. Purchased the device from ebay for $85 and $25 delivered.<br /><br />The station consists of the following sensors:<br /><ul><li>Thermo-hydro transmitter</li><li>Wind speed</li><li>Wind direction</li><li>Rain gauge</li></ul><br />The console is a touch screen LCD panel. Apart from the LCD being difficult to read due to being too light (needs a contrast setting) it works reasonably well. The best part about it is that it has a USB connection for plugging into a PC.<br /><br />To go with the USB conneciton the station comes with a software package called 'EasyWeather' which is functional and maintains a log with various graphs showing historical data. I wasn't too fussed on it though since it did things like give false readings and has really bad memory leaks.<br /><br />I tried Cumulus, which is another weather station application that can upload results to a FTP site for Internet access. However it doesn't recognise the WH1081 natively and instead relies upon EasyWeather to gather statistics - not good for the above reasons of instablity and memory leaks.<br /><br />Currently I am using the Linux console version of Weather Display. I like it because its a no fuss application with no frills and supports uploading results to Weather Underground natively. However it doesn't support 64bit at all, even when using IA32 libraries. This made me install 32bit Ubuntu (CLI only) within a VirtualBox - had to use the closed source version for the USB support. This is on my Mythbuntu 8.04 HTPC too, so the weather console sits on top of the TV in the loungeroom which worked out well.<br /><br />You can see my weather data on Weather Underground <a href="http://www.wunderground.com/weatherstation/WXDailyHistory.asp?ID=IQLDNAMB2">here</a>.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_AgzNMBDeTpw/SKLAJ3Nk96I/AAAAAAAAAoE/g3X5mcQso98/s1600-h/wh1081.jpg"><img style="cursor: pointer;" src="http://4.bp.blogspot.com/_AgzNMBDeTpw/SKLAJ3Nk96I/AAAAAAAAAoE/g3X5mcQso98/s320/wh1081.jpg" alt="" id="BLOGGER_PHOTO_ID_5233956992630192034" border="0" /></a>naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-63232555876073067842008-04-05T12:10:00.002+10:002008-04-05T13:12:29.999+10:002008-04-05T13:12:29.999+10:00Network upgradeAnd the upgrades continue.<br /><br />The network here is expanding something chronic so I needed something that could push the vlans harder. It's basically replacing the local Mikrotik/WRAP1-1 Router and Asus GigaX2024 L2 switch with a single Asus GigaX3112 L3 switch. It certainly tidied up the rack by removing two switches and a stack of patch leads.<br /><br />Now I have two Asus 2024 L2 switches to stick in Admissions and the Crocosium. This will give me a gigabit vlan trunk to the locations and allow me to create some more subnets to reduce some of this needless traffic off the main networks. I'm trying to have a L2 managed switch on the end of every fibre link to get some flexibility into the network and get things into this decade...<br /><br />I'm not all that impressed with the Asus network kit so far. It's okay for the price but it's buggy as hell and the 3112 tends to crash due to kernel panics and reboot due to buffer overflows or memory errors. I'm hoping future firmware updates will come and fix things. Not that I had much more luck with Netgear and Linksys stuff. There's a reason why Cisco can charge so much.<br /><br />The campus wireless network is almost completed. Awaiting a cable run from the Machinery shed to the Conference center to install the AP on the roof there. Also need to install the 12th AP at the Tiger Temple to complete the 'ring of coverage' - full wireless coverage of the safari shuttle track and nearby walkways and buildings. Will put off any more expansion until the Hotel is built.naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-715924286621417262008-02-09T15:05:00.000+10:002008-02-09T15:54:06.591+10:002008-02-09T15:54:06.591+10:00Terminating fibresBeen busy terminating a few new fibre runs throughout the Zoo. This particular run goes from the Taj (Crocosium) through to the Dingo Diner and then onto the Snake Shed and Compound. 12 cores to the Diner, 6 cores each to the shed and compound. Single mode glass fibre is used throughout however we may start using Multi-Mode within buildings.<br /><br />Terminating fiber isn't that difficult these days. Basically you just need cutters and strippers, cleaning wicks, guillotine and fusion splicer. We hire the fusion splicer and guillotine and purchase pre-made tails with ST connectors from <a href="http://www.afcgroup.com.au/">AFC</a>. Ends up being around $50 an end instead of the usual $100 an end for a contractor.<br /><br />Pics:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_AgzNMBDeTpw/R604f50xG4I/AAAAAAAAAc4/gkT46HEqau0/s1600-h/fusion_splicer.JPG"><img style="cursor: pointer;" src="http://bp3.blogger.com/_AgzNMBDeTpw/R604f50xG4I/AAAAAAAAAc4/gkT46HEqau0/s320/fusion_splicer.JPG" alt="" id="BLOGGER_PHOTO_ID_5164846468413070210" border="0" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_AgzNMBDeTpw/R604gJ0xG5I/AAAAAAAAAdA/7hpI0k94868/s1600-h/fusion_splicer_top.JPG"><img style="cursor: pointer;" src="http://bp0.blogger.com/_AgzNMBDeTpw/R604gJ0xG5I/AAAAAAAAAdA/7hpI0k94868/s320/fusion_splicer_top.JPG" alt="" id="BLOGGER_PHOTO_ID_5164846472708037522" border="0" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_AgzNMBDeTpw/R604gp0xG6I/AAAAAAAAAdI/3E0PFGi8C4g/s1600-h/fusion_splicer_electrodes.JPG"><img style="cursor: pointer;" src="http://bp2.blogger.com/_AgzNMBDeTpw/R604gp0xG6I/AAAAAAAAAdI/3E0PFGi8C4g/s320/fusion_splicer_electrodes.JPG" alt="" id="BLOGGER_PHOTO_ID_5164846481297972130" border="0" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_AgzNMBDeTpw/R604g50xG7I/AAAAAAAAAdQ/BAITMasZ_Jc/s1600-h/fusion_splicer_prefusion.JPG"><img style="cursor: pointer;" src="http://bp3.blogger.com/_AgzNMBDeTpw/R604g50xG7I/AAAAAAAAAdQ/BAITMasZ_Jc/s320/fusion_splicer_prefusion.JPG" alt="" id="BLOGGER_PHOTO_ID_5164846485592939442" border="0" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_AgzNMBDeTpw/R604hJ0xG8I/AAAAAAAAAdY/ZvHGFpZnQyQ/s1600-h/fusion_splicer_fusion.JPG"><img style="cursor: pointer;" src="http://bp0.blogger.com/_AgzNMBDeTpw/R604hJ0xG8I/AAAAAAAAAdY/ZvHGFpZnQyQ/s320/fusion_splicer_fusion.JPG" alt="" id="BLOGGER_PHOTO_ID_5164846489887906754" border="0" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_AgzNMBDeTpw/R6041Z0xG9I/AAAAAAAAAdg/KjLKYoU3SoM/s1600-h/fusion_splicer_postfusion.JPG"><img style="cursor: pointer;" src="http://bp1.blogger.com/_AgzNMBDeTpw/R6041Z0xG9I/AAAAAAAAAdg/KjLKYoU3SoM/s320/fusion_splicer_postfusion.JPG" alt="" id="BLOGGER_PHOTO_ID_5164846837780257746" border="0" /></a>naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-1147780716227480172008-01-20T09:32:00.000+10:002008-01-20T09:46:15.068+10:002008-01-20T09:46:15.068+10:00An A/V Perspective<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_AgzNMBDeTpw/R5KLtMj4_2I/AAAAAAAAAcU/P6R8oB88GZk/s1600-h/DSC00031.JPG"><img style="cursor: pointer;" src="http://bp0.blogger.com/_AgzNMBDeTpw/R5KLtMj4_2I/AAAAAAAAAcU/P6R8oB88GZk/s320/DSC00031.JPG" alt="" id="BLOGGER_PHOTO_ID_5157338131874774882" border="0" /></a><br /><br />Here's a picture of the A/V crew operating the two remote PTZ cameras and 'house' audio gear during the Veronica's gig at Australia Zoo.<br /><br />The panel between them is the Panasonic Visual Mixing desk. The smaller monitors are the cameras and the screen on the top is what's currently showing on the big screen (a rather large Panasonic LED screen outside).naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-39547479531554843102008-01-14T21:02:00.000+10:002008-01-14T21:33:27.405+10:002008-01-14T21:33:27.405+10:00Asus Eee PC 4G (701)Today I purchased a <a href="http://eeepc.asus.com/global/">Asus Eee PC 4G</a> from the local <a href="http://www.myer.com.au/">Myers</a> department store (Sunshine Plaza).<br /><br />The only colours they had were black and white. I didn't want to be mistaken for jumping on the iWagon so I got the black one. It happens to look identical to my work laptop, a black LG LS70 Express, so I have a matching pair of portables :/<br /><br />So far I've played around with the default OS - <a href="http://www.xandros.com/">Xandros</a> with the K Desktop Environment installed along with a custom Asus application launcher. I have also installed a live version of eeexubuntu onto a USB stick (Myers threw in a 2GB Toshiba USB stick for nothing, valued at $28AUD) and it ran fine in its 'live' mode. I will get a 2/4GB Secure Digital card to install xubuntu onto and then set up a dual boot with Xandros. That way I can use Xubuntu for my work and Xandros to demo it to the uninitiated.<br /><br />I'm not going to go into details about its performance etc - plenty of reviewers out there already demonstrating that and I agree with their findings. I can confirm that the build quality is good and that it will probably handle rough treatment a lot better than other notebooks - or most 'non-ruggidised' portable electronic device for that matter.<br /><br />I'm looking forward to setting this up as a my ultra-portable network tool. Testing wireless will be made a lot easier, also cheaper than those dedicated PDA based wifi test units. I can also do my usual router configuration using a USB serial adapter and its 10/100 network adapter.<br /><br />I will consider the purchase of a long life battery when they become available - they apparently add a lot of extra bulk to the package but it would be worth it for extended trips or major network problems.<br /><br />A Wikipedia article describes the various details of the Eee PC range can be found <a href="http://en.wikipedia.org/wiki/Asus_Eee">here</a>.<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_AgzNMBDeTpw/R4tHycj4_zI/AAAAAAAAAb8/5Z-r0NSh9Uo/s1600-h/R0012811.JPG"><img style="cursor: pointer;" src="http://bp2.blogger.com/_AgzNMBDeTpw/R4tHycj4_zI/AAAAAAAAAb8/5Z-r0NSh9Uo/s320/R0012811.JPG" alt="" id="BLOGGER_PHOTO_ID_5155293130441424690" border="0" /></a><br />Asus Eee PC size compared with Sony Ericsson P1inaturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-24897761009724587752008-01-13T22:40:00.000+10:002008-01-13T22:51:56.747+10:002008-01-13T22:51:56.747+10:00Home wirelessToday I finally set up my little public access wireless network at home. I've had a Mikrotik RB133 with RB52 and Senao radios laying around in an outdoor box for sometime now. Today I fixed up the roof cable run and installed it on my existing mast with Cisco 21dBi solid dish.<br /><br />I used a homebrew 8dBi collinear omni-directional antenna for the public side (Senao 200mW/23dBm) radio - that puts output at around 30dBi in a 360°H/25°V area. I've set up a rudimentary hotspot service on the interface - I will set it up with PayPal etc shortly so the neighbors can gain ad-hoc internet access and not feel guilty for it. Not everyone wants to pay for a permanent connection unbelievable huh.<br /><br />I attached the dish to the RB52 radio which is adjustable - so I'll set that down to give no more than the regulated 36dBi. I'm hoping to establish a Point-to-Point link to a friend in Buderim. Failing that maybe a repeater link via Kiel Mountain which sits in between. Mainly to share links and to muck around with routing etc.<br /><br />I'll go for a cruise around the local area and see how much coverage my little 8dBi is providing - might even be able to pick it up at Kiel Mt with the laptop radio...naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-77228762474151888372008-01-11T21:16:00.000+10:002008-01-11T21:39:56.242+10:002008-01-11T21:39:56.242+10:00Progress<span style="font-weight: bold;">Wireless Network</span><br /><br />How things move slower the lager the enterprise. Might have to start pushing to get things done faster and more efficiently in future.<br /><br />I installed the last two Access Points in from the first batch of six we received all those months ago. I guess a fairly large hold up was the flaky firmware of the <a href="http://www.symbol.com/">Symbol</a> WS5100 I mentioned earlier. It's going very nicely now and I can't wait to start tweaking it and including it into a radius/ldap domain.<br /><br />One AP was installed in the main warehouse and another under the Taj for coverage of the main hallways. Both work quite well using the supplied 6dBi collinear antennas.<br /><br />Today a 9dBi collinear from the <a href="http://www.rfshop.com.au/">RFShop</a> arrived with two made up cables to suit the AP300. Another three access points will be ordered shortly to provide coverage of the Foodcourt - using the new 9dBi, open area between the warehouse and Taj - using existing 10dBi yagi and indoors are at the Croc's Lair shop - AP with integrated antennas. That will be the coverage are for now with the possibility of a few more sites later on.<br /><br /><span style="font-weight: bold;">Telstra IP WAN</span><br /><br />Almost 6mths in the making and the completion date is within sight. The last week I have sorted out the issue Mooloolaba Travel were having with running their VPN to Galileo running over the new Telstra WAN. It simply wasn't connecting. Discovered that the 1-to-1 NAT addressing that was also used for IPSec and PPTP traffic did not like traffic coming from the direction of Mooloolaba. So they changed it to a Many-to-1 NAT and things are looking good apart from frequent dropouts of the IPSec VPN which I believe are due to the 'keepalives' being blocked - so I turned them off and I will see what happens.<br /><br />WhaleOne still hasn't been changed over. I had a 3hr crack at it today with all the information I had scrounged from Telstra and the 'net in general. Turns out that their NextG account hasn't yet been set up for use with the IP WAN. What happens is that the APN Name changes from 'telstra.internet' to 'telstra.corp' and this dictates the gateway used for the connection. Before this can occur the SIM card/Account needs to be set up so that the calls are allowed through or something along those lines anyway - the request goes to the Telstra Mobile team. Hopefully it will be fixed up by Tuesday next week.<br /><br /><span style="font-weight: bold;">Myth Frontend</span><br /><br />Ages ago I talked about building a mythbox out of a Epia M10000. Well last weekend I finally did it. Epia support is quite good with linux these days, it was easy to set up Mythbuntu on the box and have it connect to the existing Soltek Qbic 3401 Mythbox. It runs okay apart from stutter after a channel change for about 5 minutes - I think more RAM will fix that.<br /><br />I might upgrade my PC and use the old bits to build a better backend someday.naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-40858872320621049822007-12-01T13:20:00.000+10:002007-12-01T13:56:58.558+10:002007-12-01T13:56:58.558+10:00Shoveling DataBecause the 'zoo keeps many operations such as Graphic Design and Marketing in-house it generates a considerable amount of data on a day-to-day basis. It's a challenge to keep all this centralised and backed up. What I have done to achieve ample storage with basic redundancy is use a 'front end' NAS (Network Attached Storage) combined with a 'back end' NAS located elsewhere from the front end serving as the primary backup/archive.<br /><br />The users access the front end NAS directly and generally work from its shares. This will change in future as I intend to access it as a iSCSI mount on a server. This NAS is a standard box housing JBOD and runs <a href="http://www.openfiler.com/">OpenFiler</a> - you have probably read about it here earlier. The performance of this NAS is fairly ordinary but since its the network that presents the bottleneck its not something to be concerned about at this stage.<br /><br />The back end NAS is a purpose built NAS from a company called <a href="http://www.thecus.com/">Thecus</a>, the <a href="http://www.thecus.com/products_over.php?cid=11&amp;pid=8">N5200</a>. It houses up to 5 SATA disks and supports RAIDs 0 thru to 10. I've set up this particular one with 5 x 750GB disks with RAID5. This provides enough space to backup the front end NAS at maximum capacity - about 2.5TB total.<br /><br />I'm currently backing up the front end NAS via rsync to the Thecus. I had to find the rsync 'module' to install on the Thecus first as it doesn't support it by default however it wasn't a difficult process.<br /><br />I will consider a Thecus <a href="http://www.thecus.com/products_over.php?cid=12&amp;pid=26">1U4500</a> NAS to go with a future Novell OES2 server - mounting it as an iSCSI volume for localised e-mail/data archiving. This will probably use another 5200 for backups.<br /><br />Overall this provides us with a sizable storage pool at a very reasonable cost. I would like to implement a proper SAN however our needs aren't that great at this stage and a single form of redundancy appears to be acceptable to management. I'll always plan for the upgrade though.naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-88779041460240485302007-11-29T21:33:00.000+10:002007-11-29T21:54:49.833+10:002007-11-29T21:54:49.833+10:00Changed Service Providers once againChanged from <a href="http://www.internode.on.net/">Internode</a> to <a href="http://www.comcen.com.au/">Comcen</a> - mainly so I can access the Australian PIPE peering network unmetered again. There's simply too much useful content to be had. I'm on the Comcen 10+10GB 8000/386kbit/sec plan now.<br /><br />Also because I was using Internode's NodePhone service I changed VoIP providers too. So I went with <a href="http://www.mynetfone.com.au/">MyNetFone</a>. No problems thus far - quality is fine and the price is good.<br /><br />The transition from Internode to the latter services took no more than two days. I cancelled the accounts on Monday noon and was changed over and functioning by Thursday noon.naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-23957836094137164332007-11-29T18:12:00.000+10:002007-11-29T18:13:47.288+10:002007-11-29T18:13:47.288+10:00OpenDNS Media ReleaseThought I'd link this here:<br /><br /><a href="http://www.prweb.com/releases/2007/11/prweb571973.htm">Australia Zoo Conserves Bandwidth, Enjoys 100 Percent Network Uptime with OpenDNS</a>naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-89419129575107417352007-11-25T19:27:00.000+10:002007-11-26T18:49:53.442+10:002007-11-26T18:49:53.442+10:00A new era of IT focused policyFirstly I am excited at Australia's change of government, especially with fellow Queenslanders Kevin Rudd as PM and Wayne Swan as Treasurer. I'm sure they will do an excellent job of managing the country and will prove that QLD can produce what it takes. I found that <a href="http://www.abc.net.au/news/stories/2007/11/25/2100432.htm">this article</a> gave words to my thoughts.<br /><br />Now one of the most interesting topics of this election that I found was that Information Technology became a key policy area for all parties. Sure in the last few elections it was there but it was always one of those background things that parties flaunted so they could look 'modern.' However this time IT was front and center.<br /><br />Labor brings with it the proposal to roll out a national broadband network that will provide Fibre to the Neighborhood (<a href="http://en.wikipedia.org/wiki/FTTN">FTTN</a>) to 98% of the population, and provide broadband services to the remaining 2% via wireless and other alternatives. More information about the policy is available on the ALP website <a href="http://www.alp.org.au/media/0307/mscomfinloo210.php">here</a>.<br /><br />As part of my usual blogging I will be covering the progression of this new broadband network. To provide an industry perspective by offering my opinions.<br /><br />For starters I believe the catalyst for this initiative is the selling of Telstra without splitting it up. In my opinion it was wrong to sell Telstra as a single entity. The government should have split Telstra's retail and wholesale operations first and kept the infrastructure at the very least. This would have provided exactly what this new ALP policy is going to provide - a state owned communications infrastructure that is accessible to anyone for cost price plus future investments.<br /><br />If you want a example of a similar exercise you need not look further than Queensland where the state government have maintained ownership of the electricity network and generators while privatising the retail operations.<br /><br />So what's done is done and the government won't get Telstra back. So this leaves the task of producing an alternative communications infrastructure in the hope of removing Telstra's monopoly particularly in rural areas where the private sector can not easily move into.<br /><br />Going into detail; a key term used by the ALP in this policy is "in partnership with the private sector" as this is crucial for the success of this project. There are many organisations that are interested in the removal of Telstra's monopoly - reducing wholesale rates for network access suits anyone who is trying to compete in a tight market. With this support the ALP gain the additional funds necessary to build out the network nation wide - it has been said that it could cost an extra $20 billion on top of the initial $4.7 billion (I'll find the source of that claim...).<br /><br />However I believe the policy is lacking detail with regard to Australia's international connections. Our links to other continents are already reaching their peak capacity and to increase the available bandwidth throughout the country will only make matters worse. These links are certainly not cheap and to simply rely on supply and demand to upgrade them will shift the monopoly from the access and distribution back on to the core supply. Its akin to building a million homes and running power to them all and not bother building more power plants until the demand, thus price, is through the roof.<br /><br />Interesting times ahead.<br /><br /><span style="font-weight: bold;">Links:</span><br /><a href="http://www.whirlpool.net.au/article.cfm/1762">Broadband: an election issue</a> (Whirlpool, 23rd November 2007)<br /><a href="http://www.alp.org.au/media/0307/mscomfinloo210.php">Federal Labor Broadband Policy</a> (ALP Website, 21st March 2007)<br /><br /><div style="text-align: left;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_AgzNMBDeTpw/R0lMniTQtaI/AAAAAAAAAWw/zt0ItmSgNv8/s1600-h/me.jpg"><img style="cursor: pointer;" src="http://bp1.blogger.com/_AgzNMBDeTpw/R0lMniTQtaI/AAAAAAAAAWw/zt0ItmSgNv8/s320/me.jpg" alt="" id="BLOGGER_PHOTO_ID_5136721092098962850" border="0" /></a><br /><span style="font-style: italic;">Posting profile pic here so I can link it :/</span><br /></div>naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-6854657396404151242007-11-24T09:30:00.000+10:002007-11-24T10:15:57.150+10:002007-11-24T10:15:57.150+10:00Now we're getting somewhereIt has been a hectic few weeks for me. Major projects for the period include the preparations for Steve Irwin Day, the roll out of the new Telstra Next IP managed WAN and the slowly but surely deployment of a campus wireless network.<br /><br />I'm also feeding in various nifty services into the Zoo network - such as a <a href="http://www.igniterealtime.org/projects/openfire/index.jsp">OpenFire</a> Jabber server, <a href="http://www.twiki.org/">Twiki</a> wiki, <a href="http://www.oneorzero.com/">One or Zero</a> Helpdesk and a few other things. Although I'm going to hold off on their deployment to users until I have a LDAP directory of some sort in place for all these things to authenticate against.<br /><br />I updated the firmware on my Sony Ericsson P1i too - the difference in performance and stability is night and day - and it was pretty good to begin with! The Opera browser and unified messaging apps have been improved quite a bit. I'm actually encoding TopGear episodes to 3gp format on my MythTV box and watching them during my lunch breaks on it - I didn't think I'd be using it like that. nb: I could just watch the xvid/dvix encoded eps but they're a tad large...<br /><br /><span style="font-weight: bold;">Steve Irwin Day</span><br />Steve Irwin Day went well as far as the web servers went - they handled a doubling of traffic without a hitch. I will be sad to see the replication servers go, they've done their job well and I'm kinda proud of them. I'm starting an upgrade of massive proportions of the two main web servers this week - hopefully once I'm done they'll be more than capable of handling the load without the need for replicas. More on that later.<br /><br /><span style="font-weight: bold;">Telstra NextIP</span><br />I've cut everything over to the zoo's shiny new Telstra Next IP WAN (to use their marketing spin). Speeds are good, response times are awesome. I'm also using Telstra's Proxy Caches too as they're very snappy and are used by many - plus there's a discount on data used through them apparently.<br /><br />As part of the WAN, each SHDSL connected site has a managed Cisco 1801 router and SHDSL TA, some yumcha device. The NextG connection is as per usual, but when it is connected it has a L2TP into the WAN and thus has access to all the same routes as the other sites. I've set up Mikrotik routers at each site including the NextG connection - the Zoo has 2 x Yawarra WRAP1-2s in a rack enclosure still, Mooloolaba has a Yawarra WRAP1-1 with wireless and WhaleOne has a Mikrotik RB133 in an indoor enclosure.<br /><br /><span style="font-weight: bold;">Campus Wireless</span><br />Not too much progress - the Admissions indoors area now as its own AP and the Taj (crocosium buidling) offices have coverage too. I'm waiting for a sparky to run new cabling to key points so I can locate a few more APs in good coverage areas. Also waiting on a $1k order for various bits and pieces from the <a href="http://www.rfshop.com.au/">RFShop</a> so I can start making up tails and prepare the splitters for installation. Also getting some antennas from them that are cheap and appear to have excellent performance - looking forward to trying them out.naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-39047135214380681292007-11-06T07:37:00.000+10:002007-11-06T07:42:26.836+10:002007-11-06T07:42:26.836+10:00Symbol/Motorola WS5100If you use these Wireless switches and are still running pre-3.0 firmware, UPDATE! Huge changes made and I suspect it's Motorola weaving its magic. I had all sorts of issues running with Spectralink VoWiFi sets and coverage - updated firmware to 3.0.2.0 and everything is happy now.<br /><br />Other benefits of the firmware is that the CLI now mimics Cisco's IOS in many ways and the Java/Web interface is greatly improved - information is readily available and the controls make sense...<br /><br />It's changed my view on this kit I was almost about to turf it in exchange for some Cisco gear or even Mikrotik (but I didn't really want to configure each AP individually).naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-45129591377253010682007-10-23T19:23:00.000+10:002007-10-27T17:10:40.875+10:002007-10-27T17:10:40.875+10:00It's been more than a monthSo I guess I should post an update.<br /><br /><span style="font-weight: bold;">Ubuntu Gutsy Gibbon</span><br />I've updated the laptop from Fesity Fawn to Gutsy Gibbon the other day. Apart from fiddling with the sound card settings and installing the XGL version of XServer with the ATi RADEON restricted drivers it all went okay... Do you still want to use Linux? But really, I'm actually noticing a improvement in performance from Feisty - hard to put a finger on it but it just seems more "responsive". Maybe all that talk about improving the Linux kernel for the desktop has paid off and they've included various tweaks to better handle the scheduling?<br /><br />The 3D desktop is nicely done - just a good sprinkling of bling to improve the overall functionality of the interface, not just a bunch of unstable power sapping eye candy like what Beryl throws up. Also it seems to be more friendly with this ATi Mobility X600 as beryl used to crash, although that could be all sorts of UE causing that - re-enforces the case that its better if such things are included in the distro.<br /><br />So you can say that I'm happy with the direction of Ubuntu and if you're going to use it, upgrade to Gutsy.<br /><br /><span style="font-weight: bold;">Telstra Next IP WAN</span><br />All the ground work has been done and apparently this is the week for the physical rollout of the new service. Given all the problems I have been having with the wireless link into the Zoo it will be a breath of fresh air to have a decent high capacity link to use. I still have some reservations about it being presented as a "BDSL" (Business Digital Subscriber Line, Telstra's term) service though - it will be using a dedicated copper service from the exchange (not a RIM) and I think it might also be using two pairs - sounds very much like a G.SHDSL service which isn't bad at all.<br /><br />I think they will be using Cisco 18xx series routers. Meaning that all these 857 and 877 routers will soon become redundant. I would like to use them elsewhere but much of the other locations the Zoo is concerned with are too remote for a DSL service. Maybe I can give them to staff who require a reliable VPN back into the Zoo WAN.<br /><br />So I guess I should be devising a service change-over plan. Such things used to be second nature to me when working for AccessPlus but I have to think about it since my mind isn't buried in networks 90% of the time. I'm sort of split between networks, web servery things and desktop. I'll make an effort to get something together shortly, I guess I am still waiting on IP information from Telstra anyway.<br /><br />Also once the WAN is in place I will re-establish my trusty webserver.<br /><br /><span style="font-weight: bold;">Novell Work Group Suite - Small Business Edition</span><br />I'm pretty keen on seeding Novell in this environment. It's just crying out for some decent administration and services.<br /><br />The Small Business Workgroup suite is basically Novell OES2 with Groupwise. E-mail is a great introduction for a 'green fields' environment so I'm hoping management are impressed by it and won't be afraid to continue our foray into Novell. I'm hoping the new OES2 and Groupwise lives up to the hype, at least the cost is reasonable.<br /><br /><span style="font-weight: bold;">Facebook</span><br />Even though I have a blog I caved in and created a facebook account. I can see why it's addictive to many people - it's pretty bloody easy to find others on it and all of those widgets that seem to spread throughout profiles like some kind of nasty virus.<br /><br />I predict two things to happen - someone will be assaulted/murdered as a direct result of having all their information in one easy to reach location and/or some kind of worm weaves its way through it, data-mining all the way and people start finding credit accounts opening up in their name. Call me a pessimist.<br /><br /><span style="font-weight: bold;">Election'07</span><br />Federal elections are fun aren't they, seeing what policies will be bandied about and then abolished as soon as they<insert> <insert party="" name="" here=""> are elected. At least we get to see the pollies get their arse kicked on more than one occasion. As far as my political persuasion goes; I'm center-left which puts me on top of the Democrats, somewhat close to the Greens with Labor as the primary. That as close to a preference you'll get from me.<br /><br />Here's a few blogs and things that I use to follow the election:<br /></insert></insert><ul><li><insert><insert party="" name="" here=""><a href="http://possumcomitatus.wordpress.com/">Possum Comitatus</a></insert></insert></li><li><insert><insert party="" name="" here=""><a href="http://larvatusprodeo.net/">Larvatus Prodeo</a></insert></insert></li><li><insert><insert party="" name="" here=""><a href="http://www.ozpolitics.info/">Oz Politics</a></insert></insert></li><li><insert><insert party="" name="" here=""><a href="http://fairnews.com.au/">F</a><a href="http://fairnews.com.au/">air News</a></insert></insert></li></ul><insert><insert party="" name="" here=""><br />I'll try and keep this updated more often.</insert></insert>naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-7301573146414944892007-09-05T17:16:00.000+10:002007-09-05T17:19:51.239+10:002007-09-05T17:19:51.239+10:00Posting from a P1iWell, it'll take some getting used to but it isn't that hard.naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-87302546539472662522007-08-25T11:53:00.000+10:002007-08-25T12:46:13.787+10:002007-08-25T12:46:13.787+10:00Recording RouterOS's IP Accounting DataThere are a number of ways to gather data from a Mikrotik RouterOS based router. The easiest would be it's 'Accounting Web Access' feature where you can go to http://routeros_addr/accounting/ip.cgi and view a list of ip pairs similar to a basic netflow output.<br /><br />Using this feature I wrote the below perl scripts to collect the data into a DB file. To keep things reasonable I set it record the data per the hour, meaning my smallest unit of measurement is hourly. While I could have simply used a MySQL database to dump the data into, I wanted to maintain a level of portability and simplicity - it sucks having to install/configure/run a fully fledged RDBMS just to view some basic data usage statistics.<br /><br />The first script is used to gather the data from the MT router and store it into the db_file, the second script uses GD::Graph to produce bar charts using the data stored in the db_file. I'll be writing more scripts that dumps the contents of the db_file into a .xls spreadsheet for manual reports - handy for tracking down heavy users and to use as evidence if there are any ISP account discrepancies.<br /><br />Apologies for the untidy code and the lack of formatting. Blogger doesn't provide any 'code markup' function and I cbf'd looking for alternatives. I'll fix it up when I can.<br /><br />Example graph output (graph.pl 8 hours):<br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_AgzNMBDeTpw/Rs-XuTZrlOI/AAAAAAAAAOU/B8DL2w1Kfhs/s1600-h/accounting_data.png"><img style="cursor: pointer;" src="http://bp1.blogger.com/_AgzNMBDeTpw/Rs-XuTZrlOI/AAAAAAAAAOU/B8DL2w1Kfhs/s320/accounting_data.png" alt="" id="BLOGGER_PHOTO_ID_5102463724571825378" border="0" /></a><br />gather.pl:<br /><span style=";font-family:courier;font-size:85%;" ><code><br />#!/usr/bin/perl -w<br /><br />use strict;<br />use LWP::Simple;<br />use MLDBM 'DB_File';<br />use Time::Local;<br /><br />my $arg0 = $ARGV[0];<br />my $arg1 = $ARGV[1];<br /><br />my $ip_accounting_url="http://&lt;routeros ip&gt;/accounting/ip.cgi";<br />my $accounting_mldbm_data_db = "~/accounting_data.mldbm";<br /><br />tie my %h, 'MLDBM', $accounting_mldbm_data_db or die $!;<br /><br />my ($timestamp) = &time_stamp();<br />my $epoch = time();<br /># print "\n Epoch set to: $epoch\n";<br /><br />&gather_ip_accounting($ip_accounting_url);<br /><br />sub gather_ip_accounting {<br /> my $url = $_[0];<br /> my ($src, $dst, $bytes, $packets, $src_usr, $dst_usr);<br /><br /> foreach my $line (split(/\n/, get($url))) {<br /> ($src, $dst, $bytes, $packets, $src_usr, $dst_usr) = split(" ", $line);<br /><br /> if ($dst &&amp; $dst =~ /(192\.168\.)|(10\.2\.)|(172\.16\.)/){<br /> my $h_dst = $h{$dst . "_" . $timestamp};<br /> $h_dst->{dst} = $dst;<br /> # $h_dst->{src} = $src;<br /> $h_dst->{bytes} += $bytes;<br /> $h_dst->{packets} += $packets;<br /> # $h_dst->{src_usr} = $src_usr;<br /> $h_dst->{dst_usr} = $dst_usr;<br /> $h_dst->{epoch} = $epoch;<br /> $h{$dst . "_" . $timestamp} = $h_dst;<br /> }<br /> }<br />}<br /><br /># use Data::Dumper;<br /># print Dumper(%h);<br /><br />untie %h;<br /><br />sub time_stamp {<br />my ($d_t);<br />my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);<br /><br /> $year += 1900;<br /> $mon++;<br /> $d_t = sprintf("%4d-%2.2d-%2.2d %2.2d:00:00",$year,$mon,$mday,$hour,$min,$sec);<br /> return($d_t);<br />}<br /></code></span><br /><br />graph.pl:<br /><span style=";font-family:courier;font-size:85%;" ><code><br />#!/usr/bin/perl -w<br /><br />use strict;<br />use LWP::Simple;<br />use MLDBM 'DB_File';<br />use Time::Local;<br />use GD::Graph::bars;<br /><br />my ($num_values, $period_type);<br />if ($ARGV[0] &&amp; $ARGV[1]) {<br />if ($ARGV[0] =~ /\d+/) {<br /> $num_values = $ARGV[0];<br />}<br />else {<br /> print "\nIncorrect value supplied for number of units\n";<br /> exit;<br />}<br /><br />if ($ARGV[1] =~ /(hours)|(days)|(months)/) {<br /> $period_type = $ARGV[1];<br />}<br />else {<br /> print "\nIncorrect value supplied for type of units\n";<br /> exit;<br />}<br />}<br />else {<br />print "\nUsage: period units\nPeriod: The number of values\nUnits: Hours, Days, Months\n\n";<br />exit;<br />}<br />print "\n Gathering $num_values $period_type worth of data from db!\n";<br /><br />my $epoch = time();<br /><br />my $accounting_mldbm_data_db = "~/accounting_data.mldbm";<br />my $graph_image_file = "~/accounting_data_" . $num_values . "_" . $period_type . "_" . $epoch . ".png";<br /><br />tie my %h, 'MLDBM', $accounting_mldbm_data_db or die $!;<br /><br /><br /><br />#else {<br /># &print_period_summary($arg0, $arg1);<br />#}<br /><br />my($graphvalues, @graphvalues_tmp);<br />my $period_total = 0;<br />my $i = 0;<br /> while ($i &lt;= $num_values) {<br /># print "$i\n";<br /> @graphvalues_tmp = &print_total($i, $period_type);<br />my $data = $graphvalues_tmp[0];<br />my $epoch = $graphvalues_tmp[1];<br />my $HMS = &epoch_to_MDHMS($epoch);<br />push @{$graphvalues-&gt;[0]}, $HMS;<br />push @{$graphvalues->[1]}, $data;<br />$period_total = $period_total + $data;<br />$i++;<br /> }<br /><br />my $graph = GD::Graph::bars->new(85*$num_values, 300);<br />$graph->set(<br /> x_label => "$period_type (latest towards the left) Period Total: $period_total",<br /> y_label => 'Mbytes',<br /> title => "Total Mbytes (Over $num_values $period_type)",<br /> transparent => '0',<br /> show_values => '1',<br /> bar_spacing => '2',<br />) or warn $graph->error;<br /><br />my $image = $graph->plot($graphvalues) or die $graph->error;<br /><br />open(IMG, ">$graph_image_file") or die $!;<br />binmode IMG;<br />print IMG $image->png;<br /><br /># use Data::Dumper;<br /># print Dumper($graphvalues);<br /><br />untie %h;<br /><br />sub print_total {<br />my $h_total=0;<br />my ($h_row, $h_column, $h_bytes, $h_dst);<br /><br />my ($num, $period) = @_;<br />my ($epoch_start, $epoch_end) = &epoch_period($num, $period);<br /><br />for my $h_row ( keys %h ) {<br /> if ($h{$h_row}{epoch} >= $epoch_start &&amp; $h{$h_row}{epoch} <= $epoch_end) { $h_bytes = $h{$h_row}{bytes}; $h_dst = $h{$h_row}{dst}; $h_total = $h_total + $h_bytes; } } my $formatted_total = sprintf("%.3f", $h_total/1024/1024); return($formatted_total, $epoch_start); } sub epoch_period { my ($past_count, $period) = @_; my ($epoch_period_start, $epoch_period_end); my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); my ($start_hour, $end_hour); if ($period eq "hours") { $start_hour = $hour-$past_count; $end_hour = $hour-$past_count; } elsif ($period eq "days") { $mday = $mday-$past_count; $start_hour = '00'; $end_hour = '23'; } elsif ($period eq "months") { $mon = $mon-$past_count; # $mday = '00'; # $hour = '00'; } $epoch_period_start = timelocal(00,00,$start_hour,$mday,$mon,$year); print "Start: $epoch_period_start\n"; $epoch_period_end = timelocal(59,59,$end_hour,$mday,$mon,$year); print "End: $epoch_period_end\n"; # print "SUB EPOCH_PERIOD: $epoch_period_start, $epoch_period_end\n"; return($epoch_period_start, $epoch_period_end); } sub epoch_to_MDHMS { my $epoch = $_[0]; my ($sec, $min, $hour, $mday, $mon) = (localtime($epoch))[0,1,2,3,4]; my $mdhms = $mon+1 . "-" . $mday . " " . sprintf("%02d", $hour) . ":" . sprintf("%02d", $min) . ":" . sprintf("%02d", $sec); return($mdhms); } </code></span>naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-54673751342883474272007-08-11T16:14:00.000+10:002007-08-12T22:27:00.864+10:002007-08-12T22:27:00.864+10:00A simple .forward vacation enable/disable scriptI got a little tired of manually enabling/disabling peoples vacation AutoReply. So I decided to knock out a simple bash script that does the enable/disable part, leaving me to simply make sure the actual response message was updated and just AT the script for whenever they wanted to leave/come back.<br /><br />I used to move .forward to dotforward and back when enabling/disabling - so if you're wondering why I'm referencing files called 'dotforward' it's for backwards compatibility - plus I like the idea of setting up dotforward if the user doesn't have any .forward yet and leaving the rest up to the script.<br /><br /><span style=";font-family:courier new;font-size:78%;" >#!/bin/bash<br /><br />DATE=`date`<br />TMP_DATE=`date +%Y%m%d`<br />EMAIL_SUBJECT="AutoReply Status"<br />EMAIL_FROM="blah@blah.com"<br /><br />USER="$1"<br />FORWARD="/home/$USER/.forward"<br />DOTFORWARD="/home/$USER/dotforward"<br />VACATION=$(which vacation)<br /><br />if [ -z "$1" ]; then<br /> echo "usage: $0 <username>username"<br /> exit<br />fi<br /><br />echo "Doing the .forward thing with user: $USER"<br /><br />if ! [ -e $FORWARD ]; then<br /> echo "No .forward found, is there a dotforward?"<br /> if [ -e $DOTFORWARD ]; then<br /> echo "Found $DOTFORWARD, moving it to $FORWARD"<br /> EMAIL_BODY="Hello $USER, I have enabled your AutoReply E-Mail as of $DATE"<br /> mv $DOTFORWARD $FORWARD<br /> echo "Moved $DOTFORWARD to $FORWARD"<br /> fi<br />else<br /> echo "Hmm, there's already a $FORWARD, I'll just add or remove the vacation reference..."<br /> if [ -e $FORWARD ]; then<br /> if grep "vacation" $FORWARD<br /> then echo "Oooh I found a vacation reference in here! Let's DELETE it buwahaha"<br /> sed -e "s!\"|$VACATION $USER\"!!g" $FORWARD > /tmp/$USER_forward-$TMP_DATE<br /> mv /tmp/$USER_forward-$TMP_DATE $FORWARD<br /> EMAIL_BODY="Hello $USER, I have disabled your AutoReply E-Mail as of $DATE"<br /> else<br /> echo "Didn't find any vacation reference, I'm adding one"<br /> if ! grep "\\$USER," $FORWARD; then<br /> echo "\\$USER," >> $FORWARD<br /> fi<br /> echo " \"|$VACATION $USER\"" >> $FORWARD<br /> EMAIL_BODY="Hello $USER, I have enabled your AutoReply E-Mail as of $DATE"<br /> fi<br /> fi<br />fi<br /><br />echo "$FORWARD now looks like:"<br />echo `cat $FORWARD`<br /><br />echo "$EMAIL_BODY" | mail -s "$SUBJECT" $USER</username></span>naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-86710483729290795202007-08-08T11:49:00.000+10:002007-08-08T11:53:24.336+10:002007-08-08T11:53:24.336+10:00Mikrotik RouterOS Firewall ScriptThe following will hunt through the firewall filter list and enable/disable all rules whose comment is "Drop_Toggle". Usefull if you want to toggle particular sets of filters periodically etc.<br /><span style="font-family: courier new;font-size:78%;" ><br /># Enable Drop Rules<br />:global list ""; :foreach i in [/ip firewall filter find] \<br />do={:if ([:find [/ip firewall filter get $i comment] "Drop_Toggle"]=0) \<br />do={/ip firewall filter set $i disabled=no} };<br /><br /># Disable Drop Rules<br />:global list ""; :foreach i in [/ip firewall filter find] \<br />do={:if ([:find [/ip firewall filter get $i comment] "Drop_Toggle"]=0) \<br />do={/ip firewall filter set $i disabled=yes}};</span>naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-1179826264029967712007-08-06T10:48:00.000+10:002007-08-06T11:03:48.796+10:002007-08-06T11:03:48.796+10:00Mirroring a Plesk vhost script<span style=";font-family:verdana;font-size:100%;">The following script will mirror a vhost from a Plesk managed server. It is up to you to modify the Apache vhost configuration includes (usually there's one created by Plesk in /etc/httpd/conf.d or the like).</span><br /><br /><span style="font-size:70%;"><span style="font-family:courier new;"><br />#!/bin/bash<br /># RSYNC/SED script to mirror a Plesk host<br /># 2007­08­01 Ben Johns<br /><br /># Requirements:<br /># SSH Pub/Priv keys shared on both hosts<br /># ssh­keygen ­-t dsa ­-b 1024 ­-f `whoami`-­`hostname` (NO PASSPHRASE!)<br /># copy the resultant .pub file to the remote host and append it too<br /># the RSYNC_USER's .ssh/authorized_keys file. </span><br /># RSYNC Version >2.6.3<br /># HTTPD.INCLUDE needs to be manually configured to suit the config<br /># of the local host. Ie copy the relevant sections from the remote hosts<br /># plesk httpd conf to this host. Usually done somewhere in /etc/httpd or /etc/apache.<br /><br /># REM_HOST: The remote host to mirror<br /># RSYNC_USER: The user account on the remote host that has permission<br /># to copy the intended files.<br /># RSYNC_OPTS: Parameters to use with the rsync command<br /># SSH_KEY: The private DSA key to use for SSH authentication<br /># RSYNC_VHOST_SRC_PATH: Path to the source virtual host files on the remote host<br /># RSYNC_VHOST_SRC_DIR: Directory of the source virtual host files on the remote host<br /># RSYNC_VHOST_DST_PATH: Path to the destination on the local host<br /># SED_VHOST_MOD_FILE: Location of the SED parameters to modify VHOST config files<br /><br />REM_HOST="web.server.com"<br />RSYNC_USER="rsync"<br />RSYNC_OPTS="-­­avz ­­--perms ­-q ­­--delete­during"<br />SSH_KEY="/var/www/rsync_ssh_key"<br />RSYNC_VHOST_SRC_PATH="/home/httpd/vhosts/"<br />RSYNC_VHOST_SRC_DIR="vhost_directory"<br />RSYNC_VHOST_DST_PATH="/var/www/vhosts/"<br />SED_VHOST_MOD_FILE="/var/www/vhost_include.sed"<br /><br />rsync ­$RSYNC_OPTS \<br /> -­e "ssh ­-i $SSH_KEY ­-l $RSYNC_USER" \ $RSYNC_USER@$REM_HOST:$RSYNC_VHOST_SRC_PATH$RSYNC_VHOST_SRC_DIR $RSYNC_VHOST_DST_PATH<br />rsync ­$RSYNC_OPTS ­­--include "*/" ­­--include "*.include" ­­--exclude "*" \<br /> -­e "ssh ­-i $SSH_KEY ­-l $RSYNC_USER" \<br />$RSYNC_USER@$REM_HOST:$RSYNC_VHOST_SRC_PATH$RSYNC_VHOST_SRC_DIR $RSYNC_VHOST_DST_PATH<br /><br />for file in $RSYNC_VHOST_DST_PATH$RSYNC_VHOST_SRC_DIR/conf/httpd.include ; do<br />sed ­-f $SED_VHOST_MOD_FILE "$file" > tmp_file<br />mv tmp_file "$file"<br />echo "Modified $file"<br />done<br /><br />chmod ug+rwx ­R $RSYNC_VHOST_DST_PATH$RSYNC_VHOST_SRC_DIR<br /><br />apache2ctl graceful </span></span>naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-10231255996256041752007-07-29T16:32:00.000+10:002007-07-30T19:14:02.521+10:002007-07-30T19:14:02.521+10:00Planning for high trafficThe most worrying project on my list at this time is working out how to achieve as much grunt as possible to withstand the estimated traffic from the first Steve Irwin day tribute website since his passing.<br /><br />Currently the Zoo has a single primary server hosting all sites and a secondary web server sharing the load on a few sites. It's not the perfect model by far and I intend on tidying it up as follows.<br /><br />What I plan to do is install MySQL 5.x on the secondary server and ready it for replication. Then I will dump the contents from the existing MySQL 4.x databases and point all the websites at it. Once I'm satisfied that it's functioning as expected (I'm in the process of testing this on the bench). Then I will upgrade the MySQL 4.x to 5.x on the primary server and begin multi-master replication with the other. This completes stage one of the preparations.<br /><br />With the databases in place and functioning, I will work out how to replicate all vhosts between the two servers. Plesk, the web control panel operating on both servers, makes this more complex than it really needs to be since I will also need to create the client/domain accounts for each of the replicated sites. When I have worked out what is required I will script the synchronization as much as possible and hopefully end up with near 100% automation. I may need to tap into Plesk's API to do this. This will complete stage two.<br /><br />With replication of both the databases and general structures taking place between the two existing servers I can now introduce more servers and the greater complexity they will bring.<br /><br />I will be working towards four application servers just for static content/scripts and a single localised database server. I intend to just have raw boxes running either Redhat or FreeBSD, no fancy control panels getting in the way. This will allow me to script everything with simplicity and provide a basic configuration to each server. I will replicate the data from the first of the existing servers to one of the new application servers and from there to each of the remaining three. This is so I can keep the amount of public traffic between the servers to a minimum. I will introduce the new database server into the multi-master replication loop and point the four new application servers at it. This completes stage three.<br /><br />Once I am satisfied that each application server is connecting to the database server over their private network and that the database server is successfully replicating the databases from the existing two servers I will set up the load balancer to include the four new application servers. We may need to cut over to a new load balancer since the existing one may not support this many servers.<br /><br />This setup will provide me with six front end servers and three database servers - with a bit of sharing of resources here and there. The following diagram shows what I intend on achieving.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_AgzNMBDeTpw/Rqw7UYaog9I/AAAAAAAAANk/7VtPl7vayQw/s1600-h/Example+Web+Server+Topology.gif"><img style="cursor: pointer;" src="http://bp3.blogger.com/_AgzNMBDeTpw/Rqw7UYaog9I/AAAAAAAAANk/7VtPl7vayQw/s320/Example+Web+Server+Topology.gif" alt="" id="BLOGGER_PHOTO_ID_5092510499986768850" border="0" /></a><br /><br />Relevant links:<br /><a href="http://www.onlamp.com/pub/a/onlamp/2006/04/20/advanced-mysql-replication.html">ONLamp Advanced MySQL Replication Techniques</a><br /><a href="http://www.mysql.org/doc/refman/5.0/en/replication.html">MySQL 5.0 Manual - Replication</a><br /><a href="http://samba.anu.edu.au/rsync/">Rsync</a><br /><a href="http://kb.swsoft.com/article_147_1077_en.html">SWSoft Plesk - Upgrading MySQL</a>naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-25801981520677538702007-07-21T15:46:00.000+10:002007-07-21T16:33:10.141+10:002007-07-21T16:33:10.141+10:00These updates are getting scarce...It's not like many people come here for the regular updates anyway.<br /><br /><span style="font-weight: bold;">Network Storage adventures</span><br />To get some kind of data redundancy going here at the Zoo I've been playing around with different NAS based operating systems.<br /><br />The first I tried was <a href="http://www.freenas.org/">FreeNAS</a> - using FreeBSD as its base operating system it provides a modified 'Monowall' administration web interface that allows all sorts of functions for manging storage, services, shares and users. I used it for about 2 months and it failed me when I upgraded the system with 2 more 500GB SATA disks plugged into a Silicon Image 2 port PCI SATA controller. FreeNAS is fairly simple to get up and going - the hardest part was working out the confusing workflow of setting up the physical disks, RAID and partitions.<br /><br />Given the failure (due to some buggy Sil driver in BSD) I decided to try out <a href="http://www.openfiler.com/">OpenFiler</a> instead. I knew that Linux had better support for the Sil chipset - although I probably wouldn't base my whole NAS system around support for cheap controller card in future. OpenFiler is based upon rPath which is a embedded Linux based OS. It's unique package management system, Conary, makes updates quite simple - it's similar to Debian's apt-get.<br /><br />The OpenFiler installation was rudimentary as far as Linux installations go - it's almost identical to RedHat/Fedora. However it threw up a bunch of obscure and useless error messages while trying to work out the existing partitions - a bit of googling later revealed that it probably didn't understand the GEOM volumes left over from FreeNAS. Once I let it re-initialize the disks it was all fine.<br /><br />The biggest gripe I had with the whole installation of OpenFiler was that initially I thought that it required a network Directory service to operate. Painful as the only resemblance of a Directory I had was the AD running on some SBS2003 R2 server. So I tried in vein to get that running, no success. I did manage to get somewhat farther using a NT domain function but that only showed groups, not users. It wasn't until I dug through the OpenFiler forums that I found the latest version included it's own OpenLDAP directory service.<br /><br />So I tried updating it using it's web interface - no go, it would appear to download and install various components but what appeared to be a few key components had to be installed 'in the background'. After waiting sometime it didn't appear it was doing anything of a sort. So I took to it's CLI and worked out how to use the conary package manager and ended up with: #conary updateall --replace-files . Which worked.<br /><br />Once the system was updated I was presented with a few extra LDAP specific configuration options. Ticked and typed in the appropriate things and I was in business with local directory user/group authentication. I created the LVM PVs/VGs and Volumes and formatted the resultant 2.4TB partition using Ext3.<br /><br />I set up the SMB and FTP services and shared it out to the appropriate groups. The extra 'host/network' based access control took me off guard and once I worked out how that side of things should work I had workstations backing up to the server using SyncBack in no time.<br /><br />So far out of one File Server and two departments I have used up 425GB. That's from about 12 workstations total. Now another 10 or so departments and 115 workstations. In future I'll look at its iSCSI and HA support.<br /><br /><span style="font-weight: bold;">IPSec encrypted GRE tunnel, MTU settings suitable for PPPoE/A link:</span><br /><span style="font-size:85%;"><span style="font-family:courier new;">crypto isakmp policy 10</span><br /><span style="font-family:courier new;"> encr 3des</span><br /><span style="font-family:courier new;"> authentication pre-share</span><br /><span style="font-family:courier new;"> group 2</span><br /><span style="font-family:courier new;">crypto isakmp key shared_key address 1.2.3.4 no-xauth</peer's></secret></span><br /><span style="font-family:courier new;">! </span><br /><span style="font-family:courier new;">!</span><br /><span style="font-family:courier new;">crypto ipsec transform-set transform_name ah-sha-hmac esp-3des esp-sha-hmac </transform></span><br /><span style="font-family:courier new;"> mode transport</span><br /><span style="font-family:courier new;">!</span><br /><span style="font-family:courier new;">crypto map map_name 10 ipsec-isakmp</span><br /><span style="font-family:courier new;"> set peer 1.2.3.4</span><br /><span style="font-family:courier new;"> set transform-set transform_name <transform> </transform></span><br /><span style="font-family:courier new;"> match address 101</span><br /><span style="font-family:courier new;">!</span><br /><span style="font-family:courier new;">!</span><br /><span style="font-family:courier new;">!</span><br /><span style="font-family:courier new;">interface Tunnel0</span><br /><span style="font-family:courier new;"> ip address 192.168.254.1 255.255.255.252</span><br /><span style="font-family:courier new;"> ip mtu 1500</span><br /><span style="font-family:courier new;"> keepalive 10 3</span><br /><span style="font-family:courier new;"> tunnel source Dialer0</span><br /><span style="font-family:courier new;"> tunnel destination 1.2.3.4</span><br /><span style="font-family:courier new;"> tunnel key 12345</span><br /><span style="font-family:courier new;">!</span><br /><span style="font-family:courier new;">access-list 101 permit gre any any</span><br /><span style="font-family:courier new;">!</span><br /><span style="font-family:courier new;">interface Vlan1</span><br /><span style="font-family:courier new;"> ip tcp adjust-mss 1400</span><br /><span style="font-family:courier new;"> crypto map map_name</span></span>naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-345523012815537452007-06-24T15:37:00.000+10:002007-06-24T21:02:53.685+10:002007-06-24T21:02:53.685+10:00What have I been doing?Been a while since I last posted so time for a update post!<br /><br /><span style="font-weight: bold;">Revamping the old network</span><br />The network at the Zoo was a miserable mess - it took me a while to audit what was in place and to devise a topology that would best address the current and future needs of the Zoo. Now the Zoo has a VLAN'd network consisting of dedicated Administration, Point-of-Service and VoIP subnets, OSPF routing at the core, a DMZ, traffic policing and shaping capabilities and VPN (PPTP/L2TP and IPSec) capabilities.<br /><br />I achieved all this by using two rackmounted <a href="http://www.yawarra.com.au/product.php?productCode=HW-WR12-R">WRAP1-2</a>'s from Yawarra and a cheap Asus <a href="http://www.asus.com.au/products.aspx?l1=4&l2=20&amp;amp;amp;l3=92&l4=0&amp;model=70&modelmenu=1">GigaX 2024</a> switch. I loaded Mikrotik RouterOS 2.9.42 onto the two WRAP1-2's and set up 802.1q VLANs on the switch. The VLANs are routed on the first WRAP1-2 which then connects onto the DMZ where the other WRAP1-2 and Cisco 857/877 routers exist with OSPF routing throughout. The second WRAP1-2 holds up the 1Mbit Unisky wireless connection (PPPoE, over wireless... yuk) and hopefully a substantial fibre based service from someone, such as a 2Mbit E1/G.703 service.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_AgzNMBDeTpw/Rn4vexJXgfI/AAAAAAAAANE/cD4urDT001Y/s1600-h/Yawarra_WRAP1-1_Rack.jpg"><img style="cursor: pointer;" src="http://bp2.blogger.com/_AgzNMBDeTpw/Rn4vexJXgfI/AAAAAAAAANE/cD4urDT001Y/s320/Yawarra_WRAP1-1_Rack.jpg" alt="" id="BLOGGER_PHOTO_ID_5079549635355705842" border="0" /></a><br /><br />I used pairs of Cisco 8xx series routers to hold up VPN links between the Zoo and its newly opened Mooloolaba retail store. A pair of 857's hold up a general Point-of-Service/LAN traffic IPSec tunnel. In addition to that a pair of 877's hold up a VoIP/Video IPSec tunnel with QoS. The two DSLs are 8Mbit/384Kbit links supplied by Bigpond. Having dedicated 'pairs' of routers/DSL for VPN connectivity is overkill but it's still cheaper than a single fibre service.<br /><br />These changes provided the framework for the following additions to the network infrastructure.<br /><br /><span style="font-weight: bold;">A new phone system</span><br />The Zoo's old Siemens key system was well and truely past its time and was needing upgrades which proved to be exorbitantly costly to do. A new Alcatel OmniPCX PBX was selected and installed by company called <a href="http://www.nexon.com.au/">Nexon Asia Pacific</a>. Along with the digital and analog extensions a number of VoIP extensions are provided including wireless VoIP sets. Best practice says to establish a dedicated subnet for the PBX/VoIP services to reside within so as to isolate it from the general traffic of the other networks. Having VLAN capability is useful as I can locate the phones nearly anywhere and still keep them within the VoIP subnet. However while the phones support VLANs, they don't want to communicate with the Asus switch.<br /><br />First it was wireless and whales, now its wireless and... um... elephants?<br />I will soon have a Zoo wide wireless network built up of Symbol <a href="http://www.symbol.com/wireless-infrastructure/wireless-switches/wifi-technology">WS5100</a> and <a href="http://www.symbol.com/products/wireless/ap_300_ap.html">AP300s</a>. These were provided by Barcode Dynamics in addition to inventory/asset tracking equipment. The WS5100 is useful in that it can map VLANs to WLANs - allowing me to simply create wireless extensions of the existing networks with no physical modifications. However security becomes a concern with the absence of a router/firewall - the WS5100 addresses this by supporting WPA1/2, 802.1x and firewall policies. I will also limit transit between the networks and wireless infrastructure via the routers.<br /><br />To start with the wireless will be used for mobile VoIP. Since the Alcatel mobile sets are basically Spectralink reference designs I can simply apply the pre-configured Spectralink QoS policy on the WS5100 to that WLAN so that it grants expedited access to the wireless bandwidth to VoIP traffic. In the future we will also implement mobile Point-of-Service terminals, either PDA style units or small form factor PCs. There's also the possibility that the roaming photographers could also use the coverage to upload their digital photo's in real-time to the on-site photography lab.<br /><br />I've just finished setting up a outdoor enclosure for one of the AP300's. It's a pity that the AP300 doesn't have an outdoor variant. The supplied enclosures were just bare boxes, luckily they came with the backing board. However I had to make up the pole brackets myself using some angle brackets, u-bolts and pop-rivets.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_AgzNMBDeTpw/Rn4vfBJXghI/AAAAAAAAANU/3GE7CeSedDk/s1600-h/External_Enclosure_Brackets.jpg"><img style="cursor: pointer; width: 245px; height: 196px;" src="http://bp3.blogger.com/_AgzNMBDeTpw/Rn4vfBJXghI/AAAAAAAAANU/3GE7CeSedDk/s320/External_Enclosure_Brackets.jpg" alt="" id="BLOGGER_PHOTO_ID_5079549639650673170" border="0" /></a><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_AgzNMBDeTpw/Rn4vexJXggI/AAAAAAAAANM/Fzh3pLQUM6o/s1600-h/External_Enclosure_AP300.jpg"><img style="cursor: pointer; width: 243px; height: 212px;" src="http://bp2.blogger.com/_AgzNMBDeTpw/Rn4vexJXggI/AAAAAAAAANM/Fzh3pLQUM6o/s320/External_Enclosure_AP300.jpg" alt="" id="BLOGGER_PHOTO_ID_5079549635355705858" border="0" /></a><br /><br /><span style="font-weight: bold;">Mobile VPN over Telstra's NextG</span><br />For the newly launched Whale One vessel the Zoo has established a NextG mobile data service. To connect the boat to this service a ruggedised NextG modem/router was installed on the boat with a 7dBi collinear antenna. The router comes with a PPTP VPN client so I have set this to establish a VPN back to the Zoo. This allows the two Point-of-Service terminals to communicate back to the Zoo's POS services for EFT transactions and accounting/stock control. Under testing we managed to maintain a connection out to 10km to sea and sustain an average data rate of 1.5Mbit/sec. I have yet to test the link with the POS systems running.naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-36722283716774677482007-05-20T20:37:00.000+10:002007-05-20T21:07:16.577+10:002007-05-20T21:07:16.577+10:00Marinanet is coming to Coffs HarborIn the not so distant future, the beautiful Coffs Harbor marina will become the southern most Marinanet location. It will also be one of the first Marinas to use the new Hotspot system I developed.<br /><br />This would probably be one of my favorite Marina locations - particularly the most scenic.<br /><br />No specific installation date set but it is expected to be in the short term.naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-81582819409261427312007-05-13T17:25:00.000+10:002007-05-13T17:45:17.104+10:002007-05-13T17:45:17.104+10:00Attending to the web serversWeb servers are like the wilder beasts of the Internet. I imagine them to be out in the open grass plains happily grazing in the sun. I also can imagine tigers, cheetahs and other predators lurking around the fringes looking for the few that aren't paying attention or have been wounded and thus are falling behind the herd.<br /><br />The predators are the numerous script kiddies (skiddies) and crackers out there that either trying it on, seeking to find yet another server to host their warez, or they're building a massive, high bandwidth botnet in which to strike down those who oppose them.<br /><br />When I looked at my new herd of servers (okay, 3 isn't really a herd...) I saw a neglected bunch that needed some tender loving care. So all this week I have been looking at what makes them tick and for what purposes they serve. In the process I've been cutting the fat, optimizing and tightening things up. There's still a ways to go but things are already looking better, especially after upgrading the link from 10Mbit to 100. I hope whoever owned those domains I disabled doesn't get too pissed.<br /><br />Things that need to happen:<br /><ul><li>Consolidate servers into a single rack and connect them via a private LAN</li><li>Adjust load balancing to go between all three servers</li><li>Establish a managed firewall</li><li>Upgrade OS and packages on each</li></ul><br />I won't feel comfortable until all that is in place.naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.comtag:blogger.com,1999:blog-15802553.post-47093760916410631202007-05-11T15:31:00.000+10:002007-05-13T17:44:37.766+10:002007-05-13T17:44:37.766+10:00Amazing what a bit of tweaking does<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_AgzNMBDeTpw/RkP_9sjkvpI/AAAAAAAAAM0/jxMAYAi9gRY/s1600-h/media_rtg_img+20070511+after.png"><img style="cursor: pointer;" src="http://bp3.blogger.com/_AgzNMBDeTpw/RkP_9sjkvpI/AAAAAAAAAM0/jxMAYAi9gRY/s320/media_rtg_img+20070511+after.png" alt="" id="BLOGGER_PHOTO_ID_5063171841492041362" border="0" /></a><br /><br />The big long stretch is where the poor MySQL daemon just couldn't cope with the demand. So a few tweaks to how it caches etc later and you see the boost. DB Server load dropped from 45.0 down to 0.40 too.naturalnetworkshttp://www.blogger.com/profile/03412612471060657694noreply@blogger.com