<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CUIDRX46fyp7ImA9WhRbFUs.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236</id><updated>2012-02-06T13:26:14.017-08:00</updated><category term="Site Management" /><category term="SNMP" /><category term="Wireless" /><category term="SQL" /><category term="CRM" /><category term="Patch" /><category term="Logging" /><category term="Cisco" /><category term="Windows" /><category term="Security" /><category term="Null" /><category term="Router" /><category term="Network Design" /><category term="Virtual private network" /><category term="USB flash drive" /><category term="Business" /><category term="Operating system" /><category term="SMTP" /><category term="PIX" /><category term="Dynamics" /><category term="Database" /><category term="Sharepoint" /><category term="Exchange 2003" /><category term="Mobile device" /><category term="Ubuntu" /><category term="IIS6" /><category term="Netsh" /><category term="Apache" /><category term="DMZ" /><category term="Insert" /><category term="Cluster" /><category term="Log Analysis" /><category term="AD" /><category term="Application" /><category term="DHCP" /><title>Better Network Design</title><subtitle type="html">All information about how to build a more secure network and keep it running.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://betternetworkdesign.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>92</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/BetterNetworkDesign" /><feedburner:info uri="betternetworkdesign" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;CUcGSHo9cCp7ImA9Wx5XFUk.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-6894885261072993059</id><published>2010-09-15T01:49:00.000-07:00</published><updated>2010-09-15T02:30:29.468-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-15T02:30:29.468-07:00</app:edited><title>Ubuntu 10.10 Intel video issue</title><content type="html">Well here i am again with some tip's on cutting edge software.&lt;br /&gt;recently decided to give ubuntu 10.10 beta a spin drive and must say a like it, however did find a problem with my intel graphics card on first boot, but its working fine now, so here is how I fixed the problem.&lt;br /&gt;&lt;br /&gt;Normally I would goto the recovery console directly by pressing Esc at boot and selecting it but since I had a USB keyboard that isn't detected at that point so I wan't able to change it, hence I was forced to take the long way via command line.&lt;br /&gt;&lt;br /&gt;first gnome never loaded up so I pressed &lt;b&gt;Ctrl + Alt + F1&lt;/b&gt; to drop to command line.  logged in as your normal user and then run the following.&lt;br /&gt;&lt;b&gt;sudo nano /boot/grub/menu.lst&lt;/b&gt;&lt;br /&gt;then scroll down to the &lt;b&gt;## ## End Default Options ##&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now place a hash in front of the first title, root, kernel, initrd and quiet this will force the next boot to the next option below (recovery mode)&lt;br /&gt;&lt;br /&gt;then &lt;b&gt;Ctrl + X&lt;/b&gt; and save the file over the existing one.&lt;br /&gt;now reboot the PC &lt;b&gt;sudo reboot&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;From the Recovery Menu select the &lt;b&gt;failsafeX&lt;/b&gt; you will then get a warning message, click passed it and select &lt;b&gt;Reconfigure Graphics&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;On the next many select &lt;b&gt;Create new configuration for this hardware&lt;/b&gt; this will take you to the same screen after its selected but the job is done now.&lt;br /&gt;&lt;br /&gt;Cancel out and then select &lt;b&gt;Exit to console login&lt;/b&gt; this will take you back to the recovery menu.  scroll to the bottom and select &lt;b&gt;root&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now again edit the boot menu &lt;b&gt;sudo nano /boot/grub/menu.lst&lt;/b&gt; to unhash the values you hashed out before ie the title, root, kernel, initrd and quiet this will allow it to boot normally once more.  Then &lt;b&gt;Ctrl + X&lt;/b&gt; and save the file over the existing one. Now reboot the PC &lt;b&gt;sudo reboot&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;You should now be met with the normal logon screen.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-6894885261072993059?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ByV7-rVObH5o7M32MieTPsg2ooY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ByV7-rVObH5o7M32MieTPsg2ooY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ByV7-rVObH5o7M32MieTPsg2ooY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ByV7-rVObH5o7M32MieTPsg2ooY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/jQjG2OvGv1M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/6894885261072993059/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=6894885261072993059&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/6894885261072993059?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/6894885261072993059?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/jQjG2OvGv1M/ubuntu-1010-intel-video-issue.html" title="Ubuntu 10.10 Intel video issue" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2010/09/ubuntu-1010-intel-video-issue.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0IESXcyeCp7ImA9Wx5SEUo.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-608903259098243025</id><published>2010-08-07T02:51:00.000-07:00</published><updated>2010-08-07T03:05:08.990-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-07T03:05:08.990-07:00</app:edited><title>Gnome issues</title><content type="html">Gnome a nice clean and cute interface however from time to time it can have a few problem.&lt;br /&gt;&lt;br /&gt;Maybe some of your customized settings are causing your gnome-panel to crash or window buttons (close, minimize) disappear.  Well luck for us gnome isn't windows where you'd need to tweak the registry or recreate the user profile to fix that annoying bug.&lt;br /&gt;&lt;br /&gt;In fact it can be solved in minutes, if you don’t have access to your graphical (GUI) desktop to delete these folders in Nautilus or you’re stuck at the login screen, drop to a terminal by hitting &lt;b&gt;CTRL + ALT + F1&lt;/b&gt;, login to your account.&lt;br /&gt;&lt;br /&gt;Once logged in you can remove the files that store the desktop settings,&lt;br /&gt;&lt;br /&gt;&lt;b&gt;rm -rf .gnome .gnome2 .gconf .gconfd .metacity&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Then logout by typing &lt;b&gt;logout&lt;/b&gt; or Ctrl+d&lt;br /&gt;Get back to your GUI desktop by hitting &lt;b&gt;CTRL + ALT + F7&lt;/b&gt;. now this won't fix any video issues however the principle is the same.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-608903259098243025?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zoTrnB4o5VfyiF0JnnIjZgejqoI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zoTrnB4o5VfyiF0JnnIjZgejqoI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zoTrnB4o5VfyiF0JnnIjZgejqoI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zoTrnB4o5VfyiF0JnnIjZgejqoI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/lLaDjrsXKw8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/608903259098243025/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=608903259098243025&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/608903259098243025?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/608903259098243025?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/lLaDjrsXKw8/gnome-issues.html" title="Gnome issues" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2010/08/gnome-issues.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8HRHc4eyp7ImA9WxFaFEo.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-6541238422755971413</id><published>2010-07-18T10:06:00.001-07:00</published><updated>2010-07-18T10:07:15.933-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-18T10:07:15.933-07:00</app:edited><title>Hosting Environments</title><content type="html">Hosting environments are some of the most challenging environments to work within due to the 24/7 nature of the service.&lt;br /&gt;&lt;br /&gt;Public facing websites can be very hard to support as a result.  Most common fault I’ve seen is the placing of too many services onto a single server whether that be physical or virtual, resulting in problem with updating service on that server or single point of failure when it’s down.&lt;br /&gt;&lt;br /&gt;So here are my Top Tips on design of a hosting environment.&lt;br /&gt;&lt;br /&gt;1) load only what is needed to run the webpages on the front end, too often backend services or application become loaded on the front end and this results in slow down of the web servers and also means more patches are required to these servers, in simple keep database and job service on separate systems.&lt;br /&gt;&lt;br /&gt;2) Job servers are great and having automated tasks that clean up the environment is always a good idea, with careful scripting this can be used to take servers out of load balancers before patching of other maintenance tasks are done.&lt;br /&gt;&lt;br /&gt;3) Even high availability systems such as clusters can be point of failure from time to time so don’t put all of your databases into a single system, as poor code that crashes the system would take down the environment, so try to spread the load over large number of systems to avoid single points of failure.&lt;br /&gt;&lt;br /&gt;4) keep the environment simple with no more than one version behind the current release as unsupported environments are impossible to trouble shoot with vendors if the worst happens.&lt;br /&gt;&lt;br /&gt;5) have a capacity sizing calculation,  sometimes this means doing load test on each sites to see how it performs, an example load of one user and one hundred are not the same, as some issues in code such as untimely ending query’s doesn’t show until there is enough load.&lt;br /&gt;&lt;br /&gt;Assuming you have all of these followed you should have a stable environment, I’ve worked on a number of hosted application environments now an almost all of them have just one issue related to not being able to work on the system while its running, leaving them with outages every time something needed updating/patching or fixing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-6541238422755971413?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KUvCvZyTbMk2PH8urxe8y1HjMX8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KUvCvZyTbMk2PH8urxe8y1HjMX8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KUvCvZyTbMk2PH8urxe8y1HjMX8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KUvCvZyTbMk2PH8urxe8y1HjMX8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/y-tuLySkSTY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/6541238422755971413/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=6541238422755971413&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/6541238422755971413?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/6541238422755971413?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/y-tuLySkSTY/hosting-environments.html" title="Hosting Environments" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2010/07/hosting-environments.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEGSHw4eCp7ImA9WxFSEEw.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-3525500094461685840</id><published>2010-04-11T10:33:00.000-07:00</published><updated>2010-04-11T11:30:29.230-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-11T11:30:29.230-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Router" /><category scheme="http://www.blogger.com/atom/ns#" term="Wireless" /><category scheme="http://www.blogger.com/atom/ns#" term="Cisco" /><title>Branch Office Router Config</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_tTBsm6WUtGI/S8INbiGQ4jI/AAAAAAAAAXk/PDO3FOziFmQ/s1600/cisco_871_a.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 262px;" src="http://3.bp.blogspot.com/_tTBsm6WUtGI/S8INbiGQ4jI/AAAAAAAAAXk/PDO3FOziFmQ/s320/cisco_871_a.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5458940464987169330" /&gt;&lt;/a&gt;Branch or not to branch that is the question?&lt;br /&gt;I've been asked a few times this week for a branch office router configuration, now I'm not a big fan of branch offices as I would rather have one big office because it's easier to support.  Nevertheless I agree to show how this can be done, so branch office and the problems with them.&lt;br /&gt;&lt;br /&gt;1) There is most likely no IT staff onside so they can be a pain for hardware configuration, if something breaks you have to send someone to fix it.&lt;br /&gt;2) Staff at branch office offen are unregualted and therefor install anything they like, making them more likely to contract malware and virus, not to mention ilegal downloading. &lt;br /&gt;&lt;br /&gt;However there are ways around this.&lt;br /&gt;&lt;br /&gt;So lets get down to the basics before you can start you need to setup you security on the router, now I personaly like to use privilege levels to make sure only good admins have access however if your the only admin you might use just enable passwords.&lt;br /&gt;&lt;br /&gt;You might also want to turn off the web server for configuration as its a security risk but for this example I've left it on (up to you really)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;service password-encryption&lt;/b&gt;&lt;br /&gt;&lt;b&gt;hostname [Router-Name]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;enable secret [Some-Password]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;enable password [Some-Other-Password]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;aaa new-model&lt;/b&gt;&lt;br /&gt;&lt;b&gt;aaa authentication login default local&lt;/b&gt;&lt;br /&gt;&lt;b&gt;aaa authorization exec default local&lt;/b&gt;&lt;br /&gt;&lt;b&gt;aaa session-id common&lt;/b&gt;&lt;br /&gt;&lt;b&gt;ip http server&lt;/b&gt;&lt;br /&gt;&lt;b&gt;ip http secure-server&lt;/b&gt;&lt;br /&gt;&lt;b&gt;line con 0&lt;/b&gt;&lt;br /&gt;&lt;b&gt; password [Some-Password]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;line vty 0 4&lt;/b&gt;&lt;br /&gt;&lt;b&gt; password [Some-Password]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;ip domain name [Domain-name]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;no ip domain lookup&lt;/b&gt;&lt;br /&gt;&lt;b&gt;username [Your-username] privilege 15 password [Your-password]&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;so these are your basic steps, so you should now have enable password and console password protection at least and TELNET/SSH password as well.&lt;br /&gt;&lt;br /&gt;Now we have a secure system we can start to add the configuration first is most likely to be DHCP service if you don't have a DHCP server in the branch office then you'll need to set this up.&lt;br /&gt;&lt;br /&gt;Now in our example we are going to have two VLAN's so will need to scopes also know as pools, another thing to note is the "import all" this takes Imports DHCP settings for DNS from your ISP (doesn't work for PPPoE) you might not want to do this and can use &lt;b&gt;dns-server&lt;/b&gt; if you want to manually configure it and there are sometimes you might want to do this, but that is too much detail for this blog.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ip dhcp excluded-address [Start-exclude-10] [End-exclude-10]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;ip dhcp excluded-address [Start-exclude-20] [End-exclude-20]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;service dhcp&lt;/b&gt;&lt;br /&gt;&lt;b&gt;ip dhcp pool VLAN10&lt;/b&gt;&lt;br /&gt;&lt;b&gt;   network [Network10-ID] [Subnet-mask-10]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;   default-router [Gateway-10]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;   import all&lt;/b&gt;&lt;br /&gt;&lt;b&gt;   domain-name [Domain-name]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;   lease 4&lt;/b&gt;&lt;br /&gt;&lt;b&gt;ip dhcp pool VLAN20&lt;/b&gt;&lt;br /&gt;&lt;b&gt;   network [Network20-ID] [Subnet-mask-20]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;   default-router [Gateway-20]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;   import all&lt;/b&gt;&lt;br /&gt;&lt;b&gt;   domain-name [Domain-name]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;   lease 4&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;So now you should have your two DHCP pools, remember the gateway should be the VLAN interfaces we are about to set up and the IP ranges should match the VLAN IP's&lt;br /&gt;&lt;br /&gt;Before you can do that you need to setup dialer interface, now this time I'm going to use PPPoE however depending on how your internet is pressented you could be using PPPoA&lt;br /&gt;&lt;br /&gt;PPPoE example&lt;br /&gt;&lt;b&gt;vpdn enable&lt;/b&gt;&lt;br /&gt;&lt;b&gt;interface Dialer1&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ip address negotiated&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ip nat outside&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ip virtual-reassembly&lt;/b&gt;&lt;br /&gt;&lt;b&gt; encapsulation ppp&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ip tcp adjust-mss 1452&lt;/b&gt;&lt;br /&gt;&lt;b&gt; dialer pool 1&lt;/b&gt;&lt;br /&gt;&lt;b&gt; dialer-group 1&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ppp authentication pap callin&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ppp pap sent-username [DSL-Username] password [DSL-Password]&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ppp ipcp dns request&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ppp ipcp address accept&lt;/b&gt;&lt;br /&gt;&lt;b&gt;access-list 1 permit [Network10-ID] [Reverse-mask-10]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;access-list 1 permit [Network20-ID] [Reverse-mask-20]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;dialer-list 1 protocol ip list 1&lt;/b&gt;&lt;br /&gt;&lt;b&gt;ip nat inside source list 1 interface Dialer1 overload&lt;/b&gt;&lt;br /&gt;&lt;b&gt;ip access-list extended Guest-ACL&lt;/b&gt;&lt;br /&gt;&lt;b&gt; deny   ip any [Network10-ID] [Reverse-mask-10]&lt;/b&gt;&lt;br /&gt;&lt;b&gt; permit ip any any&lt;/b&gt;&lt;br /&gt;&lt;b&gt;interface FastEthernet4&lt;/b&gt;&lt;br /&gt;&lt;b&gt; pppoe enable&lt;/b&gt;&lt;br /&gt;&lt;b&gt; pppoe-client dial-pool-number 1&lt;/b&gt;&lt;br /&gt;&lt;b&gt; no cdp enable&lt;/b&gt;&lt;br /&gt;&lt;b&gt;ip route 0.0.0.0 0.0.0.0 Dialer1&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;PPPoA example&lt;br /&gt;&lt;b&gt;interface ATM0&lt;/b&gt;&lt;br /&gt;&lt;b&gt; dsl operating-mode auto&lt;/b&gt;&lt;br /&gt;&lt;b&gt; exit&lt;/b&gt;&lt;br /&gt;&lt;b&gt;!&lt;/b&gt;&lt;br /&gt;&lt;b&gt;interface ATM0.1 point-to-point&lt;/b&gt;&lt;br /&gt;&lt;b&gt; pvc 0/38&lt;/b&gt;&lt;br /&gt;&lt;b&gt;  encapsulation aal5mux ppp dialer&lt;/b&gt;&lt;br /&gt;&lt;b&gt;  dialer pool-member 1&lt;/b&gt;&lt;br /&gt;&lt;b&gt; !&lt;/b&gt;&lt;br /&gt;&lt;b&gt; exit&lt;/b&gt;&lt;br /&gt;&lt;b&gt;!&lt;/b&gt;&lt;br /&gt;&lt;b&gt;interface Dialer1&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ip address negotiated&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ip nat outside&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ip virtual-reassembly&lt;/b&gt;&lt;br /&gt;&lt;b&gt; encapsulation ppp&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ip tcp adjust-mss 1452&lt;/b&gt;&lt;br /&gt;&lt;b&gt; dialer pool 1&lt;/b&gt;&lt;br /&gt;&lt;b&gt; dialer-group 1&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ppp authentication chap callin&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ppp chap sent-username [DSL-Username] password [DSL-Password]&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ppp ipcp dns request&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ppp ipcp address accept&lt;/b&gt;&lt;br /&gt;&lt;b&gt;access-list 1 permit [Network10-ID] [Reverse-mask-10]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;access-list 1 permit [Network20-ID] [Reverse-mask-20]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;dialer-list 1 protocol ip list 1&lt;/b&gt;&lt;br /&gt;&lt;b&gt;ip nat inside source list 1 interface Dialer1 overload&lt;/b&gt;&lt;br /&gt;&lt;b&gt;ip access-list extended Guest-ACL&lt;/b&gt;&lt;br /&gt;&lt;b&gt; deny   ip any [Network10-ID] [Reverse-mask-10]&lt;/b&gt;&lt;br /&gt;&lt;b&gt; permit ip any any&lt;/b&gt;&lt;br /&gt;&lt;b&gt;ip route 0.0.0.0 0.0.0.0 Dialer1&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Next we are going to assign the switch ports to VLAN, now you might have FastEthernet4 in use as well depending on if you are using PPPoE or not&lt;br /&gt;&lt;br /&gt;&lt;b&gt;interface FastEthernet0&lt;/b&gt;&lt;br /&gt;&lt;b&gt; switchport access vlan 20&lt;/b&gt;&lt;br /&gt;&lt;b&gt; spanning-tree portfast&lt;/b&gt;&lt;br /&gt;&lt;b&gt;interface FastEthernet1&lt;/b&gt;&lt;br /&gt;&lt;b&gt; switchport access vlan 10&lt;/b&gt;&lt;br /&gt;&lt;b&gt; spanning-tree portfast&lt;/b&gt;&lt;br /&gt;&lt;b&gt;interface FastEthernet2&lt;/b&gt;&lt;br /&gt;&lt;b&gt; switchport access vlan 10&lt;/b&gt;&lt;br /&gt;&lt;b&gt; spanning-tree portfast&lt;/b&gt;&lt;br /&gt;&lt;b&gt;interface FastEthernet3&lt;/b&gt;&lt;br /&gt;&lt;b&gt; switchport access vlan 10&lt;/b&gt;&lt;br /&gt;&lt;b&gt; spanning-tree portfast&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Since we have WLAN on this example I'm also going to use a bridge interface so that both fastethernet ports and Dot11Radio0 can act as one on each VLAN, if you didn't have a WLAN then you could use the VLAN interfaces to assign the IP addresses too.&lt;br /&gt;&lt;br /&gt;Before all of that you'll need to setup the wireless if your router has one, in this example it does, and we are going to set two SSID's&lt;br /&gt;&lt;br /&gt;&lt;b&gt;bridge irb&lt;/b&gt;&lt;br /&gt;&lt;b&gt;interface Dot11Radio0&lt;/b&gt;&lt;br /&gt;&lt;b&gt; encryption vlan 10 mode ciphers tkip&lt;/b&gt;&lt;br /&gt;&lt;b&gt; encryption vlan 20 mode ciphers tkip&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ssid [WLAN20]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;    vlan 20&lt;/b&gt;&lt;br /&gt;&lt;b&gt;    authentication open&lt;/b&gt;&lt;br /&gt;&lt;b&gt;    authentication key-management wpa&lt;/b&gt;&lt;br /&gt;&lt;b&gt;    guest-mode&lt;/b&gt;&lt;br /&gt;&lt;b&gt;    wpa-psk ascii [WPA-secret-for-guests]&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ssid [WLAN10]&lt;/b&gt;&lt;br /&gt;&lt;b&gt;    vlan 10&lt;/b&gt;&lt;br /&gt;&lt;b&gt;    authentication open&lt;/b&gt;&lt;br /&gt;&lt;b&gt;    authentication key-management wpa&lt;/b&gt;&lt;br /&gt;&lt;b&gt;    wpa-psk ascii [WPA-secret-for-internal]&lt;/b&gt;&lt;br /&gt;&lt;b&gt; channel [BG-channel]&lt;/b&gt;&lt;br /&gt;&lt;b&gt; no cdp enable&lt;/b&gt;&lt;br /&gt;&lt;b&gt; no dot11 extension aironet&lt;/b&gt;&lt;br /&gt;&lt;b&gt;interface Dot11Radio0.10&lt;/b&gt;&lt;br /&gt;&lt;b&gt; encapsulation dot1Q 10&lt;/b&gt;&lt;br /&gt;&lt;b&gt; no snmp trap link-status&lt;/b&gt;&lt;br /&gt;&lt;b&gt; bridge-group 10&lt;/b&gt;&lt;br /&gt;&lt;b&gt; bridge-group 10 subscriber-loop-control&lt;/b&gt;&lt;br /&gt;&lt;b&gt; bridge-group 10 spanning-disabled&lt;/b&gt;&lt;br /&gt;&lt;b&gt; bridge-group 10 block-unknown-source&lt;/b&gt;&lt;br /&gt;&lt;b&gt; no bridge-group 10 source-learning&lt;/b&gt;&lt;br /&gt;&lt;b&gt; no bridge-group 10 unicast-flooding&lt;/b&gt;&lt;br /&gt;&lt;b&gt;interface Dot11Radio0.20&lt;/b&gt;&lt;br /&gt;&lt;b&gt; encapsulation dot1Q 20&lt;/b&gt;&lt;br /&gt;&lt;b&gt; no snmp trap link-status&lt;/b&gt;&lt;br /&gt;&lt;b&gt; bridge-group 20&lt;/b&gt;&lt;br /&gt;&lt;b&gt; bridge-group 20 subscriber-loop-control&lt;/b&gt;&lt;br /&gt;&lt;b&gt; bridge-group 20 spanning-disabled&lt;/b&gt;&lt;br /&gt;&lt;b&gt; bridge-group 20 block-unknown-source&lt;/b&gt;&lt;br /&gt;&lt;b&gt; no bridge-group 20 source-learning&lt;/b&gt;&lt;br /&gt;&lt;b&gt; no bridge-group 20 unicast-flooding&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now we need to create the bridge interface that will be used for access list and VLAN assignment.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;interface BVI20&lt;br /&gt; description Bridge to Guest Network&lt;br /&gt; ip address [Gateway-20] [Subnet-mask-20]&lt;br /&gt; ip access-group Guest-ACL in&lt;br /&gt; ip nat inside&lt;br /&gt; ip virtual-reassembly&lt;br /&gt;interface BVI10&lt;br /&gt; description Bridge to Internal Network&lt;br /&gt; ip address [Gateway-10] [Subnet-mask-10]&lt;br /&gt; ip nat inside&lt;br /&gt; ip virtual-reassembly&lt;br /&gt;bridge 10 route ip&lt;br /&gt;bridge 20 route ip&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;next we need to create the VLAN's and assign them to the bridge interfaces.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;interface Vlan10&lt;/b&gt;&lt;br /&gt;&lt;b&gt; description Internal Network&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ip nat inside&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ip virtual-reassembly&lt;/b&gt;&lt;br /&gt;&lt;b&gt; bridge-group 10&lt;/b&gt;&lt;br /&gt;&lt;b&gt; bridge-group 10 spanning-disabled&lt;/b&gt;&lt;br /&gt;&lt;b&gt;interface Vlan20&lt;/b&gt;&lt;br /&gt;&lt;b&gt; description Guest Network&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ip nat inside&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ip virtual-reassembly&lt;/b&gt;&lt;br /&gt;&lt;b&gt; bridge-group 20&lt;/b&gt;&lt;br /&gt;&lt;b&gt; bridge-group 20 spanning-disabled&lt;/b&gt;&lt;br /&gt;&lt;b&gt;interface BVI20&lt;/b&gt;&lt;br /&gt;&lt;b&gt; description Bridge to Guest Network&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ip address [Gateway-20] [Subnet-mask-20]&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ip access-group Guest-ACL in&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ip nat inside&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ip virtual-reassembly&lt;/b&gt;&lt;br /&gt;&lt;b&gt;interface BVI10&lt;/b&gt;&lt;br /&gt;&lt;b&gt; description Bridge to Internal Network&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ip address [Gateway-10] [Subnet-mask-10]&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ip nat inside&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ip virtual-reassembly&lt;/b&gt;&lt;br /&gt;&lt;b&gt;bridge 10 route ip&lt;/b&gt;&lt;br /&gt;&lt;b&gt;bridge 20 route ip&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;And finally the ACL and firewall, but I won't go into deep detail as I've covered this is other postings.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ip inspect name MYFW tcp&lt;/b&gt;&lt;br /&gt;&lt;b&gt;ip inspect name MYFW udp&lt;/b&gt;&lt;br /&gt;&lt;b&gt;ip access-list extended Internet-inbound-ACL&lt;/b&gt;&lt;br /&gt;&lt;b&gt; permit udp any eq bootps any eq bootpc&lt;/b&gt;&lt;br /&gt;&lt;b&gt; permit icmp any any echo&lt;/b&gt;&lt;br /&gt;&lt;b&gt; permit icmp any any echo-reply&lt;/b&gt;&lt;br /&gt;&lt;b&gt; permit icmp any any traceroute&lt;/b&gt;&lt;br /&gt;&lt;b&gt; permit gre any any&lt;/b&gt;&lt;br /&gt;&lt;b&gt; permit esp any any&lt;/b&gt;&lt;br /&gt;&lt;b&gt;int dialer1&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ip inspect MYFW out&lt;/b&gt;&lt;br /&gt;&lt;b&gt; ip access-group Internet-inbound-ACL in&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;And this is now the end of the example however their is one more thing I'd like to add that I never like to give guess networks full speed access to the internet at the expense of others so I've added one list point about setting rate-limit &lt;br /&gt;&lt;br /&gt;&lt;b&gt;interface BVI20&lt;br /&gt;rate-limit output access-group 102 16000 1000 2000 conform transmit exceed drop&lt;br /&gt;rate-limit input access-group 102 16000 1000 2000 conform transmit exceed drop&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;102 = the access-list&lt;br /&gt;16000 = bits/second&lt;br /&gt;1000 = burst bytes&lt;br /&gt;2000 = max burst bytes&lt;br /&gt;&lt;br /&gt;The above example would limit anything matched in ACL 102 (imaginary) to approx 2kbytes/second, that's a bit low I know but its an example normally I limit to around 512kbytes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-3525500094461685840?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/_vuEz4vNkGTCI_elJpDbRg0j6C4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_vuEz4vNkGTCI_elJpDbRg0j6C4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/_vuEz4vNkGTCI_elJpDbRg0j6C4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/_vuEz4vNkGTCI_elJpDbRg0j6C4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/zOPQzzF-NSo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/3525500094461685840/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=3525500094461685840&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/3525500094461685840?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/3525500094461685840?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/zOPQzzF-NSo/branch-office-router-config.html" title="Branch Office Router Config" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_tTBsm6WUtGI/S8INbiGQ4jI/AAAAAAAAAXk/PDO3FOziFmQ/s72-c/cisco_871_a.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2010/04/branch-office-router-config.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04ARXY7fCp7ImA9WxBaEEQ.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-6282998848148911565</id><published>2010-03-20T05:28:00.000-07:00</published><updated>2010-03-20T07:39:04.804-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-03-20T07:39:04.804-07:00</app:edited><title>Scripting Services</title><content type="html">Yes I'm back... sorry was so long between posts but cloud computing can keep even me busy.&lt;br /&gt;&lt;br /&gt;OK down to business when dealing with Windows services and scripting it isn't always as easy as it first sounds, today I'm going to show you how to use &lt;b&gt;SC&lt;/b&gt; command as this is the Swiss army knife of service in windows.&lt;br /&gt;&lt;br /&gt;First of all you need to know if the service needs to be interact or not (Hear the question what does he mean) well an example of this is some Java applications that need to run Java Virtual Machine in order to run, however this can not be done as JVM runs in user session (interact) so you would need to start it with interactively this is something that NET START doesn't have the option for.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note&lt;/b&gt; If you are not sure what service are running this way you can use &lt;b&gt;sc query type= interact&lt;/b&gt; to list them.&lt;br /&gt;&lt;br /&gt;The point to this is that simple &lt;b&gt;NET START DEMO_SERVICE&lt;/b&gt; won't work as this doesn't have access to user sessions, so although you can stop the service using &lt;b&gt;NET STOP DEMO_SERVICE&lt;/b&gt; it won't start again NET START&lt;br /&gt;&lt;br /&gt;Now to fix this problem we have SC command example&lt;br /&gt;&lt;b&gt;sc start demo_service&lt;/b&gt;&lt;br /&gt;SC command can also be used for changing the service startup type something that can't be done with simple NET START and STOP commands&lt;br /&gt;&lt;br /&gt;For example we want to change demo_service to auto from disabled we can use&lt;br /&gt;&lt;b&gt;sc config demo_service start= auto&lt;/b&gt;&lt;br /&gt;Or if you wanted to disable it you could use disabled instated of auto and demand (demand means manual)&lt;br /&gt;&lt;b&gt;sc config demo_service start= disabled&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now I'm sure some of you are thinking this is great but when would I even use all this?&lt;br /&gt;&lt;br /&gt;Well now for the real world example lets say you have 200 servers using a service account Domain\java_user that starts the Java application you believe that the password has been compromised, now as you can imagine this would be a few hours work to change the password on each server manually.&lt;br /&gt;&lt;br /&gt;So using your PSEXEC command has shown in previous postings to run &lt;b&gt;sc config app_service password= NewPa55W0rd&lt;/b&gt; to change the service account password on all affected servers.&lt;br /&gt;&lt;br /&gt;then you run&lt;br /&gt;&lt;b&gt;sc stop app_service&lt;/b&gt;&lt;br /&gt;again with PSEXEC against all the servers and finally&lt;br /&gt;&lt;b&gt;sc start app_service&lt;/b&gt;&lt;br /&gt;to start the services again.&lt;br /&gt;&lt;br /&gt;result 200 servers with password changed and applied in less then 20 minutes with only 3 command lines.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note&lt;/b&gt; when doing this in real world you would have them done in maybe two groups or more on load balanced network so you don't create an outage of the application when doing this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-6282998848148911565?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/WrQLegOHntlgZc0PCdaOTZJJWHM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WrQLegOHntlgZc0PCdaOTZJJWHM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/WrQLegOHntlgZc0PCdaOTZJJWHM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WrQLegOHntlgZc0PCdaOTZJJWHM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/SLbEup_DD6g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/6282998848148911565/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=6282998848148911565&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/6282998848148911565?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/6282998848148911565?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/SLbEup_DD6g/scripting-services.html" title="Scripting Services" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2010/03/scripting-services.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcARno9cSp7ImA9WxNUF0g.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-2916849098117363634</id><published>2009-11-04T11:35:00.000-08:00</published><updated>2009-11-09T00:40:47.469-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-09T00:40:47.469-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Windows" /><category scheme="http://www.blogger.com/atom/ns#" term="SQL" /><title>SQL 2008 on VMware</title><content type="html">Microsoft SQL on VMware is not as simple if you want to get the best of it because there are a few more things to take into account when building the server.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So after looking at this I decided to put some other guide lines down for virtual server running Microsoft SQL, so here they are.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1) Priority Boost&lt;/b&gt;,By default, the priority boost setting is 0, which causes SQL Server to run at a normal priority whether you run SQL Server on a uniprocessor computer or on a symmetric multiprocessor (SMP) computer. I recommend you change this to 1 and this will cause SQL Server process runs at a high priority.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2) Enable large-page&lt;/b&gt;, Trace flag 834: Use Microsoft Windows large-page allocations for the buffer pool.&lt;br /&gt;&lt;br /&gt;Trace flag 834 applies only to 64-bit versions of SQL Server. You must have the Lock pages in memory user right to turn on trace flag 834. You can turn on trace flag 834 only at startup.&lt;br /&gt;&lt;br /&gt;Trace flag 834 causes SQL Server to use Microsoft Windows large-page allocations for the memory that is allocated for the buffer pool. The page size varies depending on the hardware platform, but the page size may be from 2 MB to 16 MB. Large pages are allocated at startup and are kept throughout the lifetime of the process. Trace flag 834 improves performance by increasing the efficiency of the translation look-aside buffer (TLB) in the CPU.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;3) Disk Alignment&lt;/b&gt;, should be set 1024k and NTFS Allocation Unit Size.&lt;br /&gt;&lt;br /&gt;When formatting the partition that will be used for SQL Server data files, it is recommended that you use a 64-KB allocation unit size for data, logs, and tempdb.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;4) If more than 3 GB is desired&lt;/b&gt;, use 64-bit versions of the OS and application.&lt;br /&gt;&lt;br /&gt;VMware recommend this for all Microsoft SQL server versions.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;5) change virtual disk heap&lt;/b&gt;, VMFS3 max heap size from 16MB to 64MB&lt;br /&gt;&lt;br /&gt;This applies to older version of ESX server mostly.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And there you have it the 5 points to tuning you Microsoft SQL server on VMware, by the way the one thing I left out was regarding how to setup your SAN storage for best I/O, there was a reason for this related to the size of the posting needed to explain how to setup the storage best and because of the number of type of SAN devices on the market.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-2916849098117363634?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/BM395Yz1oAjTcGCmNRe1jP5K-wo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BM395Yz1oAjTcGCmNRe1jP5K-wo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/BM395Yz1oAjTcGCmNRe1jP5K-wo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/BM395Yz1oAjTcGCmNRe1jP5K-wo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/rynYxZJt2yQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/2916849098117363634/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=2916849098117363634&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/2916849098117363634?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/2916849098117363634?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/rynYxZJt2yQ/sql-2008-on-vmware.html" title="SQL 2008 on VMware" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2009/11/sql-2008-on-vmware.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D08NSX87eip7ImA9WxNUF0g.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-8186081406813281981</id><published>2009-10-26T14:28:00.000-07:00</published><updated>2009-11-09T00:38:18.102-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-09T00:38:18.102-08:00</app:edited><title>SQL 2005 tunning</title><content type="html">Almost any administrator can install Microsoft SQL Server after all doesn't take a great deal of knowledge to click next, but how many of us really have optimized systems?&lt;br /&gt;&lt;br /&gt;Here are some useful pointers.&lt;br /&gt;&lt;br /&gt;Do you have optimised drives for SQL currently the best setup is 1024K partition alignment this formatting must be done from diskpart in windows version 2000 and 2003 by default window 2008 uses 1024K alignment, you should have ideally have a minimum of three drives for your databases&lt;br /&gt;one dive dedicated to tempdb&lt;br /&gt;one or more drives dedicated to .mdf and .ndf data files&lt;br /&gt;one or more drives dedicated to .ldf log files&lt;br /&gt;and these drives should ideally be on two or more RAID controllers.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After the SQL server has been installed the first thing you should do is correct the default database locations so that new database are created on the correct drives.&lt;br /&gt;&lt;p class="MsoNormal" style="margin-left:.5in"&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;USE&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt; [master]&lt;br /&gt;GO&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;EXEC&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt; xp_instance_regwrite N&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:red;"&gt;'HKEY_LOCAL_MACHINE'&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;, N&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:red;"&gt;'Software\Microsoft\MSSQLServer\MSSQLServer'&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in"&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;N&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:red;"&gt;'DefaultData'&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font:minor-latin; font-family:Calibri;font-size:9.0pt;color:black;"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in"&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;REG_SZ, N&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:red;"&gt;'E:\Microsoft SQL Server\MSSQL.1\MSSQL\Data’&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;EXEC&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt; xp_instance_regwrite N&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:red;"&gt;'HKEY_LOCAL_MACHINE'&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;, N&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:red;"&gt;'Software\Microsoft\MSSQLServer\MSSQLServer'&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in"&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;N&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:red;"&gt;'DefaultLog'&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font:minor-latin; font-family:Calibri;font-size:9.0pt;color:black;"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in"&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;REG_SZ, N&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:red;"&gt;'E:\Microsoft SQL Server\MSSQL.1\MSSQL\Data’&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;&lt;br /&gt;GO&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Move the tempdb&lt;/b&gt; database this will have been located in the same directory as the system databases and this should be on its own drive this is done by running SQL query then restarting the SQL service after.&lt;br /&gt;&lt;p class="MsoNormal" style="margin-left:.5in"&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;USE [&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;master]&lt;/span&gt;&lt;/code&gt;&lt;span style="Courier New&amp;quot;;font-family:&amp;quot;;font-size:9.0pt;color:black;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;code&gt;&lt;span style="mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;GO&lt;/span&gt;&lt;/code&gt;&lt;span style="Courier New&amp;quot;;font-family:&amp;quot;;font-size:9.0pt;color:black;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;code&gt;&lt;span style="mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;ALTER DATABASE &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;TempDB MODIFY &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;FILE&lt;/span&gt;&lt;/code&gt;&lt;span style=" Courier New&amp;quot;;font-family:&amp;quot;;font-size:9.0pt;color:blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;code&gt;&lt;span style="mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;"&gt;(&lt;span style="color:black;"&gt;NAME &lt;/span&gt;&lt;span style="color:blue;"&gt;= &lt;/span&gt;&lt;span style="color:black;"&gt;tempdev&lt;/span&gt;, &lt;span style="color:black;"&gt;FILENAME &lt;/span&gt;&lt;span style="color:blue;"&gt;= &lt;/span&gt;&lt;span style="color:red;"&gt;'D:\Microsoft SQL Server\MSSQL.1\MSSQL\Data\tempdb.mdf'&lt;/span&gt;)&lt;/span&gt;&lt;/code&gt;&lt;span style="Courier New&amp;quot;;font-family:&amp;quot;;font-size:9.0pt;color:gray;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;code&gt;&lt;span style="mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;GO&lt;/span&gt;&lt;/code&gt;&lt;span style="Courier New&amp;quot;;font-family:&amp;quot;;font-size:9.0pt;color:black;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;code&gt;&lt;span style="mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;ALTER DATABASE &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;TempDB MODIFY &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;FILE&lt;/span&gt;&lt;/code&gt;&lt;span style=" Courier New&amp;quot;;font-family:&amp;quot;;font-size:9.0pt;color:blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;code&gt;&lt;span style="mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;"&gt;(&lt;span style="color:black;"&gt;NAME &lt;/span&gt;&lt;span style="color:blue;"&gt;= &lt;/span&gt;&lt;span style="color:black;"&gt;templog&lt;/span&gt;, &lt;span style="color:black;"&gt;FILENAME &lt;/span&gt;&lt;span style="color:blue;"&gt;= &lt;/span&gt;&lt;span style="color:red;"&gt;'D:\Microsoft SQL Server\MSSQL.1\MSSQL\Data\templog.ldf'&lt;/span&gt;)&lt;/span&gt;&lt;/code&gt;&lt;span style="Courier New&amp;quot;;font-family:&amp;quot;;font-size:9.0pt;color:gray;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;code&gt;&lt;span style="mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;GO&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Move the Model database&lt;/b&gt; stop sql server and start the instance from command line using&lt;br /&gt;&lt;b&gt;NET START MSSQLSERVER /c /m /T3608&lt;/b&gt; then run the following SQL query to detach the model database.&lt;br /&gt;&lt;p class="MsoNormal" style="margin-left:.5in"&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;USE&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt; [master]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in"&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;go&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in"&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:#C00000;"&gt;sp_detach_db&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt; &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:red;"&gt;'model'&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in"&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;go&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;br /&gt;Move the Model.mdf and Modellog.ldf files from the origanle location C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data folder to the new location example:&lt;br /&gt;E:\Microsoft SQL Server\MSSQL.1\MSSQL\Data.&lt;br /&gt;Reattach the model database by using the following commands:&lt;br /&gt;&lt;p class="MsoNormal" style="margin-left:.5in"&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;use&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt; [master]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in"&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;go&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in"&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:#C00000;"&gt;sp_attach_db&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt; &lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:red;"&gt;'model'&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in"&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:red;"&gt;'E:\Microsoft SQL Server\MSSQL.1\MSSQL\Data\model.mdf'&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in"&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:red;"&gt;'E:\Microsoft SQL Server\MSSQL.1\MSSQL\Data\modellog.ldf'&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span style="mso-fareast-mso-fareast-theme-font: minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left:.5in"&gt;&lt;code&gt;&lt;span style=" mso-fareast-mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:black;"&gt;go&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;Now stop the SQL server and start it normally from windows services.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt; Make sure the directory structre exists before moving the Database&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;For best performance&lt;/b&gt; tempdb should have one data file per physical CPU assigned to SQL server, due core counts as two CPU however hyperthread does not, to find the correct number you can use the following script.&lt;br /&gt;&lt;p class="MsoNormal" style="margin-left:.5in"&gt;&lt;span class="Apple-style-span"   style="font-family:Calibri;color:#0000FF;"&gt;&lt;span class="Apple-style-span"  style="font-size:-webkit-xxx-large;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"   style="font-family:Calibri;color:#0000FF;"&gt;&lt;p class="MsoNormalCxSpFirst" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;strComputer = "." &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;Set objWMIService = GetObject("winmgmts:\\" &amp;amp; strComputer &amp;amp; "\root\CIMV2") &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;Set colCSes = objWMIService.ExecQuery("SELECT * FROM Win32_ComputerSystem")&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;For Each objCS In colCSes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;WScript.Echo "Computer Name: " &amp;amp; objCS.Name&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;WScript.Echo "System Type: " &amp;amp; objCS.SystemType&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;WScript.Echo "Number Of Physical Processors: " &amp;amp; objCS.NumberOfProcessors&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;Next&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;i=0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Processor") &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;For Each objItem in colItems &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;Wscript.Echo&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;Wscript.Echo "==================="&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;Wscript.Echo "== Processor " &amp;amp; i &amp;amp; " =="&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;Wscript.Echo "==================="&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;Wscript.Echo "Processor: " &amp;amp; objItem.Name&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;Wscript.Echo "NumberOfCores: " &amp;amp; objItem.NumberOfCores&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;Wscript.Echo "NumberOfLogicalProcessors: " &amp;amp; objItem.NumberOfLogicalProcessors&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;i=i+1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p class="MsoNormalCxSpMiddle" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="line-height:115%;mso-fareast- mso-fareast-theme-font:minor-latin;font-family:Calibri;font-size:9.0pt;color:blue;"&gt;Next&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The same can be done on Windows 2008 by WMIC&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;p class="MsoNormalCxSpFirst" style="margin-left:.5in;mso-add-space:auto"&gt;&lt;code&gt;&lt;span style="font-size:9.0pt;line-height:115%;mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin;color:blue"&gt;wmic cpu get NumberOfCores, NumberOfLogicalProcessors&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;&lt;br /&gt;&lt;b&gt;For best performance&lt;/b&gt; you need to grant the SQL service account rights to &lt;b&gt;“lock pages in memory”&lt;/b&gt; and &lt;b&gt;“Perform volume maintenance tasks"&lt;/b&gt; this can be done by editing the local policy on the server using gpedit.msc or by domain policy assigned to these servers.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt; Windows server restart is needed for policy to take affect.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Changing the SQL startup parameters&lt;/b&gt; to opermise the system here are some example ones to use on x64 servers parameters: -c -E -T834 -T2301&lt;br /&gt;&lt;br /&gt;-E Increase the number of consecutive extents allocated per file to 4&lt;br /&gt;&lt;br /&gt;-T2301 trace flag to enable more accurate query run-time behavior modeling in the SQL Server query optimizer typically only needed for large data set decision support processing.&lt;br /&gt;&lt;br /&gt;- T834 On systems with 8GB or more, this traceflag causes the buffer pool to use large pages. These are allocated at startup and are kept throughout the lifetime of the process. This trace flag can only be set on 64-bit&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt; If the system is not x64 and has less than 8GB of RAM do not use these switches&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This concludes my notes for Microsoft SQL 2005 installation, please remember that these are some of the things that I have found to be of some use and I just didn't want to go into all of them in detail because I've not enough time in this posting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-8186081406813281981?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/xL1OVlxWEasavVqq92Zsd6v-ecs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xL1OVlxWEasavVqq92Zsd6v-ecs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/xL1OVlxWEasavVqq92Zsd6v-ecs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/xL1OVlxWEasavVqq92Zsd6v-ecs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/_36xM5v8Yz4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/8186081406813281981/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=8186081406813281981&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/8186081406813281981?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/8186081406813281981?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/_36xM5v8Yz4/sql-2005-tunning.html" title="SQL 2005 tunning" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2009/10/sql-2005-tunning.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEFRX04eyp7ImA9WxNQEko.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-1759083796384689022</id><published>2009-09-14T00:59:00.000-07:00</published><updated>2009-09-18T03:43:34.333-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-09-18T03:43:34.333-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="USB flash drive" /><category scheme="http://www.blogger.com/atom/ns#" term="Application" /><category scheme="http://www.blogger.com/atom/ns#" term="DMZ" /><category scheme="http://www.blogger.com/atom/ns#" term="Security" /><category scheme="http://www.blogger.com/atom/ns#" term="Business" /><category scheme="http://www.blogger.com/atom/ns#" term="Mobile device" /><category scheme="http://www.blogger.com/atom/ns#" term="Operating system" /><category scheme="http://www.blogger.com/atom/ns#" term="Patch" /><title>Legal Responsability</title><content type="html">Where does accountability lay for security both virtual and physical within your company.&lt;br /&gt;&lt;br /&gt;We all know the basics like servers are responsibility of your IT staff, but this not the only part, to be honest there are around three main areas of responsibility.&lt;br /&gt;&lt;br /&gt;Corporate responsibility, this is the mostly the legal parts of the business we will cover this shortly.&lt;br /&gt;Then we have the Application responsibility this mostly patching and other such vendor related issues, this still fits into your IT department and lastly User responsibility.&lt;br /&gt;&lt;br /&gt;With Corporate responsibility is a fuzzy area for most IT departments as they have never be trained in legal profession, so start to think  of all the legal aspects of the IT. First think about what happens with all the software you have, and is it really licensed correctly? this can cost a company thousands if there is an audit call and you have missing licenses.&lt;br /&gt;&lt;br /&gt;Second have you ever dismissed someone that put a USB key or other removable device into the network that caused an outage ? did you explain to the before this that they shouldn't do it... in black and white? because you can't just dismiss someone for breaking the rules if you haven't first shown them the rules, this come under desktop usage policy. otherwise the company leaves its self open to a counter case for unfair dismissal.&lt;br /&gt;&lt;br /&gt;In the case of Application vendors the responsibility to patch security holes is almost voluntary, and even with those that are providing the patches it can often be later to be released. However this does not discount you from following best practice on your network, in fact despite the large number of security hole in software most can be overcome by using DMZ and Layer 3 and 4 switches to prevent undesired traffic. Remember that if you are going to court because a hole is a vendors software cost you millions you have to first make sure you where not leaving the security gate open first.&lt;br /&gt;&lt;br /&gt;Lastly the rouge user, these can be at any level within the company from data entry to CEO and can represent a real risk because of the date loss and business impact of that loss.&lt;br /&gt;&lt;br /&gt;If alarm bells aren’t already ringing in your head it means ether you’ve covered these points or you a foolish soul indeed.&lt;br /&gt;&lt;br /&gt;Here is a quick check list of thing you should have.&lt;br /&gt;&lt;br /&gt;1) Clear desktop usage policy, ideally this should be attached to the employee hand book so all employees read it, and should be reminded by a logon banner of some kind. (Remember if it’s not written down you can’t tell them off for it.)&lt;br /&gt;&lt;br /&gt;2) Applications and operating systems are not built proof however they can be hardened, enable the firewalls on the operating system, use layer 3 and 4 switches to control unwanted traffic and use DMZ’s for critical system not just public facing systems such as web and email server. (I know it’s a lot of effort I know but it’s all worth it, and the reward of having a working network when others are down is great feeling.)&lt;br /&gt;&lt;br /&gt;3) Say no to local data… storing data on laptops and or other removable devices is a security risk at best a foolhardy most of the time. (yes a laptop is a removable device; you take it from the company don’t you?)  Try to use terminal services where possible to avoid risk of data leaving the company from theft, encrypt and password protect backup media.  If users need to get their email on the go use give them a netbook/notebook as mobile device and other device do not have encryption and if stolen the data/inbox they are connected to has been compromised. There have been cases from banks to military where this has happened no one is above suspicion. It could be the lonely sales guy or the CEO that has his laptop stolen so make sure the data is no on the laptop, centralized applications, this will also give greater control over how the information is seen and prevent office documents containing corporate data leaving the enterprise network.&lt;br /&gt;&lt;br /&gt;The last thing and this is for your own protection have a formal risk acceptance form for Managers to sign, this is for example when they don't want to do as you want and what you know is in the best interests of security, write down the risks and get them to sign it and don't do anything till they sign it because other wise it's your job that is on the line.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/201b594f-f240-43a6-bcd1-c3c19f6e7b27/" title="Reblog this post [with Zemanta]"&gt;&lt;img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png?x-id=201b594f-f240-43a6-bcd1-c3c19f6e7b27" alt="Reblog this post [with Zemanta]"&gt;&lt;/a&gt;&lt;span class="zem-script more-related pretty-attribution"&gt;&lt;script type="text/javascript" src="http://static.zemanta.com/readside/loader.js" defer="defer"&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-1759083796384689022?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/WuXp-DyThUb0y7MC-W78kngXMBc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WuXp-DyThUb0y7MC-W78kngXMBc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/WuXp-DyThUb0y7MC-W78kngXMBc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/WuXp-DyThUb0y7MC-W78kngXMBc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/ndNX2ydb2u0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/1759083796384689022/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=1759083796384689022&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/1759083796384689022?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/1759083796384689022?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/ndNX2ydb2u0/legal-responsability.html" title="Legal Responsability" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2009/09/legal-responsability.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIBQno9fip7ImA9WxJVF0U.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-3585358344190634358</id><published>2009-07-07T04:49:00.000-07:00</published><updated>2009-07-05T02:52:33.466-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-05T02:52:33.466-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Router" /><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu" /><category scheme="http://www.blogger.com/atom/ns#" term="Site Management" /><category scheme="http://www.blogger.com/atom/ns#" term="Log Analysis" /><title>Using Ubuntu Syslog with Cisco</title><content type="html">Today I decided to show you how to log your cisco to a syslog server on ubuntu.&lt;br /&gt;&lt;br /&gt;Before we begin, backup the files as you never know when you'll change something you didn't mean to&lt;br /&gt;&lt;b&gt;cp /etc/syslog.conf /etc/syslog.conf.ididamistake&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;sudo /etc/syslog.conf&lt;br /&gt;Add the following lines:&lt;br /&gt;&lt;b&gt;#router logging&lt;br /&gt;local6.debug  /var/log/cisco.log&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This means send all messages from facility local6, with a priority of debug or greater, to /var/log/cisco.log&lt;br /&gt;&lt;br /&gt;if this is not enough for you can always use local6.* this can be over kill but very useful&lt;br /&gt;&lt;br /&gt;if you haven't already then you'll need to create the logfile&lt;br /&gt;&lt;b&gt;sudo touch /var/log/cisco.log&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;you'll need to enable syslog to accept messages from remote machines by editing&lt;br /&gt;&lt;b&gt;sudo nano /etc/default/syslogd&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;to add the -r option:&lt;br /&gt;&lt;b&gt;SYSLOGD="-r"&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now restart the syslog daemon.&lt;br /&gt;&lt;b&gt;sudo /etc/rc2.d/S10sysklogd restart&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;you can now create a test message into the syslog to see if its logging&lt;br /&gt;&lt;b&gt;logger -p local6.debug "is this working?"&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;cat /var/log/cisco.log, you should see the line above.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now, we have a little problem the message as also been posted to other log files in /etc/syslog.conf (such as /var/log/syslog, /var/log/messages, and /var/log/debug).&lt;br /&gt;We don’t want the messages from the router mixed in with the system messages.&lt;br /&gt;Edit /etc/syslog.conf to include exceptions for local6 anywhere we have an *.[whatever], like so:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;*.*;local6.none;\&lt;br /&gt;auth,authpriv.none        -/var/log/syslog&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Restart the syslog daemon again.&lt;br /&gt;&lt;br /&gt;Test that your config is working as expected for each in debug info notice warn err crit alert emerg panic&lt;br /&gt;so run do&lt;br /&gt;&lt;b&gt;logger -p local6.debug "is this working?"&lt;/b&gt;&lt;br /&gt;&lt;b&gt;logger -p local6.warn "is this working?"&lt;/b&gt;&lt;br /&gt;&lt;b&gt;logger -p local6.info "is this working?"&lt;/b&gt;&lt;br /&gt;&lt;b&gt;logger -p local6.err "is this working?"&lt;/b&gt;&lt;br /&gt;these should only go to cisco.log&lt;br /&gt;&lt;br /&gt;Check /var/log/cisco.log, /var/log/syslog, /var/log/debug, and /var/log/messages - messages should only be in cisco.log.&lt;br /&gt;&lt;br /&gt;Now that your syslog server is setup you need to configure the router to send the messages to the server.&lt;br /&gt;&lt;br /&gt;Configure your router to send messages to the log host couldn't be easier.&lt;br /&gt;&lt;b&gt;config t&lt;br /&gt;logging [ip address of your ubuntu box]&lt;br /&gt;logging facility local6&lt;br /&gt;logging history [severity]&lt;br /&gt;logging on&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Your version of IOS may require different commands. Have fun with that.&lt;br /&gt;&lt;br /&gt;Logging severity level&lt;br /&gt;emergencies    System is unusable                (severity=0)&lt;br /&gt;alerts         Immediate action needed           (severity=1)&lt;br /&gt;critical       Critical conditions               (severity=2)&lt;br /&gt;errors         Error conditions                  (severity=3)&lt;br /&gt;warnings       Warning conditions                (severity=4)&lt;br /&gt;notifications  Normal but significant conditions (severity=5)&lt;br /&gt;informational  Informational messages            (severity=6)&lt;br /&gt;debugging      Debugging messages                (severity=7)&lt;br /&gt;&lt;br /&gt;Normally I stick with informational (sev=6) debugging can create too much info and unless you have an issue with a router I wouldn't use it.&lt;br /&gt;&lt;br /&gt;Compare the logging buffer on your router (”sh logging”) with the file on your log server;  messages since you made the change should also be going to the server.&lt;br /&gt;If not, make sure you can reach the log server from the router, and that port 514 isn’t blocked anywhere, other wise this won't work.&lt;br /&gt;&lt;br /&gt;Now we don't want the log file to get too big so we'll setup a log rotation&lt;br /&gt;Add this to &lt;b&gt;sudo nano /etc/logrotate.conf&lt;/b&gt; below the “system-specific logs may be configured here”&lt;br /&gt;&lt;b&gt;/var/log/cisco.log {&lt;br /&gt;missingok&lt;br /&gt;compress&lt;br /&gt;notifempty&lt;br /&gt;daily&lt;br /&gt;rotate 7&lt;br /&gt;size 5M&lt;br /&gt;}&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Remember you many need to change this depending on the number of messages you get, you can expand the size of the file as well and if you have access-list that have the logging option on the file can get quite large.&lt;br /&gt;&lt;i&gt;&lt;a href="http://linuxcommand.org/man_pages/logrotate8.html"&gt;If you'd like to lean more about the logging options here is a useful link&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/e994a91a-feef-4ea6-8cf0-4991df7d3c5d/" title="Reblog this post [with Zemanta]"&gt;&lt;img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png?x-id=e994a91a-feef-4ea6-8cf0-4991df7d3c5d" alt="Reblog this post [with Zemanta]"&gt;&lt;/a&gt;&lt;span class="zem-script more-related pretty-attribution"&gt;&lt;script type="text/javascript" src="http://static.zemanta.com/readside/loader.js" defer="defer"&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-3585358344190634358?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Gawwmf_s64UEa6BN-tId-5M3ce8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Gawwmf_s64UEa6BN-tId-5M3ce8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Gawwmf_s64UEa6BN-tId-5M3ce8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Gawwmf_s64UEa6BN-tId-5M3ce8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/Dg7olpW2Fcg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/3585358344190634358/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=3585358344190634358&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/3585358344190634358?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/3585358344190634358?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/Dg7olpW2Fcg/using-ubuntu-syslog-with-cisco.html" title="Using Ubuntu Syslog with Cisco" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2009/06/using-ubuntu-syslog-with-cisco.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8ER3c6cSp7ImA9WxJVFEU.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-8310956754399232180</id><published>2009-07-01T04:42:00.000-07:00</published><updated>2009-07-01T14:13:26.919-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-01T14:13:26.919-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Logging" /><category scheme="http://www.blogger.com/atom/ns#" term="Apache" /><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu" /><title>Apache Security</title><content type="html">As web servers go Apache is one I like allot, its stable and very light foot print is great. After install its ready to run no big mods needed, however on this that does need to be addressed is security of the account, it runs under.&lt;br /&gt;&lt;br /&gt;I'm noticed that a number of people do not setup any user account for Apache leaving it to run under services, this can open up services to web hackers that can then read the list of running services and use this to find other exploits of the system.&lt;br /&gt;&lt;br /&gt;Create an account with a name such as: apache, which runs the web server software. Since this account will never be used to log into for shell access, we do not need to create the normal user account login files&lt;br /&gt;&lt;br /&gt;On Ubuntu this is done like so &lt;b&gt;sudo groupadd apache &amp;amp;&amp;amp; useradd apache -g apache -d /dev/null -s /sbin/nologin&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;before editing the apache2.conf I would recommend you make a but up of the file&lt;br /&gt;&lt;i&gt;cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.dontmessthisup&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Now add the user to the apache2.conf file for Apache to use.&lt;br /&gt;&lt;b&gt;sudo nano /etc/apache2/apache2.conf&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;add the following lines to the apache2.conf&lt;br /&gt;&lt;b&gt;User apache&lt;br /&gt;Group apache&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;save and close the file and then you'll need to restart Apache to take affect&lt;br /&gt;&lt;b&gt;sudo /etc/init.d/apache2 restart&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Another good security tip for websites that have transactions and other internet sales related activity is to change the logging to use syslog this can be done by editing apache2.conf to change the ErrorLog line from;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;ErrorLog /var/log/apache2/error.log&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;To syslog&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ErrorLog syslog:local7&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This will log to syslog now as local7&lt;br /&gt;You will need to add a few lines to syslog.conf for it to handle the new logging information.&lt;br /&gt;&lt;br /&gt;Again I recommended you create a copy of the syslog.conf before editing it.&lt;br /&gt;&lt;i&gt;cp /etc/syslog.conf /etc/syslog.conf.dontmessthisup&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Now to edit the syslog&lt;br /&gt;&lt;b&gt;sudo nano /etc/syslog.conf&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;At the bottom of the file add the following lines&lt;br /&gt;&lt;b&gt;#Apache Logging&lt;br /&gt;local7.* /var/log/apache2/error.log&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;you'll need to restart the syslog for the change to take affect&lt;br /&gt;sudo /etc/rc2.d/S10sysklogd restart&lt;br /&gt;&lt;br /&gt;you can now test the syslog by creating a message into the log&lt;br /&gt;&lt;b&gt;logger -p local7.debug "this is working"&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;we can now check the log&lt;br /&gt;&lt;b&gt;cat /var/log/apache2/error.log&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;You should now see your test line something like this&lt;br /&gt;&lt;i&gt;server root: this is working&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/6edff49f-2bbb-48d6-a72d-289ba88c0de3/" title="Reblog this post [with Zemanta]"&gt;&lt;img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png?x-id=6edff49f-2bbb-48d6-a72d-289ba88c0de3" alt="Reblog this post [with Zemanta]"&gt;&lt;/a&gt;&lt;span class="zem-script more-related pretty-attribution"&gt;&lt;script type="text/javascript" src="http://static.zemanta.com/readside/loader.js" defer="defer"&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-8310956754399232180?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/EIWc7AB2vOzkxYT7YFrvX6Rklvg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EIWc7AB2vOzkxYT7YFrvX6Rklvg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/EIWc7AB2vOzkxYT7YFrvX6Rklvg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/EIWc7AB2vOzkxYT7YFrvX6Rklvg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/7NAd1G4tFso" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/8310956754399232180/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=8310956754399232180&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/8310956754399232180?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/8310956754399232180?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/7NAd1G4tFso/apache-security.html" title="Apache Security" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2009/07/apache-security.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ak4MRX0yeCp7ImA9WxJVEUw.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-3956531717106264176</id><published>2009-06-21T08:24:00.000-07:00</published><updated>2009-06-27T09:09:44.390-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-27T09:09:44.390-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Insert" /><category scheme="http://www.blogger.com/atom/ns#" term="Null" /><category scheme="http://www.blogger.com/atom/ns#" term="Database" /><category scheme="http://www.blogger.com/atom/ns#" term="SQL" /><title>How to write your own capacity management tool</title><content type="html">Nothing is better that a free tool, except maybe one you've made yourself.&lt;br /&gt;So here is one I made to collect all the drive space and free space on them into a SQL database.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;PART ONE&lt;/b&gt;&lt;br /&gt;First of all we need to collect the data from each PC, how you could use a manual list of all the servers but when I was writing this list I was feeling lazy to I used the NET VIEW command to create the list for me, then using &lt;a class="zem_slink" href="http://en.wikipedia.org/wiki/WMIC" title="WMIC" rel="wikipedia"&gt;WMIC&lt;/a&gt; commands to query all the PC for space, just take the code below and save it to a bat or cmd file and you can create the report just by double clicking.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;for /f "delims=\ " %%i in ('net view ^| findstr "\\"') do @echo %%i &amp;gt;&amp;gt; servers.txt&lt;br /&gt;del c:\reports\SRVSPACE.CSV&lt;br /&gt;FOR /F %%A IN (servers.txt) DO (&lt;br /&gt;       WMIC /Node:%%A LogicalDisk Where DriveType="3" Get DeviceID,FileSystem,FreeSpace,Size /Format:csv | MORE /E +2 &amp;gt;&amp;gt; c:\reports\SRVSPACE.CSV&lt;br /&gt;   )&lt;br /&gt;&lt;br /&gt;del servers.txt&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;you could collect more details or change what is collected this was just an example, remember that anything that you can collect in CSV format is easy to import into SQL where reporting services can provide charts and reports that can be scheduled to be sent to your inbox if you so wish.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;PART TWO&lt;/b&gt;&lt;br /&gt;in the first part we showed the example of creating the csv file that we are importing into SQL so now we need a database and a table to store it.&lt;br /&gt;&lt;br /&gt;The following script creates the database the table and the SQL job that will run the import, by creating more table and columns you can add more reports and create a powerful tool to monitor your network not just your hard drives.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;--Create DATABASE Capacity_DB&lt;br /&gt;USE MASTER&lt;br /&gt;CREATE DATABASE Capacity_DB&lt;br /&gt;go&lt;br /&gt;&lt;br /&gt;--create table Capacity&lt;br /&gt;USE Capacity_DB&lt;br /&gt;CREATE TABLE Capacity&lt;br /&gt;&lt;br /&gt;--create columns&lt;br /&gt;(Node VARCHAR(40),&lt;br /&gt;Drive VARCHAR(40),&lt;br /&gt;Format VARCHAR(40),&lt;br /&gt;Freespace VARCHAR(40),&lt;br /&gt;TotalSpace VARCHAR(40),&lt;br /&gt;Collection_Date VARCHAR(40))&lt;br /&gt;&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;use Capacity_DB&lt;br /&gt;go&lt;br /&gt;--create procedure that will be late used by SQL job&lt;br /&gt;CREATE PROCEDURE SP_CapacityImport&lt;br /&gt;AS&lt;br /&gt;-- create temp table&lt;br /&gt;CREATE TABLE #cmimport &lt;br /&gt;(Node VARCHAR(40),&lt;br /&gt;Drive VARCHAR(40),&lt;br /&gt;Format VARCHAR(40),&lt;br /&gt;Freespace VARCHAR(40),&lt;br /&gt;TotalSpace VARCHAR(40))&lt;br /&gt;&lt;br /&gt;--import from CSV file&lt;br /&gt;BULK&lt;br /&gt;INSERT #cmimport&lt;br /&gt;FROM 'c:\reports\SRVSPACE.CSV'&lt;br /&gt;WITH&lt;br /&gt;(&lt;br /&gt;FIELDTERMINATOR = ',',&lt;br /&gt;ROWTERMINATOR = '\n'&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;--copy data into capacity table&lt;br /&gt;INSERT INTO Capacity (Node, Drive, Format,Freespace, TotalSpace)&lt;br /&gt;SELECT * FROM #cmimport&lt;br /&gt;&lt;br /&gt;--clean up&lt;br /&gt;IF OBJECT_ID('tempdb..#cmimport', 'U') IS NOT NULL&lt;br /&gt;        DROP TABLE #cmimport&lt;br /&gt;&lt;br /&gt;--update missing dates on new imports&lt;br /&gt;update Capacity&lt;br /&gt;set Collection_Date = (current_timestamp)&lt;br /&gt;where Collection_Date is null&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;-- Create SQL job to trigger procedure &lt;br /&gt;USE [msdb]&lt;br /&gt;GO&lt;br /&gt;&lt;br /&gt;/****** Object:  Job [capacity_import] ******/&lt;br /&gt;BEGIN TRANSACTION&lt;br /&gt;DECLARE @ReturnCode INT&lt;br /&gt;SELECT @ReturnCode = 0&lt;br /&gt;/****** Object:  JobCategory [[Uncategorized (Local)]]]    Script Date: 06/21/2009 17:20:29 ******/&lt;br /&gt;IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND &lt;br /&gt;&lt;br /&gt;category_class=1)&lt;br /&gt;BEGIN&lt;br /&gt;EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]'&lt;br /&gt;IF (@@ERROR &amp;lt;&amp;gt; 0 OR @ReturnCode &amp;lt;&amp;gt; 0) GOTO QuitWithRollback&lt;br /&gt;&lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;DECLARE @jobId BINARY(16)&lt;br /&gt;EXEC @ReturnCode =  msdb.dbo.sp_add_job @job_name=N'capacity_import', &lt;br /&gt;  @enabled=1, &lt;br /&gt;  @notify_level_eventlog=0, &lt;br /&gt;  @notify_level_email=0, &lt;br /&gt;  @notify_level_netsend=0, &lt;br /&gt;  @notify_level_page=0, &lt;br /&gt;  @delete_level=0, &lt;br /&gt;  @description=N'No description available.', &lt;br /&gt;  @category_name=N'[Uncategorized (Local)]', &lt;br /&gt;  @owner_login_name=N'SA', @job_id = @jobId OUTPUT&lt;br /&gt;IF (@@ERROR &amp;lt;&amp;gt; 0 OR @ReturnCode &amp;lt;&amp;gt; 0) GOTO QuitWithRollback&lt;br /&gt;/****** Object:  Step [step1]    Script Date: 06/21/2009 17:20:29 ******/&lt;br /&gt;EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'step1', &lt;br /&gt;  @step_id=1, &lt;br /&gt;  @cmdexec_success_code=0, &lt;br /&gt;  @on_success_action=1, &lt;br /&gt;  @on_success_step_id=0, &lt;br /&gt;  @on_fail_action=2, &lt;br /&gt;  @on_fail_step_id=0, &lt;br /&gt;  @retry_attempts=0, &lt;br /&gt;  @retry_interval=0, &lt;br /&gt;  @os_run_priority=0, @subsystem=N'TSQL', &lt;br /&gt;  @command=N'use capacity_db&lt;br /&gt;go&lt;br /&gt;exec sp_CapacityImport&lt;br /&gt;go', &lt;br /&gt;  @database_name=N'Capacity_DB', &lt;br /&gt;  @flags=4&lt;br /&gt;IF (@@ERROR &amp;lt;&amp;gt; 0 OR @ReturnCode &amp;lt;&amp;gt; 0) GOTO QuitWithRollback&lt;br /&gt;EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1&lt;br /&gt;IF (@@ERROR &amp;lt;&amp;gt; 0 OR @ReturnCode &amp;lt;&amp;gt; 0) GOTO QuitWithRollback&lt;br /&gt;EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'Daily', &lt;br /&gt;  @enabled=1, &lt;br /&gt;  @freq_type=4, &lt;br /&gt;  @freq_interval=1, &lt;br /&gt;  @freq_subday_type=1, &lt;br /&gt;  @freq_subday_interval=0, &lt;br /&gt;  @freq_relative_interval=0, &lt;br /&gt;  @freq_recurrence_factor=0, &lt;br /&gt;  @active_start_date=20090621, &lt;br /&gt;  @active_end_date=99991231, &lt;br /&gt;  @active_start_time=160000, &lt;br /&gt;  @active_end_time=235959, &lt;br /&gt;  @schedule_uid=N'8aa58ff4-a990-4cb0-8e8c-1780a4b258b7'&lt;br /&gt;IF (@@ERROR &amp;lt;&amp;gt; 0 OR @ReturnCode &amp;lt;&amp;gt; 0) GOTO QuitWithRollback&lt;br /&gt;EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)'&lt;br /&gt;IF (@@ERROR &amp;lt;&amp;gt; 0 OR @ReturnCode &amp;lt;&amp;gt; 0) GOTO QuitWithRollback&lt;br /&gt;COMMIT TRANSACTION&lt;br /&gt;GOTO EndSave&lt;br /&gt;QuitWithRollback:&lt;br /&gt;    IF (@@TRANCOUNT &amp;gt; 0) ROLLBACK TRANSACTION&lt;br /&gt;EndSave:&lt;br /&gt;&lt;br /&gt;GO&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now you have the database and the table plus the import job set to run once a day, if you place the script from part one on a schedule to run once a day as well then you'll have a working import.&lt;br /&gt;&lt;br /&gt;The final part is to create a report from this data, you can ether create a job that will create a summery version and email it too you or create a report using SQL reporting services.&lt;br /&gt;&lt;br /&gt;If you aren't already experienced with SSRS (SQL Server Reporting Service) then &lt;br /&gt;&lt;a href="http://www.simple-talk.com/sql/learn-sql-server/beginning-sql-server-2005-reporting-services-part-1/"&gt;Steve Joubert's posting&lt;/a&gt; should help you out.&lt;br /&gt;&lt;br /&gt;Exactly the same can be use to MySQL or Oracle personally I would recommend using MySQL for this as gives you the greatest number of supported platforms however this example I was using Microsoft SQL 2008 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/70a1cd3a-d416-42bf-aada-7c6e6baf3bb7/" title="Reblog this post [with Zemanta]"&gt;&lt;img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png?x-id=70a1cd3a-d416-42bf-aada-7c6e6baf3bb7" alt="Reblog this post [with Zemanta]"&gt;&lt;/a&gt;&lt;span class="zem-script more-related pretty-attribution"&gt;&lt;script type="text/javascript" src="http://static.zemanta.com/readside/loader.js" defer="defer"&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-3956531717106264176?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8PVfElXjD8dRqiR8BZF7voghnMU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8PVfElXjD8dRqiR8BZF7voghnMU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8PVfElXjD8dRqiR8BZF7voghnMU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8PVfElXjD8dRqiR8BZF7voghnMU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/yIuJRS9EyHE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/3956531717106264176/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=3956531717106264176&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/3956531717106264176?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/3956531717106264176?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/yIuJRS9EyHE/how-to-write-your-own-capacity.html" title="How to write your own capacity management tool" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2009/06/how-to-write-your-own-capacity.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIEQ3k8eip7ImA9WxJVEUQ.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-4256436931493259709</id><published>2009-06-11T11:34:00.000-07:00</published><updated>2009-06-28T07:15:02.772-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-28T07:15:02.772-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="AD" /><category scheme="http://www.blogger.com/atom/ns#" term="Network Design" /><category scheme="http://www.blogger.com/atom/ns#" term="Virtual private network" /><category scheme="http://www.blogger.com/atom/ns#" term="SQL" /><category scheme="http://www.blogger.com/atom/ns#" term="Cisco" /><title>Site A to Site B tunnel</title><content type="html">Keeping Site to Site traffic simple has never been simple and keep it secure and at the same time reducing the packets flowing over it is not easy ether.&lt;br /&gt;&lt;br /&gt;So what types of traffic will be going from site A to B?&lt;br /&gt;Active Directory traffic and Replication&lt;br /&gt;WINS/DNS&lt;br /&gt;DFS&lt;br /&gt;Microsoft SQL&lt;br /&gt;PPTP&lt;br /&gt;&lt;br /&gt;To keep your traffic as simple as you can I would always recommend using a proxy at each end of the site to site VPN however for some traffic like SQL Replication might not be such a good idea because of the delay it can add, but still I would try to resolve the issue with the proxy then work around it.&lt;br /&gt;&lt;br /&gt;Now to give you an idea why I would do this have a look at how many open ports you have with Active Directory&lt;br /&gt;&lt;br /&gt;RPC endpoint mapper 135/tcp, 135/udp&lt;br /&gt;Network basic input/output system (NetBIOS) name service 137/tcp, 137/udp&lt;br /&gt;NetBIOS datagram service 138/udp&lt;br /&gt;NetBIOS session service 139/tcp&lt;br /&gt;RPC dynamic assignment 1024-65535/tcp&lt;br /&gt;Server message block (SMB) over IP (Microsoft-DS) 445/tcp, 445/udp&lt;br /&gt;Lightweight Directory Access Protocol (LDAP)389/tcp&lt;br /&gt;LDAP ping 389/udp&lt;br /&gt;LDAP over SSL 636/tcp&lt;br /&gt;Global catalog LDAP 3268/tcp&lt;br /&gt;Global catalog LDAP over SSL 3269/tcp&lt;br /&gt;Kerberos 88/tcp, 88/udp&lt;br /&gt;Domain Name Service (DNS) 53/tcp1, 53/udp&lt;br /&gt;Windows Internet Naming Service (WINS) resolution (if required) 1512/tcp, 1512/udp&lt;br /&gt;WINS replication (if required) 42/tcp, 42/udp&lt;br /&gt;&lt;br /&gt;As you can imagine this is much harder to trouble shoot and track of then PPTP on tcp 1723&lt;br /&gt;This is the reason why I would suggest setting up proxy at each end of the VPN.  That's not to say you can't open up the ports but to keep it secure you'll need to know the source and destination of all packets, and this can be something of an over head on your configuration.&lt;br /&gt;&lt;br /&gt;SQL server uses 1433 and 1434 however this can change depending on settings of the server but for the most part is quite easy.&lt;br /&gt;&lt;br /&gt;So lets be begin.&lt;br /&gt;First of all we should have a VPN between the sites the one I like best is a VPN Tunnel as this allows you not only to have the VPN but setup the interfaces with all the ACL rules you want.&lt;br /&gt;&lt;br /&gt;I'll use a quite well known example I think, from Richard Deal's Complete Cisco VPN Configuration Guide, I found it a nice bit of night time reading.&lt;br /&gt;&lt;br /&gt;RouterA Configuration:&lt;br /&gt;&lt;b&gt;RTRA(config)# crypto isakmp policy 10&lt;br /&gt;RTRA(config-isakmp)# encryption aes 128&lt;br /&gt;RTRA(config-isakmp)# hash sha&lt;br /&gt;RTRA(config-isakmp)# authentication pre-share&lt;br /&gt;RTRA(config-isakmp)# group 2&lt;br /&gt;RTRA(config-isakmp)# exit&lt;br /&gt;RTRA(config)# crypto isakmp key cisco123 address 193.1.1.1 255.255.255.255 no-xauth&lt;br /&gt;RTRA(config)# crypto ipsec transform-set RTRtran esp-aes esp-sha-hmac&lt;br /&gt;RTRA(cfg-crypto-trans)# exit&lt;br /&gt;RTRA(config)# crypto ipsec profile VTI&lt;br /&gt;RTRA(ipsec-profile)# set transform-set RTRtran&lt;br /&gt;RTRA(ipsec-profile)# exit&lt;br /&gt;RTRA(config)# interface tunnel 0&lt;br /&gt;RTRA(config-if)# ip address 192.168.3.1 255.255.255.0&lt;br /&gt;RTRA(config-if)# tunnel source 192.1.1.1&lt;br /&gt;RTRA(config-if)# tunnel destination 193.1.1.1&lt;br /&gt;RTRA(config-if)# tunnel mode ipsec ipv4&lt;br /&gt;RTRA(config-if)# tunnel protection ipsec VTI&lt;br /&gt;RTRA(config)# interface Ethernet0/0&lt;br /&gt;RTRA(config-if)# ip address 192.1.1.1 255.255.255.0&lt;br /&gt;RTRA(config-if)# exit&lt;br /&gt;RTRA(config)# interface Ethernet 1/0&lt;br /&gt;RTRA(config-if)# ip address 192.168.1.1 255.255.255.0&lt;br /&gt;RTRA(config-if)# exit&lt;br /&gt;RTRA(config)# ip route 192.168.2.0 255.255.255.0 tunnel0&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;RouterB Configuration:&lt;br /&gt;&lt;b&gt;RTRB(config)# crypto isakmp policy 10&lt;br /&gt;RTRB(config-isakmp)# encryption aes 128&lt;br /&gt;RTRB(config-isakmp)# hash sha&lt;br /&gt;RTRB(config-isakmp)# authentication pre-share&lt;br /&gt;RTRB(config-isakmp)# group 2&lt;br /&gt;RTRB(config-isakmp)# exit&lt;br /&gt;RTRB(config)# crypto isakmp key cisco123 address 192.1.1.1 255.255.255.255 no-xauth&lt;br /&gt;RTRB(config)# crypto ipsec transform-set RTRtran esp-aes esp-sha-hmac&lt;br /&gt;RTRB(cfg-crypto-trans)# exit&lt;br /&gt;RTRB(config)# crypto ipsec profile VTI&lt;br /&gt;RTRB(ipsec-profile)# set transform-set RTRtran&lt;br /&gt;RTRB(ipsec-profile)# exit&lt;br /&gt;RTRB(config)# interface tunnel 0&lt;br /&gt;RTRB(config-if)# ip address 192.168.3.2 255.255.255.0&lt;br /&gt;RTRB(config-if)# tunnel source 193.1.1.1&lt;br /&gt;RTRB(config-if)# tunnel destination 192.1.1.1&lt;br /&gt;RTRB(config-if)# tunnel mode ipsec ipv4&lt;br /&gt;RTRB(config-if)# tunnel protection ipsec VTI&lt;br /&gt;RTRB(config)# interface Ethernet0/0&lt;br /&gt;RTRB(config-if)# ip address 193.1.1.1 255.255.255.0&lt;br /&gt;RTRB(config-if)# exit&lt;br /&gt;RTRB(config)# interface Ethernet 1/0&lt;br /&gt;RTRB(config-if)# ip address 192.168.2.1 255.255.255.0&lt;br /&gt;RTRB(config-if)# exit&lt;br /&gt;RTRB(config)# ip route 192.168.1.0 255.255.255.0 tunnel0&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;So once you have your tunnel up and running we can setup the access lists on the tunnel interfaces remember that you must have permitted GRE protocol on the WAN interfaces for this to work.&lt;br /&gt;&lt;br /&gt;In this next example we are using a PPTP connection on both of the Active Directory controllers so that only PPTP traffic is needed to flow over the tunnel, the domain controllers are address on the 3rd IP at each site x.x.x.3&lt;br /&gt;&lt;br /&gt;&lt;b&gt;access-list 108 permit tcp host 192.168.1.3 host 192.168.2.3 eq 1723&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This can also be used by file server with DFS if remote access and routing is setup on both to use PPTP between them or via the proxy.&lt;br /&gt;DFS by default uses a number of ports that I would not recommend opening for security reasons in the same way Active Directory does.&lt;br /&gt;&lt;br /&gt;In this final part I've allowed SQL to travel without the PPTP connection between the SQL servers at each site on IP 50 of the range x.x.x.50&lt;br /&gt;&lt;br /&gt;&lt;b&gt;access-list 108 permit tcp host 192.168.1.50 host 192.168.2.50 eq 1433&lt;br /&gt;access-list 108 permit tcp host 192.168.1.50 host 192.168.2.50 eq 1434&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now its important to note that if you are using this in a fail over your going to need to allow all clients to connect to SQL and if its no part of the PPTP then you'll have to set the ACL with a larger allowance for sources.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;access-list 108 permit tcp 192.168.1.0 0.0.0.255 host 192.168.2.50 eq 1433&lt;br /&gt;access-list 108 permit tcp 192.168.1.0 0.0.0.255 host 192.168.2.50 eq 1434&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Another note to this if your going to send the SQL traffic only in the tunnel without PPTP because of the extra delay in response times, secure it by using certificate authority and force encryption on the Server protocols to make it more secure, however this will mean you'll need to permit tcp 445 for the SQL as well.&lt;br /&gt;&lt;br /&gt;now your rule are created you can simply apply them to the tunnel interface&lt;br /&gt;&lt;br /&gt;&lt;b&gt;interface tunnel 0&lt;br /&gt;access-list 108 out&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;You should now be done and secure.&lt;br /&gt;&lt;br /&gt;Best practice is also to have access-list on the LAN interface to reduce the traffic on the router but this you will need to know more about you network to setup.&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-top: 10px; height: 15px;" class="zemanta-pixie"&gt;&lt;a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/da3875be-b3f7-40de-984d-5d77a7ca9633/" title="Reblog this post [with Zemanta]"&gt;&lt;img style="border: medium none ; float: right;" class="zemanta-pixie-img" src="http://img.zemanta.com/reblog_e.png?x-id=da3875be-b3f7-40de-984d-5d77a7ca9633" alt="Reblog this post [with Zemanta]"&gt;&lt;/a&gt;&lt;span class="zem-script more-related pretty-attribution"&gt;&lt;script type="text/javascript" src="http://static.zemanta.com/readside/loader.js" defer="defer"&gt;&lt;/script&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-4256436931493259709?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-szsM9CIuoqt-p2xONIy3lyMJDY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-szsM9CIuoqt-p2xONIy3lyMJDY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-szsM9CIuoqt-p2xONIy3lyMJDY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-szsM9CIuoqt-p2xONIy3lyMJDY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/WcOgwZiSNqg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/4256436931493259709/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=4256436931493259709&amp;isPopup=true" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/4256436931493259709?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/4256436931493259709?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/WcOgwZiSNqg/site-to-site-b-tunnel.html" title="Site A to Site B tunnel" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2009/06/site-to-site-b-tunnel.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUHRno7eSp7ImA9WxJXE0o.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-4573890709069109536</id><published>2009-06-07T03:30:00.001-07:00</published><updated>2009-06-07T03:57:17.401-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-07T03:57:17.401-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Windows" /><category scheme="http://www.blogger.com/atom/ns#" term="SQL" /><title>SQL undeletable jobs</title><content type="html">It came to my attention a few weeks ago while where implementing an enterprise automation that jobs create from T-SQL script related to maintenance plans sometimes couldn't be deleted, this also applies to some rare times when maintenance plan deleted but the job didn't.&lt;br /&gt;&lt;br /&gt;The result is a job that can't be deleted because its is linked to an entry in MSDB where they are still held.&lt;br /&gt;&lt;br /&gt;When the maintenance plan had ether been deleted or was not viewable as it had been created by T-SQL, sadly T-SQL doesn't create the XML file needed for the maintenance plan to be seen from SQL management studio.&lt;br /&gt;&lt;br /&gt;As a result you can not delete the job without first deleting the links to it in the MSDB these can be found in the following three tables.&lt;br /&gt;&lt;br /&gt;sysmaintplan_subplans, sysmaintplan_plans, sysmaintplan_log&lt;br /&gt;&lt;br /&gt;these three tables have to be cleaned up before you can delete the job as it is listed in one or more of them, luck for us there is a common id column call PLAN_ID&lt;br /&gt;&lt;br /&gt;So first we need to find the plan_id of our job, if you've been using descriptions on your maintenance job this will be easy if not then you might want to open them up and add descriptions as other wise you'll have a lot of plans and no way to identify them.&lt;br /&gt;&lt;br /&gt;Querying the three tables will let us see how many it exist in, this takes but a few seconds.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;use msdb&lt;br /&gt;select * from sysmaintplan_subplans&lt;br /&gt;&lt;br /&gt;select * from sysmaintplan_plans&lt;br /&gt;&lt;br /&gt;select * from sysmaintplan_log&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;with the output we where able to identify the plan_id as it was the only one without a description, and from there could delete the plan_id from the tables like so.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;DELETE FROM SYSMAINTPLAN_LOG WHERE PLAN_ID='9AA4A25B-D4B3-466D-8C9E-20A00722F2CA'&lt;br /&gt;&lt;br /&gt;DELETE FROM SYSMAINTPLAN_SUBPLANS WHERE PLAN_ID = '9AA4A25B-D4B3-466D-8C9E-20A00722F2CA'&lt;br /&gt;&lt;br /&gt;DELETE FROM SYSMAINTPLAN_PLANS WHERE ID = '9AA4A25B-D4B3-466D-8C9E-20A00722F2CA'&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;after this was done we where then able to delete the job as there was no relation to it in the MSDB any longer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-4573890709069109536?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/gdWe4_ELXQIjCsSMC9oGjvNrt8I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gdWe4_ELXQIjCsSMC9oGjvNrt8I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/gdWe4_ELXQIjCsSMC9oGjvNrt8I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/gdWe4_ELXQIjCsSMC9oGjvNrt8I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/_C0ru8GkC6A" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/4573890709069109536/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=4573890709069109536&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/4573890709069109536?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/4573890709069109536?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/_C0ru8GkC6A/sql-deletable-jobs.html" title="SQL undeletable jobs" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2009/06/sql-deletable-jobs.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cAQXk8cSp7ImA9WxJXEE4.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-1525814105987480113</id><published>2009-06-03T07:24:00.000-07:00</published><updated>2009-06-03T07:24:00.779-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-03T07:24:00.779-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Network Design" /><category scheme="http://www.blogger.com/atom/ns#" term="Cisco" /><title>Router performance</title><content type="html">Router performance can be affected by a number of things as there are several different aspects involved.&lt;br /&gt;&lt;br /&gt;Resource issues, such as the performance of the CPU and RAM&lt;br /&gt;Router IOS configuration changes&lt;br /&gt;Bandwidth management: Quality of Service (QoS)&lt;br /&gt;Layer 1 network issues: Bad circuits or cables&lt;br /&gt;Errors and failure of the router hardware&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Bandwidth management: Quality of Service (QoS)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;To resolve performance issues or improve performance, you may need to implement some form of bandwidth and/or traffic management. This is commonly called (QoS) Quality of Service but there are many different types of QoS, and picking the right one for you depends on what your doing but one thing is for sure you should try to reduce traffic to only permitted types, as you don't want high utilization of interfaces.&lt;br /&gt;&lt;br /&gt;One quick way to see what the utilization is on your LAN or WAN circuit is to use the show interfaces command and look for the TX/RX Load as well as the five-minute input/output rate. Here are some examples of the show interfaces output that I am referring to:&lt;br /&gt;&lt;br /&gt;reliability 255/255, txload 1/255, rxload 1/255&lt;br /&gt;&lt;br /&gt;5 minute input rate 0 bits/sec, 0 packets/sec&lt;br /&gt;&lt;br /&gt;5 minute output rate 0 bits/sec, 0 packets/sec&lt;br /&gt;&lt;br /&gt;I have personally used these to determine what is maxing out a router’s circuit and to see in what direction that traffic is flowing, but if you want to monitor for longer times and get detailed source and destination I would suggest you use IP Accounting&lt;br /&gt;there some tools such as Cisco IP Accounting Fetcher and Net-Sense that will create reports from the information collected by IP accounting&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Layer 1 network issues: Bad circuits or cables&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Many times, the reason that users are complaining about performance is that there is a Layer 1 (Physical) network issue. For example, there is an issue with an Ethernet LAN cable or a T1 WAN connection. Errors that cause slow performance are especially common with WAN connections that span long distances.&lt;br /&gt;&lt;br /&gt;The best way to check to see if your LAN or WAN connections are causing the slow performance you can use "show interfaces summary" command to see if you have dropped packets or errors&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Errors and failure of the router hardware&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;While the show interfaces command might find issues with your connections, those errors could also be caused by your router hardware. For example, you could have a bad HWIC T1 card that is causing slow performance and causing errors to increment in the "show interfaces" output.&lt;br /&gt;&lt;br /&gt;If this is a WAN circuit, many times, your carrier will assist you in testing and troubleshooting that circuit.&lt;br /&gt;&lt;br /&gt;personally I'm a fan of AdventNet ManageEngine OpUtils this has been a tool I've liked for sometime and works well for having a single interface to many devices as it likely you won't just have cisco hardware.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-1525814105987480113?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/JP3e92adXW7oP_kZcPiZr7hIG2k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JP3e92adXW7oP_kZcPiZr7hIG2k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/JP3e92adXW7oP_kZcPiZr7hIG2k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/JP3e92adXW7oP_kZcPiZr7hIG2k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/w3GYTIgLz38" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/1525814105987480113/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=1525814105987480113&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/1525814105987480113?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/1525814105987480113?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/w3GYTIgLz38/router-performance.html" title="Router performance" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2009/06/router-performance.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkIBQXo9eSp7ImA9WxJQF00.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-918846067773882400</id><published>2009-05-30T06:01:00.000-07:00</published><updated>2009-05-30T09:22:30.461-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-30T09:22:30.461-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Windows" /><title>Analyze a blue screen</title><content type="html">I was having fun the other day with some virtual server on my laptop when I noticed I was late for a meeting so i quickly shutdown the laptop and just as it was getting close to finishing it blue screen... so I let it finish creating the memory dump and off to the meeting I when.&lt;br /&gt;&lt;br /&gt;Later that day when I have five minutes I once again booted up the laptop and started to have a look at what caused my blue screen.&lt;br /&gt;&lt;br /&gt;to analyze a blue screen there are simple steps&lt;br /&gt;&lt;b&gt;1) download Debugging Tools for Windows plus the Symbols Pack if working offline or set symbol path to http://msdl.microsoft.com/download/symbols&lt;br /&gt;&lt;br /&gt;2)open the dump file and run !analyze -v or kb for shorter output&lt;br /&gt;&lt;br /&gt;3)switch to processor 1 from 0 using ~1 or however many processors you have.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;So once you've installed the debug tools for windows you need the symbol pack or if your connected you can use the online symbols http://msdl.microsoft.com/download/symbols&lt;br /&gt;I always like to use the online ones as i know these are more up to date and saves me needing another 200mb to 600mb of disk space.&lt;br /&gt;&lt;br /&gt;I then opened up the memory.dmp normally located under c:\windows or c:\winnt depending on the version of windows you have or it maybe under another directory if you changed the install location or memory dump location, anyway the default is %SystemRoot%\MEMORY.DMP&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;Loading Dump File [C:\Windows\MEMORY.DMP]&lt;br /&gt;Kernel Summary Dump File: Only kernel address space is available&lt;br /&gt;&lt;br /&gt;Symbol search path is: http://msdl.microsoft.com/download/symbols;C:\Windows\Symbols SRV*c:\websymbols*http://msdl.microsoft.com/download/symbols&lt;br /&gt;Executable search path is: &lt;br /&gt;Windows Vista Kernel Version 6000 MP (2 procs) Free x86 compatible&lt;br /&gt;Product: WinNt, suite: TerminalServer SingleUserTS&lt;br /&gt;Built by: 6000.16830.x86fre.vista_gdr.090302-1506&lt;br /&gt;Machine Name:&lt;br /&gt;Kernel base = 0x82000000 PsLoadedModuleList = 0x82111e10&lt;br /&gt;Debug session time: Thu May 28 16:40:54.534 2009 (GMT+2)&lt;br /&gt;System Uptime: 1 days 7:51:45.536&lt;br /&gt;Loading Kernel Symbols&lt;br /&gt;...............................................................&lt;br /&gt;................................................................&lt;br /&gt;..........................................................&lt;br /&gt;Loading User Symbols&lt;br /&gt;&lt;br /&gt;Loading unloaded module list&lt;br /&gt;...............................................&lt;br /&gt;*******************************************************************************&lt;br /&gt;*                                                                             *&lt;br /&gt;*                        Bugcheck Analysis                                    *&lt;br /&gt;*                                                                             *&lt;br /&gt;*******************************************************************************&lt;br /&gt;&lt;br /&gt;Use !analyze -v to get detailed debugging information.&lt;br /&gt;&lt;br /&gt;BugCheck A, {0, 1b, 0, 8202915c}&lt;br /&gt;&lt;br /&gt;Probably caused by : ndis.sys ( ndis!ndisAcquireMiniportPnPEventLock+60 )&lt;br /&gt;&lt;br /&gt;Followup: MachineOwner&lt;br /&gt;---------&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;As per the prompt I type &lt;b&gt;!analyze -V&lt;/b&gt;&lt;br /&gt;and now I get the processes that where running at the moment of the blue screen&lt;br /&gt;in this example the cause that you can see bellow was ndisAcquireMiniportPnPEventLock casting my mind back to the point when i was turning off the laptop i realized i had picked it up from the docking station and the network cards was change as a result just seconds before the blue screen and this was the cause.&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;br /&gt;*******************************************************************************&lt;br /&gt;*                                                                             *&lt;br /&gt;*                        Bugcheck Analysis                                    *&lt;br /&gt;*                                                                             *&lt;br /&gt;*******************************************************************************&lt;br /&gt;&lt;br /&gt;IRQL_NOT_LESS_OR_EQUAL (a)&lt;br /&gt;An attempt was made to access a pageable (or completely invalid) address at an&lt;br /&gt;interrupt request level (IRQL) that is too high.  This is usually&lt;br /&gt;caused by drivers using improper addresses.&lt;br /&gt;If a kernel debugger is available get the stack backtrace.&lt;br /&gt;Arguments:&lt;br /&gt;Arg1: 00000000, memory referenced&lt;br /&gt;Arg2: 0000001b, IRQL&lt;br /&gt;Arg3: 00000000, bitfield :&lt;br /&gt; bit 0 : value 0 = read operation, 1 = write operation&lt;br /&gt; bit 3 : value 0 = not an execute operation, 1 = execute operation (only on chips which support this level of status)&lt;br /&gt;Arg4: 8202915c, address which referenced memory&lt;br /&gt;&lt;br /&gt;Debugging Details:&lt;br /&gt;------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;READ_ADDRESS:  00000000 &lt;br /&gt;&lt;br /&gt;CURRENT_IRQL:  1b&lt;br /&gt;&lt;br /&gt;FAULTING_IP: &lt;br /&gt;nt!KeWaitForSingleObject+1b5&lt;br /&gt;8202915c 803902          cmp     byte ptr [ecx],2&lt;br /&gt;&lt;br /&gt;DEFAULT_BUCKET_ID:  VISTA_DRIVER_FAULT&lt;br /&gt;&lt;br /&gt;BUGCHECK_STR:  0xA&lt;br /&gt;&lt;br /&gt;PROCESS_NAME:  System&lt;br /&gt;&lt;br /&gt;TRAP_FRAME:  a2e2da94 -- (.trap 0xffffffffa2e2da94)&lt;br /&gt;ErrCode = 00000000&lt;br /&gt;eax=00000000 ebx=a654ee30 ecx=00000000 edx=82132300 esi=a654ed78 edi=a654ee00&lt;br /&gt;eip=8202915c esp=a2e2db08 ebp=a2e2db58 iopl=0         nv up ei pl zr na pe nc&lt;br /&gt;cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000             efl=00010246&lt;br /&gt;nt!KeWaitForSingleObject+0x1b5:&lt;br /&gt;8202915c 803902          cmp     byte ptr [ecx],2           ds:0023:00000000=??&lt;br /&gt;Resetting default scope&lt;br /&gt;&lt;br /&gt;LAST_CONTROL_TRANSFER:  from 8202915c to 8208fdc4&lt;br /&gt;&lt;br /&gt;STACK_TEXT:  &lt;br /&gt;a2e2da94 8202915c badb0d00 82132300 82090fe6 nt!KiTrap0E+0x2ac&lt;br /&gt;a2e2db58 81e0ed7b 00000000 00000000 00000000 nt!KeWaitForSingleObject+0x1b5&lt;br /&gt;a2e2db84 81eda107 00b520e8 a2e2dbf8 85b520e8 ndis!ndisAcquireMiniportPnPEventLock+0x60&lt;br /&gt;a2e2dc20 81e2b231 85b520e8 00000000 00000000 ndis!ndisPnPNotifyAllTransports+0xa2&lt;br /&gt;a2e2dca4 81ee7749 85b520e8 00000000 00000000 ndis!ndisDevicePnPEventNotifyFiltersAndAllTransports+0xc5&lt;br /&gt;a2e2dcf8 81ee7b5f 8549bdb8 8549be4c 00000004 ndis!ndisSetPower+0x5ef&lt;br /&gt;a2e2dd20 82050b86 8549be4c 83e4db30 00000000 ndis!ndisPowerDispatch+0x1a3&lt;br /&gt;a2e2dd7c 8222553c 87166db0 a2e26680 00000000 nt!PopIrpWorker+0x40f&lt;br /&gt;a2e2ddc0 820915fe 82050773 87166db0 00000000 nt!PspSystemThreadStartup+0x9d&lt;br /&gt;00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;STACK_COMMAND:  kb&lt;br /&gt;&lt;br /&gt;FOLLOWUP_IP: &lt;br /&gt;ndis!ndisAcquireMiniportPnPEventLock+60&lt;br /&gt;81e0ed7b 8b4dfc          mov     ecx,dword ptr [ebp-4]&lt;br /&gt;&lt;br /&gt;SYMBOL_STACK_INDEX:  2&lt;br /&gt;&lt;br /&gt;SYMBOL_NAME:  ndis!ndisAcquireMiniportPnPEventLock+60&lt;br /&gt;&lt;br /&gt;FOLLOWUP_NAME:  MachineOwner&lt;br /&gt;&lt;br /&gt;MODULE_NAME: ndis&lt;br /&gt;&lt;br /&gt;IMAGE_NAME:  ndis.sys&lt;br /&gt;&lt;br /&gt;DEBUG_FLR_IMAGE_TIMESTAMP:  4549b2fd&lt;br /&gt;&lt;br /&gt;FAILURE_BUCKET_ID:  0xA_ndis!ndisAcquireMiniportPnPEventLock+60&lt;br /&gt;&lt;br /&gt;BUCKET_ID:  0xA_ndis!ndisAcquireMiniportPnPEventLock+60&lt;br /&gt;&lt;br /&gt;Followup: MachineOwner&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;Still I wasn't 100% sure this was the only problem as I'm luck enough to have a dual core laptop so I needed to check the other processors in case they where running something at that time as well, so using the &lt;b&gt;~1&lt;/b&gt; command I switched to the other core, by the way processor count from zero up so second processor is 1.&lt;br /&gt;&lt;br /&gt;I ran the &lt;b&gt;!analyze -V&lt;/b&gt; again&lt;br /&gt;&lt;i&gt;&lt;br /&gt;1: kd&gt; !analyze -v&lt;br /&gt;*******************************************************************************&lt;br /&gt;*                                                                             *&lt;br /&gt;*                        Bugcheck Analysis                                    *&lt;br /&gt;*                                                                             *&lt;br /&gt;*******************************************************************************&lt;br /&gt;&lt;br /&gt;IRQL_NOT_LESS_OR_EQUAL (a)&lt;br /&gt;An attempt was made to access a pageable (or completely invalid) address at an&lt;br /&gt;interrupt request level (IRQL) that is too high.  This is usually&lt;br /&gt;caused by drivers using improper addresses.&lt;br /&gt;If a kernel debugger is available get the stack backtrace.&lt;br /&gt;Arguments:&lt;br /&gt;Arg1: 00000000, memory referenced&lt;br /&gt;Arg2: 0000001b, IRQL&lt;br /&gt;Arg3: 00000000, bitfield :&lt;br /&gt; bit 0 : value 0 = read operation, 1 = write operation&lt;br /&gt; bit 3 : value 0 = not an execute operation, 1 = execute operation (only on chips which support this level of status)&lt;br /&gt;Arg4: 8202915c, address which referenced memory&lt;br /&gt;&lt;br /&gt;Debugging Details:&lt;br /&gt;------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;READ_ADDRESS:  00000000 &lt;br /&gt;&lt;br /&gt;CURRENT_IRQL:  0&lt;br /&gt;&lt;br /&gt;FAULTING_IP: &lt;br /&gt;nt!KeWaitForSingleObject+1b5&lt;br /&gt;8202915c 803902          cmp     byte ptr [ecx],2&lt;br /&gt;&lt;br /&gt;DEFAULT_BUCKET_ID:  VISTA_DRIVER_FAULT&lt;br /&gt;&lt;br /&gt;BUGCHECK_STR:  0xA&lt;br /&gt;&lt;br /&gt;PROCESS_NAME:  System&lt;br /&gt;&lt;br /&gt;LAST_CONTROL_TRANSFER:  from 823a94a3 to 8208191a&lt;br /&gt;&lt;br /&gt;STACK_TEXT:  &lt;br /&gt;88757928 823a94a3 ffd050f0 00000040 8431d648 nt!READ_REGISTER_ULONG+0x6&lt;br /&gt;88757948 823a98e5 88757988 8206f94d 00000000 hal!HalpQueryHpetCount+0x4b&lt;br /&gt;88757950 8206f94d 00000000 820709e5 00000001 hal!HalpHpetQueryPerformanceCounter+0x1d&lt;br /&gt;88757958 820709e5 00000001 0000003c 8875c2a4 nt!EtwpGetPerfCounter+0x8&lt;br /&gt;88757988 8206f5e2 0000003c 887579d0 887579b0 nt!EtwpReserveTraceBuffer+0xce&lt;br /&gt;88757a1c 8206f41b 00040007 00000000 0000002b nt!EtwpTraceMessageVa+0x187&lt;br /&gt;88757a40 8d36456e 00040007 ffffffff 0000002b nt!WmiTraceMessage+0x22&lt;br /&gt;88757a68 8d36555c 00040007 ffffffff 00000020 smb!WPP_SF__guid_+0x20&lt;br /&gt;88757aa8 8d36593f 848594e8 00000002 00000000 smb!SmbBatchedSetBindingInfo+0x152&lt;br /&gt;88757ac0 8c339a32 84425868 84425848 87b137f8 smb!SmbAddressDeletion+0x5d&lt;br /&gt;88757aec 8c339f01 8c33c1a0 84425828 00000000 TDI!TdiNotifyPnpClientList+0x132&lt;br /&gt;88757b10 8c33a2f4 84ac0850 00000000 8ee95338 TDI!TdiExecuteRequest+0x175&lt;br /&gt;88757b48 8c33a547 00425828 0000000c 88757bd4 TDI!TdiHandleSerializedRequest+0x1aa&lt;br /&gt;88757b58 8ee8e11a 84425828 00000010 88757c98 TDI!TdiDeregisterNetAddress+0xf&lt;br /&gt;88757bd4 8ee8e513 85009270 00000000 874b3938 tdx!TdxProcessAddressChangeRoutine+0x22e&lt;br /&gt;88757bf0 829a62a6 00000000 88757c98 88757ca0 tdx!TdxNaAddressChangeEvent+0x7d&lt;br /&gt;88757c58 8eec8460 88757c8c 823a4f00 85b0d908 NETIO!NsiParameterChange+0x73&lt;br /&gt;88757cf8 8eec9860 846438c0 8749e9e4 88757d2c tcpip!IppNotifyAddressChangeAtPassive+0x12c&lt;br /&gt;88757d08 829a14d1 846438c0 820fde7c 873bae58 tcpip!IppCompartmentNotificationWorker+0x11&lt;br /&gt;88757d2c 8218c87c 873bae58 8749e9e4 8749d610 NETIO!NetiopIoWorkItemRoutine+0x2f&lt;br /&gt;88757d44 82078fc0 8749d610 00000000 83e9d828 nt!IopProcessWorkItem+0x2d&lt;br /&gt;88757d7c 8222553c 8749d610 8875c680 00000000 nt!ExpWorkerThread+0xfd&lt;br /&gt;88757dc0 820915fe 82078ec3 00000001 00000000 nt!PspSystemThreadStartup+0x9d&lt;br /&gt;00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;STACK_COMMAND:  kb&lt;br /&gt;&lt;br /&gt;FOLLOWUP_IP: &lt;br /&gt;smb!WPP_SF__guid_+20&lt;br /&gt;8d36456e 83c420          add     esp,20h&lt;br /&gt;&lt;br /&gt;SYMBOL_STACK_INDEX:  7&lt;br /&gt;&lt;br /&gt;SYMBOL_NAME:  smb!WPP_SF__guid_+20&lt;br /&gt;&lt;br /&gt;FOLLOWUP_NAME:  MachineOwner&lt;br /&gt;&lt;br /&gt;MODULE_NAME: smb&lt;br /&gt;&lt;br /&gt;IMAGE_NAME:  smb.sys&lt;br /&gt;&lt;br /&gt;DEBUG_FLR_IMAGE_TIMESTAMP:  45b6cc3e&lt;br /&gt;&lt;br /&gt;FAILURE_BUCKET_ID:  0xA_smb!WPP_SF__guid_+20&lt;br /&gt;&lt;br /&gt;BUCKET_ID:  0xA_smb!WPP_SF__guid_+20&lt;br /&gt;&lt;br /&gt;Followup: MachineOwner&lt;br /&gt;---------&lt;/I&gt;&lt;br /&gt;&lt;br /&gt;From the second processor I could only see the SMB process or (simple message block) feeling happy that it was network card I left it as I unplugged the network card too fast.&lt;br /&gt;&lt;br /&gt;However the steps are the same for any debug on windows and with server remember to check all the processors on your system.&lt;br /&gt;&lt;br /&gt;Now to recap&lt;br /&gt;1) download Debugging Tools for Windows plus the Symbols Pack if working offline or set symbol path to http://msdl.microsoft.com/download/symbols&lt;br /&gt;&lt;br /&gt;2)open the dump file and run !analyze -v or kb for shorter output&lt;br /&gt;&lt;br /&gt;3)switch to processor 1 from 0 using ~1 or however many processors you have.&lt;br /&gt;&lt;br /&gt;Note: processes starting with NT is system kernal&lt;br /&gt;NDIS is windows libery for network drivers&lt;br /&gt;&lt;br /&gt;Sadly knowing what cause your blue screen doesn't always help you as it might be something like a driver that hasn't been updated yet so your still left waiting... however at least you know what your waiting for.&lt;br /&gt;&lt;br /&gt;I hope after reading this you'll fear the blue screen a little less and even see it as a challenge not something to be scared of.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-918846067773882400?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9Gsh6Nsabfq-7JooDoM6TzQiASM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9Gsh6Nsabfq-7JooDoM6TzQiASM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9Gsh6Nsabfq-7JooDoM6TzQiASM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9Gsh6Nsabfq-7JooDoM6TzQiASM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/ExZnknVMcBg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/918846067773882400/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=918846067773882400&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/918846067773882400?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/918846067773882400?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/ExZnknVMcBg/analyze-blue-screen.html" title="Analyze a blue screen" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2009/05/analyze-blue-screen.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UGR30zeCp7ImA9WxJRFUo.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-164687971363185171</id><published>2009-05-16T14:10:00.000-07:00</published><updated>2009-05-17T09:53:46.380-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-17T09:53:46.380-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Network Design" /><title>Going Green</title><content type="html">Most companies don't have any form of energy policy yet covering computers and there operation, a few companies have basic policy of turning off the workstation however this is just a start, and most employees don't follow it closely.&lt;br /&gt;&lt;br /&gt;So here is how to begin, you can improve the energy rating of your network.&lt;br /&gt;&lt;br /&gt;Consolidation of servers coupled with cloud computing is an affective way to reduce power consumption by reducing the number physical devices but this isn't all you can do.&lt;br /&gt;&lt;br /&gt;So I'm going to save you sometime and give you a few points where you can make changes to reduce the energy consumption of your network.&lt;br /&gt;&lt;br /&gt;consider replacing all older hardware with more energy efficient hardware such as stolid state drives for laptops, where possible replace workstations with solid stat drives or change over to terminal based sessions as this negates the need for local drives and reduces memory requirement thus saving energy and also offers better security as there is no data stored locally if the workstation is stolen.&lt;br /&gt;&lt;br /&gt;Disable all but the most basic of screen savers as this heavy graphical application increasing the load on the graphic card CPU and boost the energy consumption.&lt;br /&gt;&lt;br /&gt;Allow inactive devices, laptops and workstations to sleep or hibernate by policy.&lt;br /&gt;&lt;br /&gt;In the server farms enabling dynamic processor switching can also save a large amount of energy as few of us use the CPU at 90% all of the time.&lt;br /&gt;&lt;br /&gt;Consolidate switches and disable inactive ports for both power and security reasons.&lt;br /&gt;&lt;br /&gt;If all these points are followed you could lower the total energy consumption by 30 to 40 percent.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-164687971363185171?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fvqeQW49WMOLzvkaw1nmiaQaZIE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fvqeQW49WMOLzvkaw1nmiaQaZIE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/fvqeQW49WMOLzvkaw1nmiaQaZIE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fvqeQW49WMOLzvkaw1nmiaQaZIE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/1o-8LjPs54E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/164687971363185171/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=164687971363185171&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/164687971363185171?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/164687971363185171?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/1o-8LjPs54E/going-green.html" title="Going Green" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2009/05/going-green.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0EFQXw7eSp7ImA9WxJSFk4.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-7619727715793788438</id><published>2009-05-06T12:49:00.000-07:00</published><updated>2009-05-06T12:53:30.201-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-06T12:53:30.201-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Cisco" /><title>Cisco logical interfaces</title><content type="html">Cisco routers just like the switches support VLAN and you can put many of them on to one physical interface and here is how it can be done.&lt;br /&gt;&lt;br /&gt;Remove the IP address from the physical interface, and turn it on,&lt;br /&gt;&lt;br /&gt;&lt;b&gt;no ip address&lt;/b&gt;&lt;br /&gt;&lt;b&gt;no shutdown&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Create a logical interface to be assigned to one of the VLANs&lt;br /&gt;&lt;br /&gt;interface fastethernet 0/0.X&lt;br /&gt;&lt;br /&gt;You can change the ‘fastethernet’ to the type you have and the ‘0/0’ with the interface number that you are using.&lt;br /&gt;X represent the logical interface number since this has no real value I tend to use the number of the VLAN so that its easier to follow.&lt;br /&gt;For example, for the logical interface that you will use for VLAN 5 use ‘int fastethernet 0/0.5'. This way, you will easily know which interface refers to which VLAN.&lt;br /&gt;&lt;br /&gt;Assign the logical interface to a VLAN number&lt;br /&gt;&lt;br /&gt;encapsulation XXX Y where XXX is the encapsulation type you are using for the VLANs (ex: isl or dot1q which is 802.1Q) most commonly used one is dot1q and Y is the VLAN number that this logical interface will be assigned to.&lt;br /&gt;&lt;br /&gt;example&lt;br /&gt;&lt;b&gt;interface fastethernet0/0.5&lt;br /&gt;encapsulation dot1q 5&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now you have the interface but still no IP&lt;br /&gt;Assign an IP address to the logical interface is easy its the same as assigning IP to physical interface&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ip address 192.168.2.254 255.255.255.0&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now repeat the steps for each VLAN that you want, I've created three bellow as an example I've created for VLAN 5,10 and 15&lt;br /&gt;&lt;br /&gt;&lt;b&gt;interface fastethernet0/0.5&lt;br /&gt;ip address 192.168.5.254 255.255.255.0&lt;br /&gt;encapsulation dot1q 5&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;interface fastethernet0/0.10&lt;br /&gt;ip address 192.168.10.254 255.255.255.0&lt;br /&gt;encapsulation dot1q 10&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;interface fastethernet0/0.15&lt;br /&gt;ip address 192.168.15.254 255.255.255.0&lt;br /&gt;encapsulation dot1q 15&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Configure static or dynamic routing in the way you need it.&lt;br /&gt;you treat the logical interfaces the exact same way you treat the physical interfaces when doing the routing, so really this isn't that hard.&lt;br /&gt;&lt;br /&gt;If you like some VLANs (ie, networks) not to participate in the routing, you can either not include them in the routing protocol or not assign a logical interface for them.&lt;br /&gt;&lt;br /&gt;Configure access-lists in the way you find appropriate to filter the traffic going from one VLAN to another and apply them to the logical interfaces the same way you apply them to physical interfaces, this might be that you don't want them to see one another at all or just one way depending on what you want.&lt;br /&gt;&lt;br /&gt;Common one is that management vlan can see the others but others cannot see managment vlan or one another except on some needed services.&lt;br /&gt;&lt;br /&gt;some things not to leave out or forget about is...&lt;br /&gt;&lt;br /&gt;If you plan to let routing updates go through the router from one VLAN to another, it is necessary to turn off split-horizon. Split-horizon technology forbids the update coming from one interface to go out the same interface. By the way its unlikely you even had it turned on but you can check to be sure.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;no ip split-horizon&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Don't forget without the access-lists, there would not be much point of doing VLANs and inter-VLAN routing because without the VLANs everyone would be able to communicate with everyone else.&lt;br /&gt;&lt;br /&gt;Lastly nearly all switches support trunks on FastEthernet, and do not support the older Ethernet with 10Mbps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-7619727715793788438?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hoSmBvX4rmG6NZR-5ajGo9mhQ9M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hoSmBvX4rmG6NZR-5ajGo9mhQ9M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hoSmBvX4rmG6NZR-5ajGo9mhQ9M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hoSmBvX4rmG6NZR-5ajGo9mhQ9M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/K1Hk53ssTCE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/7619727715793788438/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=7619727715793788438&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/7619727715793788438?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/7619727715793788438?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/K1Hk53ssTCE/cisco-logical-interfaces.html" title="Cisco logical interfaces" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2009/05/cisco-logical-interfaces.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUGQn4yfCp7ImA9WxJSEU8.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-8142249045438246774</id><published>2009-04-30T10:59:00.000-07:00</published><updated>2009-04-30T13:43:43.094-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-30T13:43:43.094-07:00</app:edited><title>Installing Open SSH on Ubuntu</title><content type="html">By default when you install Open SSH you'll be running on port 22 along with some other things that are not considered to be best practice.&lt;br /&gt;&lt;br /&gt;If you have taken over an existing SSH server then you'll need to know the version and port its running on.&lt;br /&gt;run the &lt;b&gt;sudo netstat -tulpn&lt;/b&gt; will give you a list of running application with internet port they are using and &lt;b&gt;ssh -v&lt;/b&gt; will give you the version that is running.&lt;br /&gt;&lt;br /&gt;If OpenSSH is running then you should see it when you run the sudo netstat -tulpn you can also check the package is installed by typing &lt;b&gt;dpkg --list | grep openssh-server&lt;/b&gt; equally you might want to up date the package this is also easy to do using the &lt;b&gt;sudo apt-get install openssh-server&lt;/b&gt; command, if there is a new version available you will be prompted to install it and if the package isn't installed the same command will prompt you to install it.&lt;br /&gt;&lt;br /&gt;now lets get to work... first thing is its not a good idea to be running on well known port numbers so you'll need to edit the config file, some people use vi editor for this I like nano better, so if your used to using vi just put vi where you see nano... for those of you are used to using windows vi and nano are text editors much like notepad and edit from dos.&lt;br /&gt;&lt;br /&gt;Editing the configuration file.&lt;br /&gt;&lt;b&gt;sudo nano /etc/ssh/sshd_config&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;With in the first few lines you will see &lt;b&gt;Port 22&lt;/b&gt; this you should change to something else this is no such thing as a good number but try to make sure you don't use a port you'll need for something else later.&lt;br /&gt;&lt;br /&gt;Second you and change the IP addresses and interfaces OpenSSH will bind too... if like you have a mult IP network with a subnet just for network management then you'll most likely want it too bind only to the management IP simply remove the # from in front of &lt;b&gt;ListenAddress&lt;/b&gt; and replace the 0.0.0.0 with the IP you want to bind too.&lt;br /&gt;&lt;br /&gt;If on the other hand you are using one IP for both the management and the public access then I'd recommend changing the Root access to NO this can be found on the line marked # Authentication: change the PermitRootLogin yes to &lt;b&gt;PermitRootLogin no&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I've never been happy with the standard 768 bit keys you can change the size and I often do to 2048 just change the list ServerKeyBits 768 to &lt;b&gt;ServerKeyBits 2048&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;And lastly its best to use a Banner on the system as well reminding people that its against the law to hack or use systems without permission, to do this remove the # from the Banner line and point it too your banner file and example is like this &lt;b&gt;Banner /etc/banner.txt&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now you've made your changes exit and save them, it will most likely be needed for you to restart you OpenSSH before all of the settings will take affect so you might need to use one or more of the following.&lt;br /&gt;&lt;br /&gt;To stop ssh server &lt;b&gt;sudo /etc/init.d/ssh stop&lt;/b&gt;&lt;br /&gt;To start sshs server &lt;b&gt;sudo /etc/init.d/ssh start&lt;/b&gt;&lt;br /&gt;To restart ssh server &lt;b&gt;sudo /etc/init.d/ssh restart&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-8142249045438246774?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YMNzI7e2bxBphPwLQC0vqZOswhc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YMNzI7e2bxBphPwLQC0vqZOswhc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YMNzI7e2bxBphPwLQC0vqZOswhc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YMNzI7e2bxBphPwLQC0vqZOswhc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/t-FKUOx0hU4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/8142249045438246774/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=8142249045438246774&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/8142249045438246774?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/8142249045438246774?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/t-FKUOx0hU4/installing-open-ssh-on-ubuntu.html" title="Installing Open SSH on Ubuntu" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2009/04/installing-open-ssh-on-ubuntu.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcDRH46fip7ImA9WxJSEEw.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-845832834347958789</id><published>2009-04-29T07:51:00.000-07:00</published><updated>2009-04-29T07:57:55.016-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-29T07:57:55.016-07:00</app:edited><title>Windows installer cache</title><content type="html">I was having fun the other day installing SQL service packs and I found this little fix that I'd like to share it with you all.&lt;br /&gt;&lt;br /&gt;When you are missing file like the MSI or MSP from the windows installer cache you can have some problem with patching or even removing SQL 2005&lt;br /&gt;Symptoms SQL 2005 service pack install fails/ SQL 2005 uninstall fails&lt;br /&gt;&lt;br /&gt;Example we’ll pretend I have a SQL 2005 server with SP1 install and I’m going to install SP2… (Sounds simple enough right?) During the install some of the components fail in this example I’ll say it’s my SSIS but it could be any other component as well, Database engine, Notification Services etc.&lt;br /&gt;&lt;br /&gt;So after it’s failed I open the hot fix log folder to see what happened in this case&lt;br /&gt;C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap\LOG\Hotfix\DTS9_Hotfix_KB921896_sqlrun_dts.msp&lt;br /&gt;&lt;br /&gt;Now I start looking for errors first one of note is a line &lt;br /&gt;&lt;b&gt;MSI (s) (B8:1C) [13:28:24:254]: Original package ==&gt; C:\WINDOWS\Installer\e893c17.msi&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Check the &lt;b&gt;c:\windows\installer&lt;/b&gt; folder to see if this file exists if it doesn’t find the sqlrun_dts.msi from the install CD and copy it to the windows installer folder and then rename it as the log name shows, this unique name is created at install time so the name will be different on each server, sometimes on the same server it can be different between instances as well.&lt;br /&gt;&lt;br /&gt;When you are missing this file you will not be able to install or uninstall the Microsoft SQL 2005 equally you will need the MSP (Microsoft Patch) file as well, if its missing again your find the MSP file in the log&lt;br /&gt;&lt;br /&gt;&lt;b&gt;MSI (s) (B8:1C) [13:28:24:286]: Opening existing patch 'C:\WINDOWS\Installer\e893c8b.msp&lt;/b&gt;&lt;br /&gt;Check it exist in the windows installer folder without it the install will fail.&lt;br /&gt;&lt;br /&gt;If you are missing the MSP because I had SP1 before I need to get the MSP file from SP1 so in this case I need to run the service pack 1 with the /X switch to extract the files and once this is done copy the sqlrun_dts.msp from it to the windows installer directory and rename it as the name shows in the log, again this is unique to each server.&lt;br /&gt;&lt;br /&gt;Now I’ve corrected all the missing files I run the service pack 2 again… and I have a successful install with no errors.&lt;br /&gt;These steps also apply to all other SQL 2005 components and SharePoint services as well along with Microsoft office.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-845832834347958789?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/IWQPUT_cQpysDYOe_oDuESBToEI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IWQPUT_cQpysDYOe_oDuESBToEI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/IWQPUT_cQpysDYOe_oDuESBToEI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IWQPUT_cQpysDYOe_oDuESBToEI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/91p7EeYWW6I" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/845832834347958789/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=845832834347958789&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/845832834347958789?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/845832834347958789?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/91p7EeYWW6I/windows-installer-cache.html" title="Windows installer cache" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2009/04/windows-installer-cache.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEAHRX4_fCp7ImA9WxJTGUQ.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-5695945998146129360</id><published>2009-04-29T01:29:00.000-07:00</published><updated>2009-04-29T02:18:54.044-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-29T02:18:54.044-07:00</app:edited><title>Linux in Enterprise</title><content type="html">Why would you use Linux in your enterprise?&lt;br /&gt;Well apart from the cost saving there are some really nice things that can be done but lets start at the beginning and work our way to that.&lt;br /&gt;&lt;br /&gt;Most if not all Linux admins are former UNIX admins, and for them is a little strange to cross over to having GUI but frankly i don't know any admin in windows or UNIX that uses the GUI if he has a command line option to do the same thing.&lt;br /&gt;&lt;br /&gt;Now those of you are windows admins will be asking yourself why would you use Linux.&lt;br /&gt;&lt;br /&gt;1) the cost saving.&lt;br /&gt;&lt;br /&gt;2) the access to open source solutions.&lt;br /&gt;&lt;br /&gt;3) the security, Linux and UNIX have always been more secure than windows so for DMZ and public facing server they are stable and secure.... Microsoft has been working hard to catch up on this but frankly are still behind.&lt;br /&gt;&lt;br /&gt;4) better resource management, unlike windows you won't be buying new hardware with each version.&lt;br /&gt;&lt;br /&gt;5) if you are looking at visualization you want a stable host for your guests windows patching and reboots make it hard to do at a lower level, their high end products can do this well but if you don't have the budget then you might feel a little left out.&lt;br /&gt;&lt;br /&gt;Now there are many versions of Linux and there is no such thing as a bad choice on this front but I'm going to just cover the two I like most SuSE and Ubuntu.&lt;br /&gt;&lt;br /&gt;SuSE now owned by novel has picked up many of the Novel management tools such as Xen and makes it perhaps the strongest player in the large environment and deployment.&lt;br /&gt;&lt;br /&gt;Ubuntu is missing the system management that SuSE has picked up from Novel but at the same time there are many open source tools that can be used to overcome this issue.&lt;br /&gt;&lt;br /&gt;So what could you use Linux for well my top list of uses are web servers, DNS servers, email servers and database servers.&lt;br /&gt;&lt;br /&gt;Apache on Linux is just great its simple and stable every little work needs to be done once it setup to keep it running something IIS7 is still trying to catch up on as even Microsoft added PHP support to IIS something Apache had for years.&lt;br /&gt;&lt;br /&gt;Postfix/Sendmail are great mail server and better for edge deployment as you have them setup as I do with the second and third MX record so should exchange or domino be down in your domain you still have a mail server that is under your control that will store the mail until the problems with your normal mail system can be fixed. (something to many companies are lacking)&lt;br /&gt;&lt;br /&gt;BIND is DNS server that is just perfect, its easy to backup and configure and can be move from one server to another quite easy something that can't be said for windows DNS server yet.&lt;br /&gt;&lt;br /&gt;MySQL/Oracle Linux does support other database types as well but these are the most common and the performance of both can be seen every time you browse internet, even Google is powered by these.  These are also database servers that scale up much better then Microsoft SQL 2008 even, there has been many talk about this failing from Microsoft but as yet no light at the end of the tunnel.&lt;br /&gt;&lt;br /&gt;Linux might not yet be the desktop solution for you yet but I have to admit I have changed all my administration workstation over to running Linux and use virtual box to run application such as Microsoft office. (why would i do this i hear you say) well apart from the fact i don't want to spend all day fixing my workstation is also give me access to some great open source tools for problem finding that just don't work on windows, and as always you know the system best if you use it every day.&lt;br /&gt;&lt;br /&gt;I would recommend all admins to use a Linux workstation and run a windows as a virtual PC for those windows application you just can't live without... and trust me there aren't that many once you start using it.&lt;br /&gt;&lt;br /&gt;Sadly this posing is already to large to go into detail so I'll just have to cover more in the next posting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-5695945998146129360?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ySIZHauUVC52xG4ygMjmussTHTI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ySIZHauUVC52xG4ygMjmussTHTI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ySIZHauUVC52xG4ygMjmussTHTI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ySIZHauUVC52xG4ygMjmussTHTI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/27rA7XzhrIE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/5695945998146129360/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=5695945998146129360&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/5695945998146129360?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/5695945998146129360?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/27rA7XzhrIE/linux-in-enterprise.html" title="Linux in Enterprise" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2009/04/linux-in-enterprise.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0QMQHs9eyp7ImA9WxVaE0g.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-2779438913377827951</id><published>2009-04-10T03:01:00.000-07:00</published><updated>2009-04-10T03:29:41.563-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-10T03:29:41.563-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="DMZ" /><category scheme="http://www.blogger.com/atom/ns#" term="Network Design" /><title>Remote desktop software good or bad?</title><content type="html">What is a good remote desktop management software, I heard this question this week so I'm forced to answer it.&lt;br /&gt;&lt;br /&gt;Well like all good question there is no one answer, its like when some one asks me what is a good laptop? what do you need it for is always the question and the same applys to remote desktop management software.&lt;br /&gt;&lt;br /&gt;here are some points to consider before you decided on the product to use.&lt;br /&gt;1) most operating system have one or more forms of remote desktop already so are you using this just for legacy desktops and would it be more cost affective to upgrade them?&lt;br /&gt;&lt;br /&gt;2) how is easy is the product to deploy, can it be scripted or automated to avoid large amount of administrative overhead? again most have this function now.&lt;br /&gt;&lt;br /&gt;3) how secure is it, can you lock it down to admin groups and IP's as well as just encrypting the traffic, remember that was is easy for you to get onto desktops also makes it easier for other to get onto them too.&lt;br /&gt;&lt;br /&gt;4) is there any mobile device support.&lt;br /&gt;&lt;br /&gt;5) is it a peer to peer connection of is it a relay thought 3rd party provider? as these tools become more popular I expect the attempts to break into them will increase.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now the scary bit, most if not all of these tool have file transfer very handy for your helpdesk and also very dangerous too, with one email or phone call i can setup a connection to any desktop in the world.&lt;br /&gt;&lt;br /&gt;As a security test I setup a connection to a business a few weeks ago who told me that there was no way for anyone to get the data out of the building all USB's have been disable and email was scanned, and no FTP was permitted.  The administrator seems quite sure i couldn't get the information out so after setting up a remove session with on friendly user I proved that any outside part that has just a little help from a user can not only access the system but then copy the data to any remove location using any open port on the firewall like HTTP.&lt;br /&gt;&lt;br /&gt;After the demo of this the local team changed the firewall to ban all known remove desktop software company sites but there are more they haven't found yet and new ones spring up each week.&lt;br /&gt;&lt;br /&gt;Best advice I can offer you is to permit only a limited number of sites and disable all ActiveX components on browsers in order to try and prevent this but frankly it an open door....&lt;br /&gt;&lt;br /&gt;Try not to lose to much sleep over it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-2779438913377827951?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Fo6wSzzHmoPrUm-oEVmtK08d1QQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Fo6wSzzHmoPrUm-oEVmtK08d1QQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Fo6wSzzHmoPrUm-oEVmtK08d1QQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Fo6wSzzHmoPrUm-oEVmtK08d1QQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/2u44bE8lw-w" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/2779438913377827951/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=2779438913377827951&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/2779438913377827951?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/2779438913377827951?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/2u44bE8lw-w/remote-desktop-software-good-or-bad.html" title="Remote desktop software good or bad?" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2009/04/remote-desktop-software-good-or-bad.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQBSHozfyp7ImA9WxVbGUg.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-596410665479181239</id><published>2009-04-05T09:36:00.000-07:00</published><updated>2009-04-05T09:52:39.487-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-05T09:52:39.487-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Network Design" /><title>What message media do you trust?</title><content type="html">If your a large enterprise then you undoubtedly have need of a mobile solution for email and contact solution, now one of the first thing I hear when I say this is Blackberry.&lt;br /&gt;&lt;br /&gt;It it really a good idea to have a blackberry in your enterprise ?&lt;br /&gt;&lt;br /&gt;Well I'm still undecided, but lets ask some question first do you allow business critical files to be sent to your customer over the internet unencrypted ?&lt;br /&gt;&lt;br /&gt;Would you worry that someone could read them ?&lt;br /&gt;&lt;br /&gt;Imagine for a moment that you have all of your email in a pop account and that your ISP could read it, are you happy to live with this?&lt;br /&gt;&lt;br /&gt;Because blackberry is kind of the same its another middle man between your servers and the mobile device your using, now of most business they don't consider this to be a mission critical thing to secure there mobile devices but I am under the opinion that is another security hole.&lt;br /&gt;&lt;br /&gt;Not to mention something that your administrator team have yet another program to look after, the simpler solution would be to use the extension of the messaging platform you have already.&lt;br /&gt;&lt;br /&gt;Such as Microsoft Exchange Direct Push (was added to 2003 SP2) or IBM Lotus iNotes Ultra-light depending on your environment.&lt;br /&gt;&lt;br /&gt;If on the other hand you need more than Microsoft Windows Mobile and Apple iphones for email then you could look at Intellisync from Nokia it again acts as a direct link and allow you to bring the wide range of Nokia phones into you list of enabled devices.&lt;br /&gt;&lt;br /&gt;There are other products that offer these function as well but remember make sure the device is talking to the server directly, going thought a provider give you just another weakness in your network and this one is outside of your control.&lt;br /&gt;&lt;br /&gt;Frankly I have allot of problem believing in most products out there as they do not ISO 27001 some have passed ISO 9001 but this is a very basic check.&lt;br /&gt;&lt;br /&gt;So some simple rules for you messaging administrators out there use SSL with all devices no exceptions.&lt;br /&gt;&lt;br /&gt;Make sure the product your using connect directly from device to server, not thought some third party infrastructure.&lt;br /&gt;&lt;br /&gt;And finally ask the provider about what security standard the product has passed and if they can't tell you don't use it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-596410665479181239?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-IqIxkFzXdcWBPWBPBtRFCqSazQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-IqIxkFzXdcWBPWBPBtRFCqSazQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-IqIxkFzXdcWBPWBPBtRFCqSazQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-IqIxkFzXdcWBPWBPBtRFCqSazQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/9yK5RLe0iRY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/596410665479181239/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=596410665479181239&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/596410665479181239?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/596410665479181239?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/9yK5RLe0iRY/what-message-media-do-you-trust.html" title="What message media do you trust?" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2009/04/what-message-media-do-you-trust.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEIFQH46cSp7ImA9WxVbF00.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-3893809249256575468</id><published>2009-04-02T10:09:00.000-07:00</published><updated>2009-04-02T14:08:31.019-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-04-02T14:08:31.019-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="DHCP" /><title>DHCP automated failover</title><content type="html">Today I had one of those better days that I'd like to share with you, there a nice tool call dhcpcmd you can get it from Microsoft it was release with NT4 and later with windows 2000 and its still works on vista and 2008 the nice this about this is that it can do something simple called "GetVersion" might not seem like a really important thing but lets explain what it can be used for.&lt;br /&gt;&lt;br /&gt;There are three basic ways to setup DHCP first is two server with half the scope on each and if one fails remove the excluded range and continue to server the ip range from one server, this works but needs manual effort.&lt;br /&gt;&lt;br /&gt;Second is to setup a cluster resource for you DHCP this works quite well but your DHCP jet database is not cluster aware so sometimes you need to restart your DHCP server service to get it working after it fails over, again that's manual effort.&lt;br /&gt;&lt;br /&gt;Third option two servers setup and one with DHCP server service stopped until first server fails, and again manual effort to start it.&lt;br /&gt;&lt;br /&gt;So far you start to see a theme and is allot of manual effort and like all manual effort it will need you to do this fail over at early morning for sure because that's how it goes in the IT world when something breaks.&lt;br /&gt;&lt;br /&gt;Now when I came across DHCPCMD even just its ability to GetVersion was enough, let me show you with the first option where have the scope on two server with excluded ranges, I have the following in a script file on one server doesn't even have to be one of the nodes, and it has scheduled to check every 5 minutes using this script.&lt;br /&gt;&lt;br /&gt;And as you'll see I've put some basic responses in for a failure.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;@echo off&lt;br /&gt;dhcpcmd 192.168.2.2 GetVersion&lt;br /&gt;if errorlevel 1 goto Server1_Failed&lt;br /&gt;dhcpcmd 192.168.2.3 GetVersion&lt;br /&gt;if errorlevel 1 goto Server2_Failed&lt;br /&gt;&lt;br /&gt;netsh dhcp server \\winserver-2 scope 192.168.2.0 add excluderange 192.168.2.10 192.168.2.128&lt;br /&gt;netsh dhcp server \\winserver-1 scope 192.168.2.0 add excluderange 192.168.2.128 192.168.2.254&lt;br /&gt;goto All_Done&lt;br /&gt;&lt;br /&gt;:Server1_Failed&lt;br /&gt;rem --- alert&lt;br /&gt;net send Administrator "Warning: DHCP server 1 failure failing over to second server"&lt;br /&gt;netsh dhcp server \\winserver-2 scope 192.168.2.0 delete excluderange 192.168.2.10 192.168.2.128&lt;br /&gt;goto All_Done&lt;br /&gt;&lt;br /&gt;:Server2_Failed&lt;br /&gt;rem --- alert&lt;br /&gt;net send Administrator "Warning: DHCP server 2 failure"&lt;br /&gt;netsh dhcp server \\winserver-1 scope 192.168.2.0 delete excluderange 192.168.2.128 192.168.2.254&lt;br /&gt;goto All_Done&lt;br /&gt;&lt;br /&gt;:All_Done&lt;br /&gt;exit&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now the second and third option are almost the same where you want to start a service and or restart a service so here is an example&lt;br /&gt;&lt;b&gt;&lt;br /&gt;@echo off&lt;br /&gt;dhcpcmd 192.168.2.2 GetVersion&lt;br /&gt;if errorlevel 1 goto Server1_Failed&lt;br /&gt;goto All_Done&lt;br /&gt;&lt;br /&gt;:Server1_Failed&lt;br /&gt;net send Administrator "Warning: DHCP server 1 failure failing over to second server"&lt;br /&gt;psexec \\winserver-1 net stop dhcpserver&lt;br /&gt;psexec \\winserver-2 net start dhcpserver&lt;br /&gt;goto All_Done&lt;br /&gt;&lt;br /&gt;:All_Done&lt;br /&gt;exit&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now you setup more complex responses to not being able to get something as simple as version information, but you can do this with almost anything that you can get an output from, and I have some nice ones for monitoring servers just using simple scripts.&lt;br /&gt;&lt;br /&gt;My hope is that after reading this you will thing of another three or more services that you can do something smiler to and now you won't have to fix it in the night you can wait till morning.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-3893809249256575468?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/YJDpPLnETvV4M6IESmWK13PaSEc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YJDpPLnETvV4M6IESmWK13PaSEc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/YJDpPLnETvV4M6IESmWK13PaSEc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/YJDpPLnETvV4M6IESmWK13PaSEc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/8tiedC-5aZE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/3893809249256575468/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=3893809249256575468&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/3893809249256575468?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/3893809249256575468?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/8tiedC-5aZE/dhcp-automated-failover.html" title="DHCP automated failover" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2009/04/dhcp-automated-failover.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMBRH0yeyp7ImA9WxVUGEU.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-6715486724905833852</id><published>2009-03-24T02:15:00.000-07:00</published><updated>2009-03-24T02:20:55.393-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-03-24T02:20:55.393-07:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="IIS6" /><title>System.Web.HttpException: Maximum request length exceeded</title><content type="html">This problem occurs because the default value for the maxRequestLength parameter in the &lt;httpRuntime&gt; section of the Machine.config file is 4096 (4 megabytes). As a result, files that are larger than this value are not uploaded by default.&lt;br /&gt;This will also affect exports if you are extracting to excel say or in fact any attachment type if the file is larger than the default it will fail.&lt;br /&gt;&lt;br /&gt;In the Machine.config file, change the maxRequestLength attribute of the &lt;httpRuntime&gt;&lt;br /&gt;&lt;br /&gt;configuration section to a larger value. This change affects the whole computer.&lt;br /&gt;&lt;br /&gt;the second option if you don't want to change the value for the server you can change it on one site by modifiying the Web.config file, this will override the value of maxRequestLength for the application.&lt;br /&gt;&lt;br /&gt;For example, the following entry in Web.config allows files that are less than or equal to 8 megabytes (MB) to be uploaded &lt; httpRuntime maxRequestLength="8192" /&gt;&lt;br /&gt;&lt;br /&gt;the max is 1Gb or 1048578 in .NET 1.0 and 1.1 the limit in .NET 2.0 is 2GB 2097151 I've not had reason to test .NET 3.0 but i'm sure it will be even larger.&lt;br /&gt;&lt;httpRuntime maxRequestLength="1048576" /&gt;&lt;br /&gt;&lt;br /&gt;Just insert the line after the system.web on the web.config file of the site you want to allow the larger files.&lt;br /&gt;&lt;br /&gt;&lt;b&gt; &lt; system.web&gt;&lt;br /&gt;&lt;br /&gt;    &lt; httpRuntime maxRequestLength="1048576" /&gt;&lt;br /&gt;&lt;br /&gt;  &lt; /system.web&gt; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Then restart the site, note the site you don't need to restart all of the IIS to make this work.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-6715486724905833852?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/DJBsEmFFMJGDgdE9H0H_Kk_iGIw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DJBsEmFFMJGDgdE9H0H_Kk_iGIw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/DJBsEmFFMJGDgdE9H0H_Kk_iGIw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/DJBsEmFFMJGDgdE9H0H_Kk_iGIw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/jYjTGrwzcLY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/6715486724905833852/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=6715486724905833852&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/6715486724905833852?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/6715486724905833852?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/jYjTGrwzcLY/systemwebhttpexception-maximum-request.html" title="System.Web.HttpException: Maximum request length exceeded" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2009/03/systemwebhttpexception-maximum-request.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIASHYyfip7ImA9WxVWFUQ.&quot;"><id>tag:blogger.com,1999:blog-8389906454188013236.post-506339677374674722</id><published>2009-02-25T08:01:00.000-08:00</published><updated>2009-02-25T13:49:09.896-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-25T13:49:09.896-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Cisco" /><title>Rate Limit and QoS</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_tTBsm6WUtGI/SaW8MGGnl1I/AAAAAAAAAUY/nlXxUO_iKOE/s1600-h/hour.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 100px;" src="http://3.bp.blogspot.com/_tTBsm6WUtGI/SaW8MGGnl1I/AAAAAAAAAUY/nlXxUO_iKOE/s200/hour.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5306854651908822866" /&gt;&lt;/a&gt;One of the biggest problems with WAN links to how to manage your traffic, should it be percentage based or rate limited?&lt;br /&gt;&lt;br /&gt;Well percentage based is fine to a point, that is to say its fine but in a IP calls it could be a problem and some other real time services such a video.&lt;br /&gt;&lt;br /&gt;Quick example 50% of your WAN link is reserved for IP calls by you QoS policy lets say... but if more than x number of users make a call the link will have too much traffic and calls will become fuzz to say the least.&lt;br /&gt;So to over come this we are going to just allow 15 on our 1158kbps line with no more than 100kbps on each.&lt;br /&gt;&lt;br /&gt;The following example shows a T1 (1536 kbps) link configured to permit RSVP reservation of up to 1158 kbps, but no more than 100 kbps for any given flow on interface serial 0/0. Fair queuing is configured with 15 queues to support those reserved flows, should they be required.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;interface serial0/0&lt;br /&gt;fair-queue 64 256 15&lt;br /&gt;ip rsvp bandwidth 1158 100&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Another way this can be done is between a host or range so that the quolity remains high for the links between&lt;br /&gt;&lt;br /&gt;To enable a router to simulate receiving and forwarding Resource Reservation Protocol (RSVP) RESV messages, use the ip rsvp reservation global configuration command. To disable this feature, use the no form of this command.&lt;br /&gt;ip rsvp reservation session-ip-address sender-ip-address {tcp | udp | ip-protocol} session-dport&lt;br /&gt;sender-sport next-hop-ip-address next-hop-interface {ff | se | wf} {rate | load} bandwidth&lt;br /&gt;burst-size&lt;br /&gt;&lt;br /&gt;The following example specifies the use of a Shared Explicit style of reservation and the controlled load service, with token buckets of 100 or 150 kbps and 60 or 65 kbps maximum queue depth:&lt;br /&gt;&lt;b&gt;ip rsvp reservation 224.250.0.2 172.16.1.1 UDP 20 30 172.16.4.1 Et1 se load 100 60&lt;br /&gt;ip rsvp reservation 224.250.0.2 172.16.2.1 TCP 20 30 172.16.4.1 Et1 se load 150 65&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The following example specifies the use of a Wild Card Filter style of reservation and the guaranteed bit rate service, with token buckets of 300 or 350 kbps and 60 or 65 kbps maximum queue depth:&lt;br /&gt;&lt;b&gt;ip rsvp reservation 224.250.0.3 0.0.0.0 UDP 20 0 172.16.4.1 Et1 wf rate 300 60&lt;br /&gt;ip rsvp reservation 226.0.0.1 0.0.0.0 UDP 20 0 172.16.4.1 Et1 wf rate 350 65&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Note that the Wild Card Filter does not admit the specification of the sender; it accepts all senders. This action is denoted by setting the source address and port to zero. If, in any filter style, the destination port is specified to be zero, RSVP does not permit the source port to be anything else; it understands that such protocols do not use ports or that the specification applies to all ports. This can can be a problem if other services are on the same range so best to define access lists to block all unwanted traffic.&lt;br /&gt;&lt;br /&gt;Last but not least.&lt;br /&gt;To reserve a strict priority queue for a set of Real-Time Transport Protocol (RTP) packet flows belonging to a range of User Datagram Protocol (UDP) destination ports, use the ip rtp priority interface configuration command. To disable the strict priority queue, use the no form of this command.&lt;br /&gt;ip rtp priority starting-rtp-port-number port-number-range bandwidth&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The following example first defines a CBWFQ configuration and then reserves a strict priority queue&lt;br /&gt;with the following values: a starting RTP port number of 16384, a range of 16383 UDP ports, and a&lt;br /&gt;maximum bandwidth of 40 kbps:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;! The following commands define a class map:&lt;br /&gt;class-map class1&lt;br /&gt;match access-group 101&lt;br /&gt;exit&lt;br /&gt;&lt;br /&gt;! The following commands create and attach a policy map:&lt;br /&gt;policy-map policy1&lt;br /&gt;class class1&lt;br /&gt;bandwidth 3000&lt;br /&gt;queue-limit 30&lt;br /&gt;random-detect&lt;br /&gt;random-detect precedence 0 32 256 100&lt;br /&gt;exit&lt;br /&gt;&lt;br /&gt;interface Serial1&lt;br /&gt;service-policy output policy1&lt;br /&gt;! The following command reserves a strict priority queue:&lt;br /&gt;ip rtp priority 16384 16383 40&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Defining what is best for you or even using all of these rate limits and QoS is something that will be up to you... but remember not to use too many of them as other wise you will end up with a lines that are never fully used as all the policy's prevent it.&lt;br /&gt;&lt;br /&gt;Good rule of thumb keep the policy's simple.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8389906454188013236-506339677374674722?l=betternetworkdesign.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/2JFA6vJFUxStpergm-TYwtQBV4Y/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2JFA6vJFUxStpergm-TYwtQBV4Y/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/2JFA6vJFUxStpergm-TYwtQBV4Y/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/2JFA6vJFUxStpergm-TYwtQBV4Y/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BetterNetworkDesign/~4/V4AnWRgdro0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://betternetworkdesign.blogspot.com/feeds/506339677374674722/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=8389906454188013236&amp;postID=506339677374674722&amp;isPopup=true" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/506339677374674722?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/8389906454188013236/posts/default/506339677374674722?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/BetterNetworkDesign/~3/V4AnWRgdro0/rate-limit-and-qos.html" title="Rate Limit and QoS" /><author><name>John Hall</name><uri>http://www.blogger.com/profile/16083741983769849554</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="30" src="http://4.bp.blogspot.com/_tTBsm6WUtGI/SaWvP7XtqhI/AAAAAAAAAUA/hqKGCP8vOrw/S220/www.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_tTBsm6WUtGI/SaW8MGGnl1I/AAAAAAAAAUY/nlXxUO_iKOE/s72-c/hour.gif" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://betternetworkdesign.blogspot.com/2008/07/rate-limit-and-qos.html</feedburner:origLink></entry></feed>

