tag:blogger.com,1999:blog-41498744549857452862024-03-19T12:27:28.534-07:00Tech Down UnderAn Aussie network/sysadmin's blog about how to do stuff with things.comport3http://www.blogger.com/profile/04775966117458273763noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-4149874454985745286.post-56388708520684535092011-06-10T16:54:00.000-07:002011-06-10T16:54:44.360-07:00Install ESXi on USB or Flash Drive from WindowsDownload the VMware ESXi .ISO file from www.vmware.com.<br />
<br />
Download and install <a href="http://download.cnet.com/HP-USB-Disk-Storage-Format-Tool/3000-2094_4-10974082.html">HP USB Disk Format Tool</a>, <a href="http://download.cnet.com/IZArc/3000-2250_4-10072925.html?tag=mncol;1">IZarc</a> and <a href="http://download.cnet.com/WinImage/3000-2646_4-10003117.html?tag=mncol;1">Winimage</a>.<br />
<br />
Use HP USB Format Tool to format your USB device, particularly if it has a previous bootable OS / utility on it. A quick format should do, but if you can afford the time perform a full format.<br />
<br />
Use Izarc to extract the file imagedd.bz2 from the ESXi ISO file.<br />
<br />
Use Izarc to extract the file imagedd from imagedd.bz2.<br />
<br />
Open Winimage and select 'Disk', 'Restore Virtual Hard Disk image on physical drive', select your USB device, OK, change 'Virtual Hard Disks (*.vhd)' to 'All'. Select the imagdd file extracted previously and click Yes.<br />
<br />
Reboot and test your bootable ESXi USB device.comport3http://www.blogger.com/profile/04775966117458273763noreply@blogger.com3tag:blogger.com,1999:blog-4149874454985745286.post-69250543912384950302011-06-09T17:36:00.000-07:002011-06-09T19:24:58.304-07:00Part 1: Monitoring Windows Servers Agentlessly via WMI using NAGIOS on Ubuntu Server<div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">This how to will show how to install the open source software NAGIOS to monitor network devices such as switches, routers, servers, firewalls and UPS, and alert if they have any problems.</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br />
</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">The base installation will use Ubuntu Server 11.04 (latest at time of writing) - due to compatibility with the VMware CLI as detailed later.</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br />
</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">For the initial install, use Ubuntu Server 11.04 on a Virtual Machine (VM) with at least 512MB of RAM and an 8GB virtual disk, which can be thin provisioned.</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br />
</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">After selecting your language, press F4 to select installing a 'Minimal Virtual Machine' if using VMware. Once setup is complete, <a href="http://australiantechblog.blogspot.com/2011/05/howto-install-vmware-tools-in-linux.html">install VMware tools</a>.</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br />
</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Install NAGIOS according to this guide, using the default options however skip Step 9.</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><a href="http://nagios.sourceforge.net/docs/3_0/quickstart-ubuntu.html">http://nagios.sourceforge.net/docs/3_0/quickstart-ubuntu.html</a></span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><b><i>Note</i></b><i>: </i>If you plan to monitor 2008+ servers memory or pagefile, you will require the second (text based) version of this plugin with 'checkmem08' included. Don't forget to change owner (chown) to nagios:nagios and mark the file as executable (+x).</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br />
</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">A big thanks and all credit for being able to monitor Windows via WMI from NAGIOS to Matthieu Thibault!</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br />
</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">First, install the check_wmi plugin according to Matthieu's blog:</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><a href="http://www.thibault.info/node/2">http://www.thibault.info/node/2</a></span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br />
</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Second, if you are using a Microsoft Active Directory domain -</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">1. Create a new Group called "No Access"</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">2. Create a new User called "nagios_svc" and set a secure, non-expiring password</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">3. Make nagios_svc a member of "No Access" group, and remove from Domain Users...for security reasons</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><b>NOTE:</b> To monitor an Active Directory domain controller, the user must be a member of the Domain 'Administrators' group, consider the security consequences first!</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br />
</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">On the Windows server you wish to monitor, make this user a member of the "Local Administrators" group.</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br />
</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">On the NAGIOS monitoring server -</span></div><div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;"><span style="font-family: Arial,Helvetica,sans-serif; font-size: small;">Edit:</span> /usr/local/nagios/etc/nagios.cfg</span></div><span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;">Uncomment:</span></span><span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;"> cfg_file=/usr/local/nagios/etc/objects/windows.cfg</span><br />
<br />
<span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;">Edit:</span></span><span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">/usr/local/nagios/etc/objects/commands.cfg</span></span> <span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;">and add the following lines:</span></span><br />
<span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">#Check Windows Drivesize</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;">define command{</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;"> command_name wmi_drv</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;"> command_line /usr/local/nagios/libexec/check_wmi -H $HOSTADDRESS$ -u YOURDOMAIN/nagios_svc -p <Password> -m checkdrivesize -a $ARG1$ -w $ARG2$ -c $ARG3$</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;"> }</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;">#Check Windows CPU</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;">define command{</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;"> command_name wmi_cpu</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;"> command_line /usr/local/nagios/libexec/check_wmi -H $HOSTADDRESS$ -u YOURDOMAIN/nagios_svc -p <Password> -m checkcpu -w $ARG1$ -c $ARG2$</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;"> }</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;">#Check Windows Memory <= 2003<br />
define command{<br />
command_name wmi_mem<br />
command_line /usr/local/nagios/libexec/check_wmi -H $HOSTADDRESS$ -u YOURDOMAIN/nagios_svc -p <Password> -m checkmem -a $ARG1$ -w $ARG2$ -c $ARG3$<br />
}<br />
#Check Windows Memory => 2008<br />
define command{<br />
command_name wmi_mem08<br />
command_line /usr/local/nagios/libexec/check_wmi -H $HOSTADDRESS$ -u YOURDOMAIN/nagios_svc -p <Password> -m checkmem08 -a $ARG1$ -w $ARG2$ -c $ARG3$<br />
}</span><span style="font-family: "Courier New",Courier,monospace;"></span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;">#Check Windows Eventlog</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;">define command{</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;"> command_name wmi_eventlog</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;"> command_line /usr/local/nagios/libexec/check_wmi -H $HOSTADDRESS$ -u YOURDOMAIN/nagios_svc -p <Password> -m checkeventlog -a $ARG1$,$ARG2$,$ARG3$</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;"> }</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;">#Check Windows Services</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;">define command{</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;"> command_name wmi_service</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;"> command_line /usr/local/nagios/libexec/check_wmi -H $HOSTADDRESS$ -u YOURDOMAIN/nagios_svc -p <Password> -m checkservice -a $ARG1$</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;"> }</span></span><br />
<span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;">Edit the file</span></span> <span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">/usr/local/nagios/etc/objects/windows.cfg</span></span> <span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;">by deleting default contents and replacing with:</span></span><br />
<div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">#Windows Test Host 2008 R2<br />
define host{<br />
use windows-server ; Inherit default values from a template<br />
host_name Windows-Test-Host-A-2008R2 ; The name we're giving to this host<br />
alias Test 2008 R2 Windows Server A ; A longer name associated with the host<br />
address 10.3.11.8 ; IP address of the host<br />
}<br />
define service{<br />
use generic-service<br />
host_name Windows-Test-Host-A-2008R2<br />
service_description WinMemory08R2<br />
check_command wmi_mem08!physical!80%!90%<br />
}<br />
define service{<br />
use generic-service<br />
host_name Windows-Test-Host-A-2008R2<br />
service_description WinMemory08R2Pagefile<br />
check_command wmi_mem08!page!70%!85%<br />
}<br />
define service{<br />
use generic-service<br />
host_name Windows-Test-Host-B-2003<br />
service_description WinDriveC<br />
check_command wmi_drv!C:!85%!95%<br />
}<br />
</span></div><div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">#Windows Test Host A<br />
define host{<br />
use windows-server ; Inherit default values from a template<br />
host_name Windows-Test-Host-A-2003 ; The name we're giving to this host<br />
alias Test 2003 Windows Server A ; A longer name associated with the host<br />
address 10.3.11.32 ; IP address of the host<br />
}<br />
define service{<br />
use generic-service<br />
host_name Windows-Test-Host-A-2003<br />
service_description WinDriveC<br />
check_command wmi_drv!C:!5%!15%<br />
}</span></div><div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">define service{<br />
use generic-service<br />
host_name Windows-Test-Host-A-2003<br />
service_description WinMemory<br />
check_command wmi_mem!physical!70%!80%<br />
}<br />
define service{<br />
use generic-service<br />
host_name Windows-Test-Host-A-2003<br />
service_description WinPagefile<br />
check_command wmi_mem!page!5%!85%<br />
}<br />
</span></div><div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">#Windows Test Host B<br />
define host{<br />
use windows-server ; Inherit default values from a template<br />
host_name Windows-Test-Host-B-2003 ; The name we're giving to this host<br />
alias Test 2003 Windows Server B ; A longer name associated with the host<br />
address 10.3.11.31 ; IP address of the host<br />
}<br />
define service{<br />
use generic-service<br />
host_name Windows-Test-Host-B-2003<br />
service_description WinDriveC<br />
check_command wmi_drv!C:!85%!95%<br />
}<br />
define service{<br />
use generic-service<br />
host_name Windows-Test-Host-B-2003<br />
service_description WinService-Printspooler<br />
check_command wmi_service!Spooler<br />
}<br />
define service{<br />
use generic-service<br />
host_name Windows-Test-Host-B-2003<br />
service_description WinService-FileReplication<br />
check_command wmi_service!NtFrs<br />
}</span></div><div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">define service{<br />
use generic-service<br />
host_name Windows-Test-Host-B-2003<br />
service_description WinMemory<br />
check_command wmi_mem!physical!80%!90%<br />
}<br />
define service{<br />
use generic-service<br />
host_name Windows-Test-Host-B-2003<br />
service_description WinPagefile<br />
check_command wmi_mem!page!30%!70%<br />
}<br />
</span></div><span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;"># Define a hostgroup for Windows machines<br />
define hostgroup{<br />
hostgroup_name windows-servers ; The name of the hostgroup<br />
alias Windows Servers ; Long name of the group<br />
members Windows-Test-Host-B-2003,Windows-Test-Host-A-2003<br />
}<br />
define service{<br />
use generic-service<br />
hostgroup windows-servers<br />
service_description WinCPU<br />
check_command wmi_cpu!5%!15%<br />
}<br />
define service{<br />
use generic-service<br />
hostgroup windows-servers<br />
service_description WinMemory<br />
check_command wmi_mem!physical!30%!35%<br />
}<br />
define service{<br />
use generic-service<br />
hostgroup windows-servers<br />
service_description WinPagefile<br />
check_command wmi_mem!page!5%!15%<br />
}<br />
define service{<br />
use generic-service<br />
hostgroup windows-servers<br />
service_description WinEventlogSystem<br />
check_command wmi_eventlog!system!1!24<br />
}<br />
define service{<br />
use generic-service<br />
hostgroup windows-servers<br />
service_description WinEventlogApplication<br />
check_command wmi_eventlog!application!1!24<br />
}<br />
define service{<br />
use generic-service<br />
hostgroup windows-servers<br />
service_description WinEventlogSecurity<br />
check_command wmi_eventlog!security!1!24<br />
}</span><br />
<div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><i><b>Comment</b></i>: Drive space percentages <b>can</b> be defined using a Hostgroup, but 3% free space may be acceptable for a 2TB data partition, but probably isn't for a 20GB boot partition. Memory is the same, 98% memory utilisation might be OK for a SQL server, but not a file server.</span></div><br />
<div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Verify your configuration: </span></div><pre>/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg</pre><br />
<span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;">And restart NAGIOS:</span></span> <span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">/etc/init.d/nagios restart</span></span><br />
<div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br />
</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">You should see something like this underneath the <i>'Current Status': Services</i> view -</span></div><div class="separator" style="clear: both; text-align: center;"></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZxw5owUUHVB9O6DElt4BRl7wxATrpMgo6VNFJFHcqIahD0-DI7WTzEZfwDCxpysQAxPE_dG7rITT1s4qIcUgVV-7F9HbzX3UVvQxzXcr0OR8DtcPJMsMfQYGUAv8ay9LeIQrG3kvG4Vaf/s1600/nagmonwin.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="250" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZxw5owUUHVB9O6DElt4BRl7wxATrpMgo6VNFJFHcqIahD0-DI7WTzEZfwDCxpysQAxPE_dG7rITT1s4qIcUgVV-7F9HbzX3UVvQxzXcr0OR8DtcPJMsMfQYGUAv8ay9LeIQrG3kvG4Vaf/s400/nagmonwin.png" width="400" /></a></div><br />
<div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Initially, it's suggested you tune the monitoring to show a "sea of green" - assuming the infrastructure you wish to monitor is functioning normally.</span></div><br />
<div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">The final step is to enable email alerting. This tutorial assumes you have an SMTP server elsewhere on your network that NAGIOS can use to relay.</span></div><div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">apt-get install nullmailer</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Upon configuration, select the host/domain you want the mail to appear to come from, and your SMTP server that allows relaying.</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br />
</span></div><span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;">Configure</span></span> <span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;">/usr/local/nagios/etc/objects/contacts.cfg</span><br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">define contact{<br />
contact_name admin1<br />
use generic-contact<br />
service_notification_options c,r<br />
host_notification_options d,u,r,f,s<br />
alias Admin1<br />
email admin1@example.int<br />
}<br />
define contact{<br />
contact_name admin2<br />
use generic-contact<br />
service_notification_options c,r<br />
host_notification_options d,u,r,f,s<br />
alias Admin2<br />
email admin2@example.int<br />
}</span></span><br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;"> </span></span><span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">define contactgroup{</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;"> contactgroup_name admins</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;"> alias Nagios Administrators</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;"> members admin1,admin2</span><br style="font-family: "Courier New",Courier,monospace;" /><span style="font-family: "Courier New",Courier,monospace;"> }</span></span><br />
<span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;">And add the following lines underneath each host configured in</span></span> <span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">/usr/local/nagios/etc/objects/windows.cfg</span></span><br />
<div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;"> contacts admin1,admin2</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Add the following lines underneath each service configured, that should receive email notification</span></div><div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;"> contacts admin1,admin2</span></div><br />
<div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Restart NAGIOS and email notifications should be received when a condition (eg. c=critical) is reached by a host or service.</span></div>comport3http://www.blogger.com/profile/04775966117458273763noreply@blogger.com3tag:blogger.com,1999:blog-4149874454985745286.post-86167892488029407682011-06-06T15:03:00.000-07:002011-06-08T18:49:31.446-07:00Free Redundant Layer 3 Routing with VRRP 802.1Q VLANs using Debian Linux<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOiUMVM74o8LtCSJlrW7CWrtQ_9gS8M8Wi1UffoZ5dlYga1OVZ3RWXYy60EURwvGfjhKuv25cnnJWI2y-c-LQwfYnJeYhibr1gY-RhLtCaMIg1xdz_-V0FUi08TqisEtagi44WB1W09uwy/s1600/vrrp.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="146" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOiUMVM74o8LtCSJlrW7CWrtQ_9gS8M8Wi1UffoZ5dlYga1OVZ3RWXYy60EURwvGfjhKuv25cnnJWI2y-c-LQwfYnJeYhibr1gY-RhLtCaMIg1xdz_-V0FUi08TqisEtagi44WB1W09uwy/s400/vrrp.gif" width="400" /></a></div><br />
<br />
<div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">How to use Linux to get redundant routing configured, with enterprise grade features.</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br />
</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><b>Distro: Debian 6 Server</b></span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br />
</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Install a base Debian 6 server, specific to your environment. The first NIC </span><span style="font-size: small;">should be configured with your preferred default route, eg. firewall. We select the default packages "Standard" and "SSH".</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br />
</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br />
</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">If using VMware, create a new vSwitch in VLAN "All" (802.1Q Tag 4095)</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br />
</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Add a second network adapter to the Virtual Machine, connected to the new vSwitch.</span></div><span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;">apt-get install vlan</span><br />
<div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Add the VLANs as per the diagram above.</span></div><span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;">vconfig add</span><span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;"> eth1 70</span><br />
<div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">vconfig add eth1 80</span></div><span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;">vconfig add eth1 90</span><br />
<br />
<div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Configure the network interfaces file <span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">/etc/network/interfaces</span></span> using your favourite text editor (mine's nano) with these additions:</span></div><span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;">auto eth0</span><br />
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;">auto eth1.70</span><br />
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;">iface eth1.70 inet static</span><br />
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;"> address 192.168.70.253</span><br />
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;"> netmask 255.255.255.0</span><br />
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;"> network 192.168.70.0</span><br />
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;"> broadcast 192.168.70.255</span><br />
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;"> vlan_raw_device eth1</span><br />
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;">auto eth1.80</span><br />
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;">iface eth1.80 inet static</span><br />
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;"> address 192.168.80.253</span><br />
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;"> netmask 255.255.255.0</span><br />
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;"> network 192.168.80.0</span><br />
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;"> broadcast 192.168.80.255</span><br />
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;"> vlan_raw_device eth1</span><br />
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;">auto eth1.90</span><br />
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;">iface eth1.90 inet static</span><br />
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;"> address 192.168.90.253</span><br />
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;"> netmask 255.255.255.0</span><br />
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;"> network 192.168.90.0</span><br />
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;"> broadcast 192.168.90.255</span><br />
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;"> vlan_raw_device eth1</span><br />
<div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Restart networking: <span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">/etc/init.d/networking restart</span></span>.</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><br />
</span></div><div style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Enable IP forwarding (routing):</span></div><pre style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;"><code>echo 1 > /proc/sys/net/ipv4/ip_forward</code></span></pre><div style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;"><code><span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;">Make the change permanent, uncomment this line in</span></span> /etc/sysctl.conf</code><code> </code></span></div><pre style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;"><code></code>#net.ipv4.ip_forward = 1</span></pre><pre> </pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Install a DHCP server</span></pre><pre style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">apt-get install isc-dhcp-server</span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">
</span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Remove the default file <span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">/etc/dhcp/dhcpd.conf</span></span> and replace with:</span></pre><pre style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">log-facility local7;
subnet 192.168.70.0 netmask 255.255.255.0 {
range 192.168.70.20 192.168.70.25;
option domain-name-servers 192.168.70.253,192.168.70.252;
option domain-name "example.int";
option routers 192.168.70.254;
option broadcast-address 192.168.70.255;
default-lease-time 2400;
max-lease-time 7200;
}
subnet 192.168.80.0 netmask 255.255.255.0 {
range 192.168.80.20 192.168.80.25;
option domain-name-servers 192.168.80.253,192.168.80.252;
option domain-name "example.int";
option routers 192.168.80.254;
option broadcast-address 192.168.80.255;
default-lease-time 2400;
max-lease-time 7200;
}
subnet 192.168.90.0 netmask 255.255.255.0 {
range 192.168.90.50 192.168.90.150;
option domain-name-servers 192.168.90.253,192.168.90.252;
option domain-name "example.int";
option routers 192.168.90.254;
option broadcast-address 192.168.90.255;
default-lease-time 2400;
max-lease-time 7200;
}</span></pre><pre><span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;"> </span></span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Start the DHCP server:</span></pre><pre style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">/etc/init.d/isc-dhcp-server start</span></pre><pre><span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;"> </span></span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Install a DNS Caching Only Server</span></pre><pre style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;"> apt-get install bind9</span></pre><pre></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Edit /etc/bind/named.conf.options and add these lines after the comments //
<span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;"> listen-on { any; };</span></span></span></pre><pre style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;"> forwarders {<your DNS forwarder1>;<your DNS forwarder2>;};</span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Start BIND:</span></pre><pre style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">/etc/init.d/bind9 start</span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"> </span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Now shutdown your VM (or Physical) and clone it to another physical server.</span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"> </span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Boot the 'clone, and change the hostname/IP in the following files:</span></pre><pre style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">/etc/hostname [change from RouterPri to RouterBak]</span></pre><pre style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">/etc/hosts </span><span style="font-size: xx-small;">[change from RouterPri to RouterBak]</span></pre><pre style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">/etc/network/interfaces [Change IPs from .253 to .252]</span></pre><pre style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">/etc/dhcp/dhcpd.conf [Change the IP pools to be different to the primary]</span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"> </span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Reboot, Boot the 'original'</span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"> </span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Install 'keepalived' and 'vrrpd'</span></pre><pre style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">apt-get install keepalived vrrpd -y</span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"> </span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Configure on RouterPri file <span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;">/etc/keepalived/keepadlived.conf</span></span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">vrrp_instance VR1 {</span>
<span style="font-family: "Courier New",Courier,monospace;"> state MASTER</span>
<span style="font-family: "Courier New",Courier,monospace;"> interface eth1</span>
<span style="font-family: "Courier New",Courier,monospace;"> virtual_router_id 1</span>
<span style="font-family: "Courier New",Courier,monospace;"> priority 100</span>
<span style="font-family: "Courier New",Courier,monospace;"> authentication {</span>
<span style="font-family: "Courier New",Courier,monospace;"> auth_type PASS</span>
<span style="font-family: "Courier New",Courier,monospace;"> auth_pass password</span>
<span style="font-family: "Courier New",Courier,monospace;"> }</span>
<span style="font-family: "Courier New",Courier,monospace;"> virtual_ipaddress {</span>
<span style="font-family: "Courier New",Courier,monospace;"> 192.168.70.254/24 brd 192.168.70.255 dev eth1.70</span>
<span style="font-family: "Courier New",Courier,monospace;"> 192.168.80.254/24 brd 192.168.80.255 dev eth1.80</span>
<span style="font-family: "Courier New",Courier,monospace;"> 192.168.90.254/24 brd 192.168.90.255 dev eth1.90</span>
<span style="font-family: "Courier New",Courier,monospace;"> }</span></span></span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"> </span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Configure the same file on RouterBak</span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">vrrp_instance VR1 {</span>
<span style="font-family: "Courier New",Courier,monospace;"> state SLAVE</span>
<span style="font-family: "Courier New",Courier,monospace;"> interface eth1</span>
<span style="font-family: "Courier New",Courier,monospace;"> virtual_router_id 1</span>
<span style="font-family: "Courier New",Courier,monospace;"> priority 50</span>
<span style="font-family: "Courier New",Courier,monospace;"> authentication {</span>
<span style="font-family: "Courier New",Courier,monospace;"> auth_type PASS</span>
<span style="font-family: "Courier New",Courier,monospace;"> auth_pass password</span>
<span style="font-family: "Courier New",Courier,monospace;"> }</span>
<span style="font-family: "Courier New",Courier,monospace;"> virtual_ipaddress {</span>
<span style="font-family: "Courier New",Courier,monospace;"> 192.168.70.254/24 brd 192.168.70.255 dev eth1.70</span>
<span style="font-family: "Courier New",Courier,monospace;"> 192.168.80.254/24 brd 192.168.80.255 dev eth1.80</span>
<span style="font-family: "Courier New",Courier,monospace;"> 192.168.90.254/24 brd 192.168.90.255 dev eth1.90</span>
<span style="font-family: "Courier New",Courier,monospace;"> }</span></span> </span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;">At this point, you can assign a NIC to one of your other VMs (using VMXNET3)</span></span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;">and use VLAN tags to test DHCP, DNS and Primary to Backup L3 failover.</span> </span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;"> </span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">A dynamic routing protocol is required to notify other Layer 3 devices on the</span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">network of the route change, if failover is to occur. For this, we will use the 'quagga'</span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">daemon and configure it with the RIPv2 protocol.</span></pre><pre style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;"> </span></pre><pre style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">apt-get install quagga</span></pre><pre style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;"> </span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">Edit <span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">/etc/quagga/</span></span></span><span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">daemons</span></span></pre><pre style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">zebra=yes</span></pre><pre style="font-family: "Courier New",Courier,monospace;"><span style="font-size: xx-small;">ripd=yes</span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"></pre><pre style="font-family: Arial,Helvetica,sans-serif;"> </pre><pre style="font-family: Arial,Helvetica,sans-serif;">Edit <span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">/etc/quagga/zebra.conf</span></span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">hostname Router</span>
<span style="font-family: "Courier New",Courier,monospace;">password zebra</span>
<span style="font-family: "Courier New",Courier,monospace;">enable password zebra</span>
<span style="font-family: "Courier New",Courier,monospace;">!</span>
<span style="font-family: "Courier New",Courier,monospace;">interface eth0</span>
<span style="font-family: "Courier New",Courier,monospace;"> ipv6 nd suppress-ra</span>
<span style="font-family: "Courier New",Courier,monospace;">!</span>
<span style="font-family: "Courier New",Courier,monospace;">interface eth1</span>
<span style="font-family: "Courier New",Courier,monospace;"> ipv6 nd suppress-ra</span>
<span style="font-family: "Courier New",Courier,monospace;">!</span>
<span style="font-family: "Courier New",Courier,monospace;">interface eth1.70</span>
<span style="font-family: "Courier New",Courier,monospace;"> ipv6 nd suppress-ra</span>
<span style="font-family: "Courier New",Courier,monospace;">!</span>
<span style="font-family: "Courier New",Courier,monospace;">interface eth1.80</span>
<span style="font-family: "Courier New",Courier,monospace;"> ipv6 nd suppress-ra</span>
<span style="font-family: "Courier New",Courier,monospace;">!</span>
<span style="font-family: "Courier New",Courier,monospace;">interface eth1.90</span>
<span style="font-family: "Courier New",Courier,monospace;"> ipv6 nd suppress-ra</span>
<span style="font-family: "Courier New",Courier,monospace;">!</span>
<span style="font-family: "Courier New",Courier,monospace;">interface lo</span>
<span style="font-family: "Courier New",Courier,monospace;">!</span>
<span style="font-family: "Courier New",Courier,monospace;">ip forwarding</span>
<span style="font-family: "Courier New",Courier,monospace;">!</span>
<span style="font-family: "Courier New",Courier,monospace;">!</span>
<span style="font-family: "Courier New",Courier,monospace;">line vty</span>
<span style="font-family: "Courier New",Courier,monospace;">!</span></span> </pre><pre style="font-family: Arial,Helvetica,sans-serif;"> </pre><pre style="font-family: Arial,Helvetica,sans-serif;">Edit <span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">/etc/quagga/ripd.conf <span style="font-size: small;"><span style="font-family: Arial,Helvetica,sans-serif;">on both routers.</span></span></span></span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">hostname Router*.example.int</span>
<span style="font-family: "Courier New",Courier,monospace;">password zebra</span>
<span style="font-family: "Courier New",Courier,monospace;">log file /var/log/quagga/ripd.log</span>
<span style="font-family: "Courier New",Courier,monospace;">log stdout</span>
<span style="font-family: "Courier New",Courier,monospace;">!</span>
<span style="font-family: "Courier New",Courier,monospace;">router rip</span>
<span style="font-family: "Courier New",Courier,monospace;"> version 2</span>
<span style="font-family: "Courier New",Courier,monospace;"> timers basic 30 120 120</span>
<span style="font-family: "Courier New",Courier,monospace;"> redistribute kernel</span>
<span style="font-family: "Courier New",Courier,monospace;"> redistribute connected</span>
<span style="font-family: "Courier New",Courier,monospace;"> redistribute static</span>
<span style="font-family: "Courier New",Courier,monospace;"> network 192.168.70.0/24</span>
<span style="font-family: "Courier New",Courier,monospace;"> network 192.168.80.0/24</span>
<span style="font-family: "Courier New",Courier,monospace;"> network 192.168.90.0/24</span>
<span style="font-family: "Courier New",Courier,monospace;"> network eth0</span>
<span style="font-family: "Courier New",Courier,monospace;"> network eth1</span>
<span style="font-family: "Courier New",Courier,monospace;"> network eth1.70</span>
<span style="font-family: "Courier New",Courier,monospace;"> network eth1.80</span>
<span style="font-family: "Courier New",Courier,monospace;"> network eth1.90</span>
<span style="font-family: "Courier New",Courier,monospace;"> neighbor <Your L3 Device 1></span>
<span style="font-family: "Courier New",Courier,monospace;"> neighbor <Your L3 Device 2></span>
<span style="font-family: "Courier New",Courier,monospace;">!</span>
<span style="font-family: "Courier New",Courier,monospace;">line vty</span>
<span style="font-family: "Courier New",Courier,monospace;">!</span></span>
Start the quagga daemon: <span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">/etc/init.d/quagga start</span></span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"></pre><pre style="font-family: Arial,Helvetica,sans-serif;">You can now test the failover/failback of your HA solution by disconnecting and </pre><pre style="font-family: Arial,Helvetica,sans-serif;">reconnecting NICs on the Primary router, and monitoring <span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">/var/log/syslog</span></span></pre><pre style="font-family: Arial,Helvetica,sans-serif;"></pre><pre style="font-family: Arial,Helvetica,sans-serif;">You should see only a few packets dropped (depending on the convergence of</pre><pre style="font-family: Arial,Helvetica,sans-serif;">other L3 devices) during the failover and failback between the routers.</pre><pre style="font-family: Arial,Helvetica,sans-serif;"></pre><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAdm0KjRdJ49ZUhHU29vPE8s4cQqgYEssZf4eRr1aiRQVreQg3CkASbafeoiO5uG2fp6SbveZy_mtyrbS171Uen7-ozvj5ECi6XZoivnZnqnkDPasXsfjigGftLUvQdJthkkhOU4j5wESL/s1600/reconvergence.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="299" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAdm0KjRdJ49ZUhHU29vPE8s4cQqgYEssZf4eRr1aiRQVreQg3CkASbafeoiO5uG2fp6SbveZy_mtyrbS171Uen7-ozvj5ECi6XZoivnZnqnkDPasXsfjigGftLUvQdJthkkhOU4j5wESL/s320/reconvergence.gif" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjnW88KF4Xn-sM49-8q6CJIuiNCKRuJSWOUPMFLZRAtbW__bL5EDiblbirs95R3-U2Y-uja_DYLmLC1pSN5IIuPSRRRsZOa7NRzAQrMan4vIK7MniXzBGET88vH2Y_wInh5qTlsWdhQzYK/s1600/failover.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br />
</a></div><pre style="font-family: Arial,Helvetica,sans-serif;"></pre><pre style="font-family: Arial,Helvetica,sans-serif;">Your syslog during failover/failback should look something like this:</pre><pre style="font-family: Arial,Helvetica,sans-serif;"></pre><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyc5_glsVSltZy_X8OvEfuMxyAr0qTdovfN93YQDn15GCBrS2E-Arq6QHJ7aHOZ8AFTanDOkzq3Icn1PQU1uLF8UrS6DQ_IWVsU0mh4KwUF3HO34r-bVZ-xd1mWZ2UTfVvTuW4C14aS56l/s1600/failover-syslog.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="61" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyc5_glsVSltZy_X8OvEfuMxyAr0qTdovfN93YQDn15GCBrS2E-Arq6QHJ7aHOZ8AFTanDOkzq3Icn1PQU1uLF8UrS6DQ_IWVsU0mh4KwUF3HO34r-bVZ-xd1mWZ2UTfVvTuW4C14aS56l/s320/failover-syslog.gif" width="320" /></a></div><pre style="font-family: Arial,Helvetica,sans-serif;"></pre><pre style="font-family: Arial,Helvetica,sans-serif;"> </pre><pre style="font-family: Arial,Helvetica,sans-serif;"><i>Thoughts on running this in production...</i></pre><ul><li><pre style="font-family: Arial,Helvetica,sans-serif;"><i>Consider installing each router on the local disks of your VMware hosts</i></pre><ul><li><pre style="font-family: Arial,Helvetica,sans-serif;"><i>Set them to auto-boot with the hosts </i></pre><pre style="font-family: Arial,Helvetica,sans-serif;"><i>Ensure you can communicate on the same subnet/VLAN in case of problems </i></pre></li>
</ul></li>
</ul><pre style="font-family: Arial,Helvetica,sans-serif;"> </pre><pre style="font-family: Arial,Helvetica,sans-serif;">Please let me know your thoughts and feedback if you've found this useful!</pre><pre></pre><pre></pre>comport3http://www.blogger.com/profile/04775966117458273763noreply@blogger.com1tag:blogger.com,1999:blog-4149874454985745286.post-41311360888099567382011-05-19T19:23:00.000-07:002011-05-19T21:03:37.672-07:00Howto: Install VMware Tools In LinuxHere are some quick and dirty steps to install the VMware Tools on a Linux server.<br />
<br />
<b>Within Debian and Ubuntu Server</b><br />
<br />
<i>Become Root</i><br />
sudo -s<i> </i><br />
<br />
<i>Refresh Available Packages</i><br />
apt-get update<br />
<br />
<i>Upgrade to the latest available packages</i><br />
apt-get upgrade -y<br />
<i> </i><br />
<i>Make a directory to mount the CD drive into</i><br />
mkdir /mnt/cd<br />
<i> </i><br />
<i>Install compiler tools and kernel headers</i><br />
apt-get install build-essential kernel-headers-$(uname -r) -y<br />
<i> </i><i></i><br />
<i><b>Attach VMware Tools .ISO Image</b></i><br />
Within the VMware Infrastructure client <i>Guest, Install/Upgrade VMware Tools</i><br />
<br />
<i> Mount the CDROM drive</i><br />
mount /dev/cdrom /mnt/cd<br />
<i> </i><i></i><br />
<i>Copy the VMware Tools locally</i><br />
cp /mnt/cd/V*.tar.gz /tmp<br />
<i> </i><i></i><br />
<i>Extract the VMware Tools</i><i></i><br />
cd /tmp <br />
tar xzvf V*.tar.gz<br />
<br />
<i>Compile and install to default location</i><br />
cd vmware-tools-distrib<br />
./vmware-install.pl -d<br />
<br />
<i>Tidy Up</i><br />
cd /tmp<br />
rm -rf vmw*<br />
apt-get remove build-essential kernel-headers-$(uname -r) -y<br />
apt-get autoremove -y <br />
apt-get autoclean<br />
<br />
<i>Reboot</i><br />
init 6<i> </i><br />
<br />
That's it! VMware tools should be working upon reboot.<br />
<b> </b>comport3http://www.blogger.com/profile/04775966117458273763noreply@blogger.com0