<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0" xml:base="http://meinit.nl">
<channel>
 <title>Me in IT - Articles</title>
 <link>http://meinit.nl/articles</link>
 <description>Articles that involve coding, all in the UNIX/Linux environment</description>
 <language>en</language>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/MeInIt" /><feedburner:info uri="meinit" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>MeInIt</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FMeInIt" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FMeInIt" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FMeInIt" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/MeInIt" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FMeInIt" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FMeInIt" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FMeInIt" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><item>
 <title>Using "recording" in VI instead of being annoyed</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/7-Iy-RXiPak/using-recording-vi-instead-being-annoyed</link>
 <description>&lt;p&gt;Here is a trick you can use in VI if you need to repeat an action multiple times. Imagine you have this file:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;hello&lt;br /&gt;Workd&lt;br /&gt;hello&lt;br /&gt;Workd&lt;br /&gt;hello&lt;br /&gt;Workd&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;You want to change it to read "Hello world!" Here is what you can do in VI:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to the first occurrence of what you would like to have changed.&lt;/li&gt;
&lt;li&gt;Enter "q" to initiate a recording.&lt;/li&gt;
&lt;li&gt;Enter a letter or digit to save the recording under, like "a" or "1".&lt;/li&gt;
&lt;li&gt;Do the actions you would like to repeat.&lt;/li&gt;
&lt;li&gt;Enter "q" again to stop and save the recording.&lt;/li&gt;
&lt;li&gt;Go to the line where you would like to start running the saved recording/macro.&lt;/li&gt;
&lt;li&gt;Enter "@" followed by the letter of digit you have saved the recording under, like "a" or "1".&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So, now you have learned what this (annoying) "recording" option can be used for!&lt;/p&gt;
</description>
 <comments>http://meinit.nl/using-recording-vi-instead-being-annoyed#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-fred-clausen">Fred Clausen</category>
 <pubDate>Tue, 02 Feb 2010 09:25:43 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">404 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/using-recording-vi-instead-being-annoyed</feedburner:origLink></item>
<item>
 <title>Debugging an SSL connection</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/XdGvlo92KeU/debugging-ssl-connection</link>
 <description>&lt;p&gt;Imagine you would like to debug an SSL connection to a box, for example HTTPS. Using telnet or netcat, you are not able to do so, but openssl makes this possible, here is how:&lt;/p&gt;
&lt;p&gt;First; connect to a machine:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;$ openssl s_client -connect mail.google.com:443&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;You will be given the certificate details:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;CONNECTED(00000003)&lt;br /&gt;depth=2 /C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority&lt;br /&gt;verify return:1&lt;br /&gt;depth=1 /C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA&lt;br /&gt;verify return:1&lt;br /&gt;depth=0 /C=US/ST=California/L=Mountain View/O=Google Inc/CN=mail.google.com&lt;br /&gt;verify return:1&lt;br /&gt;---&lt;br /&gt;Certificate chain&lt;br /&gt; 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=mail.google.com&lt;br /&gt;&amp;nbsp; i:/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA&lt;br /&gt; 1 s:/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA&lt;br /&gt;&amp;nbsp; i:/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority&lt;br /&gt;---&lt;br /&gt;Server certificate&lt;br /&gt;-----BEGIN CERTIFICATE-----&lt;br /&gt;MIIDIjCCAougAwIBAgIQHxn23jXdY6FCkYrVLMCrEjANBgkqhkiG9w0BAQUFADBM&lt;br /&gt;MQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkg&lt;br /&gt;THRkLjEWMBQGA1UEAxMNVGhhd3RlIFNHQyBDQTAeFw0wOTEyMTgwMDAwMDBaFw0x&lt;br /&gt;MTEyMTgyMzU5NTlaMGkxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh&lt;br /&gt;MRYwFAYDVQQHFA1Nb3VudGFpbiBWaWV3MRMwEQYDVQQKFApHb29nbGUgSW5jMRgw&lt;br /&gt;FgYDVQQDFA9tYWlsLmdvb2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ&lt;br /&gt;AoGBANknyBHye+RFyUa2Y3WDsXd+F0GJgDjxRSegPNnoqABL2QfQut7t9CymrNwn&lt;br /&gt;E+wMwaaZF0LmjSfSgRSwS4L6ssXQuyBZYiijlrVh9nbBbUbS/brGDz3RyXeaWDP2&lt;br /&gt;BnYyrVFfKV9u+BKLrebFCDmzQ0OpW5Ed1+PPUd91WY6NgKtTAgMBAAGjgecwgeQw&lt;br /&gt;DAYDVR0TAQH/BAIwADA2BgNVHR8ELzAtMCugKaAnhiVodHRwOi8vY3JsLnRoYXd0&lt;br /&gt;ZS5jb20vVGhhd3RlU0dDQ0EuY3JsMCgGA1UdJQQhMB8GCCsGAQUFBwMBBggrBgEF&lt;br /&gt;BQcDAgYJYIZIAYb4QgQBMHIGCCsGAQUFBwEBBGYwZDAiBggrBgEFBQcwAYYWaHR0&lt;br /&gt;cDovL29jc3AudGhhd3RlLmNvbTA+BggrBgEFBQcwAoYyaHR0cDovL3d3dy50aGF3&lt;br /&gt;dGUuY29tL3JlcG9zaXRvcnkvVGhhd3RlX1NHQ19DQS5jcnQwDQYJKoZIhvcNAQEF&lt;br /&gt;BQADgYEAicju7fexy+yRP2drx57Tcqo+BElR1CiHNZ1nhPmS9QSZaudDA8jy25IP&lt;br /&gt;VWvjEgaq13Hro0Hg32ZNVK53qcXwjWtnCAReojvNwj6/x1Ciq5B6D7E6eiYDSfXJ&lt;br /&gt;8/a2vR5IbgY89nq+wuHaA6vspH6vNR848xO3z1PQ7BrIjnYQ1A0=&lt;br /&gt;-----END CERTIFICATE-----&lt;br /&gt;subject=/C=US/ST=California/L=Mountain View/O=Google Inc/CN=mail.google.com&lt;br /&gt;issuer=/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA&lt;br /&gt;---&lt;br /&gt;No client certificate CA names sent&lt;br /&gt;---&lt;br /&gt;SSL handshake has read 1778 bytes and written 343 bytes&lt;br /&gt;---&lt;br /&gt;New, TLSv1/SSLv3, Cipher is AES256-SHA&lt;br /&gt;Server public key is 1024 bit&lt;br /&gt;Compression: NONE&lt;br /&gt;Expansion: NONE&lt;br /&gt;SSL-Session:&lt;br /&gt;&amp;nbsp;&amp;nbsp; Protocol&amp;nbsp; : TLSv1&lt;br /&gt;&amp;nbsp;&amp;nbsp; Cipher&amp;nbsp;&amp;nbsp;&amp;nbsp; : AES256-SHA&lt;br /&gt;&amp;nbsp;&amp;nbsp; Session-ID: 53530BBF94619E255B7956A18D9B9F26241B2A1BF16F30C18C73C88A60200E5F&lt;br /&gt;&amp;nbsp;&amp;nbsp; Session-ID-ctx:&lt;br /&gt;&amp;nbsp;&amp;nbsp; Master-Key:&lt;br /&gt;B40F4E1D533F88AF9248E6576CA4E4CFC2C4BD092816DB7EF9D4FE650EA62B4CAC1F23C36892866B40E3502E67D52CF1&lt;br /&gt;&amp;nbsp;&amp;nbsp; Key-Arg&amp;nbsp;&amp;nbsp; : None&lt;br /&gt;&amp;nbsp;&amp;nbsp; Krb5 Principal: None&lt;br /&gt;&amp;nbsp;&amp;nbsp; Start Time: 1264674178&lt;br /&gt;&amp;nbsp;&amp;nbsp; Timeout&amp;nbsp;&amp;nbsp; : 300 (sec)&lt;br /&gt;&amp;nbsp;&amp;nbsp; Verify return code: 0 (ok)&lt;br /&gt;---&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Now you can enter commands in plain text, just as you would using telnet or netcat:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;HEAD / HTTP/1.0&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Here is what you get:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;HTTP/1.0 302 Found&lt;br /&gt;Cache-Control: private&lt;br /&gt;Location: &lt;a href="http://www.google.com&lt;br /&gt;Content-Type:" title="http://www.google.com&lt;br /&gt;Content-Type:"&gt;http://www.google.com&lt;br /&gt;Content-Type:&lt;/a&gt; text/html; charset=UTF-8&lt;br /&gt;Content-Length: 218&lt;br /&gt;Date: Thu, 28 Jan 2010 10:23:05 GMT&lt;br /&gt;Server: GFE/2.0&lt;br /&gt;X-XSS-Protection: 0&lt;br /&gt;&lt;br /&gt;read:errno=0&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;An easy trick that can also be used to connect to SSL-ed STMP connections, IMAPS, POP3S, etc.&lt;/p&gt;
</description>
 <comments>http://meinit.nl/debugging-ssl-connection#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-fred-clausen">Fred Clausen</category>
 <pubDate>Thu, 28 Jan 2010 10:42:43 +0000</pubDate>
 <dc:creator>Fred Clausen</dc:creator>
 <guid isPermaLink="false">403 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/debugging-ssl-connection</feedburner:origLink></item>
<item>
 <title>Making an RPM for a shell script.</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/XsEZs88KAa4/making-rpm-shell-script</link>
 <description>&lt;p&gt;So, you have written an enterprise quality shell script and would like to deploy it on serveral Red Hat based machines? Creating an RPM will make this easy to do. Here are the steps required.&lt;/p&gt;
&lt;p&gt;1. Install rpmbuild so you may start to build your own RPMs.&lt;br /&gt;
2. Package your shell script into a tar.gz file and move that to /usr/src/redhat/SOURCES/&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# tar -cvzf shell-script-0.1.tar.gz shell-script-0.1&lt;br /&gt;# mv shell-script-0.1.tar.gz /usr/src/redhat/SOURCES/&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
3. Create a .spec file that describes where everything is.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# cat /usr/src/redhat/SPECS/shell-script.spec&lt;br /&gt;Summary: The do it all script. (Enterprise quality)&lt;br /&gt;Name: shell-script&lt;br /&gt;Version: 0.1&lt;br /&gt;Release: 1&lt;br /&gt;URL:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://meinit.nl&lt;br /&gt;License:" title="http://meinit.nl&lt;br /&gt;License:"&gt;http://meinit.nl&lt;br /&gt;License:&lt;/a&gt; GPL&lt;br /&gt;Group: Applications/Internet&lt;br /&gt;BuildRoot: %{_tmppath}/%{name}-root&lt;br /&gt;Requires: bash&lt;br /&gt;Source0: shell-script-%{version}.tar.gz&lt;br /&gt;BuildArch: noarch&lt;br /&gt;&lt;br /&gt;%description&lt;br /&gt;A shell script.&lt;br /&gt;&lt;br /&gt;%prep&lt;br /&gt;%setup&lt;br /&gt;&lt;br /&gt;%build&lt;br /&gt;&lt;br /&gt;%install&lt;br /&gt;rm -rf ${RPM_BUILD_ROOT}&lt;br /&gt;mkdir -p ${RPM_BUILD_ROOT}/usr/bin&lt;br /&gt;install -m 755 shell-script.sh ${RPM_BUILD_ROOT}%{_bindir}&lt;br /&gt;&lt;br /&gt;%clean&lt;br /&gt;rm -rf ${RPM_BUILD_ROOT}&lt;br /&gt;&lt;br /&gt;%files&lt;br /&gt;%defattr(-,root,root)&lt;br /&gt;%attr(755,root,root) %{_bindir}/shell-script.sh&lt;br /&gt;&lt;br /&gt;%changelog&lt;br /&gt;* Tue Jan 12 2010 Robert de Bock &amp;lt;robert@meinit.nl&amp;gt;&lt;br /&gt;- Uberscript!&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
3. Build it!&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# rpmbuild --bb /usr/src/redhat/SPECS/shell-script.spec&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
4. Install it!&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# rpm -Uvh /usr/src/redhat/RPMS/noarch/shell-script-0.1.1.noarch.rpm&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
</description>
 <comments>http://meinit.nl/making-rpm-shell-script#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Tue, 12 Jan 2010 10:21:28 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">402 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/making-rpm-shell-script</feedburner:origLink></item>
<item>
 <title>Ranges in shell scripts</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/82dCLf9wSHM/ranges-shell-scripts</link>
 <description>&lt;p&gt;I have been admiring the people who know how to use ranges in shell scripts. These people are faster and more fluent on the Linux command line than anybody without knowledge of ranges could be.&lt;/p&gt;
&lt;p&gt;Here are some ranges or patters that you could use.&lt;/p&gt;
&lt;p&gt;A sequence of characters, in this case 1 to 10, printed on one line.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;$ echo &amp;quot;file{1..9}&amp;quot;&lt;br /&gt;file1 file2 file3 file4 file5 file6 file7 file8 file9&lt;br /&gt;$ echo file{s..z}&lt;br /&gt;files filet fileu filev filew filex filey filez&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;The order of the range can be found in the man-page for "ascii".&lt;/p&gt;
&lt;p&gt;A pattern that describes either a range, or a separated pattern.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;$ echo file{1,2,4}&lt;br /&gt;file1 file2 file4&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Additional information can be found in the man page of bash, under "Brace Expansion".&lt;/p&gt;
</description>
 <comments>http://meinit.nl/ranges-shell-scripts#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Tue, 15 Dec 2009 07:23:33 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">401 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/ranges-shell-scripts</feedburner:origLink></item>
<item>
 <title>Restore hidden files with Apple Mac OS X Time Machine</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/pMQbEx7FHbc/restore-hidden-files-apple-mac-os-x-time-machine</link>
 <description>&lt;p&gt;Apple's &lt;a href="http://www.apple.com/macosx/what-is-macosx/time-machine.html"&gt;Time Machine&lt;/a&gt; works great, but restoring hidden files (files that start with a dot, like .ssh, .bashrc or .Trash) is difficult, but possible!&lt;/p&gt;
&lt;p&gt;Time machine uses the settings as used by the Finder. So first step is to change Finders behaviour, to show hidden files. Execute this command (as a regular user) from within the Terminal.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;$ defaults write com.apple.finder AppleShowAllFiles TRUE&lt;br /&gt;$ killall Finder&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Now you should be able to see extra files in the finder, like this:&lt;/p&gt;
&lt;p&gt;&lt;a href="/image/view/398/_original"&gt;&lt;img src="/image/view/398" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now start Time Machine and scroll back to the date you were sure a file existed.&lt;/p&gt;
&lt;p&gt;&lt;a href="/image/view/399/_original"&gt;&lt;img src="/image/view/399" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Restore it and to hide all thise (annoying) hidden files, revert to original Finder settings:&lt;/p&gt;
&lt;p&gt;&lt;div class="codeblock"&gt;&lt;code&gt;$ defaults write com.apple.finder AppleShowAllFiles FALSE&lt;br /&gt;$ killall Finder&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
</description>
 <comments>http://meinit.nl/restore-hidden-files-apple-mac-os-x-time-machine#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Thu, 03 Dec 2009 09:40:34 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">400 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/restore-hidden-files-apple-mac-os-x-time-machine</feedburner:origLink></item>
<item>
 <title>Nagios time check using SNMP</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/rqI3z1s_bbk/nagios-time-check-using-snmp</link>
 <description>&lt;p&gt;When you would like to retrieve the remotely configured time using SNMP and compare it to see how accurate the time is, here is a script to help you out.&lt;/p&gt;
&lt;p&gt;This setup does not specifically require NTP to be running on the hosts that are checked, it just requires that the time is correct. Virtual machines for example are advised to have the appropriate "tools" installed to synchronize time. NTP is not desirable for virtual machines.&lt;/p&gt;
&lt;p&gt;(Parts of the script are borrowed from &lt;a href="http://spielwiese.la-evento.com/xelasblog/archives/27-SNMP-hrSystemDate.0-Datumsformat-anpassen.html" title="http://spielwiese.la-evento.com/xelasblog/archives/27-SNMP-hrSystemDate.0-Datumsformat-anpassen.html"&gt;http://spielwiese.la-evento.com/xelasblog/archives/27-SNMP-hrSystemDate....&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;This is the graph that is created:&lt;br /&gt;
&lt;a href="/image/view/396/_original"&gt;&lt;img src="/image/view/396" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The script:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;# Nagios plugin to report time difference as received via SNMP compared to the local time.&lt;br /&gt;# Make sure the machine this script runs on (poller/nagios host) is using NTP.&lt;br /&gt;&lt;br /&gt;usage() {&lt;br /&gt; # This function is called when a user enters impossible values.&lt;br /&gt; echo &amp;quot;Usage: $0 -H HOSTADDRESS [-C COMMUNITY] [-w WARNING] [-c CRITICAL] [-v VERSION]&amp;quot;&lt;br /&gt; echo&lt;br /&gt; echo &amp;quot; -H HOSTADDRESS&amp;quot;&lt;br /&gt; echo &amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The host to check, either IP address or a resolvable hostname.&amp;quot;&lt;br /&gt; echo &amp;quot; -C COMMUNITY&amp;quot;&lt;br /&gt; echo &amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The SNMP community to use, defaults to public.&amp;quot;&lt;br /&gt; echo &amp;quot; -v VERSION&amp;quot;&lt;br /&gt; echo &amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The SNMTP version to use, defaults to 2c.&amp;quot;&lt;br /&gt; echo &amp;quot; -w WARNING&amp;quot;&lt;br /&gt; echo &amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The amount of seconds from where warnings start. Defaults to 60.&amp;quot;&lt;br /&gt; echo &amp;quot; -c CRITICAL&amp;quot;&lt;br /&gt; echo &amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The amount of seconds from where criticals start. Defaults to 120.&amp;quot;&lt;br /&gt; exit 3&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;readargs() {&lt;br /&gt; # This function reads what options and arguments were given on the&lt;br /&gt; # command line.&lt;br /&gt; while [ &amp;quot;$#&amp;quot; -gt 0 ] ; do&lt;br /&gt;&amp;nbsp; case &amp;quot;$1&amp;quot; in&lt;br /&gt;&amp;nbsp;&amp;nbsp; -H)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ &amp;quot;$2&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host=&amp;quot;$2&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift ; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;Missing a value for $1.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usage&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; -C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ &amp;quot;$2&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; community=&amp;quot;$2&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift ; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;Missing a value for $1.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usage&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; -w)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ &amp;quot;$2&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; warning=&amp;quot;$2&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift ; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;Missing a value for $1.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usage&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; -c)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ &amp;quot;$2&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; critical=&amp;quot;$2&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift ; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;Missing a value for $1.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usage&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; -v)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ &amp;quot;$2&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; version=&amp;quot;$2&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift ; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;Missing a value for $1.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usage&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; *)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;Unknown option $1.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; usage&lt;br /&gt;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp; esac&lt;br /&gt;done&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;checkvariables() {&lt;br /&gt; # This function checks if all collected input is correct.&lt;br /&gt; if [ ! &amp;quot;$host&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp; echo &amp;quot;Please specify a hostname or IP address.&amp;quot;&lt;br /&gt;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp; usage&lt;br /&gt; fi&lt;br /&gt; if [ ! &amp;quot;$community&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp; # The public community is used when a user did not enter a community.&lt;br /&gt;&amp;nbsp; community=&amp;quot;public&amp;quot;&lt;br /&gt; fi&lt;br /&gt; if [ ! &amp;quot;$version&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp; # Version 2c is used when a user did not enter a version.&lt;br /&gt;&amp;nbsp; version=&amp;quot;2c&amp;quot;&lt;br /&gt; fi&lt;br /&gt; if [ ! &amp;quot;$critical&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp; critical=&amp;quot;120&amp;quot;&lt;br /&gt; fi&lt;br /&gt; if [ ! &amp;quot;$warning&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp; warning=&amp;quot;60&amp;quot;&lt;br /&gt; fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;getandprintresults() {&lt;br /&gt; # This converts the date retreived from snmp to a unix time stamp.&lt;br /&gt; rdatestring=$( snmpget -v $version -c $community $host HOST-RESOURCES-MIB::hrSystemDate.0 | gawk &amp;#039;{print $NF}&amp;#039; )&lt;br /&gt;&lt;br /&gt; if [ ! &amp;quot;$rdatestring&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp; echo &amp;quot;Time difference could not be calculated; no time received.&amp;quot;&lt;br /&gt;&amp;nbsp; exit 3&lt;br /&gt; fi&lt;br /&gt;&lt;br /&gt; rdate=$( echo $rdatestring | gawk -F&amp;#039;,&amp;#039; &amp;#039;{print $1}&amp;#039; )&lt;br /&gt; rtime=$( echo $rdatestring | gawk -F&amp;#039;,&amp;#039; &amp;#039;{print $2}&amp;#039; | gawk -F&amp;#039;.&amp;#039; &amp;#039;{print $1}&amp;#039; )&lt;br /&gt; cldate=$( echo $rdate | gawk -F&amp;#039;-&amp;#039; &amp;#039;{printf(&amp;quot;%4i&amp;quot;,$1)}; {printf(&amp;quot;%02i&amp;quot;,$2)}; {printf(&amp;quot;%02i&amp;quot;,$3)};&amp;#039; )&lt;br /&gt; cltime=$( echo $rtime | gawk -F&amp;#039;:&amp;#039; &amp;#039;{printf(&amp;quot;%02i&amp;quot;,$1)}; {printf(&amp;quot;%02i&amp;quot;,$2)}; {printf(&amp;quot; %02i&amp;quot;,$3)};&amp;#039; )&lt;br /&gt; rdate_s=$( date -d &amp;quot;$cldate $cltime sec&amp;quot; +%s )&lt;br /&gt; ldate_s=$(date +&amp;#039;%s&amp;#039;)&lt;br /&gt; &lt;br /&gt; # If the calculated difference is negative, make it positive again for comparison.&lt;br /&gt; difference=$(($rdate_s - $ldate_s))&lt;br /&gt; if [ &amp;quot;$difference&amp;quot; -lt 0 ] ; then&lt;br /&gt;&amp;nbsp; positivedifference=$(($difference*-1))&lt;br /&gt; else&lt;br /&gt;&amp;nbsp; positivedifference=$difference&lt;br /&gt; fi&lt;br /&gt; &lt;br /&gt; if [ &amp;quot;$positivedifference&amp;quot; -gt &amp;quot;$critical&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp; echo &amp;quot;Time difference is more than $critical seconds: $difference|diff=$difference&amp;quot;&lt;br /&gt;&amp;nbsp; exit 2&lt;br /&gt; fi&lt;br /&gt; &lt;br /&gt; if [ &amp;quot;$positivedifference&amp;quot; -gt &amp;quot;$warning&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp; echo &amp;quot;Time difference is more than $warning seconds: $difference|diff=$difference&amp;quot;&lt;br /&gt;&amp;nbsp; exit 1&lt;br /&gt; fi&lt;br /&gt; &lt;br /&gt; echo &amp;quot;Time difference is less than $warning seconds: $difference|diff=$difference&amp;quot;&lt;br /&gt; exit 0&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;# The calls to the different functions.&lt;br /&gt;readargs &amp;quot;$@&amp;quot;&lt;br /&gt;checkvariables&lt;br /&gt;getandprintresults&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;To implement it in Nagios, add these sniplets to nagios.cfg. (or any other applicable nagios file.)&lt;/p&gt;
&lt;p&gt;The service for a group.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;define service{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hostgroup_name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Servertype_Linux&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; service_description&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; time&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _SERVICE_ID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1856&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; use&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SNMP-time&lt;br /&gt;}&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;The service template.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;define service{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SNMP-time&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; service_description&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; time&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; use&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; generic-service&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; check_command&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; check_snmp_time!$_HOSTSNMPCOMMUNITY$!120!60&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; max_check_attempts&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; normal_check_interval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retry_check_interval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; notification_interval&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; register&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;br /&gt;}&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;The command.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;define command{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; command_name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; check_snmp_time&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; command_line&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $USER1$/check_snmp_time -H $HOSTADDRESS$ -C $ARG1$ -c $ARG2$ -w $ARG3$&lt;br /&gt;}&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
</description>
 <comments>http://meinit.nl/nagios-time-check-using-snmp#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Wed, 25 Nov 2009 08:26:21 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">395 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/nagios-time-check-using-snmp</feedburner:origLink></item>
<item>
 <title>Optimize only fragmented tables in MySQL</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/_MHygiVpRxs/optimize-only-fragmented-tables-mysql</link>
 <description>&lt;p&gt;When you are using MySQL, you will (likely) have tables that can be fragmented. In MySQL terms this is called "OPTIMIZE".&lt;/p&gt;
&lt;p&gt;You could simply OPTIMIZE every table in every database, but during an OPTIMIZE, the tables are locked, so writing is not possible.&lt;/p&gt;
&lt;p&gt;To minimize the time that MySQL will be locked (and results cannot be written), here is a script that checks fragmentation of every table of every database. Only if a table is fragmented, the table is OPTIMIZED.&lt;/p&gt;
&lt;p&gt;&lt;div class="codeblock"&gt;&lt;code&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;echo -n &amp;quot;MySQL username: &amp;quot; ; read username&lt;br /&gt;echo -n &amp;quot;MySQL password: &amp;quot; ; stty -echo ; read password ; stty echo ; echo&lt;br /&gt;&lt;br /&gt;mysql -u $username -p&amp;quot;$password&amp;quot; -NBe &amp;quot;SHOW DATABASES;&amp;quot; | grep -v &amp;#039;lost+found&amp;#039; | while read database ; do&lt;br /&gt; mysql -u $username -p&amp;quot;$password&amp;quot; -NBe &amp;quot;SHOW TABLE STATUS;&amp;quot; $database | while read name engine version rowformat rows avgrowlength datalength maxdatalength indexlength datafree autoincrement createtime updatetime checktime collation checksum createoptions comment ; do&lt;br /&gt;&amp;nbsp; if [ &amp;quot;$datafree&amp;quot; -gt 0 ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp; fragmentation=$(($datafree * 100 / $datalength))&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo &amp;quot;database.$name is $fragmentation% fragmented.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; mysql -u &amp;quot;$username&amp;quot; -p&amp;quot;$password&amp;quot; -NBe &amp;quot;OPTIMIZE TABLE $name;&amp;quot; &amp;quot;$database&amp;quot;&lt;br /&gt;&amp;nbsp; fi&lt;br /&gt; done&lt;br /&gt;done&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Result will look something like this:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;MySQL username: root&lt;br /&gt;MySQL password:&lt;br /&gt;...&lt;br /&gt;database.cache_filter is 19% fragmented.&lt;br /&gt;meinit.cache_filter	optimize	status	OK&lt;br /&gt;database.cache_page is 35% fragmented.&lt;br /&gt;meinit.cache_page	optimize	status	OK&lt;br /&gt;...&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;You may comment out that line with OPTIMIZE TABLE in it, if you are just interested in seeing the fragmentation.&lt;/p&gt;
</description>
 <comments>http://meinit.nl/optimize-only-fragmented-tables-mysql#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Tue, 17 Nov 2009 15:38:36 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">394 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/optimize-only-fragmented-tables-mysql</feedburner:origLink></item>
<item>
 <title>Failover on OpenBSD is so easy to setup using carp!</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/Rb6YT1RWzS0/failover-openbsd-so-easy-setup-using-carp</link>
 <description>&lt;p&gt;I am not the first (and last) to write about carp, the failover/vip/floating-IP solution OpenBSD is using. &lt;a href="http://www.countersiege.com/doc/pfsync-carp/"&gt;Many&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Common_Address_Redundancy_Protocol"&gt;articles&lt;/a&gt; &lt;a href="http://www.kernel-panic.it/openbsd/carp/"&gt;describe&lt;/a&gt; this topic including a &lt;a href="http://www.openbsd.org/faq/pf/carp.html"&gt;very complete answer  to a frequently asked question about carp&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you are not familiar with IP failover situations; in case of carp/pulse/HSRP/VIP, an IP "floats" between different machines. One machine actually answers request to received packets, so this is an solution that knows of a MASTER of ACTIVE node .&lt;/p&gt;
&lt;p&gt;A CARP interface (which is not physical) is bound to a physical interface. The physical interface advertises statuses so other CARP interfaces know about each other.&lt;/p&gt;
&lt;p&gt;You can bind almost any service to a CARP interface, some examples are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DNS&lt;/li&gt;
&lt;li&gt;HTTP&lt;/li&gt;
&lt;li&gt;NTP&lt;/li&gt;
&lt;li&gt;Proxy/Squid&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Services that store data/stadia locally are not very suitable for a CARP solution. Examples are: DHCP (because leases are stored localy), MySQL/PostgreSQL (because data is stored on a physical local storage) and SSH (because you can never be sure what machine you are connecting to.&lt;/p&gt;
&lt;p&gt;Here is how to set it up. On both boxes add a file /etc/hostname.carp0 with this content:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;inet 192.168.1.123 255.255.0 192.168.1.255 vhid 1 pass SeCrEt carpdev em0&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Remember to activate the interface like this: (All your network cards will be (re-) configured!)&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# sh /etc/netstart&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;In this case, 192.168.1.123 is the floating IP address and em0 is the physical device that carp0 is running on. Be aware that the other server's carpdev should be connected to the same LAN.&lt;/p&gt;
&lt;p&gt;Now that this is done, you may access services on the newly created CARP device's IP address. You may also specifically bind applications to only the CARP device.&lt;/p&gt;
&lt;p&gt;You may check the status using ifconfig: (Please not the "carp: MASTER" part, it tells you this machine is the master, all others are "BACKUP".)&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# ifconfig carp0&lt;br /&gt;carp0: flags=8843&amp;lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&amp;gt; mtu 1500&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lladdr 00:00:5e:00:01:02&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; priority: 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; carp: MASTER carpdev em0 vhid 1 advbase 1 advskew 0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; groups: carp&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inet6 fe80::200:5eff:fe00:102%carp0 prefixlen 64 scopeid 0x5&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inet 192.168.1.123 netmask 0xffffff00 broadcast 192.168.1.255&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;One limitation I found; you can not have run dhclient on a carp interface, you will need to assign an IP address to the carp device. Please be aware that this would be a very odd setup; DHCP in a failover interface.&lt;/p&gt;
</description>
 <comments>http://meinit.nl/failover-openbsd-so-easy-setup-using-carp#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Wed, 11 Nov 2009 13:16:42 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">393 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/failover-openbsd-so-easy-setup-using-carp</feedburner:origLink></item>
<item>
 <title>Your Soekris OpenBSD as a OpenVPN appliance</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/zg8ir4TFimE/your-soekris-openbsd-openvpn-appliance</link>
 <description>&lt;p&gt;I have an existing network at home, but would like to be able to connect to it using a VPN every now and then. This enables me to access the fileserver, printer and so on.&lt;/p&gt;
&lt;p&gt;My network contains an &lt;a href="http://www.apple.com/timecapsule/"&gt;Apple Time Capsule&lt;/a&gt; as a nat router, an ethernet modem provided by my cable company &lt;a href="http://www.ziggo.nl/"&gt;Ziggo&lt;/a&gt; and devices such as laptops, that use the network. &lt;/p&gt;
&lt;p&gt;A &lt;a href="http://www.soekris.com/"&gt;Soekris box&lt;/a&gt; I had lying around meets all requirements perfectly for a VPN-server. Here is how to set it up.&lt;/p&gt;
&lt;h2&gt;1. Forward UDP port 1194 from your router to your soekris box.&lt;/h2&gt;
&lt;p&gt;This one is easy enough, on &lt;a href="http://www.apple.com/macosx/"&gt;Apple Mac OS X&lt;/a&gt; and a &lt;a href="http://www.apple.com/timecapsule/"&gt;Time Capsule&lt;/a&gt; (or &lt;a href="http://www.apple.com/airportexpress/"&gt;Airport Express&lt;/a&gt;) open AirPort Utility on your Mac, select the Time Capsule, click Manual Setup.&lt;br /&gt;
Go to Internet - NAT&lt;br /&gt;
Select the box "Enable NAT Port Mapping Protocol" and click on "Configure Port Mappings..."&lt;br /&gt;
&lt;a href="/image/view/389/_original"&gt;&lt;img src="/image/view/389" /&gt;&lt;/a&gt;&lt;br /&gt;
Click on the "+" to add a portmapping. OpenVPN uses UDP port 1194, so map it from the "Public UDP Port(s)" to the "Private UDP Port(s)" on the "Private IP Address" of your soekris box. Fill in "OpenVPN" in the next "Description" field.&lt;br /&gt;
&lt;a href="/image/view/388/_original"&gt;&lt;img src="/image/view/388" /&gt;&lt;br /&gt;
Finish your router configuration by pressing "Update". N.B. The network connection will be gone for a minute or two.&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;2. Install &lt;a href="http://www.openvpn.net/"&gt;OpenVPN&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;I assume &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt; is already running on your Soekris box, otherwise check out &lt;a href="http://meinit.nl/install-your-soekris-or-any-other-machine-openbsd-using-openbsd"&gt;how to install your soekris box with OpenBSD&lt;/a&gt;.&lt;br /&gt;
Add the package "openvpn". A dependency "lzo" will be added automatically.&lt;/p&gt;
&lt;h2&gt;3. Configure &lt;a href="http://www.openvpn.net/"&gt;OpenVPN&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Create a directory /etc/openvpn/keys:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;soekris # mkdir -p /etc/openvpn/keys&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
And create the file /etc/openvpn.conf with this content:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;port 1194&lt;br /&gt;proto udp&lt;br /&gt;dev tun0&lt;br /&gt;ca /etc/openvpn/keys/ca.crt&lt;br /&gt;cert /etc/openvpn/keys/server.crt&lt;br /&gt;key /etc/openvpn/keys/server.key&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;dh /etc/openvpn/keys/dh1024.pem&lt;br /&gt;# This is the network that lives on the tun0 device.&lt;br /&gt;# My regular network uses 10.0.1.0/24, so using&lt;br /&gt;# 10.0.2.0/24 seems pretty logical.&lt;br /&gt;server 10.0.2.0 255.255.255.0&lt;br /&gt;ifconfig-pool-persist ipp.txt&lt;br /&gt;# When clients connect, tell them that 10.0.1.0/24 can&lt;br /&gt;# be reached through this tunnel. (You may also set this on the,&lt;br /&gt;# client instead of &amp;quot;broadcasting&amp;quot; this...&lt;br /&gt;push &amp;quot;route 10.0.1.0 255.255.255.0&amp;quot;&lt;br /&gt;client-to-client&lt;br /&gt;keepalive 10 120&lt;br /&gt;comp-lzo&lt;br /&gt;user _openvpn&lt;br /&gt;group _openvpn&lt;br /&gt;persist-key&lt;br /&gt;persist-tun&lt;br /&gt;status openvpn-status.log&lt;br /&gt;verb 3&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;h2&gt;4. Create OpenSSL certificates&lt;/h2&gt;
&lt;p&gt;This is quite an abstract step. It boils down to this: on the server you will create a certificate authority (ca) key and certificate, also you will create a key and certificate for each client connecting and sign them using your newly create certificate authority. The certificate from the certificate authority (ca.crt) and client (client1.crt) and the key for the client (client1.key) will be distributed to all clients. That's a mouth full, but here is how to do it in steps:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;soekris # cp -Rip /usr/local/share/example/openvpn/easy-rsa /etc/openvpn&lt;br /&gt;soekris # cd /etc/openvpn/easy-rsa/2.0&lt;br /&gt;soekris # cat vars&lt;br /&gt;export EASY_RSA=&amp;quot;`pwd`&amp;quot;&lt;br /&gt;export OPENSSL=&amp;quot;openssl&amp;quot;&lt;br /&gt;export PKCS11TOOL=&amp;quot;pkcs11-tool&amp;quot;&lt;br /&gt;export GREP=&amp;quot;grep&amp;quot;&lt;br /&gt;export KEY_CONFIG=&amp;quot;/etc/openvpn/easy-rsa/2.0/openssl.cnf&amp;quot;&lt;br /&gt;export KEY_DIR=&amp;quot;/etc/openvpn/keys&amp;quot;&lt;br /&gt;echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR&lt;br /&gt;export PKCS11_MODULE_PATH=&amp;quot;dummy&amp;quot;&lt;br /&gt;export PKCS11_PIN=&amp;quot;dummy&amp;quot;&lt;br /&gt;export KEY_SIZE=1024&lt;br /&gt;export CA_EXPIRE=3650&lt;br /&gt;export KEY_EXPIRE=3650&lt;br /&gt;export KEY_COUNTRY=&amp;quot;NL&amp;quot;&lt;br /&gt;export KEY_PROVINCE=&amp;quot;UT&amp;quot;&lt;br /&gt;export KEY_CITY=&amp;quot;Utrecht&amp;quot;&lt;br /&gt;export KEY_ORG=&amp;quot;Me in It Consultancy&amp;quot;&lt;br /&gt;export KEY_EMAIL=&amp;quot;robert@meinit.nl&amp;quot;&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
N.b. Please change the KEY_ values to match your personal settings.&lt;/p&gt;
&lt;p&gt;Now execute these steps, as stolen from &lt;a href="http://www.openvpn.net/index.php/open-source/documentation/howto.html#pki"&gt;The OpenVPN homepage&lt;/a&gt;.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;soekris # . vars&lt;br /&gt;soekris # ./clean-all&lt;br /&gt;soekris # ./build-ca&lt;br /&gt;soekris # ./build-key-server server&lt;br /&gt;soekris # ./build-key client1&lt;br /&gt;soekris # ./build-key client2&lt;br /&gt;soekris # ./build-key client3&lt;br /&gt;soekris # ./build-dh&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Once again; send the newly created file /etc/openvpn/keys/ca.crt, /etc/openvpn/keys/client1.crt and /etc/openvpn/keys/client1.key to the machine using the vpn connection.&lt;/p&gt;
&lt;h2&gt;5. Configure the OpenBSD Packet Filter&lt;/h2&gt;
&lt;p&gt;This step enables client to reach your local network using network address translation. At the bare minimum, add this rule to your pf configuration in /etc/pf.conf&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;nat pass on sis0 from !(sis0) to any -&amp;gt; (sis0)&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
sis0 is a physical interface that connects the Soekris box to my local area network.&lt;/p&gt;
&lt;p&gt;Also, make sure the packet filter is enabled and is using your pf.cofn&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;soekris # pfctl -e&lt;br /&gt;soekris # pfclt -f /etc/pf.conf&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;And finally make sure it works after a reboot:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;soekris # echo &amp;quot;ps=yes&amp;quot; &amp;gt;&amp;gt; /etc/rc.conf.local&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;h2&gt;6. Start &lt;a href="http://www.openvpn.net/"&gt;OpenVPN&lt;/a&gt; on the server&lt;/h2&gt;
&lt;p&gt;Wow, almost there, let's start the software:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;soekris # /usr/local/sbin/openvpn --config /etc/openvpn/server.conf --key /etc/openvpn/keys/server.key&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Some debugging information will scroll down your screen. &lt;/p&gt;
&lt;h2&gt;7. Make sure &lt;a href="http://www.openvpn.net/"&gt;OpenVPN&lt;/a&gt; starts at boot time&lt;/h2&gt;
&lt;p&gt;Add these lines to your /etc/rc.local.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# Add your local startup actions here.&lt;br /&gt;&lt;br /&gt;echo &amp;quot; openvpn&amp;quot;&lt;br /&gt;/usr/local/sbin/openvpn --config /etc/openvpn/server.conf --key /etc/openvpn/keys/server.key &amp;gt;&amp;gt; /var/log/openvpn.output &amp;amp;&lt;br /&gt;&lt;br /&gt;echo &amp;#039;.&amp;#039;&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;h2&gt;8. Configure the client(s)&lt;/h2&gt;
&lt;p&gt;I use &lt;a href="http://www.apple.com/macosx/"&gt;Mac OS X&lt;/a&gt; to connect to &lt;a href="http://www.openvpn.net/"&gt;OpenVPN&lt;/a&gt;. You will have to install some extra software, your choices are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://code.google.com/p/tunnelblick/"&gt;Tunnelblick&lt;/a&gt; - (Free) Tunnelblick is a ready-to-use graphical OpenVPN client for Mac OS X &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.viscosityvpn.com/"&gt;Viscosity&lt;/a&gt; - is an OpenVPN client for Mac, providing a rich Cocoa graphical user interface for creating, editing, and controlling VPN connections. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For now I am using the trail version of &lt;a href="http://www.viscosityvpn.com/"&gt;Viscosity&lt;/a&gt; because it looks great. Check out the screenshots below.&lt;br /&gt;
&lt;a href="/image/view/390/_original"&gt;&lt;img src="/image/view/390/thumbnail" /&gt;&lt;br /&gt;
&lt;a href="/image/view/391/_original"&gt;&lt;img src="/image/view/391/thumbnail" /&gt;&lt;br /&gt;
&lt;a href="/image/view/392/_original"&gt;&lt;img src="/image/view/392/thumbnail" /&gt;&lt;/a&gt;&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
</description>
 <comments>http://meinit.nl/your-soekris-openbsd-openvpn-appliance#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Wed, 21 Oct 2009 12:50:28 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">387 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/your-soekris-openbsd-openvpn-appliance</feedburner:origLink></item>
<item>
 <title>Managing a Linux Virtual Server</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/sniV9F47FE0/managing-linux-virtual-server</link>
 <description>&lt;p&gt;When you have &lt;a href="http://meinit.nl/making-loadbalancer-centos-using-linux-virtual-servrer"&gt;setup an LVS&lt;/a&gt; you will need to administer it. Here are the tools you can use.&lt;/p&gt;
&lt;h2&gt;Discover what machine is the master.&lt;/h2&gt;
&lt;p&gt;Log in to both boxes and issue the command:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# ipvsadm&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
A list of active services and it's IP-addresses will be printed on the active master.&lt;/p&gt;
&lt;p&gt;Or, check /var/log/messages for a line like this:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;pulse[$pid]: STARTING PULSE AS BACKUP&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
This clearly shows you the machine is a backup.&lt;/p&gt;
&lt;h2&gt;Failover from one machine to another.&lt;/h2&gt;
&lt;p&gt;You could simple reboot the active machine. Otherwise, stop the service pulse for a moment on the active server. The backup will discover this and configure the floating IP.&lt;br /&gt;
On the active machine, issue:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# /etc/init.d/pulse stop&lt;br /&gt;# sleep 60&lt;br /&gt;# /etc/init.d/pulse start&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;h2&gt;Add/delete a Virtual Service or Real Server.&lt;/h2&gt;
&lt;p&gt;Use the piranha web interface, located on port 3636 of either one of the load balancers. Remember to copy /etc/sysconfig/ha/lvs.cf to the backup machine as well.&lt;br /&gt;
After you have altered the configuration, restart pulse on the active machine. (Be aware; this makes services unavailable for a couple of seconds.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# ipvsadm&lt;br /&gt;[services are printed]&lt;br /&gt;# /etc/init.d/pulse restart&lt;br /&gt;# ipvsadm&lt;br /&gt;[services should be printed in a couple of seconds.]&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
</description>
 <comments>http://meinit.nl/managing-linux-virtual-server#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Mon, 31 Aug 2009 12:03:09 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">386 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/managing-linux-virtual-server</feedburner:origLink></item>
<item>
 <title>Making a loadbalancer with CentOS using Linux Virtual Server</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/9OGZlZ0IpfM/making-loadbalancer-centos-using-linux-virtual-server</link>
 <description>&lt;p&gt;When you are new to all terminology Red Hat is using, it can be challenging to understand what actions to take to create a simple load-balancer with Linux. Here is some information to get you started.&lt;/p&gt;
&lt;p&gt;Read more on &lt;a href="http://www.centos.org/docs/5/html/Virtual_Server_Administration"&gt;the CentOS Virtual Server Administration&lt;/a&gt; pages.&lt;/p&gt;
&lt;p&gt;Terminology:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;piranha&lt;/b&gt; This is a package that provides a configuration interface for setting up lvS.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ipvs&lt;/b&gt; The name of the module that allows a load-balancing on Linux.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;ipvsadm&lt;/b&gt; A package (and a command) that makes administrating ipvs possible. Be aware, you either user piranha-gui or /etc/sysconfig/ipvsadm to configur ipvs.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;LVS&lt;/b&gt; Linux Virtual Server - the project name of all tools used in this document.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;pulse&lt;/b&gt; A service (/etc/init.d/pulse) that runs on both active and backup machine and opens a port to make checking possible. piranha-gui configures everything, pulse actually activates all configurations.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;nanny&lt;/b&gt; A process started by pulse to monitor the realservers.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;nat&lt;/b&gt; Network Address Translation. A common combination with LVS. In case NAT is uses, the loadbalancer/director/LVS accepts traffic on one the VIP and sends traffic to the realservers. Be aware, the current implementation of ipvsadm does not properly use Source NAT, it currently does not rewrite the source address.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;direct routing&lt;/b&gt; A method of routing available in LVS. Traffic is received on the VIP, sent through to the realservers. The realservers receive the traffic as if it was sent to the VIP, so the VIP must be configured on the realservers. To avoid arp-caches to register the wrong MAC-address-IP-address combination, a few "tricks" must be done.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;wlc&lt;/b&gt; Weighted Least Connections, an algorithm to balance load to realservers.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VIP&lt;/b&gt; Virtual IP. The IP-address the service is configured on.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;RIP&lt;/b&gt; Real server IP. The IP-address of a real-server.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;realserver&lt;/b&gt; The server providing the acual service. This can be Linux, Windows, whatever.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here is an overview of a possible setup:&lt;br /&gt;
&lt;img src="/image/view/383/_original" /&gt;&lt;/p&gt;
&lt;p&gt;Steps to finish before eternal succes:&lt;/p&gt;
&lt;h2&gt;Install piranha-gui&lt;/h2&gt;
&lt;p&gt;&lt;div class="codeblock"&gt;&lt;code&gt;# yum install piranha-gui&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
(modify 172.16.0.0/24 to whatever network you are using on the realserver network.)&lt;/p&gt;
&lt;h2&gt;Configure services&lt;/h2&gt;
&lt;p&gt;&lt;div class="codeblock"&gt;&lt;code&gt;# chkconfig httpd on&lt;br /&gt;# chkconfig piranha-gui on&lt;br /&gt;# chkconfig pulse on&lt;br /&gt;# sed -i &amp;#039;s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/&amp;#039; /etc/sysctl.conf&lt;br /&gt;# echo &amp;quot;*nat&lt;br /&gt;:PREROUTING ACCEPT [46:3346]&lt;br /&gt;:POSTROUTING ACCEPT [431:32444]&lt;br /&gt;:OUTPUT ACCEPT [431:32534]&lt;br /&gt;-A POSTROUTING -o eth0 -j MASQUERADE&lt;br /&gt;COMMIT&lt;br /&gt;*filter&lt;br /&gt;:INPUT ACCEPT [4186:1094786]&lt;br /&gt;:FORWARD ACCEPT [729:111992]&lt;br /&gt;:OUTPUT ACCEPT [4266:388099]&lt;br /&gt;-A FORWARD -i eth1 -j ACCEPT&lt;br /&gt;COMMIT&amp;quot; &amp;gt; /etc/sysconfig/iptables&lt;br /&gt;# chkconfig iptables on&lt;br /&gt;# sed -i &amp;#039;s/SELINUX=enabled/SELINUX=disabled/&amp;#039; /etc/sysconfig/selinux&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;h2&gt;Configure via webinterface&lt;/h2&gt;
&lt;p&gt;Execute these steps to be able to use the piranha-gui web interface:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# service httpd start&lt;br /&gt;# piranha-passwd&lt;br /&gt;# service piranha-gui start &lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
Open a browser and open your servers IP-address, port 3636. URL looks something like this: &lt;a href="http://192.168.202.50:3636" title="http://192.168.202.50:3636"&gt;http://192.168.202.50:3636&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Synchronize /etc/sysconfig/ha/lvs.cf&lt;/h2&gt;
&lt;p&gt;You will need to have the piranha configuration the same on both machines. Here are some hints. Do this on both machines, just switch the IP-address.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# ssh-keygen&lt;br /&gt;# scp .ssh/id_rsa* 192.168.202.110:./.ssh/&lt;br /&gt;# cp .ssh/id_rsa.pub .ssh/authorized_keys&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
Now you should be able to connect to both machines without using a password.&lt;/p&gt;
&lt;p&gt;&lt;div class="codeblock"&gt;&lt;code&gt;# cat update-lvs.cf &lt;br /&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;copiedserialno=$(grep serial_no /tmp/lvs.cf | awk &amp;#039;{ print $NF }&amp;#039;)&lt;br /&gt;runningserialno=$(grep serial_no /etc/sysconfig/ha/lvs.cf | awk &amp;#039;{ print $NF }&amp;#039;)&lt;br /&gt;&lt;br /&gt;if [ &amp;quot;$copiedserialno&amp;quot; -gt &amp;quot;$runningserialno&amp;quot; ] ; then&lt;br /&gt; mv /tmp/lvs.cf /etc/sysconfig/ha/lvs.cf&lt;br /&gt;fi&lt;br /&gt;# crontab -l&lt;br /&gt;* * * * * /usr/bin/scp /etc/sysconfig/ha/lvs.cf 192.168.1.46:/tmp &amp;gt; /dev/null&lt;br /&gt;* * * * * /root/update-lvs.cf&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;h2&gt;Reboot the server.&lt;/h2&gt;
&lt;p&gt;To activate all changes, simply reboot the load-balancer.&lt;/p&gt;
</description>
 <comments>http://meinit.nl/making-loadbalancer-centos-using-linux-virtual-server#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Mon, 24 Aug 2009 10:06:54 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">382 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/making-loadbalancer-centos-using-linux-virtual-server</feedburner:origLink></item>
<item>
 <title>Really minimal HOWTO for loadbalancing on CentOS 5.3 using ipvsadm</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/iRJjnBFai6c/really-minimal-howto-loadbalancing-centos-53-using-ipvsadm</link>
 <description>&lt;p&gt;There are quite a few howto's for LVS, but all of them are quite extensive. To be honest; you'll need to read them at some point, but for now let's try to make a very minimal howto for setting up LVS.&lt;/p&gt;
&lt;h2&gt;Step 1: Install and configure a few settings.&lt;/h2&gt;
&lt;p&gt;Configure the director/loadbalancer to have two NIC's. One side on a routable network, the other side connected to the machine running the services, called realservers.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# chkconfig ipvsadm on&lt;br /&gt;# sed -i &amp;#039;s/net.ipv4.ip_forward = 0/net.ipv4.ip_forward = 1/&amp;#039; /etc/sysctl.conf&lt;br /&gt;# sysctl -p&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;If you want your realservers to be able to use the internet, execute these lines on the director. Replace YOURREALSERVERLAN for the network address of the network where the real servers are located, for example. 192.168.1.0&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# iptables -A POSTROURING -s YOURREALSERVERSLAN/24 -j MASQUERADE&lt;br /&gt;# service iptables save&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;h2&gt;Step 2: Tell IPVS how to configure itself for HTTP.&lt;/h2&gt;
&lt;p&gt;Fill in the blanks for PUBLICIP and REALSERVERIP. If you would like to add more servers to this virtual server, just repeast the last line a few times, changing the REALSERVERIP every time.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# echo &amp;quot;-A -t PUBLICIP:80&amp;quot; &amp;gt; /etc/sysconfig/ipvsadm&lt;br /&gt;# echo &amp;quot;-a -t PUBLICIP:80 -r REALSERVERIP -m&amp;quot; &amp;gt;&amp;gt; /etc/sysconfig/ipvsadm&lt;br /&gt;# service ipvsadm start&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;h2&gt;Step 3: Test it.&lt;/h2&gt;
&lt;p&gt;From a machine other then the redirector and/or the realserver, visit the ipaddress of your virtual ip.&lt;/p&gt;
&lt;p&gt;N.B. I have spent quite some time trying to access the loadbalancer from the loadbalancer; this does not work.&lt;/p&gt;
</description>
 <comments>http://meinit.nl/really-minimal-howto-loadbalancing-centos-53-using-ipvsadm#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Thu, 20 Aug 2009 11:04:50 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">381 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/really-minimal-howto-loadbalancing-centos-53-using-ipvsadm</feedburner:origLink></item>
<item>
 <title>Zabbix on OpenBSD</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/6LfXsZm8EnM/zabbix-openbsd</link>
 <description>&lt;p&gt;Installing and using the monitoring tool &lt;a href="http://www.zabbix.com/"&gt;Zabbix&lt;/a&gt; on OpenBSD is quite simple. Take just these steps to get started.&lt;/p&gt;
&lt;h3&gt;Step 1: Install a few packages.&lt;/h3&gt;
&lt;p&gt;Use pkg_add to add these packages: (Versions could change over time.)&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;curl-7.19.3&lt;br /&gt;gettext-0.17p0&lt;br /&gt;jpeg-6bp3&lt;br /&gt;libiconv-1.12&lt;br /&gt;libidn-1.11&lt;br /&gt;libxml-2.6.32p2&lt;br /&gt;net-snmp-5.4.2.1p1&lt;br /&gt;php5-core-5.2.8p0&lt;br /&gt;php5-gd-5.2.8-no_x11&lt;br /&gt;php5-pgsql-5.2.8&lt;br /&gt;png-1.2.33&lt;br /&gt;postgresql-client-8.3.6&lt;br /&gt;postgresql-server-8.3.6&lt;br /&gt;t1lib-5.1.0p1&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
Follow all hints the package manager tells you.&lt;/p&gt;
&lt;h3&gt;Step 2: Configure some items.&lt;/h3&gt;
&lt;p&gt;Make sure the apache daemons is started at boot time. (/etc/rc.conf.local)&lt;/p&gt;
&lt;p&gt;Modify PHP to allow longer execution times and set the timezone:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;$ grep max_execution_time /var/www/conf/php.ini&lt;br /&gt;max_execution_time = 300&lt;br /&gt;$ grep date.timezone /var/www/conf/php.ini&lt;br /&gt;date.timezone = Europe/Amsterdam&lt;br /&gt;$ sudo pkill httpd&lt;br /&gt;$ sudo /usr/sbin/httpd&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;h3&gt;Step 3: Compile and install Zabbix.&lt;/h3&gt;
&lt;p&gt;Get the latest release of Zabbix, untar it and use these options to configure it:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;./configure --enable-server --with-pgsql --with-net-snmp --with-libcurl --enable-agent&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
Use "make install" to install all items. The binaries will be placed in /usr/local.&lt;/p&gt;
&lt;p&gt;Import database schemes as described in the &lt;a href="http://www.zabbix.com/documentation.php"&gt;Zabbix documentation&lt;/a&gt;, chapter 2.4.3: "Zabbix Server"&lt;/p&gt;
&lt;p&gt;Create /etc/zabbix/zabbix_agentd.conf and /etc/zabbix/zabbix_server.conf by copying them from the untarred zabbix release:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# mkdir /etc/zabbix&lt;br /&gt;# cp zabbix-1.6.5/misc/conf/zabbix_agentd.conf /etc/zabbix&lt;br /&gt;# cp zabbix-1.6.5/misc/conf/zabbix_server.conf /etc/zabbix&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Set DBName DBUser and DBPassword in /etc/zabbix/zabbix_server.conf.&lt;/p&gt;
&lt;h3&gt;Step 4: Automatically start Zabbix items.&lt;/h3&gt;
&lt;p&gt;&lt;div class="codeblock"&gt;&lt;code&gt;$ cat /etc/rc.local&lt;br /&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $OpenBSD: rc.local,v 1.39 2006/07/28 20:19:46 sturm Exp $&lt;br /&gt;&lt;br /&gt;# Site-specific startup actions, daemons, and other things which&lt;br /&gt;# can be done AFTER your system goes into securemode.&amp;nbsp; For actions&lt;br /&gt;# which should be done BEFORE your system has gone into securemode&lt;br /&gt;# please see /etc/rc.securelevel.&lt;br /&gt;&lt;br /&gt;echo -n &amp;#039;starting local daemons:&amp;#039;&lt;br /&gt;&lt;br /&gt;# Add your local startup actions here.&lt;br /&gt;&lt;br /&gt;if [ -x /usr/local/sbin/zabbix_agentd ] ; then&lt;br /&gt; echo -n &amp;#039; zabbix_agentd&amp;#039;&lt;br /&gt; /usr/local/sbin/zabbix_agentd&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;if [ -x /usr/local/sbin/zabbix_server ] ; then&lt;br /&gt; echo -n &amp;#039; zabbix_server&amp;#039;&lt;br /&gt; /usr/local/sbin/zabbix_server&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;echo &amp;#039;.&amp;#039;&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;h3&gt;Step 5: Install the webfrontend.&lt;/h3&gt;
&lt;p&gt;You are practically done, now copy the php files and visit your zabbix installation:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# cp -Rip zabbix-1.6.5/frontends/php/* /var/www/htdocs/zabbix/ &lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;That's it, not extremely difficult!&lt;/p&gt;
</description>
 <comments>http://meinit.nl/zabbix-openbsd#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Fri, 14 Aug 2009 05:55:36 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">380 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/zabbix-openbsd</feedburner:origLink></item>
<item>
 <title>Bash completion for Mac OS X</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/hWdGlbVCwIw/bash-completion-mac-os-x</link>
 <description>&lt;p&gt;If your are using the Terminal application of your Apple computer running Mac OS X, try &lt;a href="http://freshmeat.net/projects/bashcompletion/"&gt;bash programmable completion&lt;/a&gt;. It allow you to use the TAB key more often, for example in scp: (If you are &lt;a href="/using-ssh-keys"&gt;using ssh-keys&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;&lt;div class="codeblock"&gt;&lt;code&gt;$ scp shell01:/etc/pa&lt;br /&gt;/etc/pam.d/&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/pam_smb.conf&amp;nbsp;&amp;nbsp; /etc/passwd &lt;br /&gt;/etc/pam_pkcs11/&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/pango/&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /etc/passwd- &lt;br /&gt;$ scp shell01:/etc/pa&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;The steps to start using this great utility are these:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://freshmeat.net/projects/bashcompletion/"&gt;Download the bash programmable completion .tar.gz file&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;In a Terminal on your Apple, untar it. (tar -xvf bash-completion-20060301.tar&lt;/li&gt;
&lt;li&gt;Copy the bash_completion shell-script to /etc (sudo cp bash_completion/bash_completion /etc)&lt;/li&gt;
&lt;li&gt;Add the bash complation to your login script. (echo ". /etc/bash_completion" &gt;&gt; ~/.profile)&lt;/li&gt;
&lt;li&gt;Start a new terminal and see the result!&lt;/li&gt;
&lt;/ol&gt;
</description>
 <comments>http://meinit.nl/bash-completion-mac-os-x#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Fri, 10 Jul 2009 07:20:20 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">379 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/bash-completion-mac-os-x</feedburner:origLink></item>
<item>
 <title>Using DynDNS for iPhone OS 3.0 without crontab but with launchd</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/G5rbUeFwU_c/using-dyndns-iphone-os-30-without-crontab-launchd</link>
 <description>&lt;p&gt;Apple iPhone OS 3.0 does not have crontab anymore. You are supposed to use launchd's facilities to execute something at a scheduled interval. Here is an example of a simple script to update the IP-address at DynDNS.org.&lt;/p&gt;
&lt;p&gt;The script /var/mobile/update-dyndns.org contains:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;host=&amp;quot;your-host-name.dyndns.org&amp;quot;&lt;br /&gt;user=&amp;quot;your-username&amp;quot;&lt;br /&gt;pass=&amp;quot;your-password&amp;quot;&lt;br /&gt;&lt;br /&gt;oldip=$(cat /tmp/ip)&lt;br /&gt;wget -o /dev/null -O - &lt;a href="http://ip.serverchief.com/" title="http://ip.serverchief.com/"&gt;http://ip.serverchief.com/&lt;/a&gt; &amp;gt; /tmp/ip&lt;br /&gt;ip=$(cat /tmp/ip)&lt;br /&gt;&lt;br /&gt;if [ &amp;quot;$oldip&amp;quot; != &amp;quot;$ip&amp;quot; ] ; then&lt;br /&gt; echo -n &amp;quot;$(date) &amp;quot;&lt;br /&gt; echo $(/usr/local/bin/wget -O - &amp;quot;http://$user:$pass@members.dyndns.org/nic/update?hostname=$host&amp;amp;wildcard=NOCHG&amp;amp;bacakmx=NOCHG&amp;quot;&amp;nbsp; 2&amp;gt; /dev/null)&lt;br /&gt;fi&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;The file /var/LaunchDaemons/org.dyndns.update.plist contains:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;&amp;lt;!DOCTYPE plist PUBLIC &amp;quot;-//Apple Computer//DTD PLIST 1.0//EN&amp;quot; &amp;quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;plist version=&amp;quot;1.0&amp;quot;&amp;gt;&lt;br /&gt;&amp;lt;dict&amp;gt;&amp;nbsp; &lt;br /&gt;	&amp;lt;key&amp;gt;Label&amp;lt;/key&amp;gt;&lt;br /&gt;	&amp;lt;string&amp;gt;org.dyndns.update&amp;lt;/string&amp;gt;&lt;br /&gt;	&amp;lt;key&amp;gt;ProgramArguments&amp;lt;/key&amp;gt;&lt;br /&gt;	&amp;lt;array&amp;gt; &lt;br /&gt;		&amp;lt;string&amp;gt;~/mobile/dyndns-update.sh&amp;lt;/string&amp;gt;&lt;br /&gt;	&amp;lt;/array&amp;gt;&lt;br /&gt;	&amp;lt;key&amp;gt;StartCalendarInterval&amp;lt;/key&amp;gt;&lt;br /&gt;	&amp;lt;dict&amp;gt;&amp;nbsp; &lt;br /&gt;		&amp;lt;key&amp;gt;Minute&amp;lt;/key&amp;gt;&lt;br /&gt;		&amp;lt;integer&amp;gt;3&amp;lt;/integer&amp;gt;&lt;br /&gt;	&amp;lt;/dict&amp;gt;&lt;br /&gt;&amp;lt;/dict&amp;gt;&lt;br /&gt;&amp;lt;/plist&amp;gt;&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;And execute:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# launchctl load org.dyndns.update.plist&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Now your IP will be update every 3-rd minute. Have fun!&lt;/p&gt;
</description>
 <comments>http://meinit.nl/using-dyndns-iphone-os-30-without-crontab-launchd#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Fri, 03 Jul 2009 11:10:08 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">377 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/using-dyndns-iphone-os-30-without-crontab-launchd</feedburner:origLink></item>
<item>
 <title>A shell script to measure network throughput on Linux machines.</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/FnH-kLu-x0o/shell-script-measure-network-throughput-linux-machines</link>
 <description>&lt;p&gt;Here is a shell script to see how many (kilo-, mega-, giga-, terra-) bytes pass a network interface. The output looks like this:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;$ ./network-traffic.sh --help&lt;br /&gt;Usage: ./network-traffic.sh [-i INTERFACE] [-s INTERVAL] [-c COUNT]&lt;br /&gt;&lt;br /&gt;-i INTERFACE&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The interface to monitor, default is eth0.&lt;br /&gt;-s INTERVAL&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The time to wait in seconds between measurements, default is 3 seconds.&lt;br /&gt;-c COUNT&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; The number of times to measure, default is 10 times.&lt;br /&gt;$ ./network-traffic.sh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;Monitoring eth0 every 3 seconds. (RXbyte total = 706 Mb TXbytes total = 1 Gb)&lt;br /&gt;RXbytes = 104 b	TXbytes = 194 b&lt;br /&gt;RXbytes = 80 b	TXbytes = 188 b&lt;br /&gt;RXbytes = 52 b	TXbytes = 146 b&lt;br /&gt;RXbytes = 689 b	TXbytes = 8 Kb&lt;br /&gt;RXbytes = 52 b	TXbytes = 146 b&lt;br /&gt;RXbytes = 52 b	TXbytes = 146 b&lt;br /&gt;RXbytes = 52 b	TXbytes = 146 b&lt;br /&gt;RXbytes = 52 b	TXbytes = 146 b&lt;br /&gt;RXbytes = 4 Kb	TXbytes = 4 Kb&lt;br /&gt;RXbytes = 716 b	TXbytes = 5 Kb&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Here is the script:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;usage(){&lt;br /&gt; echo &amp;quot;Usage: $0 [-i INTERFACE] [-s INTERVAL] [-c COUNT]&amp;quot;&lt;br /&gt; echo&lt;br /&gt; echo &amp;quot;-i INTERFACE&amp;quot;&lt;br /&gt; echo &amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; The interface to monitor, default is eth0.&amp;quot;&lt;br /&gt; echo &amp;quot;-s INTERVAL&amp;quot;&lt;br /&gt; echo &amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; The time to wait in seconds between measurements, default is 3 seconds.&amp;quot;&lt;br /&gt; echo &amp;quot;-c COUNT&amp;quot;&lt;br /&gt; echo &amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp; The number of times to measure, default is 10 times.&amp;quot;&lt;br /&gt; exit 3&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;readargs(){&lt;br /&gt; while [ &amp;quot;$#&amp;quot; -gt 0 ] ; do&lt;br /&gt;&amp;nbsp; case &amp;quot;$1&amp;quot; in&lt;br /&gt;&amp;nbsp;&amp;nbsp; -i)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ &amp;quot;$2&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; interface=&amp;quot;$2&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift ; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;Missing a value for $1.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usage&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; -s)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ &amp;quot;$2&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sleep=&amp;quot;$2&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift ; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;Missing a value for $1.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usage&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; -c)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ &amp;quot;$2&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; counter=&amp;quot;$2&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift ; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;Missing a value for $1.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usage&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; *)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;Unknown option $1.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; usage&lt;br /&gt;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp; esac&lt;br /&gt; done&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;checkargs(){&lt;br /&gt; if [ ! &amp;quot;$interface&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp; interface=&amp;quot;eth0&amp;quot;&lt;br /&gt; fi&lt;br /&gt; if [ ! &amp;quot;$sleep&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp; sleep=&amp;quot;3&amp;quot;&lt;br /&gt; fi&lt;br /&gt; if [ ! &amp;quot;$counter&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp; counter=&amp;quot;10&amp;quot;&lt;br /&gt; fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;printrxbytes(){&lt;br /&gt; /sbin/ifconfig &amp;quot;$interface&amp;quot; | grep &amp;quot;RX bytes&amp;quot; | cut -d: -f2 | awk &amp;#039;{ print $1 }&amp;#039;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;printtxbytes(){&lt;br /&gt; /sbin/ifconfig &amp;quot;$interface&amp;quot; | grep &amp;quot;RX bytes&amp;quot; | cut -d: -f3 | awk &amp;#039;{ print $1 }&amp;#039;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;bytestohumanreadable(){&lt;br /&gt; multiplier=&amp;quot;0&amp;quot;&lt;br /&gt; number=&amp;quot;$1&amp;quot;&lt;br /&gt; while [ &amp;quot;$number&amp;quot; -ge 1024 ] ; do&lt;br /&gt;&amp;nbsp; multiplier=$(($multiplier+1))&lt;br /&gt;&amp;nbsp; number=$(($number/1024))&lt;br /&gt; done&lt;br /&gt; case &amp;quot;$multiplier&amp;quot; in&lt;br /&gt;&amp;nbsp; 1)&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo &amp;quot;$number Kb&amp;quot;&lt;br /&gt;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp; 2)&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo &amp;quot;$number Mb&amp;quot;&lt;br /&gt;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp; 3)&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo &amp;quot;$number Gb&amp;quot;&lt;br /&gt;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp; 4)&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo &amp;quot;$number Tb&amp;quot;&lt;br /&gt;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp; *)&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo &amp;quot;$1 b&amp;quot;&lt;br /&gt;&amp;nbsp; ;;&lt;br /&gt; esac&lt;br /&gt;}&lt;br /&gt;&amp;nbsp; &lt;br /&gt;printresults(){&lt;br /&gt; while [ &amp;quot;$counter&amp;quot; -ge 0 ] ; do&lt;br /&gt;&amp;nbsp; counter=$(($counter - 1))&lt;br /&gt;&amp;nbsp; if [ &amp;quot;$rxbytes&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp; oldrxbytes=&amp;quot;$rxbytes&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; oldtxbytes=&amp;quot;$txbytes&amp;quot;&lt;br /&gt;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp; rxbytes=$(printrxbytes)&lt;br /&gt;&amp;nbsp; txbytes=$(printtxbytes)&lt;br /&gt;&amp;nbsp; if [ &amp;quot;$oldrxbytes&amp;quot; -a &amp;quot;$rxbytes&amp;quot; -a &amp;quot;$oldtxbytes&amp;quot; -a &amp;quot;$txbytes&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo &amp;quot;RXbytes = $(bytestohumanreadable $(($rxbytes - $oldrxbytes)))	TXbytes = $(bytestohumanreadable $(($txbytes - $oldtxbytes)))&amp;quot;&lt;br /&gt;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo &amp;quot;Monitoring $interface every $sleep seconds. (RXbyte total = $(bytestohumanreadable $rxbytes) TXbytes total = $(bytestohumanreadable $txbytes))&amp;quot;&lt;br /&gt;&amp;nbsp; fi &lt;br /&gt;&amp;nbsp; sleep &amp;quot;$sleep&amp;quot;&lt;br /&gt; done&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;readargs &amp;quot;$@&amp;quot;&lt;br /&gt;checkargs&lt;br /&gt;printresults&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
</description>
 <comments>http://meinit.nl/shell-script-measure-network-throughput-linux-machines#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Tue, 30 Jun 2009 11:58:53 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">376 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/shell-script-measure-network-throughput-linux-machines</feedburner:origLink></item>
<item>
 <title>iPhone OS 3.0 Bluetooth tethering with Mac Book Pro</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/MoNlTLSD3eI/iphone-os-30-bluetooth-tethering-mac-book-pro</link>
 <description>&lt;p&gt;Here is a step by step guide to help you get online with your iPhone using OS 3.0.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to this page: &lt;a href="http://www.iphone-notes.de/mobileconfig/" title="http://www.iphone-notes.de/mobileconfig/"&gt;http://www.iphone-notes.de/mobileconfig/&lt;/a&gt; It will send you an email. Download that email on you iPhone. It contains a profile to enable Tethering.&lt;br /&gt;
&lt;a href="/node/372"&gt;&lt;img src="/image/view/372" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Now go to your iPhone preferences, under Network you can enable tethering, activate it&lt;br /&gt;
&lt;a href="/node/373"&gt;&lt;img src="/image/view/373" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;On your Mac Book Pro, go to the bluetooth preferences. Add your iPhone. I had to press "continue" on my Mac Book pro after accepting the pairing request on the iPhone. Waiting here resulted in an error.&lt;br /&gt;
&lt;a href="/node/370"&gt;&lt;img src="/image/view/370" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;On you Mac Book Pro, connect to your iPhone using bluetooth&lt;br /&gt;
&lt;a href="/node/374"&gt;&lt;img src="/image/view/374" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Now on your Mac Book Pro, under Network Preferences, add a connection: "Bluetooth PAN".&lt;br /&gt;
&lt;a href="/node/371"&gt;&lt;img src="/image/view/371" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can now tether using your iPhone!&lt;br /&gt;
&lt;a href="/node/375"&gt;&lt;img src="/image/view/375" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;For tethering, an extra network interface is added, in my case "en5". To see what the IP-address of your connection is, open a Terminal and type:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;ifconfig en5&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;In my case I see that I am using a private class (192.168.20.0/24) IP address. That means that T-Mobile in the Netherlands is NAT-ing my connection. Not a problem, but connecting back to my laptop is not possible from the internet.&lt;/p&gt;
</description>
 <comments>http://meinit.nl/iphone-os-30-bluetooth-tethering-mac-book-pro#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Mon, 22 Jun 2009 16:06:13 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">369 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/iphone-os-30-bluetooth-tethering-mac-book-pro</feedburner:origLink></item>
<item>
 <title>Convert a human readable date to epoch with a shell script on OpenBSD and Mac OS X</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/58TiPQFpiaY/convert-human-readable-date-epoch-shell-script-openbsd-and-mac-os-x</link>
 <description>&lt;p&gt;Dates can be quite challenging. Especially if you systematically want to use dates, for example to compare what date is older.&lt;/p&gt;
&lt;p&gt;If you would like to convert this date into epoch, take these steps.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;$ # The first step is to print the date.&lt;br /&gt;$ echo &amp;quot;2009/05/25 18:34:30;&amp;quot;&lt;br /&gt;2009/05/25 18:34:30;&lt;br /&gt;$ # This step is to strip the /-es.&lt;br /&gt;$ echo &amp;quot;2009/05/25 18:34:30;&amp;quot; | sed &amp;#039;s%/%%g&amp;#039;&lt;br /&gt;20090525 18:34:30;&lt;br /&gt;$ # This step removes the space&lt;br /&gt;$ echo &amp;quot;2009/05/25 18:34:30;&amp;quot; |&amp;nbsp; sed &amp;#039;s%/%%g;s% %%g&amp;#039;&lt;br /&gt;2009052518:34:30;&lt;br /&gt;$ # This step removes the trailing :30;.&lt;br /&gt;$ echo &amp;quot;2009/05/25 18:34:30;&amp;quot; | sed &amp;#039;s%/%%g;s% %%g;s%:..;%%&amp;#039;&lt;br /&gt;2009052518:34&lt;br /&gt;$ # This step removes the :.&lt;br /&gt;$ echo &amp;quot;2009/05/25 18:34:30;&amp;quot; | sed &amp;#039;s%/%%g;s% %%g;s%:..;%%;s%:%%g&amp;#039;&lt;br /&gt;200905251834&lt;br /&gt;$ # Finally feed that output to the &amp;quot;date&amp;quot; command.&lt;br /&gt;$ date -j &amp;quot;+%s&amp;quot; $(echo &amp;quot;2009/05/25 18:34:30;&amp;quot; | sed &amp;#039;s%/%%g;s% %%g;s%:..;%%;s%:%%g&amp;#039;)&lt;br /&gt;1243269240&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;On Mac OS X you'd have to use this command:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;$ date -j -f date -j -f &amp;quot;%Y/%m/%d %T&amp;quot; &amp;quot;2009/10/15 04:58:06&amp;quot; +&amp;quot;%s&amp;quot;&lt;br /&gt;1255575486&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
</description>
 <comments>http://meinit.nl/convert-human-readable-date-epoch-shell-script-openbsd-and-mac-os-x#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Mon, 25 May 2009 12:25:11 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">368 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/convert-human-readable-date-epoch-shell-script-openbsd-and-mac-os-x</feedburner:origLink></item>
<item>
 <title>Configure soekris as a OpenBSD wireless NAT router.</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/1H24Ss8Rwkg/configure-soekris-openbsd-wireless-nat-router</link>
 <description>&lt;p&gt;I use a Soekris device, bought mine for &amp;euro; 70,- with a wireless network interface. (wi0)&lt;br /&gt;
Besides that interface, this "machine" has two other ports; sis0 going to the modem and sis1 is not used, but any computer may be connected.&lt;/p&gt;
&lt;p&gt;How difficult would it be to use this machine as a router using OpenBSD? Not difficult at all!&lt;/p&gt;
&lt;p&gt;First &lt;a href="/install-your-soekris-or-any-other-machine-openbsd-using-openbsd"&gt;install your Soekris with OpenBSD&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Now login and configure a few things.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# vi /etc/rc.conf.local&lt;br /&gt;# Start NTP, it syncs time and requires very little maintenance.&lt;br /&gt;ntpd_flags=&amp;quot;-s&amp;quot;&lt;br /&gt;# Start a DNS server.&lt;br /&gt;named_flags=&lt;br /&gt;# Clients should receive an IP-address. DHCP will only listen on sis1 and wi0, the network&lt;br /&gt;# interfaces where computers will connect on. Don&amp;#039;t start DHCP on your &amp;quot;modem-port&amp;quot;.&lt;br /&gt;dhcpd_flags=&amp;quot;sis1 wi0&amp;quot;&lt;br /&gt;# Enable Packet Filter.&lt;br /&gt;pf=&lt;br /&gt;# Here are the rules for PF.&lt;br /&gt;pf_rules=/etc/pf.conf&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Configure named, the DNS server.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# cat /var/named/etc/named.conf&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;// $OpenBSD: named-simple.conf,v 1.9 2008/08/29 11:47:49 jakob Exp $&lt;br /&gt;//&lt;br /&gt;// Example file for a simple named configuration, processing both&lt;br /&gt;// recursive and authoritative queries using one cache.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// Update this list to include only the networks for which you want&lt;br /&gt;// to execute recursive queries. The default setting allows all hosts&lt;br /&gt;// on any IPv4 networks for which the system has an interface, and&lt;br /&gt;// the IPv6 localhost address.&lt;br /&gt;//&lt;br /&gt;acl clients {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; localnets;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ::1;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;options {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; version &amp;quot;&amp;quot;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // remove this to allow version queries&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; listen-on&amp;nbsp;&amp;nbsp;&amp;nbsp; { any; };&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; listen-on-v6 { any; };&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; empty-zones-enable yes;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; allow-recursion { clients; };&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;logging {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; category lame-servers { null; };&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;// Standard zones&lt;br /&gt;//&lt;br /&gt;zone &amp;quot;.&amp;quot; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type hint;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file &amp;quot;etc/root.hint&amp;quot;;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;zone &amp;quot;localhost&amp;quot; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type master;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file &amp;quot;standard/localhost&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; allow-transfer { localhost; };&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;zone &amp;quot;127.in-addr.arpa&amp;quot; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type master;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file &amp;quot;standard/loopback&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; allow-transfer { localhost; };&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;zone &amp;quot;0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa&amp;quot; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type master;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file &amp;quot;standard/loopback6.arpa&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; allow-transfer { localhost; };&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;zone &amp;quot;lan.meinit.nl&amp;quot; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type master;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file &amp;quot;master/lan.meinit.nl&amp;quot;;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;zone &amp;quot;wifi.meinit.nl&amp;quot; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type master;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file &amp;quot;master/wifi.meinit.nl&amp;quot;;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;zone &amp;quot;1.168.192.in-addr.arpa&amp;quot; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type master;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file &amp;quot;master/1.168.192.in-addr.arpa&amp;quot;;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;zone &amp;quot;2.168.192.in-addr.arpa&amp;quot; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type master;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; file &amp;quot;master/2.168.192.in-addr.arpa&amp;quot;;&lt;br /&gt;};&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Now add all zones.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# cat lan.meinit.nl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;$ORIGIN lan.meinit.nl.&lt;br /&gt;$TTL 6h&lt;br /&gt;&lt;br /&gt;@&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SOA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lan.meinit.nl. root.meinit.nl. (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; serial&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1h&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; refresh&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30m&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; retry&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7d&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; expiration&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1h )&amp;nbsp;&amp;nbsp;&amp;nbsp; ; minimum&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; soekris.lan.meinit.nl.&lt;br /&gt;soekris&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.1&lt;br /&gt;32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.32&lt;br /&gt;33&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.33&lt;br /&gt;34&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.34&lt;br /&gt;35&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.35&lt;br /&gt;36&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.36&lt;br /&gt;37&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.37&lt;br /&gt;38&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.38&lt;br /&gt;39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.39&lt;br /&gt;40&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.40&lt;br /&gt;41&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.41&lt;br /&gt;42&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.42&lt;br /&gt;43&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.43&lt;br /&gt;44&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.44&lt;br /&gt;45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.45&lt;br /&gt;46&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.46&lt;br /&gt;47&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.47&lt;br /&gt;48&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.48&lt;br /&gt;49&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.49&lt;br /&gt;50&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.50&lt;br /&gt;51&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.51&lt;br /&gt;52&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.52&lt;br /&gt;53&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.53&lt;br /&gt;54&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.54&lt;br /&gt;55&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.55&lt;br /&gt;56&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.56&lt;br /&gt;57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.57&lt;br /&gt;58&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.58&lt;br /&gt;59&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.59&lt;br /&gt;60&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.60&lt;br /&gt;61&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.61&lt;br /&gt;62&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.62&lt;br /&gt;63&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.63&lt;br /&gt;64&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.64&lt;br /&gt;65&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.65&lt;br /&gt;66&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.66&lt;br /&gt;67&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.67&lt;br /&gt;68&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.68&lt;br /&gt;69&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.69&lt;br /&gt;70&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.70&lt;br /&gt;71&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.71&lt;br /&gt;72&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.72&lt;br /&gt;73&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.73&lt;br /&gt;74&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.74&lt;br /&gt;75&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.75&lt;br /&gt;76&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.76&lt;br /&gt;77&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.77&lt;br /&gt;78&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.78&lt;br /&gt;79&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.79&lt;br /&gt;80&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.80&lt;br /&gt;81&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.81&lt;br /&gt;82&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.82&lt;br /&gt;83&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.83&lt;br /&gt;84&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.84&lt;br /&gt;85&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.85&lt;br /&gt;86&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.86&lt;br /&gt;87&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.87&lt;br /&gt;88&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.88&lt;br /&gt;89&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.89&lt;br /&gt;90&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.90&lt;br /&gt;91&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.91&lt;br /&gt;92&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.92&lt;br /&gt;93&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.93&lt;br /&gt;94&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.94&lt;br /&gt;95&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.95&lt;br /&gt;96&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.96&lt;br /&gt;97&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.97&lt;br /&gt;98&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.98&lt;br /&gt;99&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.99&lt;br /&gt;100&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.100&lt;br /&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.101&lt;br /&gt;102&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.102&lt;br /&gt;103&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.103&lt;br /&gt;104&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.104&lt;br /&gt;105&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.105&lt;br /&gt;106&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.106&lt;br /&gt;107&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.107&lt;br /&gt;108&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.108&lt;br /&gt;109&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.109&lt;br /&gt;110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.110&lt;br /&gt;111&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.111&lt;br /&gt;112&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.112&lt;br /&gt;113&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.113&lt;br /&gt;114&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.114&lt;br /&gt;115&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.115&lt;br /&gt;116&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.116&lt;br /&gt;117&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.117&lt;br /&gt;118&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.118&lt;br /&gt;119&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.119&lt;br /&gt;120&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.120&lt;br /&gt;121&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.121&lt;br /&gt;122&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.122&lt;br /&gt;123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.123&lt;br /&gt;124&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.124&lt;br /&gt;125&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.125&lt;br /&gt;126&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.126&lt;br /&gt;127&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.1.127&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="codeblock"&gt;&lt;code&gt;# cat wifi.meinit.nl&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;$ORIGIN wifi.meinit.nl.&lt;br /&gt;$TTL 6h&lt;br /&gt;&lt;br /&gt;@&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SOA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wifi.meinit.nl. root.meinit.nl. (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; serial&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1h&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; refresh&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30m&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; retry&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7d&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; expiration&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1h )&amp;nbsp;&amp;nbsp;&amp;nbsp; ; minimum&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; soekris.wifi.meinit.nl.&lt;br /&gt;soekris&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.1&lt;br /&gt;32&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.32&lt;br /&gt;33&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.33&lt;br /&gt;34&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.34&lt;br /&gt;35&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.35&lt;br /&gt;36&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.36&lt;br /&gt;37&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.37&lt;br /&gt;38&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.38&lt;br /&gt;39&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.39&lt;br /&gt;40&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.40&lt;br /&gt;41&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.41&lt;br /&gt;42&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.42&lt;br /&gt;43&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.43&lt;br /&gt;44&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.44&lt;br /&gt;45&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.45&lt;br /&gt;46&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.46&lt;br /&gt;47&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.47&lt;br /&gt;48&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.48&lt;br /&gt;49&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.49&lt;br /&gt;50&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.50&lt;br /&gt;51&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.51&lt;br /&gt;52&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.52&lt;br /&gt;53&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.53&lt;br /&gt;54&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.54&lt;br /&gt;55&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.55&lt;br /&gt;56&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.56&lt;br /&gt;57&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.57&lt;br /&gt;58&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.58&lt;br /&gt;59&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.59&lt;br /&gt;60&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.60&lt;br /&gt;61&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.61&lt;br /&gt;62&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.62&lt;br /&gt;63&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.63&lt;br /&gt;64&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.64&lt;br /&gt;65&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.65&lt;br /&gt;66&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.66&lt;br /&gt;67&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.67&lt;br /&gt;68&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.68&lt;br /&gt;69&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.69&lt;br /&gt;70&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.70&lt;br /&gt;71&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.71&lt;br /&gt;72&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.72&lt;br /&gt;73&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.73&lt;br /&gt;74&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.74&lt;br /&gt;75&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.75&lt;br /&gt;76&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.76&lt;br /&gt;77&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.77&lt;br /&gt;78&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.78&lt;br /&gt;79&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.79&lt;br /&gt;80&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.80&lt;br /&gt;81&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.81&lt;br /&gt;82&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.82&lt;br /&gt;83&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.83&lt;br /&gt;84&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.84&lt;br /&gt;85&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.85&lt;br /&gt;86&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.86&lt;br /&gt;87&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.87&lt;br /&gt;88&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.88&lt;br /&gt;89&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.89&lt;br /&gt;90&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.90&lt;br /&gt;91&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.91&lt;br /&gt;92&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.92&lt;br /&gt;93&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.93&lt;br /&gt;94&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.94&lt;br /&gt;95&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.95&lt;br /&gt;96&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.96&lt;br /&gt;97&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.97&lt;br /&gt;98&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.98&lt;br /&gt;99&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.99&lt;br /&gt;100&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.100&lt;br /&gt;101&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.101&lt;br /&gt;102&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.102&lt;br /&gt;103&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.103&lt;br /&gt;104&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.104&lt;br /&gt;105&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.105&lt;br /&gt;106&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.106&lt;br /&gt;107&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.107&lt;br /&gt;108&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.108&lt;br /&gt;109&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.109&lt;br /&gt;110&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.110&lt;br /&gt;111&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.111&lt;br /&gt;112&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.112&lt;br /&gt;113&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.113&lt;br /&gt;114&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.114&lt;br /&gt;115&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.115&lt;br /&gt;116&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.116&lt;br /&gt;117&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.117&lt;br /&gt;118&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.118&lt;br /&gt;119&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.119&lt;br /&gt;120&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.120&lt;br /&gt;121&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.121&lt;br /&gt;122&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.122&lt;br /&gt;123&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.123&lt;br /&gt;124&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.124&lt;br /&gt;125&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.125&lt;br /&gt;126&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.126&lt;br /&gt;127&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192.168.2.127&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="codeblock"&gt;&lt;code&gt;# cat 1.168.192.in-addr.arpa&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;$ORIGIN 1.168.192.in-addr.arpa.&lt;br /&gt;$TTL 6h&lt;br /&gt;&lt;br /&gt;@&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SOA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lan.home.meinit.nl. root.meinit.nl. (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; serial&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1h&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; refresh&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30m&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; retry&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7d&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; expiration&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1h )&amp;nbsp;&amp;nbsp;&amp;nbsp; ; minimum&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; soekris.lan.meinit.nl.&lt;br /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; soekris.lan.meinit.nl.&lt;br /&gt;$GENERATE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32-127&amp;nbsp; $&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $.lan.meinit.nl.&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;&lt;div class="codeblock"&gt;&lt;code&gt;# cat 2.168.192.in-addr.arpa&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;$ORIGIN 2.168.192.in-addr.arpa.&lt;br /&gt;$TTL 6h&lt;br /&gt;&lt;br /&gt;@&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SOA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wifi.meinit.nl. root.meinit.nl. (&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; serial&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1h&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; refresh&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 30m&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; retry&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7d&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; expiration&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1h )&amp;nbsp;&amp;nbsp;&amp;nbsp; ; minimum&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; soekris.home.meinit.nl.&lt;br /&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; soekris.wifi.meinit.nl.&lt;br /&gt;$GENERATE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 32-127&amp;nbsp; $&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PTR&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $.wifi.meinit.nl.&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;And setup the DHCP server.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# cat /etc/dhcpd.conf&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;subnet 192.168.1.0 netmask 255.255.255.0 {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; option domain-name &amp;quot;lan.meinit.nl&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; option domain-name-servers 192.168.1.1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; option routers 192.168.1.1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; range 192.168.1.32 192.168.1.127;&lt;br /&gt;}&lt;br /&gt;subnet 192.168.2.0 netmask 255.255.255.0 {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; option domain-name &amp;quot;wifi.meinit.nl&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; option domain-name-servers 192.168.2.1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; option routers 192.168.2.1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; range 192.168.2.32 192.168.2.127;&lt;br /&gt;}&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Finally configure your PF in /etc/pf.conf:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# wan is the interface to which the modem is connected.&lt;br /&gt;wan = sis0&lt;br /&gt;# This is an extra interface, not in use right now, but you could connect a cable.&lt;br /&gt;lan = sis1&lt;br /&gt;# This is the (Prism 2) wireless network card. Clients will connect to this interface mostly.&lt;br /&gt;wifi = wi0&lt;br /&gt;&lt;br /&gt;scrub in all&lt;br /&gt;&lt;br /&gt;nat on $wan from !($wan) to any -&amp;gt; ($wan)&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Now beter reboot to activate all changes. (Sure you could start every daemon by hand...)&lt;/p&gt;
</description>
 <comments>http://meinit.nl/configure-soekris-openbsd-wireless-nat-router#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Fri, 22 May 2009 07:51:40 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">367 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/configure-soekris-openbsd-wireless-nat-router</feedburner:origLink></item>
<item>
 <title>Using Virtualbox on Mac OS X</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/FpxoAnVZ90Q/using-virtualbox-mac-os-x</link>
 <description>&lt;p&gt;&lt;a href="http://www.virtualbox.org/"&gt;Virtualbox&lt;/a&gt; is a open source virtualization tool that runs on many operating systems, including &lt;a href="http://www.apple.com/macosx/"&gt;Mac OS X&lt;/a&gt; It's free, simple and it works, but you'll need to be aware of how to use it. Here are my experiences with different settings.&lt;/p&gt;
&lt;p&gt;The default network driver makes an airport interface (en1) on &lt;a href="http://www.apple.com/macosx/"&gt;Mac OS X&lt;/a&gt; unstable. So; either map the virtual interface to a wired network interface (en0) or use another driver. The Intel PRO/1000 MT Desktop (8254OEM) works fine for me, the PCnet-FAST II (Am78C973) does not work well for me.&lt;/p&gt;
&lt;p&gt;&lt;img src="/image/view/364/_original" /&gt;&lt;/p&gt;
&lt;p&gt;For &lt;a href="http://www.freebsd.org/"&gt;FreeBSD&lt;/a&gt; guest operating systems, the default IDE disk causes timeouts. Better use a SATA emulation, IDE emulation causes errors during the install.&lt;/p&gt;
&lt;p&gt;&lt;img src="/image/view/365/_original" /&gt;&lt;/p&gt;
&lt;p&gt;Have fun using Virtualbox, after all, its free!&lt;/p&gt;
</description>
 <comments>http://meinit.nl/using-virtualbox-mac-os-x#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Wed, 20 May 2009 10:01:53 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">366 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/using-virtualbox-mac-os-x</feedburner:origLink></item>
<item>
 <title>Update Soekris bios firmware from your Apple Mac OS X machine</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/SVcP0arp_A0/update-soekris-bios-firmware-your-apple-mac-os-x-machine</link>
 <description>&lt;p&gt;When you are using a Soekris, a new bios is published every now and then. Because I had to search-copy-try-paste quite some time to get my Apple Mac OS X to upload the &lt;a href="http://www.soekris.com/downloads.htm"&gt;most recent Soekris (net4521) bios&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Here is what you need:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hardware: a USB-to-serial cable. I used a &lt;a href="http://www.amazon.com/review/product/B000067VB7/ref=pd_cp_e_2_cm_cr_acr_img?_encoding=UTF8&amp;amp;showViewpoints=1"&gt;IOGear CUG232A&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Software: a driver for that USB-to-serial cable.&lt;/li&gt;
&lt;li&gt;Firmware: &lt;a href="http://www.soekris.com/downloads.htm"&gt;A recent firmware for your soekris&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Software: &lt;a href="/files/lsz"&gt;lsr&lt;/a&gt;. from the &lt;a href="http://www.ohse.de/uwe/software/lrzsz.html"&gt;lrzsz project&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I downloaded b4501_133.bin.&lt;/p&gt;
&lt;p&gt;The driver for the IOGear USB-to-serial cable creates a device called /dev/tty.PL2303-00002006. The Soekris will most likely run on 19200 bps. If your Soekris spits out unreadable text, try a speed like 9600. If you are able to access the Soekris bios, you can always change the serial speed using "set ConSpeed=19200" for example.&lt;/p&gt;
&lt;p&gt;&lt;div class="codeblock"&gt;&lt;code&gt;# cu -l /dev/tty.PL2303-00002006 -s 19200&lt;br /&gt;POST: 012345689bcefghipsajklnopqr,,,tvwxy&lt;br /&gt;&lt;br /&gt;comBIOS ver. 1.33&amp;nbsp; 20080103&amp;nbsp; Copyright (C) 2000-2007 Soekris Engineering.&lt;br /&gt;&lt;br /&gt;net45xx&lt;br /&gt;&lt;br /&gt;0064 Mbyte Memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CPU Elan SC520 133 Mhz &lt;br /&gt;&lt;br /&gt;Pri Mas&amp;nbsp; LEXAR ATA FLASH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LBA Xlt 999-32-63&amp;nbsp; 1007 Mbyte&lt;br /&gt;&lt;br /&gt;Slot&amp;nbsp;&amp;nbsp; Vend Dev&amp;nbsp; ClassRev Cmd&amp;nbsp; Stat CL LT HT&amp;nbsp; Base1&amp;nbsp;&amp;nbsp;&amp;nbsp; Base2&amp;nbsp;&amp;nbsp; Int &lt;br /&gt;-------------------------------------------------------------------&lt;br /&gt;0:00:0 1022 3000 06000000 0006 2280 00 00 00 00000000 00000000 &lt;br /&gt;0:17:0 104C AC51 06070000 0107 0210 10 3F 82 A0000000 020000A0 10&lt;br /&gt;0:17:1 104C AC51 06070000 0107 0210 10 3F 82 A0001000 020000A0 10&lt;br /&gt;0:18:0 100B 0020 02000000 0107 0290 00 3F 00 0000E101 A0002000 11&lt;br /&gt;0:19:0 100B 0020 02000000 0107 0290 00 3F 00 0000E201 A0003000 05&lt;br /&gt;&lt;br /&gt; 1 Seconds to automatic boot.&amp;nbsp;&amp;nbsp; Press Ctrl-P for entering Monitor.&lt;br /&gt;&lt;br /&gt;&amp;gt; download -&lt;br /&gt;&lt;br /&gt;Start sending file using XMODEM/CRC protocol.&lt;br /&gt;~+./lsz -X b4501_133.bin&lt;br /&gt;Sending b4501_133.bin, 608 blocks: Give your local XMODEM receive command now.&lt;br /&gt;Bytes Sent:&amp;nbsp; 77824&amp;nbsp;&amp;nbsp; BPS:1745&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Transfer complete&lt;br /&gt;&lt;br /&gt;File downloaded succesfully, size 608 Blocks.&lt;br /&gt;&lt;br /&gt;&amp;gt; flashupdate&lt;br /&gt;Updating BIOS Flash ,,,,,,,,,,,,..,,,,.. Done.&lt;br /&gt;&lt;br /&gt;&amp;gt; reboot&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Good, you are done!&lt;/p&gt;
</description>
 <comments>http://meinit.nl/update-soekris-bios-firmware-your-apple-mac-os-x-machine#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Fri, 15 May 2009 06:50:15 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">363 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/update-soekris-bios-firmware-your-apple-mac-os-x-machine</feedburner:origLink></item>
<item>
 <title>Install your Soekris (or any other machine) with OpenBSD using OpenBSD</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/SVxHRRVPrWg/install-your-soekris-or-any-other-machine-openbsd-using-openbsd</link>
 <description>&lt;p&gt;To install OpenBSD on your Soekris machine, (or any other machine) take these steps to create an OpenBSD installation server. This instruction help you setup a DHCP, TFTP and HTTP server required for a network installation of OpenBSD.&lt;/p&gt;
&lt;p&gt;This setup creates an autonomous install server, that can be disconnected from the internet. During the setup this machine is connected to the internet to install all required software.&lt;/p&gt;
&lt;p&gt;First; install an OpenBSD machine. This may either be virtual or physical. Just install the default set of software and make sure it's connected to the internet. (It does not matter if you are using DHCP or a static IP configuration.)&lt;/p&gt;
&lt;p&gt;This instruction is based on OpenBSD 4.5, but will likely work for future releases.&lt;/p&gt;
&lt;p&gt;Install a DHCP server.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# export PKG_PATH=http://mirror.roothell.org/pub/OpenBSD/4.5/packages/i386/&lt;br /&gt;# pkg_add isc-dhcp-server&lt;br /&gt;isc-dhcp-server-3.1.1: complete&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Configure the DHCP server. This step is very dependent of your network configuration, so don't just copy paste everything, but try to understand (using man pages) what's configured.&lt;br /&gt;
My /etc/dhcpd.conf looks like this now:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;option&amp;nbsp; domain-name &amp;quot;home.meinit.nl&amp;quot;;&lt;br /&gt;option&amp;nbsp; domain-name-servers 192.168.1.1;&lt;br /&gt;&lt;br /&gt;subnet 192.168.1.0 netmask 255.255.255.0 {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; range 192.168.1.32 192.168.1.127;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host pxe-client {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hardware ethernet 02:03:04:05:06:07;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; filename &amp;quot;pxeboot&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; next-server 192.168.1.1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
Be aware; the "hardware ethernet" address mentioned above is not correct. It needs to be set to what the MAC address is of the machine you would like to install.&lt;/p&gt;
&lt;p&gt;Make sure it start by modifying /etc/rc.conf.local, like this:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# echo &amp;quot;dhcpd_flags=&amp;quot; &amp;gt;&amp;gt; /etc/rc.conf.local&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Enable the TFTP server in /etc/inetd.conf: (It's installed by default on an OpenBSD installation!)&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;tftp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dgram&amp;nbsp;&amp;nbsp; udp&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wait&amp;nbsp;&amp;nbsp;&amp;nbsp; root&amp;nbsp;&amp;nbsp;&amp;nbsp; /usr/libexec/tftpd&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tftpd -s /tftpboot&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
Create some directories and restart inetd:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# pkill -HUP inetd&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Now get the kernel that is being used when booting over the network and retreive the PXE boot code.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# cd /tftpboot&lt;br /&gt;# ftp &lt;a href="http://mirror.roothell.org/pub/OpenBSD/4.5/i386/bsd.rd&lt;br /&gt;Trying" title="http://mirror.roothell.org/pub/OpenBSD/4.5/i386/bsd.rd&lt;br /&gt;Trying"&gt;http://mirror.roothell.org/pub/OpenBSD/4.5/i386/bsd.rd&lt;br /&gt;Trying&lt;/a&gt; 88.198.153.75...&lt;br /&gt;Requesting &lt;a href="http://mirror.roothell.org/pub/OpenBSD/4.5/i386/bsd&lt;br /&gt;100%" title="http://mirror.roothell.org/pub/OpenBSD/4.5/i386/bsd&lt;br /&gt;100%"&gt;http://mirror.roothell.org/pub/OpenBSD/4.5/i386/bsd&lt;br /&gt;100%&lt;/a&gt; |*******************************************************************************|&amp;nbsp; 5461 KB&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:06&lt;br /&gt;Successfully retrieved file.&lt;br /&gt;# echo &amp;quot;set tty com0 &lt;br /&gt;stty com0 19200&lt;br /&gt;boot bsd.rd&amp;quot; &amp;gt; etc/boot.conf&lt;br /&gt;# ftp &lt;a href="http://mirror.roothell.org/pub/OpenBSD/4.5/i386/pxeboot&lt;br /&gt;Trying" title="http://mirror.roothell.org/pub/OpenBSD/4.5/i386/pxeboot&lt;br /&gt;Trying"&gt;http://mirror.roothell.org/pub/OpenBSD/4.5/i386/pxeboot&lt;br /&gt;Trying&lt;/a&gt; 88.198.153.75...&lt;br /&gt;Requesting &lt;a href="http://mirror.roothell.org/pub/OpenBSD/4.5/i386/pxeboot&lt;br /&gt;100%" title="http://mirror.roothell.org/pub/OpenBSD/4.5/i386/pxeboot&lt;br /&gt;100%"&gt;http://mirror.roothell.org/pub/OpenBSD/4.5/i386/pxeboot&lt;br /&gt;100%&lt;/a&gt; |*******************************************************************************| 53276&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;Successfully retrieved file.&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Enable a HTTP server.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# echo &amp;quot;httpd_flags=&amp;quot; &amp;gt;&amp;gt; /etc/rc.conf.local&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Now get all required software sets you'd like to offer.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# ftp &lt;a href="http://mirror.roothell.org/pub/OpenBSD/4.5/i386/index.txt&lt;br /&gt;Trying" title="http://mirror.roothell.org/pub/OpenBSD/4.5/i386/index.txt&lt;br /&gt;Trying"&gt;http://mirror.roothell.org/pub/OpenBSD/4.5/i386/index.txt&lt;br /&gt;Trying&lt;/a&gt; 88.198.153.75...&lt;br /&gt;Requesting &lt;a href="http://mirror.roothell.org/pub/OpenBSD/4.5/i386/index.txt&lt;br /&gt;100%" title="http://mirror.roothell.org/pub/OpenBSD/4.5/i386/index.txt&lt;br /&gt;100%"&gt;http://mirror.roothell.org/pub/OpenBSD/4.5/i386/index.txt&lt;br /&gt;100%&lt;/a&gt; |*******************************************************************************|&amp;nbsp;&amp;nbsp; 266&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;Successfully retrieved file.&lt;br /&gt;# cat index.txt | grep -v &amp;#039;.iso&amp;#039; | tee index.txt | while read file ; do &lt;br /&gt;&amp;gt;&amp;nbsp; ftp http://mirror.roothell.org/pub/OpenBSD/4.5/i386/&amp;quot;$file&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;gt; done&lt;br /&gt;100% |********************************************************************************|&amp;nbsp;&amp;nbsp; 106 KB&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************| 22356&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************|&amp;nbsp; 1022&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************| 46941 KB&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:27&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************|&amp;nbsp; 6539 KB&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:02&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************|&amp;nbsp; 6558 KB&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:03&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************|&amp;nbsp; 5461 KB&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:02&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************| 44724&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************|&amp;nbsp; 2048&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************| 87874 KB&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:59&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************|&amp;nbsp;&amp;nbsp; 501 KB&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************|&amp;nbsp; 1440 KB&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************|&amp;nbsp; 1440 KB&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************|&amp;nbsp; 1440 KB&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************|&amp;nbsp; 2555 KB&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************|&amp;nbsp; 8032 KB&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:03&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************|&amp;nbsp; 2866 KB&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:02&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************| 53276&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:00&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************|&amp;nbsp; 9761 KB&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:07&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************| 75214&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:01&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************| 34745 KB&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:26&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************| 19478 KB&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:11&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;100% |********************************************************************************|&amp;nbsp; 2698 KB&amp;nbsp;&amp;nbsp;&amp;nbsp; 00:06&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Now that everything is ready, reconfigure your network to use a static IP which is usable in the network you are planning this installation server.&lt;/p&gt;
&lt;p&gt;NOTA BENE: you have enabled a DHCP server, if your network already uses a DHCP server, clients might get an IP address from your DHCP server, which is likely incorrect and/or conflicting with the exiting DHCP server. Normally you'd like to use one DHCP server per network.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;# echo &amp;quot;inet 192.168.1.1 255.255.255.0 192.168.1.255&amp;quot; &amp;gt; /etc/hostname.em0&lt;br /&gt;# echo &amp;quot;lookup file&amp;quot; &amp;gt; /etc/resolv.conf&lt;br /&gt;# reboot&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Now in the freshly installed client, modify/create /etc/boot.conf with this content:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;set tty com0 &lt;br /&gt;stty com0 19200&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
The Soekris uses these setting to be able to access the serial console.&lt;/p&gt;
&lt;p&gt;Okay, after your install server has been rebooted, go and boot an uninstalled client.&lt;/p&gt;
&lt;p&gt;For soekris users; connect your console cable, see the machine boot.&lt;/p&gt;
&lt;p&gt;You will see that it's first getting the pxeboot code, then the kernel (bsd). When the kernel has booted, select your bootservers IP address to install software from and enter "/" at the server directory question.&lt;/p&gt;
</description>
 <comments>http://meinit.nl/install-your-soekris-or-any-other-machine-openbsd-using-openbsd#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Wed, 13 May 2009 14:55:31 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">362 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/install-your-soekris-or-any-other-machine-openbsd-using-openbsd</feedburner:origLink></item>
<item>
 <title>Add a permanent static route to Mac OS X</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/dSjCcsZoEKo/add-permanent-static-route-mac-os-x</link>
 <description>&lt;p&gt;As a reminder for myself, but likely useful for you! If you are in a situation where you'd like to add a static route to you Mac OS X machine, you could issue:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;$ sudo route add 10.0.0.0/8 192.168.1.1&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;
This commands tells the TCP/IP stack to sent traffic with the destination 10.*.*.* via 192.168.1.1. But, this command is only active after issuing it and before the next reboot. To "save" this command, make it permanent, you can take these simple steps.&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;$ sudo mkdir /Library/StartupItems/AddRoute&lt;br /&gt;# cd /Library/StartupItems/AddRoute&lt;br /&gt;$ echo &amp;quot;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = \&amp;quot;Add static routing tables\&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Provides&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = (\&amp;quot;AddRoutes\&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Requires&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = (\&amp;quot;Network\&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OrderPreference = \&amp;quot;None\&amp;quot;;&lt;br /&gt;}&amp;quot; &amp;gt; StartupParameters.plist&lt;br /&gt;$ echo &amp;quot;#!/bin/sh&lt;br /&gt;&lt;br /&gt;# Set up static routing tables &lt;br /&gt;# Roark Holz, Thursday, April 6, 2006&lt;br /&gt;&lt;br /&gt;. /etc/rc.common&lt;br /&gt;&lt;br /&gt;StartService ()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ConsoleMessage &amp;quot;Adding Static Routing Tables&amp;quot;&lt;br /&gt;	sudo route add 10.0.0.0/8 192.168.200.15&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;StopService ()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;RestartService ()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;RunService &amp;quot;$1&amp;quot;&amp;quot; &amp;gt; AddRoutes&lt;br /&gt;$ sudo chmod 755 AddRoutes&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Now you should be prepared. After a reboot, the route will be visible. (netstat -rnf inet)&lt;/p&gt;
</description>
 <comments>http://meinit.nl/add-permanent-static-route-mac-os-x#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Mon, 04 May 2009 08:42:51 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">361 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/add-permanent-static-route-mac-os-x</feedburner:origLink></item>
<item>
 <title>Nagios check for Centreon to create CPU graphs for Linux</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/2y0dD20BiiA/nagios-check-centreon-create-cpu-graphs-linux</link>
 <description>&lt;p&gt;&lt;a href="http://www.centreon.com/"&gt;Centreon&lt;/a&gt; is a great front-end for &lt;a href="http://nagios.org/"&gt;Nagios&lt;/a&gt;, the well known monitoring tool.&lt;/p&gt;
&lt;p&gt;Nagios only performs "up" and "down" checks, Centreon adds performance graph capabilities.&lt;/p&gt;
&lt;p&gt;Centreon comes with many checks to measure values, like traffic on eth0, a ping response time check, an ntp check and so on. Many checks are based on SNMP, so for Linux machines &lt;a href="http://www.net-snmp.org/"&gt;net-snmp&lt;/a&gt; should be installed.&lt;/p&gt;
&lt;p&gt;&lt;img src="/image/view/360" /&gt;&lt;/p&gt;
&lt;p&gt;What Centreon is missing, is an SNMP check that reports CPU usage and graphs the information. Here is a shell script to get the values for a specified host and return the CPU-idle percentage, CPU-system percentage and CPU-user percentage.&lt;/p&gt;
&lt;p&gt;The script depends on a binary snmpget found in the package net-snmp-utils. Install it on the Nagios pollers that perform this check.&lt;/p&gt;
&lt;p&gt;This script implements &lt;a href="http://nagios.sourceforge.net/docs/1_0/perfdata.html"&gt;Performance Data as described by Nagios&lt;/a&gt;, which is very short means that besides outputting readable data, it also outputs performance data after the pipe ("|") mark, separated by a comma.&lt;br /&gt;
The script has been designed to incorporate &lt;a href="http://nagios.sourceforge.net/docs/3_0/pluginapi.html"&gt;all described requirements by Nagios plugins&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;div class="codeblock"&gt;&lt;code&gt;#!/bin/sh &lt;br /&gt;&lt;br /&gt;# Nagios plugin to report CPU usage on Linux boxes.&lt;br /&gt;&lt;br /&gt;usage() {&lt;br /&gt; # This function is called when a user enters impossible values.&lt;br /&gt; echo &amp;quot;Usage: $0 -H HOSTADDRESS [-C COMMUNITY] [-w WARNING] [-c CRITICAL] [-v VERSION]&amp;quot;&lt;br /&gt; echo&lt;br /&gt; echo &amp;quot; -H HOSTADDRESS&amp;quot;&lt;br /&gt; echo &amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The host to check, either IP address or a resolvable hostname.&amp;quot;&lt;br /&gt; echo &amp;quot; -w WARNING&amp;quot;&lt;br /&gt; echo &amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The percentage of cpu-idle to start warning, defaults to 15.&amp;quot;&lt;br /&gt; echo &amp;quot; -c CRITICAL&amp;quot;&lt;br /&gt; echo &amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The percentage op cpu-idle to reflect a critical state, defaults to 5.&amp;quot;&lt;br /&gt; echo &amp;quot; -C COMMUNITY&amp;quot;&lt;br /&gt; echo &amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The SNMP community to use, defaults to public.&amp;quot;&lt;br /&gt; echo &amp;quot; -v VERSION&amp;quot;&lt;br /&gt; echo &amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; The SNMTP version to use, defaults to 2c.&amp;quot;&lt;br /&gt; exit 3&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;readargs() {&lt;br /&gt; # This function reads what options and arguments were given on the&lt;br /&gt; # command line.&lt;br /&gt; while [ &amp;quot;$#&amp;quot; -gt 0 ] ; do&lt;br /&gt;&amp;nbsp; case &amp;quot;$1&amp;quot; in&lt;br /&gt;&amp;nbsp;&amp;nbsp; -H)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ &amp;quot;$2&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; host=&amp;quot;$2&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift ; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;Missing a value for $1.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usage&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; -w)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ &amp;quot;$2&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; warning=&amp;quot;$2&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift ; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;Missing a value for $1.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usage&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; -c)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ &amp;quot;$2&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; critical=&amp;quot;$2&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift ; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;Missing a value for $1.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usage&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; -C)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ &amp;quot;$2&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; community=&amp;quot;$2&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift ; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;Missing a value for $1.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usage&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; -v)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if [ &amp;quot;$2&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; version=&amp;quot;$2&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift ; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;Missing a value for $1.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; usage&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp;&amp;nbsp; *)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;Unknown option $1.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; shift&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; usage&lt;br /&gt;&amp;nbsp;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp; esac&lt;br /&gt;done&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;setvariables() {&lt;br /&gt; # Here is a function to set some default values.&lt;br /&gt; cpurawidle=&amp;quot;UCD-SNMP-MIB::ssCpuRawIdle.0&amp;quot;&lt;br /&gt; cpurawuser=&amp;quot;UCD-SNMP-MIB::ssCpuRawUser.0&amp;quot;&lt;br /&gt; cpurawsystem=&amp;quot;UCD-SNMP-MIB::ssCpuRawSystem.0&amp;quot;&lt;br /&gt; if [ ! &amp;quot;$warning&amp;quot; ] ; then warning=&amp;quot;15&amp;quot; ; fi&lt;br /&gt; if [ ! &amp;quot;$critical&amp;quot; ] ; then critical=&amp;quot;5&amp;quot; ; fi&lt;br /&gt; tmpdir=&amp;quot;/tmp/nagios&amp;quot;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;checkvariables() {&lt;br /&gt; # This function checks if all collected input is correct.&lt;br /&gt; if [ ! &amp;quot;$host&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp; echo &amp;quot;Please specify a hostname or IP address.&amp;quot;&lt;br /&gt;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp; usage&lt;br /&gt; fi&lt;br /&gt; if [ &amp;quot;$warning&amp;quot; -lt &amp;quot;$critical&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp; echo &amp;quot;Critical may not be higher than warning. Please modify your critical an warning values.&amp;quot;&lt;br /&gt;&amp;nbsp; echo&lt;br /&gt;&amp;nbsp; usage&lt;br /&gt; fi&lt;br /&gt; if [ ! &amp;quot;$community&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp; # The public community is used when a user did not enter a community.&lt;br /&gt;&amp;nbsp; community=&amp;quot;public&amp;quot;&lt;br /&gt; fi&lt;br /&gt; if [ ! &amp;quot;$version&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp; # Version 2c is used when a user did not enter a version.&lt;br /&gt;&amp;nbsp; version=&amp;quot;2c&amp;quot;&lt;br /&gt; fi&lt;br /&gt; if [ ! -d &amp;quot;$tmpdir&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp; mkdir &amp;quot;$tmpdir&amp;quot;&lt;br /&gt;&amp;nbsp; if [ $? -gt 0 ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo &amp;quot;Unknown cannot create $tmpdir!&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp; exit 3&lt;br /&gt;&amp;nbsp; fi&lt;br /&gt; fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;getandprintresults() {&lt;br /&gt; # First, get all values in one snmpget session. I think this is lighter for&lt;br /&gt; # the machine that is queried compared to three separated snmpgets.&lt;br /&gt; snmpget -c &amp;quot;$community&amp;quot; -v &amp;quot;$version&amp;quot; -t 3 &amp;quot;$host&amp;quot; &amp;quot;$cpurawidle&amp;quot; &amp;quot;$cpurawuser&amp;quot; &amp;quot;$cpurawsystem&amp;quot; | while read mib equals type digit ; do&lt;br /&gt; case &amp;quot;$mib&amp;quot; in&lt;br /&gt;&amp;nbsp; # This output is returned for the cpuidle value.&lt;br /&gt;&amp;nbsp; UCD-SNMP-MIB::ssCpuRawIdle.0)&lt;br /&gt;&amp;nbsp;&amp;nbsp; cpuidlevalue=&amp;quot;$digit&amp;quot;&lt;br /&gt;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp; # This output is returned for the cpuuser value.&lt;br /&gt;&amp;nbsp; UCD-SNMP-MIB::ssCpuRawUser.0)&lt;br /&gt;&amp;nbsp;&amp;nbsp; cpuuservalue=&amp;quot;$digit&amp;quot;&lt;br /&gt;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp; # This output is returned for the cpusystem value.&lt;br /&gt;&amp;nbsp; UCD-SNMP-MIB::ssCpuRawSystem.0)&lt;br /&gt;&amp;nbsp;&amp;nbsp; cpusystemvalue=&amp;quot;$digit&amp;quot;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; if [ -f &amp;quot;$tmpdir&amp;quot;/&amp;quot;$host&amp;quot;.cpuidle ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpuidlediff=$(($cpuidlevalue - $(cat &amp;quot;$tmpdir&amp;quot;/&amp;quot;$host&amp;quot;.cpuidle)))&lt;br /&gt;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo &amp;quot;$cpuidlevalue&amp;quot; &amp;gt; &amp;quot;$tmpdir&amp;quot;/&amp;quot;$host&amp;quot;.cpuidle&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; if [ -f &amp;quot;$tmpdir&amp;quot;/&amp;quot;$host&amp;quot;.cpuuser ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpuuserdiff=$(($cpuuservalue - $(cat &amp;quot;$tmpdir&amp;quot;/&amp;quot;$host&amp;quot;.cpuuser)))&lt;br /&gt;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp;&amp;nbsp; echo &amp;quot;$cpuuservalue&amp;quot; &amp;gt; &amp;quot;$tmpdir&amp;quot;/&amp;quot;$host&amp;quot;.cpuuser&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; if [ ! -f &amp;quot;$tmpdir&amp;quot;/&amp;quot;$host&amp;quot;.cpusystem ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;$cpusystemvalue&amp;quot; &amp;gt; &amp;quot;$tmpdir&amp;quot;/&amp;quot;$host&amp;quot;.cpusystem&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;First run, gathering data.&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit 3&lt;br /&gt;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpusystemdiff=$(($cpusystemvalue - $(cat &amp;quot;$tmpdir&amp;quot;/&amp;quot;$host&amp;quot;.cpusystem)))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;$cpusystemvalue&amp;quot; &amp;gt; &amp;quot;$tmpdir&amp;quot;/&amp;quot;$host&amp;quot;.cpusystem&lt;br /&gt;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; # Add all differences, so a calculation of the percentage can be made later.&lt;br /&gt;&amp;nbsp;&amp;nbsp; allcpu=$(($cpuidlediff + $cpuuserdiff + $cpusystemdiff))&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; # Now calculate how many percent each value represents.&lt;br /&gt;&amp;nbsp;&amp;nbsp; cpuidlevalue=$((($cpuidlediff*100)/$allcpu))&lt;br /&gt;&amp;nbsp;&amp;nbsp; cpuuservalue=$((($cpuuserdiff*100)/$allcpu))&lt;br /&gt;&amp;nbsp;&amp;nbsp; cpusystemvalue=$((($cpusystemdiff*100)/$allcpu))&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; # Now see if any of these percentages is over a threshold.&lt;br /&gt;&amp;nbsp;&amp;nbsp; if [ &amp;quot;$cpuidlevalue&amp;quot; -lt &amp;quot;$critical&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # First see if it&amp;#039;s in a critical state.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;CPU CRITICAL idle value: $cpuidlevalue%|cpuidle=$cpuidlevalue% cpuuservalue=$cpuuservalue% cpusystemvalue=$cpusystemvalue%&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit 2&lt;br /&gt;&amp;nbsp;&amp;nbsp; elif [ &amp;quot;$cpuidlevalue&amp;quot; -lt &amp;quot;$warning&amp;quot; ] ; then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Now see if warning applies.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;CPU WARNING idle value: $cpuidlevalue%|cpuidle=$cpuidlevalue% cpuuservalue=$cpuuservalue% cpusystemvalue=$cpusystemvalue%&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit 1&lt;br /&gt;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; # If neither critical, nor warning apply, it must be OK!&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;CPU OK idle value: $cpuidlevalue%|cpuidle=$cpuidlevalue% cpuuservalue=$cpuuservalue% cpusystemvalue=$cpusystemvalue%&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit 0&lt;br /&gt;&amp;nbsp;&amp;nbsp; fi&lt;br /&gt;&amp;nbsp; ;;&lt;br /&gt;&amp;nbsp; esac&lt;br /&gt; done&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;# The calls to the different functions.&lt;br /&gt;readargs &amp;quot;$@&amp;quot;&lt;br /&gt;setvariables&lt;br /&gt;checkvariables&lt;br /&gt;getandprintresults&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Don't forget to chmod (755) the script on the Poller(s).&lt;/p&gt;
&lt;p&gt;Now go into the Centreon web front end and add a command at:&lt;br /&gt;
Configuration - Commands - Add.&lt;br /&gt;
I named the check "check_cpu" where the command line is:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;$USER1$/check_snmp_cpu -H $HOSTADDRESS$ -C $ARG1$&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Bind this check to a service template and bind a hostgroup to the service template. Remember &lt;a href="http://forum.centreon.com/archive/index.php/t-6879-Possible-Bug-SNMP.html"&gt;Centreon does not use $USER2$, but $_HOSTSNMPCOMMUNITY$&lt;/a&gt;.&lt;/p&gt;
</description>
 <comments>http://meinit.nl/nagios-check-centreon-create-cpu-graphs-linux#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Fri, 17 Apr 2009 09:14:06 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">359 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/nagios-check-centreon-create-cpu-graphs-linux</feedburner:origLink></item>
<item>
 <title>Pasting shell scripts from Microsoft Word into Putty</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/W2ZgBQh0QME/pasting-shell-scripts-microsoft-word-putty</link>
 <description>&lt;p&gt;As a Linux/UNIX engineer you will have to cope with the strange behaviour of Microsofts products. Microsoft Word replaces a simple double quote (") for an angled quote. Now when you paste that code into Putty, your (angled) quotes are replaced for dots.&lt;/p&gt;
&lt;p&gt;To correct this behaviour open Microsoft Word, click Tools then Autocorrection options and on the unselect Smart Quotes. (You may want to disable other "handy" features as well.&lt;/p&gt;
&lt;p&gt;Finally, I am able to paste documented code into Putty!&lt;/p&gt;
</description>
 <comments>http://meinit.nl/pasting-shell-scripts-microsoft-word-putty#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Tue, 31 Mar 2009 09:06:32 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">358 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/pasting-shell-scripts-microsoft-word-putty</feedburner:origLink></item>
<item>
 <title>Simple AWK script to show filesystems that are almost full</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/5v_KwHqCe2c/simple-awk-script-show-filesystems-are-almost-full</link>
 <description>&lt;p&gt;Here is a simple oneliner to show filesystems that are nearly full:&lt;br /&gt;
&lt;div class="codeblock"&gt;&lt;code&gt;df -k | awk &amp;#039;$4 &amp;gt; 85 {print $7,$4}&amp;#039;&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;What it does;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;df -k &lt;/b&gt; - This displays the filesystems and how full they are.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;awk '$4 &gt; 85 {print $7,$4}'&lt;/b&gt; - This prints the 7th and 4th column, when the 4th column is greater than 85.&lt;/li&gt;
&lt;/ol&gt;
</description>
 <comments>http://meinit.nl/simple-awk-script-show-filesystems-are-almost-full#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Fri, 13 Mar 2009 09:46:23 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">357 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/simple-awk-script-show-filesystems-are-almost-full</feedburner:origLink></item>
<item>
 <title>An alternative to top for AIX</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/7r9ia-uqvRY/alternative-top-aix</link>
 <description>&lt;p&gt;Almost everybody loves the GNU command top. Top displays information about what's going on at your system. Some systems don't provide top, this script can be used as an alternative for top:&lt;/p&gt;
&lt;p&gt;&lt;div class="codeblock"&gt;&lt;code&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;# If the shell script is stopped with CTRL+C, the screen&lt;br /&gt;# might need to be sized correctly.&lt;br /&gt;trap &amp;#039;eval $(resize); exit 2&amp;#039; 2&lt;br /&gt;&lt;br /&gt;# A loop to display activity.&lt;br /&gt;while [ 1 ] ; do&lt;br /&gt; eval $(resize)&lt;br /&gt; output=$(ps -eF &amp;quot;pcpu time pid user comm&amp;quot; | grep -v TIME | sort -rn | head -$((&amp;quot;$LINES&amp;quot;-2)))&lt;br /&gt; echo &amp;#039; %CPU&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TIME&amp;nbsp;&amp;nbsp;&amp;nbsp; PID&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; USER&amp;nbsp;&amp;nbsp;&amp;nbsp; COMMAND&amp;#039;&lt;br /&gt; echo &amp;quot;$output&amp;quot;&lt;br /&gt; sleep 3&lt;br /&gt;done&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
</description>
 <comments>http://meinit.nl/alternative-top-aix#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Mon, 09 Mar 2009 10:47:02 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">356 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/alternative-top-aix</feedburner:origLink></item>
<item>
 <title>Running an Open Source Phone Part 1</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/dX-nxife1GQ/running-open-source-phone-part-1</link>
 <description>&lt;h2&gt;Introduction - Why do we need an Free Software phone?&lt;/h2&gt;
&lt;p&gt;As we all know, when purchasing a new phone, it often has a slew of restrictions. On the telephony side, you are usually only allowed to use an authorised type of SIM card in the phone but there are far greater restrictions as to what you can do with the software on the phone. Almost all phones out there use proprietary software and, in the cases where a Free Software kernel is used, it is always hidden away and you can't modify your phone by installing a free GNU/Linux distribution on it since only authorised, signed operating systems will be booted.&lt;/p&gt;
&lt;p&gt;Besides the software in the phone not being Free (as in freedom) software, there are often arbitrary restrictions on how you can use the phone. For example, DRM to restrict how you can play the music you have legally purchased, you cannot install you own applications but only applications approved by the Telco and/or phone vendor - think of the iPhone.&lt;/p&gt;
&lt;p&gt;I am writing a series of articles in order to share my experiences and hopefully help people get familiar with Free Software on mobile devices, specifically cellular telephones. This first article will focus on a high level introduction to some of the hardware and software available for open source/free software phones. For those interested - I am using a Neo Freerunner running QTextended as my daily phone.&lt;/p&gt;
&lt;h2&gt;The Hardware&lt;/h2&gt;
&lt;p&gt;All this Free Software is no good if there is no phone you can install it on so I will now give a non-exhaustive list of the mobile devices I know about on which you can install free software.&lt;/p&gt;
&lt;h3&gt;The Neo Freerunner&lt;/h3&gt;
&lt;p&gt;The Neo Freerunner is designed to be an open phone from the ground up - the manufacturing diagrams are published as &lt;a href="http://wiki.openmoko.org/wiki/CAD_models"&gt;CAD files&lt;/a&gt; which anyone can use as  a basis for another phone. The Neo Freerunner is the most promising, truly open phone that I am aware of and has a highly active community developing software for the Neo Freerunner and future phones from Openmoko.&lt;/p&gt;
&lt;p&gt;The software on this phone (covered in Part 2) is not quite ready for end-user use but can be used as a daily phone by enthusiasts. That said, I expect that basic functionality will be stable in half a year.&lt;/p&gt;
&lt;h3&gt;Google G1&lt;/h3&gt;
&lt;p&gt;The Google G1 is a Linux based phone brought out by Google, it seems they want to compete with the Apple iPhone. The retail G1 is a locked phone that will only run authorised images so no change there. However, you can gain access to the full functionality of your phone in two ways; rooting the phone or buying the developer G1 called the "Android Dev Phone 1". Once this has been done you can proceed to experiment to your hearts content with the underlying Linux system making up the G1 - with &lt;a hef="http://lwn.net/Articles/320768/"&gt;some limitations&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;The Trolltech Greenphone&lt;/h3&gt;
&lt;p&gt;The now discontinued Green phone used a software stack called &lt;a href="http://qtextended.org/modules/devices/"&gt;Qtopia&lt;/a&gt; created by Trolltech (now owned by Nokia) - the same people who develop the QT toolkit in use by such projects as KDE and countless other, smaller applications.&lt;/p&gt;
&lt;p&gt;The idea behind the Greenphone was to promote Qtopia as a mobile development platform and not as an end-user telephone. Trolltech no longer ships the Greenphone and the Qtopia software stack as been renamed to QTextended. QTextended has just released version 4.4.3, which will be the last release of the QTextended platform as this too is being discontinued but a community maintained version will still be available and may even become better than the Trolltech version.&lt;/p&gt;
&lt;h3&gt;Nokia Internet Tablet&lt;/h3&gt;
&lt;p&gt;The Nokia N810 supports the running of Open Source software - the main software stack target at this device is the &lt;a href="http://maemo.org/"&gt;Maemo plaform&lt;/a&gt; but it also supports QTextended and Debian GNU/Linux. By installing Debian on the N810 you can access to the vast software repositories available to Debian systems.&lt;/p&gt;
&lt;h3&gt;iPhone&lt;/h3&gt;
&lt;p&gt;Yes, you read correctly, you can now run &lt;a href="http://www.iphonelinux.org/index.php/Main_Page"&gt;Linux on your iPhone&lt;/a&gt;. This project is still in its very early stages and already seems to be laying the groundwork quite well. Definitely worth keeping an eye on. Also, I suspect you will need a jail-broken phone in order to install Linux on your iPhone and Apple may release updates to their boot loader ROM that will make it difficult to install Linux on the iPhone.&lt;br /&gt;
Netbooks&lt;/p&gt;
&lt;p&gt;And, let's not forget, the ever popular Netbooks being made by seemingly all major computer manufacturers. While not strictly speaking a phone or a "tablet", they are nevertheless very mobile and so I will cover them here. The recent Netbook trend all started with the Asus Eee PC which made people realise that they just need "good enough" computing rather than a super computer on their lap.&lt;/p&gt;
&lt;p&gt;One can easily install any Linux distribution on these devices and, when combined with a mobile broadband device (aka "dongle"), you have a powerful, mobile Internet device. Especially useful for those of us that are on call!&lt;/p&gt;
&lt;p&gt;A very good history of the Netbook can be found at &lt;a href="http://arstechnica.com/gadgets/news/2009/02/state-of-the-netbook-1.ars"&gt;Arstechnica&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Next Article&lt;/h2&gt;
&lt;p&gt;In the next article I will be taking a deeper look at the various Free Software stacks that are available for running on your mobile device. Stay tuned!&lt;/p&gt;
</description>
 <comments>http://meinit.nl/running-open-source-phone-part-1#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-fred-clausen">Fred Clausen</category>
 <pubDate>Fri, 06 Mar 2009 13:43:55 +0000</pubDate>
 <dc:creator>Fred Clausen</dc:creator>
 <guid isPermaLink="false">355 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/running-open-source-phone-part-1</feedburner:origLink></item>
<item>
 <title>Hopeful: Linux professionals will survive the recession</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/-B0Lban3DfQ/hopeful-linux-professionals-will-survive-recession</link>
 <description>&lt;p&gt;Linux professionals (administrators, engineers, architects) will manage during the financial crisis. That's what sites like &lt;a href="http://www.cyberciti.biz/tips/recession-and-free-software.html"&gt;Cyberciti&lt;/a&gt; predict.&lt;/p&gt;
&lt;p&gt;It's hard to tell what the impacts of the recession will be for Linux professionals, but here is why "we" should be perfectly fine:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;Linux is free&lt;/b&gt; - Sure it is, although the "enterprise programs" all cost money when you require support. Be aware that free (as in money) software does not mean installing and maintaining it is free; you need Linux professionals to help out.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Linux is scalable&lt;/b&gt; - You can start now for a limited amount of money, when better times arrive, you will be ready to expand your infrastructure.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Linux is stable&lt;/b&gt; - Invest some money now to setup infrastructure, when it's done it won't just stop working!&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Linux is the way to go&lt;/b&gt; - For the server market Linux is very common. This will only grow in the years to come so you will be ready for the future.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Well Linux professional, hope that helps you to manage during these "interesting" times.&lt;/p&gt;
</description>
 <comments>http://meinit.nl/hopeful-linux-professionals-will-survive-recession#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Tue, 03 Mar 2009 08:07:33 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">354 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/hopeful-linux-professionals-will-survive-recession</feedburner:origLink></item>
<item>
 <title>Aesthetics of shell scripting</title>
 <link>http://feedproxy.google.com/~r/MeInIt/~3/VCQh7b1k_JY/aesthetics-shell-scripting</link>
 <description>&lt;p&gt;Here is the problem; you need to print a single line filled with dashes. Will you just echo 80 dashes or write a beautiful loop for it?&lt;/p&gt;
&lt;h2&gt;The ease solution&lt;/h2&gt;
&lt;p&gt;&lt;div class="codeblock"&gt;&lt;code&gt;$ echo &amp;quot;--------------------------------------------------------------------------------&amp;quot;&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;h2&gt;The aesthetic solution&lt;/h2&gt;
&lt;p&gt;&lt;div class="codeblock"&gt;&lt;code&gt;$ n=0 ; while [ $n -lt 80 ] ; do printf &amp;quot;-&amp;quot; ; n=$(($n+1)) ; done ; echo&lt;/code&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;Both give the same result, but the easy solution is faster. Result from the machine where I am working on:&lt;/p&gt;
&lt;table&gt;
&lt;tr&gt;
&lt;td&gt;&lt;b&gt;Test&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Easy way&lt;/b&gt;&lt;/td&gt;
&lt;td&gt;&lt;b&gt;Aesthetics way&lt;/b&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Time to execute:&lt;/td&gt;
&lt;td&gt;0.000 seconds&lt;/td&gt;
&lt;td&gt;0.039 seconds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bytes on disk&lt;/td&gt;
&lt;td&gt;88&lt;/td&gt;
&lt;td&gt;70&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Complexity level&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;System calls&lt;/td&gt;
&lt;td&gt;37&lt;/td&gt;
&lt;td&gt;657&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;lines printed in 1 minute&lt;/td&gt;
&lt;td&gt;1471371&lt;/td&gt;
&lt;td&gt;18318&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;The numbers show that simplicity is more efficient.&lt;/p&gt;
</description>
 <comments>http://meinit.nl/aesthetics-shell-scripting#comments</comments>
 <category domain="http://meinit.nl/content/articles">Articles</category>
 <category domain="http://meinit.nl/writer-robert-de-bock">Robert de Bock</category>
 <pubDate>Mon, 02 Mar 2009 12:02:31 +0000</pubDate>
 <dc:creator>Robert de Bock</dc:creator>
 <guid isPermaLink="false">353 at http://meinit.nl</guid>
<feedburner:origLink>http://meinit.nl/aesthetics-shell-scripting</feedburner:origLink></item>
</channel>
</rss>
