<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://cocnm.computerisms.ca/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bob</id>
	<title>COCNM - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://cocnm.computerisms.ca/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bob"/>
	<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Special:Contributions/Bob"/>
	<updated>2026-11-14T11:43:09Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=511</id>
		<title>User Creation Script</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=511"/>
		<updated>2022-11-02T18:47:24Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
groupadd -g 600 maxproc&lt;br /&gt;
groupadd -g 500 qmail &lt;br /&gt;
groupadd -g 501 nofiles  &lt;br /&gt;
groupadd -g 509 vmail&lt;br /&gt;
groupadd -g 510 dovecot&lt;br /&gt;
groupadd -g 511 dovenull&lt;br /&gt;
groupadd -g 512 clamav&lt;br /&gt;
groupadd -g 513 simscan&lt;br /&gt;
groupadd -g 514 spamd&lt;br /&gt;
groupadd -g 520 asterisk&lt;br /&gt;
groupadd -g 521 phnmngr&lt;br /&gt;
groupadd -g 522 ups&lt;br /&gt;
groupadd -g 530 davical&lt;br /&gt;
groupadd -g 531 roundcube&lt;br /&gt;
groupadd -g 532 fetch&lt;br /&gt;
groupadd -g 533 rt&lt;br /&gt;
groupadd -g 534 ob&lt;br /&gt;
groupadd -g 535 wiki&lt;br /&gt;
groupadd -g 536 files&lt;br /&gt;
groupadd -g 537 ledger&lt;br /&gt;
groupadd -g 538 nagios&lt;br /&gt;
groupadd -g 539 pad&lt;br /&gt;
groupadd -g 540 haproxy&lt;br /&gt;
groupadd -g 541 mailconf&lt;br /&gt;
groupadd -g 542 time&lt;br /&gt;
groupadd -g 543 fa&lt;br /&gt;
groupadd -g 544 movies&lt;br /&gt;
groupadd -g 545 cap&lt;br /&gt;
groupadd -g 546 tables&lt;br /&gt;
groupadd -g 547 observer&lt;br /&gt;
groupadd -g 548 obplayer&lt;br /&gt;
groupadd -g 549 elasticsearch&lt;br /&gt;
groupadd -g 550 solr&lt;br /&gt;
&lt;br /&gt;
useradd -u 502 -g nofiles -d /var/qmail/alias alias &lt;br /&gt;
useradd -u 503 -g nofiles -d /var/qmail qmaild  &lt;br /&gt;
useradd -u 504 -g nofiles -d /var/qmail qmaill  &lt;br /&gt;
useradd -u 505 -g nofiles -d /var/qmail qmailp  &lt;br /&gt;
useradd -u 506 -g qmail -d /var/qmail qmailq &lt;br /&gt;
useradd -u 507 -g qmail -d /var/qmail qmailr  &lt;br /&gt;
useradd -u 508 -g qmail -d /var/qmail qmails &lt;br /&gt;
useradd -u 509 -g vmail -d /home/mail -r vmail&lt;br /&gt;
useradd -u 510 -g dovecot -r dovecot&lt;br /&gt;
useradd -u 511 -g dovenull -r dovenull&lt;br /&gt;
useradd -u 512 -g clamav -s /bin/false -d /tmp/clamav -G simscan clamav&lt;br /&gt;
useradd -u 513 -g simscan -r simscan&lt;br /&gt;
useradd -u 514 -g spamd -r -d /etc/mail/spamassassin spamd&lt;br /&gt;
useradd -u 515 -N -g nogroup -d /usr/local/home/razor -s /bin/sh -c razor-agent razor&lt;br /&gt;
useradd -u 521 -g phnmngr -d /IPPhones phnmngr&lt;br /&gt;
useradd -u 522 -g ups --no-create-home ups &lt;br /&gt;
useradd -u 520 -g asterisk --no-create-home -G phnmngr asterisk &lt;br /&gt;
useradd -u 530 -g davical -r davical&lt;br /&gt;
useradd -u 531 -g roundcube -r roundcube&lt;br /&gt;
useradd -u 532 -g fetch -r fetch&lt;br /&gt;
useradd -u 533 -g rt -r rt&lt;br /&gt;
useradd -u 534 -g ob -r ob&lt;br /&gt;
useradd -u 535 -g wiki -r wiki&lt;br /&gt;
useradd -u 536 -g files -r files&lt;br /&gt;
useradd -u 537 -g ledger -r ledger&lt;br /&gt;
useradd -u 538 -g nagios -r nagios -d /usr/local/nagios&lt;br /&gt;
useradd -u 539 -g pad -r pad&lt;br /&gt;
useradd -u 540 -g haproxy -r haproxy&lt;br /&gt;
useradd -u 541 -g mailconf -r mailconf&lt;br /&gt;
useradd -u 542 -g time -r time&lt;br /&gt;
useradd -u 543 -g fa -r fa&lt;br /&gt;
useradd -u 544 -g movies -r movies&lt;br /&gt;
useradd -u 545 -g cap -r cap&lt;br /&gt;
useradd -u 546 -g tables -r tables&lt;br /&gt;
useradd -u 547 -g observer -r observer&lt;br /&gt;
useradd -u 548 -g obplayer -r obplayer&lt;br /&gt;
useradd -u 549 -g elasticsearch -r elasticsearch&lt;br /&gt;
useradd -u 550 -g solr -m -d /usr/local/solr -r solr&lt;br /&gt;
useradd -u 551 -g dcc -m -d /usr/local/dcc dcc&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/local/home/razor&lt;br /&gt;
mkdir /home/mail&lt;br /&gt;
mkdir /home/data&lt;br /&gt;
mkdir /IPPhones&lt;br /&gt;
mkdir /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chown -R razor:nogroup /usr/local/home/razor&lt;br /&gt;
chown -R vmail:vmail /home/mail&lt;br /&gt;
chown -R asterisk:phnmngr /IPPhones/&lt;br /&gt;
chown -R files:files /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chmod -R 2770 /IPPhones/&lt;br /&gt;
chmod -R 2770 /home/webDAV&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=501</id>
		<title>User Creation Script</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=501"/>
		<updated>2022-11-01T16:17:35Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
groupadd -g 600 maxproc&lt;br /&gt;
groupadd -g 500 qmail &lt;br /&gt;
groupadd -g 501 nofiles  &lt;br /&gt;
groupadd -g 509 vmail&lt;br /&gt;
groupadd -g 510 dovecot&lt;br /&gt;
groupadd -g 511 dovenull&lt;br /&gt;
groupadd -g 512 clamav&lt;br /&gt;
groupadd -g 513 simscan&lt;br /&gt;
groupadd -g 514 spamd&lt;br /&gt;
groupadd -g 520 asterisk&lt;br /&gt;
groupadd -g 521 phnmngr&lt;br /&gt;
groupadd -g 522 ups&lt;br /&gt;
groupadd -g 530 davical&lt;br /&gt;
groupadd -g 531 roundcube&lt;br /&gt;
groupadd -g 532 fetch&lt;br /&gt;
groupadd -g 533 rt&lt;br /&gt;
groupadd -g 534 ob&lt;br /&gt;
groupadd -g 535 wiki&lt;br /&gt;
groupadd -g 536 files&lt;br /&gt;
groupadd -g 537 ledger&lt;br /&gt;
groupadd -g 538 nagios&lt;br /&gt;
groupadd -g 539 pad&lt;br /&gt;
groupadd -g 540 haproxy&lt;br /&gt;
groupadd -g 541 mailconf&lt;br /&gt;
groupadd -g 542 time&lt;br /&gt;
groupadd -g 543 fa&lt;br /&gt;
groupadd -g 544 movies&lt;br /&gt;
groupadd -g 545 cap&lt;br /&gt;
groupadd -g 546 tables&lt;br /&gt;
groupadd -g 547 observer&lt;br /&gt;
groupadd -g 548 obplayer&lt;br /&gt;
groupadd -g 549 elasticsearch&lt;br /&gt;
groupadd -g 550 solr&lt;br /&gt;
&lt;br /&gt;
useradd -u 502 -g nofiles -d /var/qmail/alias alias &lt;br /&gt;
useradd -u 503 -g nofiles -d /var/qmail qmaild  &lt;br /&gt;
useradd -u 504 -g nofiles -d /var/qmail qmaill  &lt;br /&gt;
useradd -u 505 -g nofiles -d /var/qmail qmailp  &lt;br /&gt;
useradd -u 506 -g qmail -d /var/qmail qmailq &lt;br /&gt;
useradd -u 507 -g qmail -d /var/qmail qmailr  &lt;br /&gt;
useradd -u 508 -g qmail -d /var/qmail qmails &lt;br /&gt;
useradd -u 509 -g vmail -d /home/mail -r vmail&lt;br /&gt;
useradd -u 510 -g dovecot -r dovecot&lt;br /&gt;
useradd -u 511 -g dovenull -r dovenull&lt;br /&gt;
useradd -u 512 -g clamav -s /bin/false -d /tmp/clamav -G simscan clamav&lt;br /&gt;
useradd -u 513 -g simscan -r simscan&lt;br /&gt;
useradd -u 514 -g spamd -r -d /etc/mail/spamassassin spamd&lt;br /&gt;
useradd -u 515 -N -g nogroup -d /usr/local/home/razor -s /bin/sh -c razor-agent razor&lt;br /&gt;
useradd -u 521 -g phnmngr -d /IPPhones phnmngr&lt;br /&gt;
useradd -u 522 -g ups --no-create-home ups &lt;br /&gt;
useradd -u 520 -g asterisk --no-create-home -G phnmngr asterisk &lt;br /&gt;
useradd -u 530 -g davical -r davical&lt;br /&gt;
useradd -u 531 -g roundcube -r roundcube&lt;br /&gt;
useradd -u 532 -g fetch -r fetch&lt;br /&gt;
useradd -u 533 -g rt -r rt&lt;br /&gt;
useradd -u 534 -g ob -r ob&lt;br /&gt;
useradd -u 535 -g wiki -r wiki&lt;br /&gt;
useradd -u 536 -g files -r files&lt;br /&gt;
useradd -u 537 -g ledger -r ledger&lt;br /&gt;
useradd -u 538 -g nagios -r nagios -d /usr/local/nagios&lt;br /&gt;
useradd -u 539 -g pad -r pad&lt;br /&gt;
useradd -u 540 -g haproxy -r haproxy&lt;br /&gt;
useradd -u 541 -g mailconf -r mailconf&lt;br /&gt;
useradd -u 542 -g time -r time&lt;br /&gt;
useradd -u 543 -g fa -r fa&lt;br /&gt;
useradd -u 544 -g movies -r movies&lt;br /&gt;
useradd -u 545 -g cap -r cap&lt;br /&gt;
useradd -u 546 -g tables -r tables&lt;br /&gt;
useradd -u 547 -g observer -r observer&lt;br /&gt;
useradd -u 548 -g obplayer -r obplayer&lt;br /&gt;
useradd -u 549 -g elasticsearch -r elasticsearch&lt;br /&gt;
useradd -u 550 -g solr -d /usr/local/solr -r solr&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/local/home/razor&lt;br /&gt;
mkdir /home/mail&lt;br /&gt;
mkdir /home/data&lt;br /&gt;
mkdir /IPPhones&lt;br /&gt;
mkdir /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chown -R razor:nogroup /usr/local/home/razor&lt;br /&gt;
chown -R vmail:vmail /home/mail&lt;br /&gt;
chown -R asterisk:phnmngr /IPPhones/&lt;br /&gt;
chown -R files:files /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chmod -R 2770 /IPPhones/&lt;br /&gt;
chmod -R 2770 /home/webDAV&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=491</id>
		<title>User Creation Script</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=491"/>
		<updated>2022-06-11T00:51:40Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
groupadd -g 600 maxproc&lt;br /&gt;
groupadd -g 500 qmail &lt;br /&gt;
groupadd -g 501 nofiles  &lt;br /&gt;
groupadd -g 509 vmail&lt;br /&gt;
groupadd -g 510 dovecot&lt;br /&gt;
groupadd -g 511 dovenull&lt;br /&gt;
groupadd -g 512 clamav&lt;br /&gt;
groupadd -g 513 simscan&lt;br /&gt;
groupadd -g 514 spamd&lt;br /&gt;
groupadd -g 520 asterisk&lt;br /&gt;
groupadd -g 521 phnmngr&lt;br /&gt;
groupadd -g 522 ups&lt;br /&gt;
groupadd -g 530 davical&lt;br /&gt;
groupadd -g 531 roundcube&lt;br /&gt;
groupadd -g 532 fetch&lt;br /&gt;
groupadd -g 533 rt&lt;br /&gt;
groupadd -g 534 ob&lt;br /&gt;
groupadd -g 535 wiki&lt;br /&gt;
groupadd -g 536 files&lt;br /&gt;
groupadd -g 537 ledger&lt;br /&gt;
groupadd -g 538 nagios&lt;br /&gt;
groupadd -g 539 pad&lt;br /&gt;
groupadd -g 540 haproxy&lt;br /&gt;
groupadd -g 541 mailconf&lt;br /&gt;
groupadd -g 542 time&lt;br /&gt;
groupadd -g 543 fa&lt;br /&gt;
groupadd -g 544 movies&lt;br /&gt;
groupadd -g 545 cap&lt;br /&gt;
groupadd -g 546 tables&lt;br /&gt;
groupadd -g 547 observer&lt;br /&gt;
groupadd -g 548 obplayer&lt;br /&gt;
groupadd -g 549 elasticsearch&lt;br /&gt;
&lt;br /&gt;
useradd -u 502 -g nofiles -d /var/qmail/alias alias &lt;br /&gt;
useradd -u 503 -g nofiles -d /var/qmail qmaild  &lt;br /&gt;
useradd -u 504 -g nofiles -d /var/qmail qmaill  &lt;br /&gt;
useradd -u 505 -g nofiles -d /var/qmail qmailp  &lt;br /&gt;
useradd -u 506 -g qmail -d /var/qmail qmailq &lt;br /&gt;
useradd -u 507 -g qmail -d /var/qmail qmailr  &lt;br /&gt;
useradd -u 508 -g qmail -d /var/qmail qmails &lt;br /&gt;
useradd -u 509 -g vmail -d /home/mail -r vmail&lt;br /&gt;
useradd -u 510 -g dovecot -r dovecot&lt;br /&gt;
useradd -u 511 -g dovenull -r dovenull&lt;br /&gt;
useradd -u 512 -g clamav -s /bin/false -d /tmp/clamav -G simscan clamav&lt;br /&gt;
useradd -u 513 -g simscan -r simscan&lt;br /&gt;
useradd -u 514 -g spamd -r -d /etc/mail/spamassassin spamd&lt;br /&gt;
useradd -u 515 -N -g nogroup -d /usr/local/home/razor -s /bin/sh -c razor-agent razor&lt;br /&gt;
useradd -u 521 -g phnmngr -d /IPPhones phnmngr&lt;br /&gt;
useradd -u 522 -g ups --no-create-home ups &lt;br /&gt;
useradd -u 520 -g asterisk --no-create-home -G phnmngr asterisk &lt;br /&gt;
useradd -u 530 -g davical -r davical&lt;br /&gt;
useradd -u 531 -g roundcube -r roundcube&lt;br /&gt;
useradd -u 532 -g fetch -r fetch&lt;br /&gt;
useradd -u 533 -g rt -r rt&lt;br /&gt;
useradd -u 534 -g ob -r ob&lt;br /&gt;
useradd -u 535 -g wiki -r wiki&lt;br /&gt;
useradd -u 536 -g files -r files&lt;br /&gt;
useradd -u 537 -g ledger -r ledger&lt;br /&gt;
useradd -u 538 -g nagios -r nagios -d /usr/local/nagios&lt;br /&gt;
useradd -u 539 -g pad -r pad&lt;br /&gt;
useradd -u 540 -g haproxy -r haproxy&lt;br /&gt;
useradd -u 541 -g mailconf -r mailconf&lt;br /&gt;
useradd -u 542 -g time -r time&lt;br /&gt;
useradd -u 543 -g fa -r fa&lt;br /&gt;
useradd -u 544 -g movies -r movies&lt;br /&gt;
useradd -u 545 -g cap -r cap&lt;br /&gt;
useradd -u 546 -g tables -r tables&lt;br /&gt;
useradd -u 547 -g observer -r observer&lt;br /&gt;
useradd -u 548 -g obplayer -r obplayer&lt;br /&gt;
useradd -u 549 -g elasticsearch -r elasticsearch&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/local/home/razor&lt;br /&gt;
mkdir /home/mail&lt;br /&gt;
mkdir /home/data&lt;br /&gt;
mkdir /IPPhones&lt;br /&gt;
mkdir /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chown -R razor:nogroup /usr/local/home/razor&lt;br /&gt;
chown -R vmail:vmail /home/mail&lt;br /&gt;
chown -R asterisk:phnmngr /IPPhones/&lt;br /&gt;
chown -R files:files /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chmod -R 2770 /IPPhones/&lt;br /&gt;
chmod -R 2770 /home/webDAV&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=481</id>
		<title>User Creation Script</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=481"/>
		<updated>2021-03-25T19:23:57Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
groupadd -g 600 maxproc&lt;br /&gt;
groupadd -g 500 qmail &lt;br /&gt;
groupadd -g 501 nofiles  &lt;br /&gt;
groupadd -g 509 vmail&lt;br /&gt;
groupadd -g 510 dovecot&lt;br /&gt;
groupadd -g 511 dovenull&lt;br /&gt;
groupadd -g 512 clamav&lt;br /&gt;
groupadd -g 513 simscan&lt;br /&gt;
groupadd -g 514 spamd&lt;br /&gt;
groupadd -g 520 asterisk&lt;br /&gt;
groupadd -g 521 phnmngr&lt;br /&gt;
groupadd -g 522 ups&lt;br /&gt;
groupadd -g 530 davical&lt;br /&gt;
groupadd -g 531 roundcube&lt;br /&gt;
groupadd -g 532 fetch&lt;br /&gt;
groupadd -g 533 rt&lt;br /&gt;
groupadd -g 534 ob&lt;br /&gt;
groupadd -g 535 wiki&lt;br /&gt;
groupadd -g 536 files&lt;br /&gt;
groupadd -g 537 ledger&lt;br /&gt;
groupadd -g 538 nagios&lt;br /&gt;
groupadd -g 539 pad&lt;br /&gt;
groupadd -g 540 haproxy&lt;br /&gt;
groupadd -g 541 mailconf&lt;br /&gt;
groupadd -g 542 time&lt;br /&gt;
groupadd -g 543 fa&lt;br /&gt;
groupadd -g 544 movies&lt;br /&gt;
groupadd -g 545 cap&lt;br /&gt;
groupadd -g 546 tables&lt;br /&gt;
groupadd -g 547 observer&lt;br /&gt;
groupadd -g 548 obplayer&lt;br /&gt;
&lt;br /&gt;
useradd -u 502 -g nofiles -d /var/qmail/alias alias &lt;br /&gt;
useradd -u 503 -g nofiles -d /var/qmail qmaild  &lt;br /&gt;
useradd -u 504 -g nofiles -d /var/qmail qmaill  &lt;br /&gt;
useradd -u 505 -g nofiles -d /var/qmail qmailp  &lt;br /&gt;
useradd -u 506 -g qmail -d /var/qmail qmailq &lt;br /&gt;
useradd -u 507 -g qmail -d /var/qmail qmailr  &lt;br /&gt;
useradd -u 508 -g qmail -d /var/qmail qmails &lt;br /&gt;
useradd -u 509 -g vmail -d /home/mail -r vmail&lt;br /&gt;
useradd -u 510 -g dovecot -r dovecot&lt;br /&gt;
useradd -u 511 -g dovenull -r dovenull&lt;br /&gt;
useradd -u 512 -g clamav -s /bin/false -d /tmp/clamav -G simscan clamav&lt;br /&gt;
useradd -u 513 -g simscan -r simscan&lt;br /&gt;
useradd -u 514 -g spamd -r -d /etc/mail/spamassassin spamd&lt;br /&gt;
useradd -u 515 -N -g nogroup -d /usr/local/home/razor -s /bin/sh -c razor-agent razor&lt;br /&gt;
useradd -u 521 -g phnmngr -d /IPPhones phnmngr&lt;br /&gt;
useradd -u 522 -g ups --no-create-home ups &lt;br /&gt;
useradd -u 520 -g asterisk --no-create-home -G phnmngr asterisk &lt;br /&gt;
useradd -u 530 -g davical -r davical&lt;br /&gt;
useradd -u 531 -g roundcube -r roundcube&lt;br /&gt;
useradd -u 532 -g fetch -r fetch&lt;br /&gt;
useradd -u 533 -g rt -r rt&lt;br /&gt;
useradd -u 534 -g ob -r ob&lt;br /&gt;
useradd -u 535 -g wiki -r wiki&lt;br /&gt;
useradd -u 536 -g files -r files&lt;br /&gt;
useradd -u 537 -g ledger -r ledger&lt;br /&gt;
useradd -u 538 -g nagios -r nagios -d /usr/local/nagios&lt;br /&gt;
useradd -u 539 -g pad -r pad&lt;br /&gt;
useradd -u 540 -g haproxy -r haproxy&lt;br /&gt;
useradd -u 541 -g mailconf -r mailconf&lt;br /&gt;
useradd -u 542 -g time -r time&lt;br /&gt;
useradd -u 543 -g fa -r fa&lt;br /&gt;
useradd -u 544 -g movies -r movies&lt;br /&gt;
useradd -u 545 -g cap -r cap&lt;br /&gt;
useradd -u 546 -g tables -r tables&lt;br /&gt;
useradd -u 547 -g observer -r observer&lt;br /&gt;
useradd -u 548 -g obplayer -r obplayer&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/local/home/razor&lt;br /&gt;
mkdir /home/mail&lt;br /&gt;
mkdir /home/data&lt;br /&gt;
mkdir /IPPhones&lt;br /&gt;
mkdir /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chown -R razor:nogroup /usr/local/home/razor&lt;br /&gt;
chown -R vmail:vmail /home/mail&lt;br /&gt;
chown -R asterisk:phnmngr /IPPhones/&lt;br /&gt;
chown -R files:files /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chmod -R 2770 /IPPhones/&lt;br /&gt;
chmod -R 2770 /home/webDAV&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=471</id>
		<title>User Creation Script</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=471"/>
		<updated>2021-03-25T19:23:23Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
groupadd -g 600 maxproc&lt;br /&gt;
groupadd -g 500 qmail &lt;br /&gt;
groupadd -g 501 nofiles  &lt;br /&gt;
groupadd -g 509 vmail&lt;br /&gt;
groupadd -g 510 dovecot&lt;br /&gt;
groupadd -g 511 dovenull&lt;br /&gt;
groupadd -g 512 clamav&lt;br /&gt;
groupadd -g 513 simscan&lt;br /&gt;
groupadd -g 514 spamd&lt;br /&gt;
groupadd -g 520 asterisk&lt;br /&gt;
groupadd -g 521 phnmngr&lt;br /&gt;
groupadd -g 522 ups&lt;br /&gt;
groupadd -g 530 davical&lt;br /&gt;
groupadd -g 531 roundcube&lt;br /&gt;
groupadd -g 532 fetch&lt;br /&gt;
groupadd -g 533 rt&lt;br /&gt;
groupadd -g 534 ob&lt;br /&gt;
groupadd -g 535 wiki&lt;br /&gt;
groupadd -g 536 files&lt;br /&gt;
groupadd -g 537 ledger&lt;br /&gt;
groupadd -g 538 nagios&lt;br /&gt;
groupadd -g 539 pad&lt;br /&gt;
groupadd -g 540 haproxy&lt;br /&gt;
groupadd -g 541 mailconf&lt;br /&gt;
groupadd -g 542 time&lt;br /&gt;
groupadd -g 543 fa&lt;br /&gt;
groupadd -g 544 movies&lt;br /&gt;
groupadd -g 545 cap&lt;br /&gt;
groupadd -g 546 tables&lt;br /&gt;
groupadd -g 547 observer&lt;br /&gt;
groupadd -g 548 obplayer&lt;br /&gt;
&lt;br /&gt;
useradd -u 502 -g nofiles -d /var/qmail/alias alias &lt;br /&gt;
useradd -u 503 -g nofiles -d /var/qmail qmaild  &lt;br /&gt;
useradd -u 504 -g nofiles -d /var/qmail qmaill  &lt;br /&gt;
useradd -u 505 -g nofiles -d /var/qmail qmailp  &lt;br /&gt;
useradd -u 506 -g qmail -d /var/qmail qmailq &lt;br /&gt;
useradd -u 507 -g qmail -d /var/qmail qmailr  &lt;br /&gt;
useradd -u 508 -g qmail -d /var/qmail qmails &lt;br /&gt;
useradd -u 509 -g vmail -d /home/mail -r vmail&lt;br /&gt;
useradd -u 510 -g dovecot -r dovecot&lt;br /&gt;
useradd -u 511 -g dovenull -r dovenull&lt;br /&gt;
useradd -u 512 -g clamav -s /bin/false -d /tmp/clamav -G simscan clamav&lt;br /&gt;
useradd -u 513 -g simscan -r simscan&lt;br /&gt;
useradd -u 514 -g spamd -r -d /etc/mail/spamassassin spamd&lt;br /&gt;
useradd -u 515 -N -g nogroup -d /usr/local/home/razor -s /bin/sh -c razor-agent razor&lt;br /&gt;
useradd -u 521 -g phnmngr -d /IPPhones phnmngr&lt;br /&gt;
useradd -u 522 -g ups --no-create-home ups &lt;br /&gt;
useradd -u 520 -g asterisk --no-create-home -G phnmngr asterisk &lt;br /&gt;
useradd -u 530 -g davical -r davical&lt;br /&gt;
useradd -u 531 -g roundcube -r roundcube&lt;br /&gt;
useradd -u 532 -g fetch -r fetch&lt;br /&gt;
useradd -u 533 -g rt -r rt&lt;br /&gt;
useradd -u 534 -g ob -r ob&lt;br /&gt;
useradd -u 535 -g wiki -r wiki&lt;br /&gt;
useradd -u 536 -g files -r files&lt;br /&gt;
useradd -u 537 -g ledger -r ledger&lt;br /&gt;
useradd -u 538 -g nagios -r nagios -d /usr/local/nagios&lt;br /&gt;
useradd -u 539 -g pad -r pad&lt;br /&gt;
useradd -u 540 -g haproxy -r haproxy&lt;br /&gt;
useradd -u 541 -g mailconf -r mailconf&lt;br /&gt;
useradd -u 542 -g time -r time&lt;br /&gt;
useradd -u 543 -g fa -r fa&lt;br /&gt;
useradd -u 544 -g movies -r movies&lt;br /&gt;
useradd -u 545 -g cap -r cap&lt;br /&gt;
useradd -u 546 -g tables -r tables&lt;br /&gt;
useradd -u 546 -g observer -r observer&lt;br /&gt;
useradd -u 546 -g obplayer -r obplayer&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/local/home/razor&lt;br /&gt;
mkdir /home/mail&lt;br /&gt;
mkdir /home/data&lt;br /&gt;
mkdir /IPPhones&lt;br /&gt;
mkdir /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chown -R razor:nogroup /usr/local/home/razor&lt;br /&gt;
chown -R vmail:vmail /home/mail&lt;br /&gt;
chown -R asterisk:phnmngr /IPPhones/&lt;br /&gt;
chown -R files:files /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chmod -R 2770 /IPPhones/&lt;br /&gt;
chmod -R 2770 /home/webDAV&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=461</id>
		<title>User Creation Script</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=461"/>
		<updated>2021-03-24T19:28:39Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
groupadd -g 600 maxproc&lt;br /&gt;
groupadd -g 500 qmail &lt;br /&gt;
groupadd -g 501 nofiles  &lt;br /&gt;
groupadd -g 509 vmail&lt;br /&gt;
groupadd -g 510 dovecot&lt;br /&gt;
groupadd -g 511 dovenull&lt;br /&gt;
groupadd -g 512 clamav&lt;br /&gt;
groupadd -g 513 simscan&lt;br /&gt;
groupadd -g 514 spamd&lt;br /&gt;
groupadd -g 520 asterisk&lt;br /&gt;
groupadd -g 521 phnmngr&lt;br /&gt;
groupadd -g 522 ups&lt;br /&gt;
groupadd -g 530 davical&lt;br /&gt;
groupadd -g 531 roundcube&lt;br /&gt;
groupadd -g 532 fetch&lt;br /&gt;
groupadd -g 533 rt&lt;br /&gt;
groupadd -g 534 ob&lt;br /&gt;
groupadd -g 535 wiki&lt;br /&gt;
groupadd -g 536 files&lt;br /&gt;
groupadd -g 537 ledger&lt;br /&gt;
groupadd -g 538 nagios&lt;br /&gt;
groupadd -g 539 pad&lt;br /&gt;
groupadd -g 540 haproxy&lt;br /&gt;
groupadd -g 541 mailconf&lt;br /&gt;
groupadd -g 542 time&lt;br /&gt;
groupadd -g 543 fa&lt;br /&gt;
groupadd -g 544 movies&lt;br /&gt;
groupadd -g 545 cap&lt;br /&gt;
groupadd -g 546 tables&lt;br /&gt;
groupadd -g 547 observer&lt;br /&gt;
groupadd -g 548 obplayer&lt;br /&gt;
&lt;br /&gt;
useradd -u 502 -g nofiles -d /var/qmail/alias alias &lt;br /&gt;
useradd -u 503 -g nofiles -d /var/qmail qmaild  &lt;br /&gt;
useradd -u 504 -g nofiles -d /var/qmail qmaill  &lt;br /&gt;
useradd -u 505 -g nofiles -d /var/qmail qmailp  &lt;br /&gt;
useradd -u 506 -g qmail -d /var/qmail qmailq &lt;br /&gt;
useradd -u 507 -g qmail -d /var/qmail qmailr  &lt;br /&gt;
useradd -u 508 -g qmail -d /var/qmail qmails &lt;br /&gt;
useradd -u 509 -g vmail -d /home/mail -r vmail&lt;br /&gt;
useradd -u 510 -g dovecot -r dovecot&lt;br /&gt;
useradd -u 511 -g dovenull -r dovenull&lt;br /&gt;
useradd -u 512 -g clamav -s /bin/false -d /tmp/clamav -G simscan clamav&lt;br /&gt;
useradd -u 513 -g simscan -r simscan&lt;br /&gt;
useradd -u 514 -g spamd -r -d /etc/mail/spamassassin spamd&lt;br /&gt;
useradd -u 515 -N -g nogroup -d /usr/local/home/razor -s /bin/sh -c razor-agent razor&lt;br /&gt;
useradd -u 521 -g phnmngr -d /IPPhones phnmngr&lt;br /&gt;
useradd -u 522 -g ups --no-create-home ups &lt;br /&gt;
useradd -u 520 -g asterisk --no-create-home -G phnmngr asterisk &lt;br /&gt;
useradd -u 530 -g davical -r davical&lt;br /&gt;
useradd -u 531 -g roundcube -r roundcube&lt;br /&gt;
useradd -u 532 -g fetch -r fetch&lt;br /&gt;
useradd -u 533 -g rt -r rt&lt;br /&gt;
useradd -u 534 -g ob -r ob&lt;br /&gt;
useradd -u 535 -g wiki -r wiki&lt;br /&gt;
useradd -u 536 -g files -r files&lt;br /&gt;
useradd -u 537 -g ledger -r ledger&lt;br /&gt;
useradd -u 538 -g nagios -r nagios -d /usr/local/nagios&lt;br /&gt;
useradd -u 539 -g pad -r pad&lt;br /&gt;
useradd -u 540 -g haproxy -r haproxy&lt;br /&gt;
useradd -u 541 -g mailconf -r mailconf&lt;br /&gt;
useradd -u 542 -g time -r time&lt;br /&gt;
useradd -u 543 -g fa -r fa&lt;br /&gt;
useradd -u 544 -g movies -r movies&lt;br /&gt;
useradd -u 545 -g cap -r cap&lt;br /&gt;
useradd -u 546 -g tables -r tables&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/local/home/razor&lt;br /&gt;
mkdir /home/mail&lt;br /&gt;
mkdir /home/data&lt;br /&gt;
mkdir /IPPhones&lt;br /&gt;
mkdir /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chown -R razor:nogroup /usr/local/home/razor&lt;br /&gt;
chown -R vmail:vmail /home/mail&lt;br /&gt;
chown -R asterisk:phnmngr /IPPhones/&lt;br /&gt;
chown -R files:files /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chmod -R 2770 /IPPhones/&lt;br /&gt;
chmod -R 2770 /home/webDAV&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Set_up_Basic_Firewall_Functions&amp;diff=460</id>
		<title>Set up Basic Firewall Functions</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Set_up_Basic_Firewall_Functions&amp;diff=460"/>
		<updated>2019-05-07T03:02:20Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Multiple Network Interfaces on Debian */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;b&amp;gt;TODO: change this to not use ifrename and use udev instead&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==System Prep==&lt;br /&gt;
*apt-get remove nfs-common rpcbind&lt;br /&gt;
*apt-get install ifrename&lt;br /&gt;
&lt;br /&gt;
==Multiple Network Interfaces on Debian==&lt;br /&gt;
*&amp;lt;b&amp;gt;BIG FAT NOTE: Do not use ifrename on current debian, use udev instead&amp;lt;/b&amp;gt;&lt;br /&gt;
**SUBSYSTEM==&amp;quot;net&amp;quot;, ACTION==&amp;quot;add&amp;quot;, DRIVERS==&amp;quot;?*&amp;quot;, ATTR{address}==&amp;quot;00:a0:c9:2e:fe:db&amp;quot;, ATTR{dev_id}==&amp;quot;0x0&amp;quot;, ATTR{type}==&amp;quot;1&amp;quot;, KERNEL==&amp;quot;eth*&amp;quot;, NAME=&amp;quot;eth2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*for i in eth0 eth1 eth2; do ADD=$(ifconfig $i | head -1 | cut -f 11 -d &amp;quot; &amp;quot;); echo &amp;quot;$i mac $ADD&amp;quot; &amp;gt;&amp;gt; /etc/iftab; done&lt;br /&gt;
*&amp;gt; /etc/network/interfaces; vi [[/etc/network/interfaces]]&lt;br /&gt;
&lt;br /&gt;
==Configure Packet Forwarding / Basic IPTables Rules Set / Network Startup Script==&lt;br /&gt;
*sed -i &#039;s/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/&#039; /etc/sysctl.conf&lt;br /&gt;
*sysctl -p&lt;br /&gt;
*mkdir /root/scripts&lt;br /&gt;
*vi [[/root/scripts/iptables-restore]]&lt;br /&gt;
*iptables-restore &amp;lt; /root/scripts/iptables-restore&lt;br /&gt;
*vi [[/root/scripts/netup.sh]]&lt;br /&gt;
*vi [[/root/scripts/netdown.sh]]&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=459</id>
		<title>User Creation Script</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=459"/>
		<updated>2018-09-25T19:18:14Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
groupadd -g 600 maxproc&lt;br /&gt;
groupadd -g 500 qmail &lt;br /&gt;
groupadd -g 501 nofiles  &lt;br /&gt;
groupadd -g 509 vmail&lt;br /&gt;
groupadd -g 510 dovecot&lt;br /&gt;
groupadd -g 511 dovenull&lt;br /&gt;
groupadd -g 512 clamav&lt;br /&gt;
groupadd -g 513 simscan&lt;br /&gt;
groupadd -g 514 spamd&lt;br /&gt;
groupadd -g 520 asterisk&lt;br /&gt;
groupadd -g 521 phnmngr&lt;br /&gt;
groupadd -g 522 ups&lt;br /&gt;
groupadd -g 530 davical&lt;br /&gt;
groupadd -g 531 roundcube&lt;br /&gt;
groupadd -g 532 fetch&lt;br /&gt;
groupadd -g 533 rt&lt;br /&gt;
groupadd -g 534 ob&lt;br /&gt;
groupadd -g 535 wiki&lt;br /&gt;
groupadd -g 536 files&lt;br /&gt;
groupadd -g 537 ledger&lt;br /&gt;
groupadd -g 538 nagios&lt;br /&gt;
groupadd -g 539 pad&lt;br /&gt;
groupadd -g 540 haproxy&lt;br /&gt;
groupadd -g 541 mailconf&lt;br /&gt;
groupadd -g 542 time&lt;br /&gt;
groupadd -g 543 fa&lt;br /&gt;
groupadd -g 544 movies&lt;br /&gt;
groupadd -g 545 cap&lt;br /&gt;
groupadd -g 546 tables&lt;br /&gt;
&lt;br /&gt;
useradd -u 502 -g nofiles -d /var/qmail/alias alias &lt;br /&gt;
useradd -u 503 -g nofiles -d /var/qmail qmaild  &lt;br /&gt;
useradd -u 504 -g nofiles -d /var/qmail qmaill  &lt;br /&gt;
useradd -u 505 -g nofiles -d /var/qmail qmailp  &lt;br /&gt;
useradd -u 506 -g qmail -d /var/qmail qmailq &lt;br /&gt;
useradd -u 507 -g qmail -d /var/qmail qmailr  &lt;br /&gt;
useradd -u 508 -g qmail -d /var/qmail qmails &lt;br /&gt;
useradd -u 509 -g vmail -d /home/mail -r vmail&lt;br /&gt;
useradd -u 510 -g dovecot -r dovecot&lt;br /&gt;
useradd -u 511 -g dovenull -r dovenull&lt;br /&gt;
useradd -u 512 -g clamav -s /bin/false -d /tmp/clamav -G simscan clamav&lt;br /&gt;
useradd -u 513 -g simscan -r simscan&lt;br /&gt;
useradd -u 514 -g spamd -r -d /etc/mail/spamassassin spamd&lt;br /&gt;
useradd -u 515 -N -g nogroup -d /usr/local/home/razor -s /bin/sh -c razor-agent razor&lt;br /&gt;
useradd -u 521 -g phnmngr -d /IPPhones phnmngr&lt;br /&gt;
useradd -u 522 -g ups --no-create-home ups &lt;br /&gt;
useradd -u 520 -g asterisk --no-create-home -G phnmngr asterisk &lt;br /&gt;
useradd -u 530 -g davical -r davical&lt;br /&gt;
useradd -u 531 -g roundcube -r roundcube&lt;br /&gt;
useradd -u 532 -g fetch -r fetch&lt;br /&gt;
useradd -u 533 -g rt -r rt&lt;br /&gt;
useradd -u 534 -g ob -r ob&lt;br /&gt;
useradd -u 535 -g wiki -r wiki&lt;br /&gt;
useradd -u 536 -g files -r files&lt;br /&gt;
useradd -u 537 -g ledger -r ledger&lt;br /&gt;
useradd -u 538 -g nagios -r nagios -d /usr/local/nagios&lt;br /&gt;
useradd -u 539 -g pad -r pad&lt;br /&gt;
useradd -u 540 -g haproxy -r haproxy&lt;br /&gt;
useradd -u 541 -g mailconf -r mailconf&lt;br /&gt;
useradd -u 542 -g time -r time&lt;br /&gt;
useradd -u 543 -g fa -r fa&lt;br /&gt;
useradd -u 544 -g movies -r movies&lt;br /&gt;
useradd -u 545 -g cap -r cap&lt;br /&gt;
useradd -u 546 -g tables -r tables&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/local/home/razor&lt;br /&gt;
mkdir /home/mail&lt;br /&gt;
mkdir /home/data&lt;br /&gt;
mkdir /IPPhones&lt;br /&gt;
mkdir /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chown -R razor:nogroup /usr/local/home/razor&lt;br /&gt;
chown -R vmail:vmail /home/mail&lt;br /&gt;
chown -R asterisk:phnmngr /IPPhones/&lt;br /&gt;
chown -R files:files /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chmod -R 2770 /IPPhones/&lt;br /&gt;
chmod -R 2770 /home/webDAV&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=458</id>
		<title>User Creation Script</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=458"/>
		<updated>2018-06-26T21:40:21Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
groupadd -g 600 maxproc&lt;br /&gt;
groupadd -g 500 qmail &lt;br /&gt;
groupadd -g 501 nofiles  &lt;br /&gt;
groupadd -g 509 vmail&lt;br /&gt;
groupadd -g 510 dovecot&lt;br /&gt;
groupadd -g 511 dovenull&lt;br /&gt;
groupadd -g 512 clamav&lt;br /&gt;
groupadd -g 513 simscan&lt;br /&gt;
groupadd -g 514 spamd&lt;br /&gt;
groupadd -g 520 asterisk&lt;br /&gt;
groupadd -g 521 phnmngr&lt;br /&gt;
groupadd -g 522 ups&lt;br /&gt;
groupadd -g 530 davical&lt;br /&gt;
groupadd -g 531 roundcube&lt;br /&gt;
groupadd -g 532 fetch&lt;br /&gt;
groupadd -g 533 rt&lt;br /&gt;
groupadd -g 534 ob&lt;br /&gt;
groupadd -g 535 wiki&lt;br /&gt;
groupadd -g 536 files&lt;br /&gt;
groupadd -g 537 ledger&lt;br /&gt;
groupadd -g 538 nagios&lt;br /&gt;
groupadd -g 539 pad&lt;br /&gt;
groupadd -g 540 haproxy&lt;br /&gt;
groupadd -g 541 mailconf&lt;br /&gt;
groupadd -g 542 time&lt;br /&gt;
groupadd -g 543 fa&lt;br /&gt;
groupadd -g 544 movies&lt;br /&gt;
groupadd -g 545 cap&lt;br /&gt;
&lt;br /&gt;
useradd -u 502 -g nofiles -d /var/qmail/alias alias &lt;br /&gt;
useradd -u 503 -g nofiles -d /var/qmail qmaild  &lt;br /&gt;
useradd -u 504 -g nofiles -d /var/qmail qmaill  &lt;br /&gt;
useradd -u 505 -g nofiles -d /var/qmail qmailp  &lt;br /&gt;
useradd -u 506 -g qmail -d /var/qmail qmailq &lt;br /&gt;
useradd -u 507 -g qmail -d /var/qmail qmailr  &lt;br /&gt;
useradd -u 508 -g qmail -d /var/qmail qmails &lt;br /&gt;
useradd -u 509 -g vmail -d /home/mail -r vmail&lt;br /&gt;
useradd -u 510 -g dovecot -r dovecot&lt;br /&gt;
useradd -u 511 -g dovenull -r dovenull&lt;br /&gt;
useradd -u 512 -g clamav -s /bin/false -d /tmp/clamav -G simscan clamav&lt;br /&gt;
useradd -u 513 -g simscan -r simscan&lt;br /&gt;
useradd -u 514 -g spamd -r -d /etc/mail/spamassassin spamd&lt;br /&gt;
useradd -u 515 -N -g nogroup -d /usr/local/home/razor -s /bin/sh -c razor-agent razor&lt;br /&gt;
useradd -u 521 -g phnmngr -d /IPPhones phnmngr&lt;br /&gt;
useradd -u 522 -g ups --no-create-home ups &lt;br /&gt;
useradd -u 520 -g asterisk --no-create-home -G phnmngr asterisk &lt;br /&gt;
useradd -u 530 -g davical -r davical&lt;br /&gt;
useradd -u 531 -g roundcube -r roundcube&lt;br /&gt;
useradd -u 532 -g fetch -r fetch&lt;br /&gt;
useradd -u 533 -g rt -r rt&lt;br /&gt;
useradd -u 534 -g ob -r ob&lt;br /&gt;
useradd -u 535 -g wiki -r wiki&lt;br /&gt;
useradd -u 536 -g files -r files&lt;br /&gt;
useradd -u 537 -g ledger -r ledger&lt;br /&gt;
useradd -u 538 -g nagios -r nagios -d /usr/local/nagios&lt;br /&gt;
useradd -u 539 -g pad -r pad&lt;br /&gt;
useradd -u 540 -g haproxy -r haproxy&lt;br /&gt;
useradd -u 541 -g mailconf -r mailconf&lt;br /&gt;
useradd -u 542 -g time -r time&lt;br /&gt;
useradd -u 543 -g fa -r fa&lt;br /&gt;
useradd -u 544 -g movies -r movies&lt;br /&gt;
useradd -u 545 -g cap -r cap&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/local/home/razor&lt;br /&gt;
mkdir /home/mail&lt;br /&gt;
mkdir /home/data&lt;br /&gt;
mkdir /IPPhones&lt;br /&gt;
mkdir /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chown -R razor:nogroup /usr/local/home/razor&lt;br /&gt;
chown -R vmail:vmail /home/mail&lt;br /&gt;
chown -R asterisk:phnmngr /IPPhones/&lt;br /&gt;
chown -R files:files /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chmod -R 2770 /IPPhones/&lt;br /&gt;
chmod -R 2770 /home/webDAV&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=457</id>
		<title>User Creation Script</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=457"/>
		<updated>2018-06-20T01:45:23Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
groupadd -g 500 qmail &lt;br /&gt;
groupadd -g 501 nofiles  &lt;br /&gt;
groupadd -g 509 vmail&lt;br /&gt;
groupadd -g 510 dovecot&lt;br /&gt;
groupadd -g 511 dovenull&lt;br /&gt;
groupadd -g 512 clamav&lt;br /&gt;
groupadd -g 513 simscan&lt;br /&gt;
groupadd -g 514 spamd&lt;br /&gt;
groupadd -g 520 asterisk&lt;br /&gt;
groupadd -g 521 phnmngr&lt;br /&gt;
groupadd -g 522 ups&lt;br /&gt;
groupadd -g 530 davical&lt;br /&gt;
groupadd -g 531 roundcube&lt;br /&gt;
groupadd -g 532 fetch&lt;br /&gt;
groupadd -g 533 rt&lt;br /&gt;
groupadd -g 534 ob&lt;br /&gt;
groupadd -g 535 wiki&lt;br /&gt;
groupadd -g 536 files&lt;br /&gt;
groupadd -g 537 ledger&lt;br /&gt;
groupadd -g 538 nagios&lt;br /&gt;
groupadd -g 539 pad&lt;br /&gt;
groupadd -g 540 haproxy&lt;br /&gt;
groupadd -g 541 mailconf&lt;br /&gt;
groupadd -g 542 time&lt;br /&gt;
groupadd -g 543 fa&lt;br /&gt;
groupadd -g 544 movies&lt;br /&gt;
groupadd -g 545 cap&lt;br /&gt;
&lt;br /&gt;
useradd -u 502 -g nofiles -d /var/qmail/alias alias &lt;br /&gt;
useradd -u 503 -g nofiles -d /var/qmail qmaild  &lt;br /&gt;
useradd -u 504 -g nofiles -d /var/qmail qmaill  &lt;br /&gt;
useradd -u 505 -g nofiles -d /var/qmail qmailp  &lt;br /&gt;
useradd -u 506 -g qmail -d /var/qmail qmailq &lt;br /&gt;
useradd -u 507 -g qmail -d /var/qmail qmailr  &lt;br /&gt;
useradd -u 508 -g qmail -d /var/qmail qmails &lt;br /&gt;
useradd -u 509 -g vmail -d /home/mail -r vmail&lt;br /&gt;
useradd -u 510 -g dovecot -r dovecot&lt;br /&gt;
useradd -u 511 -g dovenull -r dovenull&lt;br /&gt;
useradd -u 512 -g clamav -s /bin/false -d /tmp/clamav -G simscan clamav&lt;br /&gt;
useradd -u 513 -g simscan -r simscan&lt;br /&gt;
useradd -u 514 -g spamd -r -d /etc/mail/spamassassin spamd&lt;br /&gt;
useradd -u 515 -N -g nogroup -d /usr/local/home/razor -s /bin/sh -c razor-agent razor&lt;br /&gt;
useradd -u 521 -g phnmngr -d /IPPhones phnmngr&lt;br /&gt;
useradd -u 522 -g ups --no-create-home ups &lt;br /&gt;
useradd -u 520 -g asterisk --no-create-home -G phnmngr asterisk &lt;br /&gt;
useradd -u 530 -g davical -r davical&lt;br /&gt;
useradd -u 531 -g roundcube -r roundcube&lt;br /&gt;
useradd -u 532 -g fetch -r fetch&lt;br /&gt;
useradd -u 533 -g rt -r rt&lt;br /&gt;
useradd -u 534 -g ob -r ob&lt;br /&gt;
useradd -u 535 -g wiki -r wiki&lt;br /&gt;
useradd -u 536 -g files -r files&lt;br /&gt;
useradd -u 537 -g ledger -r ledger&lt;br /&gt;
useradd -u 538 -g nagios -r nagios -d /usr/local/nagios&lt;br /&gt;
useradd -u 539 -g pad -r pad&lt;br /&gt;
useradd -u 540 -g haproxy -r haproxy&lt;br /&gt;
useradd -u 541 -g mailconf -r mailconf&lt;br /&gt;
useradd -u 542 -g time -r time&lt;br /&gt;
useradd -u 543 -g fa -r fa&lt;br /&gt;
useradd -u 544 -g movies -r movies&lt;br /&gt;
useradd -u 545 -g cap -r cap&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/local/home/razor&lt;br /&gt;
mkdir /home/mail&lt;br /&gt;
mkdir /home/data&lt;br /&gt;
mkdir /IPPhones&lt;br /&gt;
mkdir /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chown -R razor:nogroup /usr/local/home/razor&lt;br /&gt;
chown -R vmail:vmail /home/mail&lt;br /&gt;
chown -R asterisk:phnmngr /IPPhones/&lt;br /&gt;
chown -R files:files /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chmod -R 2770 /IPPhones/&lt;br /&gt;
chmod -R 2770 /home/webDAV&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=456</id>
		<title>User Creation Script</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=456"/>
		<updated>2018-04-26T06:00:45Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
groupadd -g 500 qmail &lt;br /&gt;
groupadd -g 501 nofiles  &lt;br /&gt;
groupadd -g 509 vmail&lt;br /&gt;
groupadd -g 510 dovecot&lt;br /&gt;
groupadd -g 511 dovenull&lt;br /&gt;
groupadd -g 512 clamav&lt;br /&gt;
groupadd -g 513 simscan&lt;br /&gt;
groupadd -g 514 spamd&lt;br /&gt;
groupadd -g 520 asterisk&lt;br /&gt;
groupadd -g 521 phnmngr&lt;br /&gt;
groupadd -g 522 ups&lt;br /&gt;
groupadd -g 530 davical&lt;br /&gt;
groupadd -g 531 roundcube&lt;br /&gt;
groupadd -g 532 fetch&lt;br /&gt;
groupadd -g 533 rt&lt;br /&gt;
groupadd -g 534 ob&lt;br /&gt;
groupadd -g 535 wiki&lt;br /&gt;
groupadd -g 536 files&lt;br /&gt;
groupadd -g 537 ledger&lt;br /&gt;
groupadd -g 538 nagios&lt;br /&gt;
groupadd -g 539 pad&lt;br /&gt;
groupadd -g 540 haproxy&lt;br /&gt;
groupadd -g 541 mailconf&lt;br /&gt;
groupadd -g 542 time&lt;br /&gt;
groupadd -g 543 fa&lt;br /&gt;
groupadd -g 544 movies&lt;br /&gt;
&lt;br /&gt;
useradd -u 502 -g nofiles -d /var/qmail/alias alias &lt;br /&gt;
useradd -u 503 -g nofiles -d /var/qmail qmaild  &lt;br /&gt;
useradd -u 504 -g nofiles -d /var/qmail qmaill  &lt;br /&gt;
useradd -u 505 -g nofiles -d /var/qmail qmailp  &lt;br /&gt;
useradd -u 506 -g qmail -d /var/qmail qmailq &lt;br /&gt;
useradd -u 507 -g qmail -d /var/qmail qmailr  &lt;br /&gt;
useradd -u 508 -g qmail -d /var/qmail qmails &lt;br /&gt;
useradd -u 509 -g vmail -d /home/mail -r vmail&lt;br /&gt;
useradd -u 510 -g dovecot -r dovecot&lt;br /&gt;
useradd -u 511 -g dovenull -r dovenull&lt;br /&gt;
useradd -u 512 -g clamav -s /bin/false -d /tmp/clamav -G simscan clamav&lt;br /&gt;
useradd -u 513 -g simscan -r simscan&lt;br /&gt;
useradd -u 514 -g spamd -r -d /etc/mail/spamassassin spamd&lt;br /&gt;
useradd -u 515 -N -g nogroup -d /usr/local/home/razor -s /bin/sh -c razor-agent razor&lt;br /&gt;
useradd -u 521 -g phnmngr -d /IPPhones phnmngr&lt;br /&gt;
useradd -u 522 -g ups --no-create-home ups &lt;br /&gt;
useradd -u 520 -g asterisk --no-create-home -G phnmngr asterisk &lt;br /&gt;
useradd -u 530 -g davical -r davical&lt;br /&gt;
useradd -u 531 -g roundcube -r roundcube&lt;br /&gt;
useradd -u 532 -g fetch -r fetch&lt;br /&gt;
useradd -u 533 -g rt -r rt&lt;br /&gt;
useradd -u 534 -g ob -r ob&lt;br /&gt;
useradd -u 535 -g wiki -r wiki&lt;br /&gt;
useradd -u 536 -g files -r files&lt;br /&gt;
useradd -u 537 -g ledger -r ledger&lt;br /&gt;
useradd -u 538 -g nagios -r nagios -d /usr/local/nagios&lt;br /&gt;
useradd -u 539 -g pad -r pad&lt;br /&gt;
useradd -u 540 -g haproxy -r haproxy&lt;br /&gt;
useradd -u 541 -g mailconf -r mailconf&lt;br /&gt;
useradd -u 542 -g time -r time&lt;br /&gt;
useradd -u 543 -g fa -r fa&lt;br /&gt;
useradd -u 544 -g movies -r movies&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/local/home/razor&lt;br /&gt;
mkdir /home/mail&lt;br /&gt;
mkdir /home/data&lt;br /&gt;
mkdir /IPPhones&lt;br /&gt;
mkdir /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chown -R razor:nogroup /usr/local/home/razor&lt;br /&gt;
chown -R vmail:vmail /home/mail&lt;br /&gt;
chown -R asterisk:phnmngr /IPPhones/&lt;br /&gt;
chown -R files:files /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chmod -R 2770 /IPPhones/&lt;br /&gt;
chmod -R 2770 /home/webDAV&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=455</id>
		<title>User Creation Script</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=455"/>
		<updated>2017-12-04T21:01:42Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
groupadd -g 500 qmail &lt;br /&gt;
groupadd -g 501 nofiles  &lt;br /&gt;
groupadd -g 509 vmail&lt;br /&gt;
groupadd -g 510 dovecot&lt;br /&gt;
groupadd -g 511 dovenull&lt;br /&gt;
groupadd -g 512 clamav&lt;br /&gt;
groupadd -g 513 simscan&lt;br /&gt;
groupadd -g 514 spamd&lt;br /&gt;
groupadd -g 520 asterisk&lt;br /&gt;
groupadd -g 521 phnmngr&lt;br /&gt;
groupadd -g 522 ups&lt;br /&gt;
groupadd -g 530 davical&lt;br /&gt;
groupadd -g 531 roundcube&lt;br /&gt;
groupadd -g 532 fetch&lt;br /&gt;
groupadd -g 533 rt&lt;br /&gt;
groupadd -g 534 ob&lt;br /&gt;
groupadd -g 535 wiki&lt;br /&gt;
groupadd -g 536 files&lt;br /&gt;
groupadd -g 537 ledger&lt;br /&gt;
groupadd -g 538 nagios&lt;br /&gt;
groupadd -g 539 pad&lt;br /&gt;
groupadd -g 540 haproxy&lt;br /&gt;
groupadd -g 541 mailconf&lt;br /&gt;
groupadd -g 542 time&lt;br /&gt;
groupadd -g 543 fa&lt;br /&gt;
&lt;br /&gt;
useradd -u 502 -g nofiles -d /var/qmail/alias alias &lt;br /&gt;
useradd -u 503 -g nofiles -d /var/qmail qmaild  &lt;br /&gt;
useradd -u 504 -g nofiles -d /var/qmail qmaill  &lt;br /&gt;
useradd -u 505 -g nofiles -d /var/qmail qmailp  &lt;br /&gt;
useradd -u 506 -g qmail -d /var/qmail qmailq &lt;br /&gt;
useradd -u 507 -g qmail -d /var/qmail qmailr  &lt;br /&gt;
useradd -u 508 -g qmail -d /var/qmail qmails &lt;br /&gt;
useradd -u 509 -g vmail -d /home/mail -r vmail&lt;br /&gt;
useradd -u 510 -g dovecot -r dovecot&lt;br /&gt;
useradd -u 511 -g dovenull -r dovenull&lt;br /&gt;
useradd -u 512 -g clamav -s /bin/false -d /tmp/clamav -G simscan clamav&lt;br /&gt;
useradd -u 513 -g simscan -r simscan&lt;br /&gt;
useradd -u 514 -g spamd -r -d /etc/mail/spamassassin spamd&lt;br /&gt;
useradd -u 515 -N -g nogroup -d /usr/local/home/razor -s /bin/sh -c razor-agent razor&lt;br /&gt;
useradd -u 521 -g phnmngr -d /IPPhones phnmngr&lt;br /&gt;
useradd -u 522 -g ups --no-create-home ups &lt;br /&gt;
useradd -u 520 -g asterisk --no-create-home -G phnmngr asterisk &lt;br /&gt;
useradd -u 530 -g davical -r davical&lt;br /&gt;
useradd -u 531 -g roundcube -r roundcube&lt;br /&gt;
useradd -u 532 -g fetch -r fetch&lt;br /&gt;
useradd -u 533 -g rt -r rt&lt;br /&gt;
useradd -u 534 -g ob -r ob&lt;br /&gt;
useradd -u 535 -g wiki -r wiki&lt;br /&gt;
useradd -u 536 -g files -r files&lt;br /&gt;
useradd -u 537 -g ledger -r ledger&lt;br /&gt;
useradd -u 538 -g nagios -r nagios -d /usr/local/nagios&lt;br /&gt;
useradd -u 539 -g pad -r pad&lt;br /&gt;
useradd -u 540 -g haproxy -r haproxy&lt;br /&gt;
useradd -u 541 -g mailconf -r mailconf&lt;br /&gt;
useradd -u 542 -g time -r time&lt;br /&gt;
useradd -u 543 -g fa -r fa&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/local/home/razor&lt;br /&gt;
mkdir /home/mail&lt;br /&gt;
mkdir /home/data&lt;br /&gt;
mkdir /IPPhones&lt;br /&gt;
mkdir /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chown -R razor:nogroup /usr/local/home/razor&lt;br /&gt;
chown -R vmail:vmail /home/mail&lt;br /&gt;
chown -R asterisk:phnmngr /IPPhones/&lt;br /&gt;
chown -R files:files /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chmod -R 2770 /IPPhones/&lt;br /&gt;
chmod -R 2770 /home/webDAV&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=454</id>
		<title>User Creation Script</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=454"/>
		<updated>2017-11-27T17:32:17Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
groupadd -g 500 qmail &lt;br /&gt;
groupadd -g 501 nofiles  &lt;br /&gt;
groupadd -g 509 vmail&lt;br /&gt;
groupadd -g 510 dovecot&lt;br /&gt;
groupadd -g 511 dovenull&lt;br /&gt;
groupadd -g 512 clamav&lt;br /&gt;
groupadd -g 513 simscan&lt;br /&gt;
groupadd -g 514 spamd&lt;br /&gt;
groupadd -g 520 asterisk&lt;br /&gt;
groupadd -g 521 phnmngr&lt;br /&gt;
groupadd -g 522 ups&lt;br /&gt;
groupadd -g 530 davical&lt;br /&gt;
groupadd -g 531 roundcube&lt;br /&gt;
groupadd -g 532 fetch&lt;br /&gt;
groupadd -g 533 rt&lt;br /&gt;
groupadd -g 534 ob&lt;br /&gt;
groupadd -g 535 wiki&lt;br /&gt;
groupadd -g 536 files&lt;br /&gt;
groupadd -g 537 ledger&lt;br /&gt;
groupadd -g 538 nagios&lt;br /&gt;
groupadd -g 539 pad&lt;br /&gt;
groupadd -g 540 haproxy&lt;br /&gt;
groupadd -g 541 mailconf&lt;br /&gt;
groupadd -g 542 time&lt;br /&gt;
&lt;br /&gt;
useradd -u 502 -g nofiles -d /var/qmail/alias alias &lt;br /&gt;
useradd -u 503 -g nofiles -d /var/qmail qmaild  &lt;br /&gt;
useradd -u 504 -g nofiles -d /var/qmail qmaill  &lt;br /&gt;
useradd -u 505 -g nofiles -d /var/qmail qmailp  &lt;br /&gt;
useradd -u 506 -g qmail -d /var/qmail qmailq &lt;br /&gt;
useradd -u 507 -g qmail -d /var/qmail qmailr  &lt;br /&gt;
useradd -u 508 -g qmail -d /var/qmail qmails &lt;br /&gt;
useradd -u 509 -g vmail -d /home/mail -r vmail&lt;br /&gt;
useradd -u 510 -g dovecot -r dovecot&lt;br /&gt;
useradd -u 511 -g dovenull -r dovenull&lt;br /&gt;
useradd -u 512 -g clamav -s /bin/false -d /tmp/clamav -G simscan clamav&lt;br /&gt;
useradd -u 513 -g simscan -r simscan&lt;br /&gt;
useradd -u 514 -g spamd -r -d /etc/mail/spamassassin spamd&lt;br /&gt;
useradd -u 515 -N -g nogroup -d /usr/local/home/razor -s /bin/sh -c razor-agent razor&lt;br /&gt;
useradd -u 521 -g phnmngr -d /IPPhones phnmngr&lt;br /&gt;
useradd -u 522 -g ups --no-create-home ups &lt;br /&gt;
useradd -u 520 -g asterisk --no-create-home -G phnmngr asterisk &lt;br /&gt;
useradd -u 530 -g davical -r davical&lt;br /&gt;
useradd -u 531 -g roundcube -r roundcube&lt;br /&gt;
useradd -u 532 -g fetch -r fetch&lt;br /&gt;
useradd -u 533 -g rt -r rt&lt;br /&gt;
useradd -u 534 -g ob -r ob&lt;br /&gt;
useradd -u 535 -g wiki -r wiki&lt;br /&gt;
useradd -u 536 -g files -r files&lt;br /&gt;
useradd -u 537 -g ledger -r ledger&lt;br /&gt;
useradd -u 538 -g nagios -r nagios -d /usr/local/nagios&lt;br /&gt;
useradd -u 539 -g pad -r pad&lt;br /&gt;
useradd -u 540 -g haproxy -r haproxy&lt;br /&gt;
useradd -u 541 -g mailconf -r mailconf&lt;br /&gt;
useradd -u 542 -g time -r time&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/local/home/razor&lt;br /&gt;
mkdir /home/mail&lt;br /&gt;
mkdir /home/data&lt;br /&gt;
mkdir /IPPhones&lt;br /&gt;
mkdir /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chown -R razor:nogroup /usr/local/home/razor&lt;br /&gt;
chown -R vmail:vmail /home/mail&lt;br /&gt;
chown -R asterisk:phnmngr /IPPhones/&lt;br /&gt;
chown -R files:files /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chmod -R 2770 /IPPhones/&lt;br /&gt;
chmod -R 2770 /home/webDAV&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=/usr/src/qmail-ldap-samba4.patch&amp;diff=453</id>
		<title>/usr/src/qmail-ldap-samba4.patch</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=/usr/src/qmail-ldap-samba4.patch&amp;diff=453"/>
		<updated>2017-08-15T21:27:06Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Notes/Caveats/Warnings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Creditation==&lt;br /&gt;
*Large parts of this patch came from http://www.mail-archive.com/qmail-ldap@qmail-ldap.org/msg06274.html&lt;br /&gt;
*http://permalink.gmane.org/gmane.mail.qmail.ldap/11694 &amp;lt;= auth-dovecot.c.patch&lt;br /&gt;
*http://www.mail-archive.com/qmail-ldap@qmail-ldap.org/msg07407.html &amp;lt;= qmail.mailinglist.patches.patch&lt;br /&gt;
&lt;br /&gt;
==Notes/Caveats/Warnings==&lt;br /&gt;
*near the top are variables LDAPINCLUDES and LDAPLIBS.  Make sure they point to the correct openldap version you just built&lt;br /&gt;
*Made untested change to this patch for mailAlternateAddress 2014/02/14&lt;br /&gt;
**Finally tested and fixed 2017.08.15&lt;br /&gt;
&lt;br /&gt;
==qmail-ldap 2012 patch==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -Naur qmail-1.03/auth_dovecot.c qmail-1.03.patched/auth_dovecot.c&lt;br /&gt;
--- qmail-1.03/auth_dovecot.c	2012-12-23 23:10:27.401149120 -0800&lt;br /&gt;
+++ qmail-1.03.patched/auth_dovecot.c	2012-12-23 22:57:27.373184614 -0800&lt;br /&gt;
@@ -127,7 +127,9 @@&lt;br /&gt;
 void&lt;br /&gt;
 auth_init(int argc, char **argv, stralloc *login, stralloc *authdata)&lt;br /&gt;
 {&lt;br /&gt;
+#ifdef DEBUG&lt;br /&gt;
 	extern unsigned long loglevel;&lt;br /&gt;
+#endif&lt;br /&gt;
 	char		*l, *p;&lt;br /&gt;
 	unsigned int	uplen, u;&lt;br /&gt;
 	int		n, opt;&lt;br /&gt;
@@ -140,10 +142,12 @@&lt;br /&gt;
 		case &#039;d&#039;:&lt;br /&gt;
 			pbstool = optarg;&lt;br /&gt;
 			break;&lt;br /&gt;
+#ifdef DEBUG&lt;br /&gt;
 		case &#039;D&#039;:&lt;br /&gt;
 			scan_ulong(optarg, &amp;amp;loglevel);&lt;br /&gt;
 			loglevel &amp;amp;= ~256;	/* see auth_mod.c */&lt;br /&gt;
 			break;&lt;br /&gt;
+#endif&lt;br /&gt;
 		default:&lt;br /&gt;
 			auth_error(AUTH_CONF);&lt;br /&gt;
 		}&lt;br /&gt;
diff -Naur qmail-1.03/Makefile qmail-1.03.patched/Makefile&lt;br /&gt;
--- qmail-1.03/Makefile	2012-12-23 23:10:27.397148371 -0800&lt;br /&gt;
+++ qmail-1.03.patched/Makefile	2012-12-23 22:57:27.369184384 -0800&lt;br /&gt;
@@ -19,12 +19,12 @@&lt;br /&gt;
 # -DQMQP_COMPRESS to use the QMQP on the fly compression (for clusters)&lt;br /&gt;
 # -DQUOTATRASH to include the Trash in the quota calculation (normaly it is not)&lt;br /&gt;
 # -DSMTPEXECCHECK to enable smtp DOS/Windows executable detection&lt;br /&gt;
-#LDAPFLAGS=-DQLDAP_CLUSTER -DEXTERNAL_TODO -DDASH_EXT -DDATA_COMPRESS -DQMQP_COMPRESS -DSMTPEXECCHECK&lt;br /&gt;
+LDAPFLAGS=-DALTQUEUE -DQLDAP_CLUSTER -DEXTERNAL_TODO -DDASH_EXT -DDATA_COMPRESS -DQMQP_COMPRESS -DSMTPEXECCHECK&lt;br /&gt;
 &lt;br /&gt;
 # Perhaps you have different ldap libraries, change them here&lt;br /&gt;
-LDAPLIBS=-L/usr/local/lib -lldap -llber&lt;br /&gt;
+LDAPLIBS=-L/usr/src/openldap-2.4.33/libraries -lldap -llber&lt;br /&gt;
 # and change the location of the include files here&lt;br /&gt;
-LDAPINCLUDES=-DLDAP_DEPRECATED=1 -I/usr/local/include&lt;br /&gt;
+LDAPINCLUDES=-DLDAP_DEPRECATED=1 -I/usr/src/openldap-2.4.25/include&lt;br /&gt;
 # on Slowaris you need -lresolv and probably a LD_RUN_PATH added like this:&lt;br /&gt;
 #LDAPLIBS=-L/opt/OpenLDAP/lib -lldap -llber -lresolv -R/opt/OpenLDAP/lib&lt;br /&gt;
 # for example on my Linux box I use:&lt;br /&gt;
@@ -33,7 +33,7 @@&lt;br /&gt;
 #LDAPINCLUDES=-DLDAP_DEPRECATED=1 -I/opt/OpenLDAP/include&lt;br /&gt;
 &lt;br /&gt;
 # ZLIB needed for -DDATA_COMPRESS and -DQMQP_COMPRESS&lt;br /&gt;
-#ZLIB=-lz&lt;br /&gt;
+ZLIB=-lz&lt;br /&gt;
 # or you installed zlib in a different path you can use something like this&lt;br /&gt;
 #ZLIB=-L/opt/zlib/lib -lz&lt;br /&gt;
 #ZINCLUDES=-I/opt/zlib/include&lt;br /&gt;
@@ -43,31 +43,31 @@&lt;br /&gt;
 # use -DTLS_REMOTE to enable tls support in qmail-remote&lt;br /&gt;
 # use -DTLS_SMTPD to enable tls support in qmail-smtpd&lt;br /&gt;
 # use -DTLSDEBUG to enable additional tls debug information in qmail-remote&lt;br /&gt;
-#TLS=-DTLS_REMOTE -DTLS_SMTPD&lt;br /&gt;
+TLS=-DTLS_REMOTE -DTLS_SMTPD&lt;br /&gt;
 # Path to OpenSSL includes&lt;br /&gt;
-#TLSINCLUDES=-I/usr/local/include&lt;br /&gt;
+TLSINCLUDES=-I/usr/local/include&lt;br /&gt;
 # Path to OpenSSL libraries&lt;br /&gt;
-#TLSLIBS=-L/usr/local/lib -lssl -lcrypto&lt;br /&gt;
+TLSLIBS=-L/usr/local/lib -lssl -lcrypto&lt;br /&gt;
 # Path to OpenSSL binary&lt;br /&gt;
-#OPENSSLBIN=/usr/local/bin/openssl&lt;br /&gt;
-#OPENSSLBIN=openssl&lt;br /&gt;
+OPENSSLBIN=/usr/bin/openssl&lt;br /&gt;
+OPENSSLBIN=openssl&lt;br /&gt;
 &lt;br /&gt;
 # to make the Netscape download progress bar work with qmail-pop3d&lt;br /&gt;
 # uncomment the next line (allready done)&lt;br /&gt;
 MNW=-DMAKE_NETSCAPE_WORK &lt;br /&gt;
 &lt;br /&gt;
 # to enable the auto-maildir-make feature uncomment the next line&lt;br /&gt;
-#MDIRMAKE=-DAUTOMAILDIRMAKE&lt;br /&gt;
+MDIRMAKE=-DAUTOMAILDIRMAKE&lt;br /&gt;
 &lt;br /&gt;
 # to enable the auto-homedir-make feature uncomment the next line&lt;br /&gt;
-#HDIRMAKE=-DAUTOHOMEDIRMAKE&lt;br /&gt;
+HDIRMAKE=-DAUTOHOMEDIRMAKE&lt;br /&gt;
 &lt;br /&gt;
 # on most systems we need this to make auth_pop and auth_imap&lt;br /&gt;
 #SHADOWLIBS=-lcrypt&lt;br /&gt;
 # OpenBSD and other Systems do not have libcrypt, so comment the line out&lt;br /&gt;
 # if you get linking problems.&lt;br /&gt;
 # To use shadow passwords under some Linux OS, uncomment the next two lines.&lt;br /&gt;
-#SHADOWLIBS=-lcrypt -lshadow&lt;br /&gt;
+SHADOWLIBS=-lcrypt&lt;br /&gt;
 #SHADOWOPTS=-DPW_SHADOW&lt;br /&gt;
 # To use shadow passwords under Solaris, uncomment the SHADOWOPTS line.&lt;br /&gt;
 &lt;br /&gt;
diff -Naur qmail-1.03/qldap.c qmail-1.03.patched/qldap.c&lt;br /&gt;
--- qmail-1.03/qldap.c	2012-12-23 23:10:27.437154714 -0800&lt;br /&gt;
+++ qmail-1.03.patched/qldap.c	2012-12-23 22:57:27.369184384 -0800&lt;br /&gt;
@@ -681,6 +681,7 @@&lt;br /&gt;
 qldap_get_status(qldap *q, int *status)&lt;br /&gt;
 {&lt;br /&gt;
 	int	r;&lt;br /&gt;
+	unsigned long   ul,IS_BOUNCE,IS_ACTIVE;&lt;br /&gt;
 	&lt;br /&gt;
 	/* default value */&lt;br /&gt;
 	*status = STATUS_UNDEF;&lt;br /&gt;
@@ -689,13 +690,22 @@&lt;br /&gt;
 	if (r == NOSUCH) {&lt;br /&gt;
 		return OK;&lt;br /&gt;
 	} else if (r == OK) {&lt;br /&gt;
-		if (!case_diffs(ldap_attr.s, ISACTIVE_BOUNCE))&lt;br /&gt;
+/*ORIG_CODE		if (!case_diffs(ldap_attr.s, ISACTIVE_BOUNCE))&lt;br /&gt;
 			*status = STATUS_BOUNCE;&lt;br /&gt;
 		else if (!case_diffs(ldap_attr.s, ISACTIVE_DELETE))&lt;br /&gt;
 			*status = STATUS_DELETE;&lt;br /&gt;
 		else if (!case_diffs(ldap_attr.s, ISACTIVE_NOACCESS))&lt;br /&gt;
 			*status = STATUS_NOACCESS;&lt;br /&gt;
-		else	*status = STATUS_OK; /* default to OK */&lt;br /&gt;
+		else	*status = STATUS_OK; END_ORIG_CODE*/ /* default to OK */&lt;br /&gt;
+		&lt;br /&gt;
+		scan_ulong(ISACTIVE_BOUNCE + &#039;\0&#039;, &amp;amp;IS_BOUNCE);&lt;br /&gt;
+        	scan_ulong(ISACTIVE_ACTIVE + &#039;\0&#039;, &amp;amp;IS_ACTIVE);&lt;br /&gt;
+               	if (ldap_attr.s[scan_ulong(ldap_attr.s, &amp;amp;ul)] == &#039;\0&#039;) {&lt;br /&gt;
+                       ul &amp;amp;= ISACTIVE_MASK; /* mask result */&lt;br /&gt;
+                       if (ul == IS_BOUNCE)      *status = STATUS_BOUNCE;&lt;br /&gt;
+                       else if (ul == IS_ACTIVE) *status = STATUS_OK;&lt;br /&gt;
+                       else                      *status = STATUS_NOACCESS; /* default to NO ACCESS */&lt;br /&gt;
+               	}&lt;br /&gt;
 		/* perhaps we should spill out a warning for unknown settings */&lt;br /&gt;
 		return OK;&lt;br /&gt;
 	}&lt;br /&gt;
diff -Naur qmail-1.03/qldap-filter.c qmail-1.03.patched/qldap-filter.c&lt;br /&gt;
--- qmail-1.03/qldap-filter.c	2012-12-23 23:10:27.433154249 -0800&lt;br /&gt;
+++ qmail-1.03.patched/qldap-filter.c	2012-12-23 22:57:50.553185213 -0800&lt;br /&gt;
@@ -107,7 +107,7 @@&lt;br /&gt;
 		return 0;&lt;br /&gt;
 &lt;br /&gt;
 	if (!filter_start(&amp;amp;filter)  ||&lt;br /&gt;
-	    !stralloc_copys(&amp;amp;filter,&amp;quot;(&amp;quot;) ||&lt;br /&gt;
+	    !stralloc_cats(&amp;amp;filter,&amp;quot;(&amp;quot;) ||&lt;br /&gt;
 	    !stralloc_cats(&amp;amp;filter, LDAP_UID) ||&lt;br /&gt;
 	    !stralloc_cats(&amp;amp;filter, &amp;quot;=&amp;quot;) ||&lt;br /&gt;
 	    !filter_escape(&amp;amp;filter, uid, str_len(uid)) ||&lt;br /&gt;
@@ -179,7 +179,6 @@&lt;br /&gt;
 		}&lt;br /&gt;
 		extcnt--;&lt;br /&gt;
 #else&lt;br /&gt;
-#error XXX XXX &lt;br /&gt;
 		/* basic qmail-ldap behavior test for username@domain.com and&lt;br /&gt;
 		   catchall@domain.com */&lt;br /&gt;
 		ext = 0;&lt;br /&gt;
@@ -193,7 +192,7 @@&lt;br /&gt;
 			/* build the search string for the email address */&lt;br /&gt;
 			/* mail address */&lt;br /&gt;
 			if (!filter_start(&amp;amp;filter) ||&lt;br /&gt;
-			    !stralloc_copys(&amp;amp;filter, &amp;quot;(|(&amp;quot;) ||&lt;br /&gt;
+			    !stralloc_cats(&amp;amp;filter, &amp;quot;(|(&amp;quot;) ||&lt;br /&gt;
 			    !stralloc_cats(&amp;amp;filter, LDAP_MAIL) ||&lt;br /&gt;
 			    !stralloc_cats(&amp;amp;filter, &amp;quot;=&amp;quot;))&lt;br /&gt;
 				return 0;&lt;br /&gt;
diff -Naur qmail-1.03/qmail-ldap.h qmail-1.03.patched/qmail-ldap.h&lt;br /&gt;
--- qmail-1.03/qmail-ldap.h	2012-12-23 23:10:27.437154714 -0800&lt;br /&gt;
+++ qmail-1.03.patched/qmail-ldap.h	2012-12-23 22:57:27.369184384 -0800&lt;br /&gt;
@@ -65,7 +65,7 @@&lt;br /&gt;
  * of the shell are allowed (like &amp;amp;, &amp;amp;, ;, and &amp;lt;,|,&amp;gt;)&lt;br /&gt;
  * You should know what you are doing when disallowing this  */&lt;br /&gt;
 /* 1 = restriced sanitycheck; 0 = less restriced sanitycheck */&lt;br /&gt;
-#define RESTRICT_PROG 1&lt;br /&gt;
+#define RESTRICT_PROG 0&lt;br /&gt;
 &lt;br /&gt;
 /* ALIASDEVNULL replacement for the std. aliasempty for user with&lt;br /&gt;
  * neither homeDirectory nor mailMessageStore defined */&lt;br /&gt;
@@ -92,11 +92,11 @@&lt;br /&gt;
 /*********************************************************************&lt;br /&gt;
         ldap variables used in qmail-lspawn and auth_*&lt;br /&gt;
 *********************************************************************/&lt;br /&gt;
-#define LDAP_MAIL		&amp;quot;mail&amp;quot;&lt;br /&gt;
+#define LDAP_MAIL		&amp;quot;userPrincipalName&amp;quot;&lt;br /&gt;
 #define LDAP_MAILALTERNATE	&amp;quot;mailAlternateAddress&amp;quot;&lt;br /&gt;
 #define LDAP_QMAILUID		&amp;quot;qmailUID&amp;quot;&lt;br /&gt;
 #define LDAP_QMAILGID		&amp;quot;qmailGID&amp;quot;&lt;br /&gt;
-#define LDAP_MAILSTORE		&amp;quot;mailMessageStore&amp;quot;&lt;br /&gt;
+#define LDAP_MAILSTORE		&amp;quot;sAMAccountName&amp;quot;&lt;br /&gt;
-#define LDAP_HOMEDIR		&amp;quot;homeDirectory&amp;quot;&lt;br /&gt;
+#define LDAP_HOMEDIR           &amp;quot;noSuchDirectory&amp;quot;&lt;br /&gt;
 #define LDAP_QUOTA		&amp;quot;mailQuota&amp;quot;&lt;br /&gt;
 #define LDAP_QUOTA_SIZE	&amp;quot;mailQuotaSize&amp;quot;&lt;br /&gt;
@@ -108,10 +108,10 @@&lt;br /&gt;
 #define LDAP_MODE		&amp;quot;deliveryMode&amp;quot;&lt;br /&gt;
 #define LDAP_REPLYTEXT		&amp;quot;mailReplyText&amp;quot;&lt;br /&gt;
 #define LDAP_DOTMODE		&amp;quot;qmailDotMode&amp;quot;&lt;br /&gt;
-#define LDAP_UID		&amp;quot;uid&amp;quot;&lt;br /&gt;
+#define LDAP_UID		&amp;quot;userPrincipalName&amp;quot;&lt;br /&gt;
 #define LDAP_PASSWD		&amp;quot;userPassword&amp;quot;&lt;br /&gt;
 #define LDAP_OBJECTCLASS	&amp;quot;objectClass&amp;quot;&lt;br /&gt;
-#define LDAP_ISACTIVE		&amp;quot;accountStatus&amp;quot;&lt;br /&gt;
+#define LDAP_ISACTIVE		&amp;quot;userAccountControl&amp;quot;&lt;br /&gt;
 #define LDAP_PURGE		&amp;quot;qmailAccountPurge&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #define DOTMODE_LDAPONLY 	&amp;quot;ldaponly&amp;quot;&lt;br /&gt;
@@ -132,10 +132,11 @@&lt;br /&gt;
 #define MODE_PROG		&amp;quot;program&amp;quot;&lt;br /&gt;
 #define MODE_NOREPLY		&amp;quot;noreply&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
-#define ISACTIVE_BOUNCE		&amp;quot;disabled&amp;quot;&lt;br /&gt;
+#define ISACTIVE_BOUNCE		&amp;quot;514&amp;quot;&lt;br /&gt;
 #define ISACTIVE_DELETE		&amp;quot;deleted&amp;quot;&lt;br /&gt;
 #define ISACTIVE_NOACCESS	&amp;quot;noaccess&amp;quot;&lt;br /&gt;
-#define ISACTIVE_ACTIVE		&amp;quot;active&amp;quot;&lt;br /&gt;
+#define ISACTIVE_ACTIVE		&amp;quot;512&amp;quot;&lt;br /&gt;
+#define ISACTIVE_MASK           0x202 /* because 514 is 0x202, 512 is 0x200 */&lt;br /&gt;
 &lt;br /&gt;
 /*********************************************************************&lt;br /&gt;
         ldap variables used in qmail-group&lt;br /&gt;
diff -Naur qmail-1.03/qmail-ldaplookup.c qmail-1.03.patched/qmail-ldaplookup.c&lt;br /&gt;
--- qmail-1.03/qmail-ldaplookup.c	2012-12-23 23:10:27.437154714 -0800&lt;br /&gt;
+++ qmail-1.03.patched/qmail-ldaplookup.c	2012-12-23 23:01:00.333180404 -0800&lt;br /&gt;
@@ -223,12 +223,12 @@&lt;br /&gt;
 		switch (mode) {&lt;br /&gt;
 		case mail:&lt;br /&gt;
 			f = filter_mail(value, &amp;amp;done);&lt;br /&gt;
-			if (value == 0)&lt;br /&gt;
+			if (f == 0)&lt;br /&gt;
 				strerr_die2sys(1, FATAL, &amp;quot;building filter: &amp;quot;);&lt;br /&gt;
 			break;&lt;br /&gt;
 		case uid:&lt;br /&gt;
 			f = filter_uid(value);&lt;br /&gt;
-			if (value == 0)&lt;br /&gt;
+			if (f == 0)&lt;br /&gt;
 				strerr_die2sys(1, FATAL, &amp;quot;building filter: &amp;quot;);&lt;br /&gt;
 			done = 1;&lt;br /&gt;
 			break;&lt;br /&gt;
@@ -321,7 +321,7 @@&lt;br /&gt;
 		if (r != OK) fail(q, &amp;quot;qldap_get_status&amp;quot;, r);&lt;br /&gt;
 		switch (status) {&lt;br /&gt;
 		case STATUS_BOUNCE:&lt;br /&gt;
-			output(subfdout, &amp;quot;%s: %s\n&amp;quot;,&lt;br /&gt;
+			output(subfdout, &amp;quot;%s: %s -&amp;gt; disabled\n&amp;quot;,&lt;br /&gt;
 			    LDAP_ISACTIVE, ISACTIVE_BOUNCE);&lt;br /&gt;
 			break;&lt;br /&gt;
 		case STATUS_NOACCESS:&lt;br /&gt;
@@ -329,7 +329,7 @@&lt;br /&gt;
 			    LDAP_ISACTIVE, ISACTIVE_NOACCESS);&lt;br /&gt;
 			break;&lt;br /&gt;
 		case STATUS_OK:&lt;br /&gt;
-			output(subfdout, &amp;quot;%s: %s\n&amp;quot;,&lt;br /&gt;
+			output(subfdout, &amp;quot;%s: %s -&amp;gt; active\n&amp;quot;,&lt;br /&gt;
 			    LDAP_ISACTIVE, ISACTIVE_ACTIVE);&lt;br /&gt;
 			break;&lt;br /&gt;
 		case STATUS_UNDEF:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=/usr/src/qmail-ldap-samba4.patch&amp;diff=452</id>
		<title>/usr/src/qmail-ldap-samba4.patch</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=/usr/src/qmail-ldap-samba4.patch&amp;diff=452"/>
		<updated>2017-08-15T21:26:46Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Creditation==&lt;br /&gt;
*Large parts of this patch came from http://www.mail-archive.com/qmail-ldap@qmail-ldap.org/msg06274.html&lt;br /&gt;
*http://permalink.gmane.org/gmane.mail.qmail.ldap/11694 &amp;lt;= auth-dovecot.c.patch&lt;br /&gt;
*http://www.mail-archive.com/qmail-ldap@qmail-ldap.org/msg07407.html &amp;lt;= qmail.mailinglist.patches.patch&lt;br /&gt;
&lt;br /&gt;
==Notes/Caveats/Warnings==&lt;br /&gt;
*near the top are variables LDAPINCLUDES and LDAPLIBS.  Make sure they point to the correct openldap version you just built&lt;br /&gt;
*Made untested change to this patch for mailAlternateAddress 2014/02/14&lt;br /&gt;
&lt;br /&gt;
==qmail-ldap 2012 patch==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff -Naur qmail-1.03/auth_dovecot.c qmail-1.03.patched/auth_dovecot.c&lt;br /&gt;
--- qmail-1.03/auth_dovecot.c	2012-12-23 23:10:27.401149120 -0800&lt;br /&gt;
+++ qmail-1.03.patched/auth_dovecot.c	2012-12-23 22:57:27.373184614 -0800&lt;br /&gt;
@@ -127,7 +127,9 @@&lt;br /&gt;
 void&lt;br /&gt;
 auth_init(int argc, char **argv, stralloc *login, stralloc *authdata)&lt;br /&gt;
 {&lt;br /&gt;
+#ifdef DEBUG&lt;br /&gt;
 	extern unsigned long loglevel;&lt;br /&gt;
+#endif&lt;br /&gt;
 	char		*l, *p;&lt;br /&gt;
 	unsigned int	uplen, u;&lt;br /&gt;
 	int		n, opt;&lt;br /&gt;
@@ -140,10 +142,12 @@&lt;br /&gt;
 		case &#039;d&#039;:&lt;br /&gt;
 			pbstool = optarg;&lt;br /&gt;
 			break;&lt;br /&gt;
+#ifdef DEBUG&lt;br /&gt;
 		case &#039;D&#039;:&lt;br /&gt;
 			scan_ulong(optarg, &amp;amp;loglevel);&lt;br /&gt;
 			loglevel &amp;amp;= ~256;	/* see auth_mod.c */&lt;br /&gt;
 			break;&lt;br /&gt;
+#endif&lt;br /&gt;
 		default:&lt;br /&gt;
 			auth_error(AUTH_CONF);&lt;br /&gt;
 		}&lt;br /&gt;
diff -Naur qmail-1.03/Makefile qmail-1.03.patched/Makefile&lt;br /&gt;
--- qmail-1.03/Makefile	2012-12-23 23:10:27.397148371 -0800&lt;br /&gt;
+++ qmail-1.03.patched/Makefile	2012-12-23 22:57:27.369184384 -0800&lt;br /&gt;
@@ -19,12 +19,12 @@&lt;br /&gt;
 # -DQMQP_COMPRESS to use the QMQP on the fly compression (for clusters)&lt;br /&gt;
 # -DQUOTATRASH to include the Trash in the quota calculation (normaly it is not)&lt;br /&gt;
 # -DSMTPEXECCHECK to enable smtp DOS/Windows executable detection&lt;br /&gt;
-#LDAPFLAGS=-DQLDAP_CLUSTER -DEXTERNAL_TODO -DDASH_EXT -DDATA_COMPRESS -DQMQP_COMPRESS -DSMTPEXECCHECK&lt;br /&gt;
+LDAPFLAGS=-DALTQUEUE -DQLDAP_CLUSTER -DEXTERNAL_TODO -DDASH_EXT -DDATA_COMPRESS -DQMQP_COMPRESS -DSMTPEXECCHECK&lt;br /&gt;
 &lt;br /&gt;
 # Perhaps you have different ldap libraries, change them here&lt;br /&gt;
-LDAPLIBS=-L/usr/local/lib -lldap -llber&lt;br /&gt;
+LDAPLIBS=-L/usr/src/openldap-2.4.33/libraries -lldap -llber&lt;br /&gt;
 # and change the location of the include files here&lt;br /&gt;
-LDAPINCLUDES=-DLDAP_DEPRECATED=1 -I/usr/local/include&lt;br /&gt;
+LDAPINCLUDES=-DLDAP_DEPRECATED=1 -I/usr/src/openldap-2.4.25/include&lt;br /&gt;
 # on Slowaris you need -lresolv and probably a LD_RUN_PATH added like this:&lt;br /&gt;
 #LDAPLIBS=-L/opt/OpenLDAP/lib -lldap -llber -lresolv -R/opt/OpenLDAP/lib&lt;br /&gt;
 # for example on my Linux box I use:&lt;br /&gt;
@@ -33,7 +33,7 @@&lt;br /&gt;
 #LDAPINCLUDES=-DLDAP_DEPRECATED=1 -I/opt/OpenLDAP/include&lt;br /&gt;
 &lt;br /&gt;
 # ZLIB needed for -DDATA_COMPRESS and -DQMQP_COMPRESS&lt;br /&gt;
-#ZLIB=-lz&lt;br /&gt;
+ZLIB=-lz&lt;br /&gt;
 # or you installed zlib in a different path you can use something like this&lt;br /&gt;
 #ZLIB=-L/opt/zlib/lib -lz&lt;br /&gt;
 #ZINCLUDES=-I/opt/zlib/include&lt;br /&gt;
@@ -43,31 +43,31 @@&lt;br /&gt;
 # use -DTLS_REMOTE to enable tls support in qmail-remote&lt;br /&gt;
 # use -DTLS_SMTPD to enable tls support in qmail-smtpd&lt;br /&gt;
 # use -DTLSDEBUG to enable additional tls debug information in qmail-remote&lt;br /&gt;
-#TLS=-DTLS_REMOTE -DTLS_SMTPD&lt;br /&gt;
+TLS=-DTLS_REMOTE -DTLS_SMTPD&lt;br /&gt;
 # Path to OpenSSL includes&lt;br /&gt;
-#TLSINCLUDES=-I/usr/local/include&lt;br /&gt;
+TLSINCLUDES=-I/usr/local/include&lt;br /&gt;
 # Path to OpenSSL libraries&lt;br /&gt;
-#TLSLIBS=-L/usr/local/lib -lssl -lcrypto&lt;br /&gt;
+TLSLIBS=-L/usr/local/lib -lssl -lcrypto&lt;br /&gt;
 # Path to OpenSSL binary&lt;br /&gt;
-#OPENSSLBIN=/usr/local/bin/openssl&lt;br /&gt;
-#OPENSSLBIN=openssl&lt;br /&gt;
+OPENSSLBIN=/usr/bin/openssl&lt;br /&gt;
+OPENSSLBIN=openssl&lt;br /&gt;
 &lt;br /&gt;
 # to make the Netscape download progress bar work with qmail-pop3d&lt;br /&gt;
 # uncomment the next line (allready done)&lt;br /&gt;
 MNW=-DMAKE_NETSCAPE_WORK &lt;br /&gt;
 &lt;br /&gt;
 # to enable the auto-maildir-make feature uncomment the next line&lt;br /&gt;
-#MDIRMAKE=-DAUTOMAILDIRMAKE&lt;br /&gt;
+MDIRMAKE=-DAUTOMAILDIRMAKE&lt;br /&gt;
 &lt;br /&gt;
 # to enable the auto-homedir-make feature uncomment the next line&lt;br /&gt;
-#HDIRMAKE=-DAUTOHOMEDIRMAKE&lt;br /&gt;
+HDIRMAKE=-DAUTOHOMEDIRMAKE&lt;br /&gt;
 &lt;br /&gt;
 # on most systems we need this to make auth_pop and auth_imap&lt;br /&gt;
 #SHADOWLIBS=-lcrypt&lt;br /&gt;
 # OpenBSD and other Systems do not have libcrypt, so comment the line out&lt;br /&gt;
 # if you get linking problems.&lt;br /&gt;
 # To use shadow passwords under some Linux OS, uncomment the next two lines.&lt;br /&gt;
-#SHADOWLIBS=-lcrypt -lshadow&lt;br /&gt;
+SHADOWLIBS=-lcrypt&lt;br /&gt;
 #SHADOWOPTS=-DPW_SHADOW&lt;br /&gt;
 # To use shadow passwords under Solaris, uncomment the SHADOWOPTS line.&lt;br /&gt;
 &lt;br /&gt;
diff -Naur qmail-1.03/qldap.c qmail-1.03.patched/qldap.c&lt;br /&gt;
--- qmail-1.03/qldap.c	2012-12-23 23:10:27.437154714 -0800&lt;br /&gt;
+++ qmail-1.03.patched/qldap.c	2012-12-23 22:57:27.369184384 -0800&lt;br /&gt;
@@ -681,6 +681,7 @@&lt;br /&gt;
 qldap_get_status(qldap *q, int *status)&lt;br /&gt;
 {&lt;br /&gt;
 	int	r;&lt;br /&gt;
+	unsigned long   ul,IS_BOUNCE,IS_ACTIVE;&lt;br /&gt;
 	&lt;br /&gt;
 	/* default value */&lt;br /&gt;
 	*status = STATUS_UNDEF;&lt;br /&gt;
@@ -689,13 +690,22 @@&lt;br /&gt;
 	if (r == NOSUCH) {&lt;br /&gt;
 		return OK;&lt;br /&gt;
 	} else if (r == OK) {&lt;br /&gt;
-		if (!case_diffs(ldap_attr.s, ISACTIVE_BOUNCE))&lt;br /&gt;
+/*ORIG_CODE		if (!case_diffs(ldap_attr.s, ISACTIVE_BOUNCE))&lt;br /&gt;
 			*status = STATUS_BOUNCE;&lt;br /&gt;
 		else if (!case_diffs(ldap_attr.s, ISACTIVE_DELETE))&lt;br /&gt;
 			*status = STATUS_DELETE;&lt;br /&gt;
 		else if (!case_diffs(ldap_attr.s, ISACTIVE_NOACCESS))&lt;br /&gt;
 			*status = STATUS_NOACCESS;&lt;br /&gt;
-		else	*status = STATUS_OK; /* default to OK */&lt;br /&gt;
+		else	*status = STATUS_OK; END_ORIG_CODE*/ /* default to OK */&lt;br /&gt;
+		&lt;br /&gt;
+		scan_ulong(ISACTIVE_BOUNCE + &#039;\0&#039;, &amp;amp;IS_BOUNCE);&lt;br /&gt;
+        	scan_ulong(ISACTIVE_ACTIVE + &#039;\0&#039;, &amp;amp;IS_ACTIVE);&lt;br /&gt;
+               	if (ldap_attr.s[scan_ulong(ldap_attr.s, &amp;amp;ul)] == &#039;\0&#039;) {&lt;br /&gt;
+                       ul &amp;amp;= ISACTIVE_MASK; /* mask result */&lt;br /&gt;
+                       if (ul == IS_BOUNCE)      *status = STATUS_BOUNCE;&lt;br /&gt;
+                       else if (ul == IS_ACTIVE) *status = STATUS_OK;&lt;br /&gt;
+                       else                      *status = STATUS_NOACCESS; /* default to NO ACCESS */&lt;br /&gt;
+               	}&lt;br /&gt;
 		/* perhaps we should spill out a warning for unknown settings */&lt;br /&gt;
 		return OK;&lt;br /&gt;
 	}&lt;br /&gt;
diff -Naur qmail-1.03/qldap-filter.c qmail-1.03.patched/qldap-filter.c&lt;br /&gt;
--- qmail-1.03/qldap-filter.c	2012-12-23 23:10:27.433154249 -0800&lt;br /&gt;
+++ qmail-1.03.patched/qldap-filter.c	2012-12-23 22:57:50.553185213 -0800&lt;br /&gt;
@@ -107,7 +107,7 @@&lt;br /&gt;
 		return 0;&lt;br /&gt;
 &lt;br /&gt;
 	if (!filter_start(&amp;amp;filter)  ||&lt;br /&gt;
-	    !stralloc_copys(&amp;amp;filter,&amp;quot;(&amp;quot;) ||&lt;br /&gt;
+	    !stralloc_cats(&amp;amp;filter,&amp;quot;(&amp;quot;) ||&lt;br /&gt;
 	    !stralloc_cats(&amp;amp;filter, LDAP_UID) ||&lt;br /&gt;
 	    !stralloc_cats(&amp;amp;filter, &amp;quot;=&amp;quot;) ||&lt;br /&gt;
 	    !filter_escape(&amp;amp;filter, uid, str_len(uid)) ||&lt;br /&gt;
@@ -179,7 +179,6 @@&lt;br /&gt;
 		}&lt;br /&gt;
 		extcnt--;&lt;br /&gt;
 #else&lt;br /&gt;
-#error XXX XXX &lt;br /&gt;
 		/* basic qmail-ldap behavior test for username@domain.com and&lt;br /&gt;
 		   catchall@domain.com */&lt;br /&gt;
 		ext = 0;&lt;br /&gt;
@@ -193,7 +192,7 @@&lt;br /&gt;
 			/* build the search string for the email address */&lt;br /&gt;
 			/* mail address */&lt;br /&gt;
 			if (!filter_start(&amp;amp;filter) ||&lt;br /&gt;
-			    !stralloc_copys(&amp;amp;filter, &amp;quot;(|(&amp;quot;) ||&lt;br /&gt;
+			    !stralloc_cats(&amp;amp;filter, &amp;quot;(|(&amp;quot;) ||&lt;br /&gt;
 			    !stralloc_cats(&amp;amp;filter, LDAP_MAIL) ||&lt;br /&gt;
 			    !stralloc_cats(&amp;amp;filter, &amp;quot;=&amp;quot;))&lt;br /&gt;
 				return 0;&lt;br /&gt;
diff -Naur qmail-1.03/qmail-ldap.h qmail-1.03.patched/qmail-ldap.h&lt;br /&gt;
--- qmail-1.03/qmail-ldap.h	2012-12-23 23:10:27.437154714 -0800&lt;br /&gt;
+++ qmail-1.03.patched/qmail-ldap.h	2012-12-23 22:57:27.369184384 -0800&lt;br /&gt;
@@ -65,7 +65,7 @@&lt;br /&gt;
  * of the shell are allowed (like &amp;amp;, &amp;amp;, ;, and &amp;lt;,|,&amp;gt;)&lt;br /&gt;
  * You should know what you are doing when disallowing this  */&lt;br /&gt;
 /* 1 = restriced sanitycheck; 0 = less restriced sanitycheck */&lt;br /&gt;
-#define RESTRICT_PROG 1&lt;br /&gt;
+#define RESTRICT_PROG 0&lt;br /&gt;
 &lt;br /&gt;
 /* ALIASDEVNULL replacement for the std. aliasempty for user with&lt;br /&gt;
  * neither homeDirectory nor mailMessageStore defined */&lt;br /&gt;
@@ -92,11 +92,11 @@&lt;br /&gt;
 /*********************************************************************&lt;br /&gt;
         ldap variables used in qmail-lspawn and auth_*&lt;br /&gt;
 *********************************************************************/&lt;br /&gt;
-#define LDAP_MAIL		&amp;quot;mail&amp;quot;&lt;br /&gt;
+#define LDAP_MAIL		&amp;quot;userPrincipalName&amp;quot;&lt;br /&gt;
 #define LDAP_MAILALTERNATE	&amp;quot;mailAlternateAddress&amp;quot;&lt;br /&gt;
 #define LDAP_QMAILUID		&amp;quot;qmailUID&amp;quot;&lt;br /&gt;
 #define LDAP_QMAILGID		&amp;quot;qmailGID&amp;quot;&lt;br /&gt;
-#define LDAP_MAILSTORE		&amp;quot;mailMessageStore&amp;quot;&lt;br /&gt;
+#define LDAP_MAILSTORE		&amp;quot;sAMAccountName&amp;quot;&lt;br /&gt;
-#define LDAP_HOMEDIR		&amp;quot;homeDirectory&amp;quot;&lt;br /&gt;
+#define LDAP_HOMEDIR           &amp;quot;noSuchDirectory&amp;quot;&lt;br /&gt;
 #define LDAP_QUOTA		&amp;quot;mailQuota&amp;quot;&lt;br /&gt;
 #define LDAP_QUOTA_SIZE	&amp;quot;mailQuotaSize&amp;quot;&lt;br /&gt;
@@ -108,10 +108,10 @@&lt;br /&gt;
 #define LDAP_MODE		&amp;quot;deliveryMode&amp;quot;&lt;br /&gt;
 #define LDAP_REPLYTEXT		&amp;quot;mailReplyText&amp;quot;&lt;br /&gt;
 #define LDAP_DOTMODE		&amp;quot;qmailDotMode&amp;quot;&lt;br /&gt;
-#define LDAP_UID		&amp;quot;uid&amp;quot;&lt;br /&gt;
+#define LDAP_UID		&amp;quot;userPrincipalName&amp;quot;&lt;br /&gt;
 #define LDAP_PASSWD		&amp;quot;userPassword&amp;quot;&lt;br /&gt;
 #define LDAP_OBJECTCLASS	&amp;quot;objectClass&amp;quot;&lt;br /&gt;
-#define LDAP_ISACTIVE		&amp;quot;accountStatus&amp;quot;&lt;br /&gt;
+#define LDAP_ISACTIVE		&amp;quot;userAccountControl&amp;quot;&lt;br /&gt;
 #define LDAP_PURGE		&amp;quot;qmailAccountPurge&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #define DOTMODE_LDAPONLY 	&amp;quot;ldaponly&amp;quot;&lt;br /&gt;
@@ -132,10 +132,11 @@&lt;br /&gt;
 #define MODE_PROG		&amp;quot;program&amp;quot;&lt;br /&gt;
 #define MODE_NOREPLY		&amp;quot;noreply&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
-#define ISACTIVE_BOUNCE		&amp;quot;disabled&amp;quot;&lt;br /&gt;
+#define ISACTIVE_BOUNCE		&amp;quot;514&amp;quot;&lt;br /&gt;
 #define ISACTIVE_DELETE		&amp;quot;deleted&amp;quot;&lt;br /&gt;
 #define ISACTIVE_NOACCESS	&amp;quot;noaccess&amp;quot;&lt;br /&gt;
-#define ISACTIVE_ACTIVE		&amp;quot;active&amp;quot;&lt;br /&gt;
+#define ISACTIVE_ACTIVE		&amp;quot;512&amp;quot;&lt;br /&gt;
+#define ISACTIVE_MASK           0x202 /* because 514 is 0x202, 512 is 0x200 */&lt;br /&gt;
 &lt;br /&gt;
 /*********************************************************************&lt;br /&gt;
         ldap variables used in qmail-group&lt;br /&gt;
diff -Naur qmail-1.03/qmail-ldaplookup.c qmail-1.03.patched/qmail-ldaplookup.c&lt;br /&gt;
--- qmail-1.03/qmail-ldaplookup.c	2012-12-23 23:10:27.437154714 -0800&lt;br /&gt;
+++ qmail-1.03.patched/qmail-ldaplookup.c	2012-12-23 23:01:00.333180404 -0800&lt;br /&gt;
@@ -223,12 +223,12 @@&lt;br /&gt;
 		switch (mode) {&lt;br /&gt;
 		case mail:&lt;br /&gt;
 			f = filter_mail(value, &amp;amp;done);&lt;br /&gt;
-			if (value == 0)&lt;br /&gt;
+			if (f == 0)&lt;br /&gt;
 				strerr_die2sys(1, FATAL, &amp;quot;building filter: &amp;quot;);&lt;br /&gt;
 			break;&lt;br /&gt;
 		case uid:&lt;br /&gt;
 			f = filter_uid(value);&lt;br /&gt;
-			if (value == 0)&lt;br /&gt;
+			if (f == 0)&lt;br /&gt;
 				strerr_die2sys(1, FATAL, &amp;quot;building filter: &amp;quot;);&lt;br /&gt;
 			done = 1;&lt;br /&gt;
 			break;&lt;br /&gt;
@@ -321,7 +321,7 @@&lt;br /&gt;
 		if (r != OK) fail(q, &amp;quot;qldap_get_status&amp;quot;, r);&lt;br /&gt;
 		switch (status) {&lt;br /&gt;
 		case STATUS_BOUNCE:&lt;br /&gt;
-			output(subfdout, &amp;quot;%s: %s\n&amp;quot;,&lt;br /&gt;
+			output(subfdout, &amp;quot;%s: %s -&amp;gt; disabled\n&amp;quot;,&lt;br /&gt;
 			    LDAP_ISACTIVE, ISACTIVE_BOUNCE);&lt;br /&gt;
 			break;&lt;br /&gt;
 		case STATUS_NOACCESS:&lt;br /&gt;
@@ -329,7 +329,7 @@&lt;br /&gt;
 			    LDAP_ISACTIVE, ISACTIVE_NOACCESS);&lt;br /&gt;
 			break;&lt;br /&gt;
 		case STATUS_OK:&lt;br /&gt;
-			output(subfdout, &amp;quot;%s: %s\n&amp;quot;,&lt;br /&gt;
+			output(subfdout, &amp;quot;%s: %s -&amp;gt; active\n&amp;quot;,&lt;br /&gt;
 			    LDAP_ISACTIVE, ISACTIVE_ACTIVE);&lt;br /&gt;
 			break;&lt;br /&gt;
 		case STATUS_UNDEF:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Set_up_Basic_Firewall_Functions&amp;diff=451</id>
		<title>Set up Basic Firewall Functions</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Set_up_Basic_Firewall_Functions&amp;diff=451"/>
		<updated>2015-11-26T22:28:21Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;b&amp;gt;TODO: change this to not use ifrename and use udev instead&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==System Prep==&lt;br /&gt;
*apt-get remove nfs-common rpcbind&lt;br /&gt;
*apt-get install ifrename&lt;br /&gt;
&lt;br /&gt;
==Multiple Network Interfaces on Debian==&lt;br /&gt;
*&amp;lt;b&amp;gt;BIG FAT NOTE: Do not use ifrename on current debian, use udev instead&amp;lt;/b&amp;gt;&lt;br /&gt;
*for i in eth0 eth1 eth2; do ADD=$(ifconfig $i | head -1 | cut -f 11 -d &amp;quot; &amp;quot;); echo &amp;quot;$i mac $ADD&amp;quot; &amp;gt;&amp;gt; /etc/iftab; done&lt;br /&gt;
*&amp;gt; /etc/network/interfaces; vi [[/etc/network/interfaces]]&lt;br /&gt;
&lt;br /&gt;
==Configure Packet Forwarding / Basic IPTables Rules Set / Network Startup Script==&lt;br /&gt;
*sed -i &#039;s/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/&#039; /etc/sysctl.conf&lt;br /&gt;
*sysctl -p&lt;br /&gt;
*mkdir /root/scripts&lt;br /&gt;
*vi [[/root/scripts/iptables-restore]]&lt;br /&gt;
*iptables-restore &amp;lt; /root/scripts/iptables-restore&lt;br /&gt;
*vi [[/root/scripts/netup.sh]]&lt;br /&gt;
*vi [[/root/scripts/netdown.sh]]&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Set_up_Basic_Firewall_Functions&amp;diff=450</id>
		<title>Set up Basic Firewall Functions</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Set_up_Basic_Firewall_Functions&amp;diff=450"/>
		<updated>2015-11-26T22:27:54Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;b&amp;gt;TODO: change this to not use ifrename and use udev instead&amp;lt;/b&amp;gt;&lt;br /&gt;
&amp;lt;b&amp;gt;BIG FAT NOTE: Do not use ifrename on current debian, use udev instead&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==System Prep==&lt;br /&gt;
*apt-get remove nfs-common rpcbind&lt;br /&gt;
*apt-get install ifrename&lt;br /&gt;
&lt;br /&gt;
==Multiple Network Interfaces on Debian==&lt;br /&gt;
*for i in eth0 eth1 eth2; do ADD=$(ifconfig $i | head -1 | cut -f 11 -d &amp;quot; &amp;quot;); echo &amp;quot;$i mac $ADD&amp;quot; &amp;gt;&amp;gt; /etc/iftab; done&lt;br /&gt;
*&amp;gt; /etc/network/interfaces; vi [[/etc/network/interfaces]]&lt;br /&gt;
&lt;br /&gt;
==Configure Packet Forwarding / Basic IPTables Rules Set / Network Startup Script==&lt;br /&gt;
*sed -i &#039;s/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/&#039; /etc/sysctl.conf&lt;br /&gt;
*sysctl -p&lt;br /&gt;
*mkdir /root/scripts&lt;br /&gt;
*vi [[/root/scripts/iptables-restore]]&lt;br /&gt;
*iptables-restore &amp;lt; /root/scripts/iptables-restore&lt;br /&gt;
*vi [[/root/scripts/netup.sh]]&lt;br /&gt;
*vi [[/root/scripts/netdown.sh]]&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Install_LibreSWAN_and_Xl2tpd&amp;diff=449</id>
		<title>Install LibreSWAN and Xl2tpd</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Install_LibreSWAN_and_Xl2tpd&amp;diff=449"/>
		<updated>2015-11-23T19:52:47Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* System Prep */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==System Prep==&lt;br /&gt;
*apt-get install libnss3-dev libnspr4-dev pkg-config libpam-dev libcap-ng-dev libcap-ng-utils libselinux-dev libcurl4-nss-dev libgmp3-dev flex bison gcc make libunbound-dev libpcap-dev libnss3-tools ppp libevent-dev libradius1&lt;br /&gt;
*apt-get install --no-install-recommends xmlto&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.all.accept_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.all.send_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.default.send_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*sysctl -p&lt;br /&gt;
*for i in $(ls /proc/sys/net/ipv4/conf/); do echo 0 &amp;gt; /proc/sys/net/ipv4/conf/$i/accept_redirects; echo 0 &amp;gt; /proc/sys/net/ipv4/conf/$i/send_redirects; done&lt;br /&gt;
&lt;br /&gt;
==Obtain and Install Libreswan==&lt;br /&gt;
*&amp;lt;b&amp;gt;Find latest downloads here: &amp;lt;/b&amp;gt;http://libreswan.org/&lt;br /&gt;
*cd /usr/src&lt;br /&gt;
*wget https://download.libreswan.org/libreswan-3.12.tar.gz&lt;br /&gt;
*tar zxf libreswan-3.12.tar.gz&lt;br /&gt;
*cd libreswan-3.12/&lt;br /&gt;
*make programs&lt;br /&gt;
*make install&lt;br /&gt;
&lt;br /&gt;
==Obtain and Install Xl2tpd==&lt;br /&gt;
*&amp;lt;b&amp;gt;Find latest downloads here: &amp;lt;/b&amp;gt;http://download.openswan.org/xl2tpd/&lt;br /&gt;
*cd /usr/src/&lt;br /&gt;
*wget http://download.openswan.org/xl2tpd/xl2tpd-1.3.1.tar.gz&lt;br /&gt;
*tar zxf xl2tpd-1.3.1.tar.gz&lt;br /&gt;
*cd xl2tpd-1.3.1/&lt;br /&gt;
*make&lt;br /&gt;
*make install&lt;br /&gt;
&lt;br /&gt;
==Configure Libreswan==&lt;br /&gt;
*&amp;lt;b&amp;gt;BIG FAT NOTE:&amp;lt;/b&amp;gt;certificate handling changed.  see: https://libreswan.org/wiki/3.14_X509&lt;br /&gt;
*scp -r root@192.168.26.10:/var/CA/computerisms.com/porchlian.computerisms.com/porchlian.computerisms.com.p12 root@192.168.26.10:/var/CA/computerisms.com/CA/Computerisms.Certificate.Authority.p12 root@192.168.26.10:/var/CA/computerisms.com/Computerisms.Certificate.Authority.crl ~&lt;br /&gt;
*certutil -N -d /etc/ipsec.d&lt;br /&gt;
**Enter password B0bsGates&lt;br /&gt;
*pk12util -i /root/Computerisms.Certificate.Authority.p12 -d /etc/ipsec.d&lt;br /&gt;
*certutil -M -n &amp;quot;Computerisms.Certificate.Authority&amp;quot; -d /etc/ipsec.d -t &amp;quot;TC,,&amp;quot;&lt;br /&gt;
*pk12util -i /root/porchlian.computerisms.com.p12 -d /etc/ipsec.d&lt;br /&gt;
*&amp;gt; /etc/ipsec.conf; vi [[/etc/ipsec.conf]]&lt;br /&gt;
*vi [[/etc/ipsec.secrets]]&lt;br /&gt;
*vi [[/etc/ipsec.d/nsspassword]]&lt;br /&gt;
*cp /root/Computerisms.Certificate.Authority.crl /etc/ipsec.d/crls/&lt;br /&gt;
&lt;br /&gt;
==Configure Xl2tpd==&lt;br /&gt;
*mkdir /etc/xl2tpd&lt;br /&gt;
*vi [[/etc/xl2tpd/xl2tpd.conf]]&lt;br /&gt;
*vi [[/etc/xl2tpd/ppp-options.xl2tpd]]&lt;br /&gt;
*touch /etc/xl2tpd/xl2tpd.control&lt;br /&gt;
&lt;br /&gt;
==Configure RadiusClient==&lt;br /&gt;
*&amp;gt; /etc/radiusclient/servers; vi [[/etc/radiusclient/servers]]&lt;br /&gt;
*&amp;gt; /etc/radiusclient/radiusclient.conf; vi [[/etc/radiusclient/radiusclient.conf]]&lt;br /&gt;
*echo &amp;quot;INCLUDE /etc/radiusclient/dictionary.microsoft&amp;quot; &amp;gt;&amp;gt; /etc/radiusclient/dictionary&lt;br /&gt;
*vi [[/etc/radiusclient/dictionary.microsoft]]&lt;br /&gt;
&lt;br /&gt;
==Start IPSec and Xl2tpd==&lt;br /&gt;
*ipsec setup start; tail -f /var/log/auth.log &amp;lt;b&amp;gt;&amp;lt;= Check for errors&amp;lt;/b&amp;gt;&lt;br /&gt;
*xl2tpd -c /etc/xl2tpd/xl2tpd.conf -C /etc/xl2tpd/l2tp-control&lt;br /&gt;
*systemctl enable ipsec&lt;br /&gt;
&lt;br /&gt;
==Finalize netup.sh script==&lt;br /&gt;
*vi [[/root/scripts/netup.sh]]&lt;br /&gt;
&lt;br /&gt;
==Configure Adminlian for Testing==&lt;br /&gt;
*Use winscp to obtain /var/CA/computerisms.com/BobMiller/bob.miller.p12 and put it on adminlian&lt;br /&gt;
*start=&amp;gt;run mmc=&amp;gt;file=&amp;gt;Add/Remove Snapin&lt;br /&gt;
*In the left pane, double click certificates=&amp;gt;in new window select computer account=&amp;gt;next=&amp;gt;Local computer=&amp;gt;Finish=&amp;gt;OK&lt;br /&gt;
*In the left pane, expand certificates=&amp;gt;right-click personal=&amp;gt;all tasks=&amp;gt;import&lt;br /&gt;
*Next=&amp;gt;Click browse button=&amp;gt;Select all file types (bottom right)=&amp;gt;navigate to bob.miller.p12=&amp;gt;open=&amp;gt;next=&amp;gt;enter password (S0ns0fB0b)=&amp;gt;Next=&amp;gt;Automatically Place=&amp;gt;Next=&amp;gt;Finish&lt;br /&gt;
*navigate to Network and Sharing center=&amp;gt;set up a new connection=&amp;gt;connect to a workplace=&amp;gt;create new connection=&amp;gt;use my internet=&amp;gt;set internet address as 192.168.25.15=&amp;gt;Set destination name as Computerisms=&amp;gt;Select the box that allows other people to use this connection=&amp;gt;Next=&amp;gt;Enter username (this is the user&#039;s name and password from Active Directory)=&amp;gt;Select remember password=&amp;gt;connect&lt;br /&gt;
*Let it spin and fail=&amp;gt;Set up the connection anyway&lt;br /&gt;
*navigate to change adapter settings=&amp;gt;right-click Computerisms Icon=&amp;gt;properties&lt;br /&gt;
*Security tab=&amp;gt;type of vpn is l2tp/IPSec=&amp;gt;Advanced Settings=&amp;gt;deselect Verify Name and Usage=&amp;gt;OK=&amp;gt;Set Data encryption to Option=&amp;gt;OK&lt;br /&gt;
&lt;br /&gt;
==Do the Testing With Adminlian==&lt;br /&gt;
*&amp;lt;b&amp;gt;Test VPN works/No NAT:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt; on worklian, disconnect the wireless connection from the .26 network and connect it to the .25 network&amp;lt;br&amp;gt;Test that you can connect to the vpn, ping 192.168.26.10 should work.&lt;br /&gt;
*&amp;lt;b&amp;gt;Test Domain Logon over VPN/No NAT:&amp;lt;/b&amp;gt; Log out of the machine, click switch user, then click the icon by the power button in the bottom right corner&amp;lt;br&amp;gt;enter your credentials, your logon script should run.&lt;br /&gt;
*&amp;lt;b&amp;gt;Test Domain Logon over VPN/With NAT:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;Shutdown the virtual machine and configure the network connection to use nat instead of bridging, boot up&amp;lt;br&amp;gt;start the logon process and click the network icon&amp;lt;br&amp;gt;Logon and make sure your logon script runs&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Create_a_Certificate_Authority&amp;diff=448</id>
		<title>Create a Certificate Authority</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Create_a_Certificate_Authority&amp;diff=448"/>
		<updated>2015-11-17T18:51:29Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Generate the Computerisms Certificate Authority */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Notes==&lt;br /&gt;
*You can have a CA that is too large.  8196 bits makes the webdav client fail.&lt;br /&gt;
*Instead of multiple certs for multiple sites, you can make one cert and put all served domain names in as subjectaltnames, then point all apache virtualhost configs to one cert&lt;br /&gt;
&lt;br /&gt;
==Generate the Computerisms Certificate Authority==&lt;br /&gt;
*mkdir -p /var/CA/computerisms.com/CA/{certs,crl,newcerts,private}&lt;br /&gt;
*cd /var/CA/computerisms.com&lt;br /&gt;
*echo 01 &amp;gt; CA/crlnumber&lt;br /&gt;
*chmod 700 /var/CA/computerisms.com/CA/private/&lt;br /&gt;
*touch /var/CA/computerisms.com/CA/index.txt&lt;br /&gt;
*vi [[/var/CA/computerisms.com/computerisms.ssl.conf]] &lt;br /&gt;
*openssl req -new -newkey rsa:4096 -keyout CA/private/cakey.pem -out careq.pem -config computerisms.ssl.conf&lt;br /&gt;
**&amp;lt;i&amp;gt;Choose a very strong password for your CA; fill in values as appropriate for you; when setting common name, choose a name indicating this is a CA, like Computerisms Certificate Authority, use (what will be) the system administrator&#039;s email address - like bob.miller@computerisms.com, enter the challenge password and optional company as you will&amp;lt;/i&amp;gt;&lt;br /&gt;
*openssl ca -create_serial -out CA/cacert.pem -days 3650 -keyfile CA/private/cakey.pem -selfsign -extensions v3_ca_has_san -config computerisms.ssl.conf -infiles careq.pem&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter your very strong CA password; examine the output &amp;lt;b&amp;gt;very&amp;lt;/b&amp;gt; carefully for typos and incorrect data; if everything checks out pres y/Enter/y/Enter&amp;lt;/i&amp;gt;&lt;br /&gt;
*rm careq.pem&lt;br /&gt;
*cp CA/cacert.pem CA/Computerisms.Certificate.Authority&lt;br /&gt;
*cd CA/&lt;br /&gt;
*openssl pkcs12 -export -in cacert.pem -inkey private/cakey.pem -certfile cacert.pem -name Computerisms.Certificate.Authority -out Computerisms.Certificate.Authority.p12&lt;br /&gt;
*vi [[/var/CA/computerisms.com/computerisms.ssl.conf]]&lt;br /&gt;
**Find and adjust the [v3_req] section:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ v3_req ]&lt;br /&gt;
subjectAltName                  = DNS:fqdn.computerisms.com    ## use this for machines&lt;br /&gt;
#subjectAltName                 = email:move                            ## use this for CA or person&lt;br /&gt;
basicConstraints                = CA:FALSE&lt;br /&gt;
keyUsage                        = nonRepudiation, digitalSignature, keyEncipherment     ##Use this line for everything except CAs&lt;br /&gt;
#keyUsage                        = nonRepudiation, digitalSignature, keyEncipherment, keyCertSign, cRLSign       ## Use this line for CAs&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Install Computerisms Certificate Authority==&lt;br /&gt;
*cp /var/CA/computerisms.com/CA/Computerisms.Certificate.Authority /usr/local/share/ca-certificates/Computerisms.Certificate.Authority.crt&lt;br /&gt;
*update-ca-certificates&lt;br /&gt;
&lt;br /&gt;
==Create Certificate for porchlian.computerisms.com==&lt;br /&gt;
*cd /var/CA/computerisms.com&lt;br /&gt;
*sed -i &#039;s/DNS:fqdn.computerisms.com/DNS:porchlian.computerisms.com/&#039; computerisms.ssl.conf&lt;br /&gt;
*openssl req -newkey rsa:4096 -keyout newkey.pem -out newreq.pem -config computerisms.ssl.conf&lt;br /&gt;
**&amp;lt;i&amp;gt;Choose a fairly strong password for this certificate; enter values appropriate for you; enter a common name of porchlian.computerisms.com; enter (what will be) the administrator&#039;s email address - like bob.miller@computerisms.com&amp;lt;/i&amp;gt;&lt;br /&gt;
*openssl ca -in newreq.pem -out newcert.pem -keyfile ./CA/private/cakey.pem -cert ./CA/cacert.pem -config computerisms.ssl.conf -extfile computerisms.ssl.conf -extensions usr_cert_has_san&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter your very strong CA password; examine the certificate carefully for typos and incorrect data; if everything checks out press y/Enter/y/Enter&amp;lt;/i&amp;gt;&lt;br /&gt;
*mkdir porchlian.computerisms.com&lt;br /&gt;
*mv newcert.pem porchlian.computerisms.com/porchlian.computerisms.com.pem&lt;br /&gt;
*mv newkey.pem porchlian.computerisms.com/porchlian.computerisms.com.key&lt;br /&gt;
*rm newreq.pem &lt;br /&gt;
*cd porchlian.computerisms.com&lt;br /&gt;
*openssl pkcs12 -export -in porchlian.computerisms.com.pem -inkey porchlian.computerisms.com.key -certfile ../CA/cacert.pem -name porchlian.computerisms.com -out porchlian.computerisms.com.p12&lt;br /&gt;
*chmod 640 porchlian.computerisms.com/*.key&lt;br /&gt;
&lt;br /&gt;
==Create Certificate for mail.computerisms.com==&lt;br /&gt;
*cd /var/CA/computerisms.com&lt;br /&gt;
*sed -i &#039;s/DNS:porchlian.computerisms.com/DNS:mail.computerisms.com/&#039; computerisms.ssl.conf&lt;br /&gt;
*openssl req -newkey rsa:4096 -keyout newkey.pem -out newreq.pem -config computerisms.ssl.conf&lt;br /&gt;
**&amp;lt;i&amp;gt;Choose a fairly strong password for this certificate; enter values appropriate for you; enter a common name of mail.computerisms.com; enter (what will be) the administrator&#039;s email address - like bob.miller@computerisms.com&amp;lt;/i&amp;gt;&lt;br /&gt;
*openssl ca -in newreq.pem -out newcert.pem -keyfile ./CA/private/cakey.pem -cert ./CA/cacert.pem -config computerisms.ssl.conf -extfile computerisms.ssl.conf -extensions usr_cert_has_san&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter your very strong CA password; examine the certificate carefully for typos and incorrect data; if everything checks out press y/Enter/y/Enter&amp;lt;/i&amp;gt;&lt;br /&gt;
*mkdir mail.computerisms.com&lt;br /&gt;
*mv newcert.pem mail.computerisms.com/mail.computerisms.com.pem&lt;br /&gt;
*mv newkey.pem mail.computerisms.com/mail.computerisms.com.key&lt;br /&gt;
*rm newreq.pem &lt;br /&gt;
*cd mail.computerisms.com/&lt;br /&gt;
*openssl rsa -in mail.computerisms.com.key -out mail.computerisms.com.nopw.key &lt;br /&gt;
**&amp;lt;i&amp;gt;Enter the fairly strong password for this certificate&amp;lt;/i&amp;gt;&lt;br /&gt;
*cat mail.computerisms.com.pem mail.computerisms.com.nopw.key &amp;gt;&amp;gt; mail.computerisms.com.crt&lt;br /&gt;
*chmod 640 *.crt *.key&lt;br /&gt;
&lt;br /&gt;
==Create Certificate for cal.computerisms.com==&lt;br /&gt;
*cd /var/CA/computerisms.com&lt;br /&gt;
*sed -i &#039;s/DNS:mail.computerisms.com/DNS:cal.computerisms.com/&#039; computerisms.ssl.conf&lt;br /&gt;
*openssl req -newkey rsa:4096 -keyout newkey.pem -out newreq.pem -config computerisms.ssl.conf&lt;br /&gt;
**&amp;lt;i&amp;gt;Choose a fairly strong password for this certificate; enter values appropriate for you; enter a common name of cal.computerisms.com; enter (what will be) the administrator&#039;s email address - like bob.miller@computerisms.com&amp;lt;/i&amp;gt;&lt;br /&gt;
*openssl ca -in newreq.pem -out newcert.pem -keyfile ./CA/private/cakey.pem -cert ./CA/cacert.pem -config computerisms.ssl.conf -extfile computerisms.ssl.conf -extensions usr_cert_has_san&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter your very strong CA password; examine the certificate carefully for typos and incorrect data; if everything checks out press y/Enter/y/Enter&amp;lt;/i&amp;gt;&lt;br /&gt;
*mkdir cal.computerisms.com&lt;br /&gt;
*mv newcert.pem cal.computerisms.com/cal.computerisms.com.pem&lt;br /&gt;
*mv newkey.pem cal.computerisms.com/cal.computerisms.com.key&lt;br /&gt;
*rm newreq.pem &lt;br /&gt;
*cd cal.computerisms.com/&lt;br /&gt;
*openssl rsa -in cal.computerisms.com.key -out cal.computerisms.com.nopw.key&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter the fairly strong password for this certificate&amp;lt;/i&amp;gt;&lt;br /&gt;
*chmod 640 *.key&lt;br /&gt;
&lt;br /&gt;
==Create Certificate for fetch.computerisms.com==&lt;br /&gt;
*cd /var/CA/computerisms.com&lt;br /&gt;
*sed -i &#039;s/DNS:cal.computerisms.com/DNS:fetch.computerisms.com/&#039; computerisms.ssl.conf&lt;br /&gt;
*openssl req -newkey rsa:4096 -keyout newkey.pem -out newreq.pem -config computerisms.ssl.conf&lt;br /&gt;
**&amp;lt;i&amp;gt;Choose a fairly strong password for this certificate; enter values appropriate for you; enter a common name of fetch.computerisms.com; enter (what will be) the administrator&#039;s email address - like bob.miller@computerisms.com&amp;lt;/i&amp;gt;&lt;br /&gt;
*openssl ca -in newreq.pem -out newcert.pem -keyfile ./CA/private/cakey.pem -cert ./CA/cacert.pem -config computerisms.ssl.conf -extfile computerisms.ssl.conf -extensions usr_cert_has_san&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter your very strong CA password; examine the certificate carefully for typos and incorrect data; if everything checks out press y/Enter/y/Enter&amp;lt;/i&amp;gt;&lt;br /&gt;
*mkdir fetch.computerisms.com&lt;br /&gt;
*mv newcert.pem fetch.computerisms.com/fetch.computerisms.com.pem&lt;br /&gt;
*mv newkey.pem fetch.computerisms.com/fetch.computerisms.com.key&lt;br /&gt;
*rm newreq.pem &lt;br /&gt;
*cd fetch.computerisms.com/&lt;br /&gt;
*openssl rsa -in fetch.computerisms.com.key -out fetch.computerisms.com.nopw.key&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter the fairly strong password for this certificate&amp;lt;/i&amp;gt;&lt;br /&gt;
*chmod 640 *.key&lt;br /&gt;
&lt;br /&gt;
==Create Certificate for files.computerisms.com==&lt;br /&gt;
*cd /var/CA/computerisms.com&lt;br /&gt;
*sed -i &#039;s/DNS:fetch.computerisms.com/DNS:files.computerisms.com/&#039; computerisms.ssl.conf&lt;br /&gt;
*openssl req -newkey rsa:4096 -keyout newkey.pem -out newreq.pem -config computerisms.ssl.conf&lt;br /&gt;
**&amp;lt;i&amp;gt;Choose a fairly strong password for this certificate; enter values appropriate for you; enter a common name of files.computerisms.com; enter (what will be) the administrator&#039;s email address - like bob.miller@computerisms.com&amp;lt;/i&amp;gt;&lt;br /&gt;
*openssl ca -in newreq.pem -out newcert.pem -keyfile ./CA/private/cakey.pem -cert ./CA/cacert.pem -config computerisms.ssl.conf -extfile computerisms.ssl.conf -extensions usr_cert_has_san&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter your very strong CA password; examine the certificate carefully for typos and incorrect data; if everything checks out press y/Enter/y/Enter&amp;lt;/i&amp;gt;&lt;br /&gt;
*mkdir files.computerisms.com&lt;br /&gt;
*mv newcert.pem files.computerisms.com/files.computerisms.com.pem&lt;br /&gt;
*mv newkey.pem files.computerisms.com/files.computerisms.com.key&lt;br /&gt;
*rm newreq.pem &lt;br /&gt;
*cd files.computerisms.com/&lt;br /&gt;
*openssl rsa -in files.computerisms.com.key -out files.computerisms.com.nopw.key&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter the fairly strong password for this certificate&amp;lt;/i&amp;gt;&lt;br /&gt;
*chmod 640 *.key&lt;br /&gt;
&lt;br /&gt;
==Create Certificate for rt.computerisms.com==&lt;br /&gt;
*cd /var/CA/computerisms.com&lt;br /&gt;
*sed -i &#039;s/DNS:files.computerisms.com/DNS:rt.computerisms.com/&#039; computerisms.ssl.conf&lt;br /&gt;
*openssl req -newkey rsa:4096 -keyout newkey.pem -out newreq.pem -config computerisms.ssl.conf&lt;br /&gt;
**&amp;lt;i&amp;gt;Choose a fairly strong password for this certificate; enter values appropriate for you; enter a common name of rt.computerisms.com; enter (what will be) the administrator&#039;s email address - like bob.miller@computerisms.com&amp;lt;/i&amp;gt;&lt;br /&gt;
*openssl ca -in newreq.pem -out newcert.pem -keyfile ./CA/private/cakey.pem -cert ./CA/cacert.pem -config computerisms.ssl.conf -extfile computerisms.ssl.conf -extensions usr_cert_has_san&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter your very strong CA password; examine the certificate carefully for typos and incorrect data; if everything checks out press y/Enter/y/Enter&amp;lt;/i&amp;gt;&lt;br /&gt;
*mkdir rt.computerisms.com&lt;br /&gt;
*mv newcert.pem rt.computerisms.com/rt.computerisms.com.pem&lt;br /&gt;
*mv newkey.pem rt.computerisms.com/rt.computerisms.com.key&lt;br /&gt;
*rm newreq.pem &lt;br /&gt;
*cd rt.computerisms.com/&lt;br /&gt;
*openssl rsa -in rt.computerisms.com.key -out rt.computerisms.com.nopw.key&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter the fairly strong password for this certificate&amp;lt;/i&amp;gt;&lt;br /&gt;
*chmod 640 *.key&lt;br /&gt;
&lt;br /&gt;
==Create Certificate for wiki.computerisms.com==&lt;br /&gt;
*cd /var/CA/computerisms.com&lt;br /&gt;
*sed -i &#039;s/DNS:rt.computerisms.com/DNS:wiki.computerisms.com/&#039; computerisms.ssl.conf&lt;br /&gt;
*openssl req -newkey rsa:4096 -keyout newkey.pem -out newreq.pem -config computerisms.ssl.conf&lt;br /&gt;
**&amp;lt;i&amp;gt;Choose a fairly strong password for this certificate; enter values appropriate for you; enter a common name of wiki.computerisms.com; enter (what will be) the administrator&#039;s email address - like bob.miller@computerisms.com&amp;lt;/i&amp;gt;&lt;br /&gt;
*openssl ca -in newreq.pem -out newcert.pem -keyfile ./CA/private/cakey.pem -cert ./CA/cacert.pem -config computerisms.ssl.conf -extfile computerisms.ssl.conf -extensions usr_cert_has_san&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter your very strong CA password; examine the certificate carefully for typos and incorrect data; if everything checks out press y/Enter/y/Enter&amp;lt;/i&amp;gt;&lt;br /&gt;
*mkdir wiki.computerisms.com&lt;br /&gt;
*mv newcert.pem wiki.computerisms.com/wiki.computerisms.com.pem&lt;br /&gt;
*mv newkey.pem wiki.computerisms.com/wiki.computerisms.com.key&lt;br /&gt;
*rm newreq.pem &lt;br /&gt;
*cd wiki.computerisms.com/&lt;br /&gt;
*openssl rsa -in wiki.computerisms.com.key -out wiki.computerisms.com.nopw.key&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter the fairly strong password for this certificate&amp;lt;/i&amp;gt;&lt;br /&gt;
*chmod 640 *.key&lt;br /&gt;
&lt;br /&gt;
==Create Certificate for ledger.computerisms.com==&lt;br /&gt;
*cd /var/CA/computerisms.com&lt;br /&gt;
*sed -i &#039;s/DNS:wiki.computerisms.com/DNS:ledger.computerisms.com/&#039; computerisms.ssl.conf&lt;br /&gt;
*openssl req -newkey rsa:4096 -keyout newkey.pem -out newreq.pem -config computerisms.ssl.conf&lt;br /&gt;
**&amp;lt;i&amp;gt;Choose a fairly strong password for this certificate; enter values appropriate for you; enter a common name of ledger.computerisms.com; enter (what will be) the administrator&#039;s email address - like bob.miller@computerisms.com&amp;lt;/i&amp;gt;&lt;br /&gt;
*openssl ca -in newreq.pem -out newcert.pem -keyfile ./CA/private/cakey.pem -cert ./CA/cacert.pem -config computerisms.ssl.conf -extfile computerisms.ssl.conf -extensions usr_cert_has_san&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter your very strong CA password; examine the certificate carefully for typos and incorrect data; if everything checks out press y/Enter/y/Enter&amp;lt;/i&amp;gt;&lt;br /&gt;
*mkdir ledger.computerisms.com&lt;br /&gt;
*mv newcert.pem ledger.computerisms.com/ledger.computerisms.com.pem&lt;br /&gt;
*mv newkey.pem ledger.computerisms.com/ledger.computerisms.com.key&lt;br /&gt;
*rm newreq.pem &lt;br /&gt;
*cd ledger.computerisms.com/&lt;br /&gt;
*openssl rsa -in ledger.computerisms.com.key -out ledger.computerisms.com.nopw.key&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter the fairly strong password for this certificate&amp;lt;/i&amp;gt;&lt;br /&gt;
*chmod 640 *.key&lt;br /&gt;
&lt;br /&gt;
==Create Certificate for nagios.computerisms.com==&lt;br /&gt;
*cd /var/CA/computerisms.com&lt;br /&gt;
*sed -i &#039;s/DNS:ledger.computerisms.com/DNS:nagios.computerisms.com/&#039; computerisms.ssl.conf&lt;br /&gt;
*openssl req -newkey rsa:4096 -keyout newkey.pem -out newreq.pem -config computerisms.ssl.conf&lt;br /&gt;
**&amp;lt;i&amp;gt;Choose a fairly strong password for this certificate; enter values appropriate for you; enter a common name of nagios.computerisms.com; enter (what will be) the administrator&#039;s email address - like bob.miller@computerisms.com&amp;lt;/i&amp;gt;&lt;br /&gt;
*openssl ca -in newreq.pem -out newcert.pem -keyfile ./CA/private/cakey.pem -cert ./CA/cacert.pem -config computerisms.ssl.conf -extfile computerisms.ssl.conf -extensions usr_cert_has_san&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter your very strong CA password; examine the certificate carefully for typos and incorrect data; if everything checks out press y/Enter/y/Enter&amp;lt;/i&amp;gt;&lt;br /&gt;
*mkdir nagios.computerisms.com&lt;br /&gt;
*mv newcert.pem nagios.computerisms.com/nagios.computerisms.com.pem&lt;br /&gt;
*mv newkey.pem nagios.computerisms.com/nagios.computerisms.com.key&lt;br /&gt;
*rm newreq.pem &lt;br /&gt;
*cd nagios.computerisms.com/&lt;br /&gt;
*openssl rsa -in nagios.computerisms.com.key -out nagios.computerisms.com.nopw.key&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter the fairly strong password for this certificate&amp;lt;/i&amp;gt;&lt;br /&gt;
*chmod 640 *.key&lt;br /&gt;
&lt;br /&gt;
==Create Certificate for pbx.computerisms.com==&lt;br /&gt;
*cd /var/CA/computerisms.com&lt;br /&gt;
*sed -i &#039;s/DNS:nagios.computerisms.com/DNS:pbx.computerisms.com/&#039; computerisms.ssl.conf&lt;br /&gt;
*openssl req -newkey rsa:4096 -keyout newkey.pem -out newreq.pem -config computerisms.ssl.conf&lt;br /&gt;
**&amp;lt;i&amp;gt;Choose a fairly strong password for this certificate; enter values appropriate for you; enter a common name of pbx.computerisms.com; enter (what will be) the administrator&#039;s email address - like bob.miller@computerisms.com&amp;lt;/i&amp;gt;&lt;br /&gt;
*openssl ca -in newreq.pem -out newcert.pem -keyfile ./CA/private/cakey.pem -cert ./CA/cacert.pem -config computerisms.ssl.conf -extfile computerisms.ssl.conf -extensions usr_cert_has_san&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter your very strong CA password; examine the certificate carefully for typos and incorrect data; if everything checks out press y/Enter/y/Enter&amp;lt;/i&amp;gt;&lt;br /&gt;
*mkdir pbx.computerisms.com&lt;br /&gt;
*mv newcert.pem pbx.computerisms.com/pbx.computerisms.com.pem&lt;br /&gt;
*mv newkey.pem pbx.computerisms.com/pbx.computerisms.com.key&lt;br /&gt;
*rm newreq.pem &lt;br /&gt;
*cd pbx.computerisms.com/&lt;br /&gt;
*openssl rsa -in pbx.computerisms.com.key -out pbx.computerisms.com.nopw.key&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter the fairly strong password for this certificate&amp;lt;/i&amp;gt;&lt;br /&gt;
*chmod 640 *.key&lt;br /&gt;
&lt;br /&gt;
==Create Certificate for listadmin.computerisms.com==&lt;br /&gt;
*cd /var/CA/computerisms.com&lt;br /&gt;
*sed -i &#039;s/DNS:pbx.computerisms.com/DNS:listadmin.computerisms.com/&#039; computerisms.ssl.conf&lt;br /&gt;
*openssl req -newkey rsa:4096 -keyout newkey.pem -out newreq.pem -config computerisms.ssl.conf&lt;br /&gt;
**&amp;lt;i&amp;gt;Choose a fairly strong password for this certificate; enter values appropriate for you; enter a common name of pbx.computerisms.com; enter (what will be) the administrator&#039;s email address - like bob.miller@computerisms.com&amp;lt;/i&amp;gt;&lt;br /&gt;
*openssl ca -in newreq.pem -out newcert.pem -keyfile ./CA/private/cakey.pem -cert ./CA/cacert.pem -config computerisms.ssl.conf -extfile computerisms.ssl.conf -extensions usr_cert_has_san&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter your very strong CA password; examine the certificate carefully for typos and incorrect data; if everything checks out press y/Enter/y/Enter&amp;lt;/i&amp;gt;&lt;br /&gt;
*mkdir listadmin.computerisms.com&lt;br /&gt;
*mv newcert.pem listadmin.computerisms.com/listadmin.computerisms.com.pem&lt;br /&gt;
*mv newkey.pem listadmin.computerisms.com/listadmin.computerisms.com.key&lt;br /&gt;
*rm newreq.pem &lt;br /&gt;
*cd listadmin.computerisms.com/&lt;br /&gt;
*openssl rsa -in listadmin.computerisms.com.key -out listadmin.computerisms.com.nopw.key&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter the fairly strong password for this certificate&amp;lt;/i&amp;gt;&lt;br /&gt;
*chmod 640 *.key&lt;br /&gt;
&lt;br /&gt;
==Create Certificate for listarchive.computerisms.com==&lt;br /&gt;
*cd /var/CA/computerisms.com&lt;br /&gt;
*sed -i &#039;s/DNS:listadmin.computerisms.com/DNS:listarchive.computerisms.com/&#039; computerisms.ssl.conf&lt;br /&gt;
*openssl req -newkey rsa:4096 -keyout newkey.pem -out newreq.pem -config computerisms.ssl.conf&lt;br /&gt;
**&amp;lt;i&amp;gt;Choose a fairly strong password for this certificate; enter values appropriate for you; enter a common name of listarchive.computerisms.com; enter (what will be) the administrator&#039;s email address - like bob.miller@computerisms.com&amp;lt;/i&amp;gt;&lt;br /&gt;
*openssl ca -in newreq.pem -out newcert.pem -keyfile ./CA/private/cakey.pem -cert ./CA/cacert.pem -config computerisms.ssl.conf -extfile computerisms.ssl.conf -extensions usr_cert_has_san&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter your very strong CA password; examine the certificate carefully for typos and incorrect data; if everything checks out press y/Enter/y/Enter&amp;lt;/i&amp;gt;&lt;br /&gt;
*mkdir listarchive.computerisms.com&lt;br /&gt;
*mv newcert.pem listarchive.computerisms.com/listarchive.computerisms.com.pem&lt;br /&gt;
*mv newkey.pem listarchive.computerisms.com/listarchive.computerisms.com.key&lt;br /&gt;
*rm newreq.pem &lt;br /&gt;
*cd listarchive.computerisms.com/&lt;br /&gt;
*openssl rsa -in listarchive.computerisms.com.key -out listarchive.computerisms.com.nopw.key&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter the fairly strong password for this certificate&amp;lt;/i&amp;gt;&lt;br /&gt;
*chmod 640 *.key&lt;br /&gt;
&lt;br /&gt;
==Create Certificate for media.computerisms.com==&lt;br /&gt;
*cd /var/CA/computerisms.com&lt;br /&gt;
*sed -i &#039;s/DNS:listarchive.computerisms.com/DNS:media.computerisms.com/&#039; computerisms.ssl.conf&lt;br /&gt;
*openssl req -newkey rsa:4096 -keyout newkey.pem -out newreq.pem -config computerisms.ssl.conf&lt;br /&gt;
**&amp;lt;i&amp;gt;Choose a fairly strong password for this certificate; enter values appropriate for you; enter a common name of media.computerisms.com; enter (what will be) the administrator&#039;s email address - like bob.miller@computerisms.com&amp;lt;/i&amp;gt;&lt;br /&gt;
*openssl ca -in newreq.pem -out newcert.pem -keyfile ./CA/private/cakey.pem -cert ./CA/cacert.pem -config computerisms.ssl.conf -extfile computerisms.ssl.conf -extensions usr_cert_has_san&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter your very strong CA password; examine the certificate carefully for typos and incorrect data; if everything checks out press y/Enter/y/Enter&amp;lt;/i&amp;gt;&lt;br /&gt;
*mkdir media.computerisms.com&lt;br /&gt;
*mv newcert.pem media.computerisms.com/media.computerisms.com.pem&lt;br /&gt;
*mv newkey.pem media.computerisms.com/media.computerisms.com.key&lt;br /&gt;
*rm newreq.pem &lt;br /&gt;
*cd media.computerisms.com/&lt;br /&gt;
*openssl rsa -in media.computerisms.com.key -out media.computerisms.com.nopw.key&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter the fairly strong password for this certificate&amp;lt;/i&amp;gt;&lt;br /&gt;
*chmod 640 *.key&lt;br /&gt;
&lt;br /&gt;
==Create Certificate for ups.computerisms.com==&lt;br /&gt;
*cd /var/CA/computerisms.com&lt;br /&gt;
*sed -i &#039;s/DNS:media.computerisms.com/DNS:ups.computerisms.com/&#039; computerisms.ssl.conf&lt;br /&gt;
*openssl req -newkey rsa:4096 -keyout newkey.pem -out newreq.pem -config computerisms.ssl.conf&lt;br /&gt;
**&amp;lt;i&amp;gt;Choose a fairly strong password for this certificate; enter values appropriate for you; enter a common name of ups.computerisms.com; enter (what will be) the administrator&#039;s email address - like bob.miller@computerisms.com&amp;lt;/i&amp;gt;&lt;br /&gt;
*openssl ca -in newreq.pem -out newcert.pem -keyfile ./CA/private/cakey.pem -cert ./CA/cacert.pem -config computerisms.ssl.conf -extfile computerisms.ssl.conf -extensions usr_cert_has_san&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter your very strong CA password; examine the certificate carefully for typos and incorrect data; if everything checks out press y/Enter/y/Enter&amp;lt;/i&amp;gt;&lt;br /&gt;
*mkdir ups.computerisms.com&lt;br /&gt;
*mv newcert.pem ups.computerisms.com/ups.computerisms.com.pem&lt;br /&gt;
*mv newkey.pem ups.computerisms.com/ups.computerisms.com.key&lt;br /&gt;
*rm newreq.pem &lt;br /&gt;
*cd ups.computerisms.com/&lt;br /&gt;
*openssl rsa -in ups.computerisms.com.key -out ups.computerisms.com.nopw.key&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter the fairly strong password for this certificate&amp;lt;/i&amp;gt;&lt;br /&gt;
*chmod 640 *.key&lt;br /&gt;
&lt;br /&gt;
==Create Certificate for dslobby.computerisms.com==&lt;br /&gt;
*cd /var/CA/computerisms.com&lt;br /&gt;
*sed -i &#039;s/DNS:ups.computerisms.com/DNS:dslobby.computerisms.com/&#039; computerisms.ssl.conf&lt;br /&gt;
*openssl req -newkey rsa:4096 -keyout newkey.pem -out newreq.pem -config computerisms.ssl.conf&lt;br /&gt;
**&amp;lt;i&amp;gt;Choose a fairly strong password for this certificate; enter values appropriate for you; enter a common name of dslobby.computerisms.com; enter (what will be) the administrator&#039;s email address - like bob.miller@computerisms.com&amp;lt;/i&amp;gt;&lt;br /&gt;
*openssl ca -in newreq.pem -out newcert.pem -keyfile ./CA/private/cakey.pem -cert ./CA/cacert.pem -config computerisms.ssl.conf -extfile computerisms.ssl.conf -extensions usr_cert_has_san&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter your very strong CA password; examine the certificate carefully for typos and incorrect data; if everything checks out press y/Enter/y/Enter&amp;lt;/i&amp;gt;&lt;br /&gt;
*mkdir dslobby.computerisms.com&lt;br /&gt;
*mv newcert.pem dslobby.computerisms.com/dslobby.computerisms.com.pem&lt;br /&gt;
*mv newkey.pem dslobby.computerisms.com/dslobby.computerisms.com.key&lt;br /&gt;
*rm newreq.pem &lt;br /&gt;
*cd dslobby.computerisms.com/&lt;br /&gt;
*openssl rsa -in dslobby.computerisms.com.key -out dslobby.computerisms.com.nopw.key &lt;br /&gt;
*grep -A 500 BEGIN dslobby.computerisms.com.pem &amp;gt; dslobby.computerisms.com.crt; dslobby.computerisms.com.nopw.key &amp;gt;&amp;gt; dslobby.computerisms.com.crt&lt;br /&gt;
*chmod 640 *.key *.crt&lt;br /&gt;
&lt;br /&gt;
==Create Personal Certificates==&lt;br /&gt;
*cd /var/CA/computerisms.com&lt;br /&gt;
*Edit the [ v3_req ] section in computerisms.ssl.conf =&amp;gt; comment the subjectAltName for DNS and uncomment subjectAltName for email&lt;br /&gt;
*openssl req -newkey rsa:4096 -keyout newkey.pem -out newreq.pem -config computerisms.ssl.conf&lt;br /&gt;
*&amp;lt;i&amp;gt;Choose a fairly strong but user-friendly password for this certificate; enter values appropriate for the individual this certificate is being generated for; enter a common name in the format of &amp;quot;Bob Miller&amp;quot;; enter (what will be) the user&#039;s email address - like bob.miller@computerisms.com&amp;lt;/i&amp;gt;&lt;br /&gt;
*openssl ca -in newreq.pem -out newcert.pem -keyfile ./CA/private/cakey.pem -cert ./CA/cacert.pem -config computerisms.ssl.conf -extfile computerisms.ssl.conf -extensions usr_cert_has_san&lt;br /&gt;
**&amp;lt;i&amp;gt;Enter your very strong CA password; examine the certificate carefully for typos and incorrect data; if everything checks out press y/Enter/y/Enter&amp;lt;/i&amp;gt;&lt;br /&gt;
*mkdir BobMiller&lt;br /&gt;
*mv newcert.pem BobMiller/bob.miller.pem&lt;br /&gt;
*mv newkey.pem BobMiller/bob.miller.key&lt;br /&gt;
*rm newreq.pem&lt;br /&gt;
*cd BobMiller/&lt;br /&gt;
*openssl pkcs12 -export -in bob.miller.pem -inkey bob.miller.key -certfile ../CA/cacert.pem -name bob.miller -out bob.miller.p12&lt;br /&gt;
*chmod 640 *.key&lt;br /&gt;
&lt;br /&gt;
==Revoking Certificates==&lt;br /&gt;
*Revoking a mistakenly named certficate:&lt;br /&gt;
*cd /var/CA/computerisms.com&lt;br /&gt;
*openssl ca -revoke media.was.ob/media.computerisms.com.pem -keyfile ./CA/private/cakey.pem -cert ./CA/cacert.pem -config computerisms.ssl.conf&lt;br /&gt;
*ln -s CA/ demoCA&lt;br /&gt;
*echo 01 &amp;gt; CA/crlnumber&lt;br /&gt;
*openssl ca -gencrl -crldays 3650 -keyfile ./CA/private/cakey.pem -cert ./CA/cacert.pem -out Computerisms.Certificate.Authority.crl&lt;br /&gt;
*samba-tool dns add houselian computerisms.com crl A ext.ern.ip.add&lt;br /&gt;
*scp Computerisms.Certificate.Authority.crl root@ext.ern.ip.add:/Computerisms/sites/computerisms.com&lt;br /&gt;
*Configure the external server to accept an ServerAlias of crl.computerisms.com, and add crl to your external zone.&lt;br /&gt;
*&amp;lt;b&amp;gt;NOT REQUIRED:&amp;lt;/b&amp;gt;openssl crl -in Computerisms.Certificate.Authority.crl -inform PEM -out Computerisms.Certificate.Authority.crl.der -outform DER&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Install_LibreSWAN_and_Xl2tpd&amp;diff=447</id>
		<title>Install LibreSWAN and Xl2tpd</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Install_LibreSWAN_and_Xl2tpd&amp;diff=447"/>
		<updated>2015-09-21T23:59:02Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Configure Libreswan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==System Prep==&lt;br /&gt;
*apt-get install libnss3-dev libnspr4-dev pkg-config libpam-dev libcap-ng-dev libcap-ng-utils libselinux-dev libcurl4-nss-dev libgmp3-dev flex bison gcc make libunbound-dev libpcap-dev libnss3-tools ppp libradius1&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.all.accept_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.all.send_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.default.send_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*sysctl -p&lt;br /&gt;
*for i in $(ls /proc/sys/net/ipv4/conf/); do echo 0 &amp;gt; /proc/sys/net/ipv4/conf/$i/accept_redirects; echo 0 &amp;gt; /proc/sys/net/ipv4/conf/$i/send_redirects; done&lt;br /&gt;
&lt;br /&gt;
==Obtain and Install Libreswan==&lt;br /&gt;
*&amp;lt;b&amp;gt;Find latest downloads here: &amp;lt;/b&amp;gt;http://libreswan.org/&lt;br /&gt;
*cd /usr/src&lt;br /&gt;
*wget https://download.libreswan.org/libreswan-3.12.tar.gz&lt;br /&gt;
*tar zxf libreswan-3.12.tar.gz&lt;br /&gt;
*cd libreswan-3.12/&lt;br /&gt;
*make programs&lt;br /&gt;
*make install&lt;br /&gt;
&lt;br /&gt;
==Obtain and Install Xl2tpd==&lt;br /&gt;
*&amp;lt;b&amp;gt;Find latest downloads here: &amp;lt;/b&amp;gt;http://download.openswan.org/xl2tpd/&lt;br /&gt;
*cd /usr/src/&lt;br /&gt;
*wget http://download.openswan.org/xl2tpd/xl2tpd-1.3.1.tar.gz&lt;br /&gt;
*tar zxf xl2tpd-1.3.1.tar.gz&lt;br /&gt;
*cd xl2tpd-1.3.1/&lt;br /&gt;
*make&lt;br /&gt;
*make install&lt;br /&gt;
&lt;br /&gt;
==Configure Libreswan==&lt;br /&gt;
*&amp;lt;b&amp;gt;BIG FAT NOTE:&amp;lt;/b&amp;gt;certificate handling changed.  see: https://libreswan.org/wiki/3.14_X509&lt;br /&gt;
*scp -r root@192.168.26.10:/var/CA/computerisms.com/porchlian.computerisms.com/porchlian.computerisms.com.p12 root@192.168.26.10:/var/CA/computerisms.com/CA/Computerisms.Certificate.Authority.p12 root@192.168.26.10:/var/CA/computerisms.com/Computerisms.Certificate.Authority.crl ~&lt;br /&gt;
*certutil -N -d /etc/ipsec.d&lt;br /&gt;
**Enter password B0bsGates&lt;br /&gt;
*pk12util -i /root/Computerisms.Certificate.Authority.p12 -d /etc/ipsec.d&lt;br /&gt;
*certutil -M -n &amp;quot;Computerisms.Certificate.Authority&amp;quot; -d /etc/ipsec.d -t &amp;quot;TC,,&amp;quot;&lt;br /&gt;
*pk12util -i /root/porchlian.computerisms.com.p12 -d /etc/ipsec.d&lt;br /&gt;
*&amp;gt; /etc/ipsec.conf; vi [[/etc/ipsec.conf]]&lt;br /&gt;
*vi [[/etc/ipsec.secrets]]&lt;br /&gt;
*vi [[/etc/ipsec.d/nsspassword]]&lt;br /&gt;
*cp /root/Computerisms.Certificate.Authority.crl /etc/ipsec.d/crls/&lt;br /&gt;
&lt;br /&gt;
==Configure Xl2tpd==&lt;br /&gt;
*mkdir /etc/xl2tpd&lt;br /&gt;
*vi [[/etc/xl2tpd/xl2tpd.conf]]&lt;br /&gt;
*vi [[/etc/xl2tpd/ppp-options.xl2tpd]]&lt;br /&gt;
*touch /etc/xl2tpd/xl2tpd.control&lt;br /&gt;
&lt;br /&gt;
==Configure RadiusClient==&lt;br /&gt;
*&amp;gt; /etc/radiusclient/servers; vi [[/etc/radiusclient/servers]]&lt;br /&gt;
*&amp;gt; /etc/radiusclient/radiusclient.conf; vi [[/etc/radiusclient/radiusclient.conf]]&lt;br /&gt;
*echo &amp;quot;INCLUDE /etc/radiusclient/dictionary.microsoft&amp;quot; &amp;gt;&amp;gt; /etc/radiusclient/dictionary&lt;br /&gt;
*vi [[/etc/radiusclient/dictionary.microsoft]]&lt;br /&gt;
&lt;br /&gt;
==Start IPSec and Xl2tpd==&lt;br /&gt;
*ipsec setup start; tail -f /var/log/auth.log &amp;lt;b&amp;gt;&amp;lt;= Check for errors&amp;lt;/b&amp;gt;&lt;br /&gt;
*xl2tpd -c /etc/xl2tpd/xl2tpd.conf -C /etc/xl2tpd/l2tp-control&lt;br /&gt;
*systemctl enable ipsec&lt;br /&gt;
&lt;br /&gt;
==Finalize netup.sh script==&lt;br /&gt;
*vi [[/root/scripts/netup.sh]]&lt;br /&gt;
&lt;br /&gt;
==Configure Adminlian for Testing==&lt;br /&gt;
*Use winscp to obtain /var/CA/computerisms.com/BobMiller/bob.miller.p12 and put it on adminlian&lt;br /&gt;
*start=&amp;gt;run mmc=&amp;gt;file=&amp;gt;Add/Remove Snapin&lt;br /&gt;
*In the left pane, double click certificates=&amp;gt;in new window select computer account=&amp;gt;next=&amp;gt;Local computer=&amp;gt;Finish=&amp;gt;OK&lt;br /&gt;
*In the left pane, expand certificates=&amp;gt;right-click personal=&amp;gt;all tasks=&amp;gt;import&lt;br /&gt;
*Next=&amp;gt;Click browse button=&amp;gt;Select all file types (bottom right)=&amp;gt;navigate to bob.miller.p12=&amp;gt;open=&amp;gt;next=&amp;gt;enter password (S0ns0fB0b)=&amp;gt;Next=&amp;gt;Automatically Place=&amp;gt;Next=&amp;gt;Finish&lt;br /&gt;
*navigate to Network and Sharing center=&amp;gt;set up a new connection=&amp;gt;connect to a workplace=&amp;gt;create new connection=&amp;gt;use my internet=&amp;gt;set internet address as 192.168.25.15=&amp;gt;Set destination name as Computerisms=&amp;gt;Select the box that allows other people to use this connection=&amp;gt;Next=&amp;gt;Enter username (this is the user&#039;s name and password from Active Directory)=&amp;gt;Select remember password=&amp;gt;connect&lt;br /&gt;
*Let it spin and fail=&amp;gt;Set up the connection anyway&lt;br /&gt;
*navigate to change adapter settings=&amp;gt;right-click Computerisms Icon=&amp;gt;properties&lt;br /&gt;
*Security tab=&amp;gt;type of vpn is l2tp/IPSec=&amp;gt;Advanced Settings=&amp;gt;deselect Verify Name and Usage=&amp;gt;OK=&amp;gt;Set Data encryption to Option=&amp;gt;OK&lt;br /&gt;
&lt;br /&gt;
==Do the Testing With Adminlian==&lt;br /&gt;
*&amp;lt;b&amp;gt;Test VPN works/No NAT:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt; on worklian, disconnect the wireless connection from the .26 network and connect it to the .25 network&amp;lt;br&amp;gt;Test that you can connect to the vpn, ping 192.168.26.10 should work.&lt;br /&gt;
*&amp;lt;b&amp;gt;Test Domain Logon over VPN/No NAT:&amp;lt;/b&amp;gt; Log out of the machine, click switch user, then click the icon by the power button in the bottom right corner&amp;lt;br&amp;gt;enter your credentials, your logon script should run.&lt;br /&gt;
*&amp;lt;b&amp;gt;Test Domain Logon over VPN/With NAT:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;Shutdown the virtual machine and configure the network connection to use nat instead of bridging, boot up&amp;lt;br&amp;gt;start the logon process and click the network icon&amp;lt;br&amp;gt;Logon and make sure your logon script runs&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=/root/scripts/bwrpt.pl&amp;diff=446</id>
		<title>/root/scripts/bwrpt.pl</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=/root/scripts/bwrpt.pl&amp;diff=446"/>
		<updated>2015-08-12T19:19:12Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;h5&amp;gt;New Script - Please read the notes at the top as things have changed since [[/root/scripts/bwrprt.sh]]&amp;lt;/h5&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/perl&lt;br /&gt;
&lt;br /&gt;
# Written by Bob Miller - bob@computerisms.ca&lt;br /&gt;
# Converted from Bash Script Feb 2014 and&lt;br /&gt;
# modified to account for &amp;gt;4GB/hour internet connections&lt;br /&gt;
&lt;br /&gt;
## This should cover any packages required on a standard debian box:&lt;br /&gt;
## apt-get install libfile-tail-perl libtext-trim-perl libdatetime-format-mail-perl libnet-sslglue-perl nbtscan&lt;br /&gt;
&lt;br /&gt;
## This script depends on configuration of the iptaccount module available in xtables-addons&lt;br /&gt;
## It assumes each subnet matches one physical interface which matches one iptaccount table name&lt;br /&gt;
## Some iptables rules like this should work:&lt;br /&gt;
## iptables -t filter -I FORWARD -j ACCOUNT --addr 192.168.25.0/24 --tname lan&lt;br /&gt;
## iptables -t mangle -I POSTROUTING -j ACCOUNT --addr 0/0 --tname wan&lt;br /&gt;
&lt;br /&gt;
## Set cron to run this often enough that the $wrap variable is not exceeded in one run&lt;br /&gt;
## For example, on slow connections, this can be run once per hour, on fast connections every&lt;br /&gt;
## 10 minutes.  It needs to be run offset so that the reporting fires before midnight, something&lt;br /&gt;
## Like so will do (note busy systems may need to run 2 minutes before midnight to give the &lt;br /&gt;
## script time to run instead of one minute):&lt;br /&gt;
## 9-59/10 * * * * PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin; /usr/bin/perl /root/scripts/bwrpt.pl&lt;br /&gt;
&lt;br /&gt;
#bwrpt.pl&lt;br /&gt;
use strict;&lt;br /&gt;
use warnings;&lt;br /&gt;
use Time::Piece;&lt;br /&gt;
use Time::Seconds;&lt;br /&gt;
use File::Path qw(make_path);&lt;br /&gt;
use File::Tail;&lt;br /&gt;
use Text::Trim;&lt;br /&gt;
use Net::SMTP;&lt;br /&gt;
use Net::SSLGlue::SMTP;&lt;br /&gt;
use DateTime;&lt;br /&gt;
use DateTime::Format::Mail;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
####################################################################################&lt;br /&gt;
####################################################################################&lt;br /&gt;
##                                                                                ##&lt;br /&gt;
##                          Configuration Options                                 ##&lt;br /&gt;
##                                                                                ##&lt;br /&gt;
####################################################################################&lt;br /&gt;
####################################################################################&lt;br /&gt;
&lt;br /&gt;
## Configure WAN ehternet port and matching --tname from iptables&lt;br /&gt;
our $wanface = &amp;quot;eth0&amp;quot;;&lt;br /&gt;
our $wanipt = &amp;quot;wan&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
## From your iptables, list all --tname values here except the wan&lt;br /&gt;
our @iptname = (&amp;quot;computerisms&amp;quot;, &amp;quot;computerisms-pub&amp;quot;, &amp;quot;computerisms2vpn&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
## Set the base directory to store daily data&lt;br /&gt;
our $base = &amp;quot;/root/scripts/bwdata&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
## Set 32-bit system or 64-bit system&lt;br /&gt;
our $wrap = 4294967295; ## Uncomment this for 32-bit&lt;br /&gt;
#our $wrap = 18446744073709551615; ## Uncomment this for 64-bit&lt;br /&gt;
&lt;br /&gt;
## Set these values as per the cronjob to the last run of the day to generate and send a report.&lt;br /&gt;
our $rpthour = &amp;quot;23&amp;quot;;&lt;br /&gt;
our $rptmin = &amp;quot;59&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
## Set Mega or Mibi&lt;br /&gt;
our $mb = &amp;quot;1000&amp;quot;; ## Uncomment this line for Mega&lt;br /&gt;
#our $mb = &amp;quot;1024&amp;quot;; ## Uncomment this line for Mibi&lt;br /&gt;
&lt;br /&gt;
## Set this to the max bandwidth in GB(GiB) before incurring overage charges&lt;br /&gt;
our $maxbw = &amp;quot;90&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
## Set how often the script runs in minutes; used to make sure a machine reboot doesn&#039;t trigger a wrap count&lt;br /&gt;
our $cycle = &amp;quot;10&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
## Configure mail settings&lt;br /&gt;
our $smtpserver = &amp;quot;mail.computerisms.com&amp;quot;;&lt;br /&gt;
our $mailfrom = &amp;quot;porchlian\@computerisms.com&amp;quot;;&lt;br /&gt;
our $mailto = &amp;quot;bob.miller\@computerisms.com&amp;quot;;&lt;br /&gt;
our $mailhello = &amp;quot;porchlian.computerisms.com&amp;quot;;&lt;br /&gt;
our $smtpauthname = &amp;quot;bob.miller\@computerisms.com&amp;quot;;&lt;br /&gt;
our $smtpauthpass = &amp;quot;XXXXXXXXXXXXXX&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
####################################################################################&lt;br /&gt;
####################################################################################&lt;br /&gt;
##                                                                                ##&lt;br /&gt;
##           You should not need to change anything below here                    ##&lt;br /&gt;
##                                                                                ##&lt;br /&gt;
####################################################################################&lt;br /&gt;
####################################################################################&lt;br /&gt;
&lt;br /&gt;
## Populate time and date variables&lt;br /&gt;
&lt;br /&gt;
our $date = Time::Piece-&amp;gt;new;&lt;br /&gt;
our $time = $date-&amp;gt;time;&lt;br /&gt;
our $hour = $date-&amp;gt;hour;&lt;br /&gt;
our $min = $date-&amp;gt;min;&lt;br /&gt;
our $month = $date-&amp;gt;strftime(&#039;%Y/%m&#039;);&lt;br /&gt;
our $thisday = $date-&amp;gt;strftime(&#039;%d&#039;);&lt;br /&gt;
our $today = $date-&amp;gt;ymd(&amp;quot;/&amp;quot;);&lt;br /&gt;
our $yesterday = ($date - ONE_DAY)-&amp;gt;ymd(&amp;quot;/&amp;quot;);&lt;br /&gt;
our $tzdate = DateTime-&amp;gt;now(time_zone =&amp;gt; &amp;quot;local&amp;quot;);&lt;br /&gt;
our $rfc2822 = DateTime::Format::Mail-&amp;gt;format_datetime($tzdate);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
## Test if Today&#039;s directory exists, if not create it&lt;br /&gt;
&lt;br /&gt;
if (!-d &amp;quot;$base&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$today&amp;quot;.&amp;quot;/&amp;quot;) {&lt;br /&gt;
	make_path(&amp;quot;$base&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$today&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
## Set System Executables&lt;br /&gt;
&lt;br /&gt;
our $doipt = qx(which iptaccount) or die &amp;quot;cannot find iptaccount program $!&amp;quot;;&lt;br /&gt;
our $donbt = qx(which nbtscan) or die &amp;quot;cannot find nbtscan program $!&amp;quot;;&lt;br /&gt;
chomp ($doipt, $donbt);&lt;br /&gt;
&lt;br /&gt;
## Did we reboot since last run?&lt;br /&gt;
our $reboot;&lt;br /&gt;
my $uptime = qx(cat /proc/uptime | cut -f 1 -d &amp;quot; &amp;quot;);&lt;br /&gt;
if ($uptime*60 &amp;lt; $cycle) {&lt;br /&gt;
	$reboot =&amp;quot;99&amp;quot;;&lt;br /&gt;
} else {&lt;br /&gt;
	$reboot = &amp;quot;0&amp;quot;;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
## Now Collect iptaccount data for internal subnets&lt;br /&gt;
&lt;br /&gt;
for my $curiptname (@iptname) {&lt;br /&gt;
	if (!-d &amp;quot;$base&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$today&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$curiptname&amp;quot;.&amp;quot;/&amp;quot;) {&lt;br /&gt;
		make_path(&amp;quot;$base&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$today&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$curiptname&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
	my @ipt = qx($doipt -s -l $curiptname);&lt;br /&gt;
	my ($lastrun, $hostname);&lt;br /&gt;
	foreach my $i (@ipt) {&lt;br /&gt;
		next if $i =~ /^\D/;&lt;br /&gt;
		chomp $i;&lt;br /&gt;
		my @ip = split(&#039;;&#039;, $i);&lt;br /&gt;
		my $curfile=&amp;quot;$base&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$today&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$curiptname&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$ip[0]&amp;quot;;&lt;br /&gt;
		if (!-e $curfile) {&lt;br /&gt;
			if (-e &amp;quot;$base&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$yesterday&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$curiptname&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$ip[0]&amp;quot;) {&lt;br /&gt;
				my $lastfile = File::Tail-&amp;gt;new(name =&amp;gt; &amp;quot;$base&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$yesterday&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$curiptname&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$ip[0]&amp;quot;, tail =&amp;gt; 1);&lt;br /&gt;
				$lastrun = $lastfile -&amp;gt; read;&lt;br /&gt;
				my @resetday = split (/ /, $lastrun);&lt;br /&gt;
				@resetday[5..9,11] = (0) x 6;&lt;br /&gt;
				$lastrun = &amp;quot;@resetday&amp;quot;;&lt;br /&gt;
				chomp $lastrun;&lt;br /&gt;
			} else {&lt;br /&gt;
				$lastrun = &amp;quot;0 0 0 0 0 0 0 0 0 0 undef 0 &amp;quot;;&lt;br /&gt;
				chomp $lastrun;&lt;br /&gt;
			}&lt;br /&gt;
		} else {&lt;br /&gt;
			my $lastfile = File::Tail-&amp;gt;new(name =&amp;gt; &amp;quot;$base&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$today&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$curiptname&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$ip[0]&amp;quot;, tail =&amp;gt; 1) or die $!;&lt;br /&gt;
			$lastrun = $lastfile -&amp;gt; read;&lt;br /&gt;
			chomp $lastrun;&lt;br /&gt;
		}&lt;br /&gt;
		my @lastrun = split(/ /, $lastrun);&lt;br /&gt;
		my ($sincelastin, $curttlin, $sincelastout, $curttlout);&lt;br /&gt;
		if ($lastrun[1] &amp;gt; $ip[2] &amp;amp;&amp;amp; $reboot != &amp;quot;99&amp;quot;) {&lt;br /&gt;
			$lastrun[8]++;&lt;br /&gt;
			$sincelastin = $wrap+$ip[2]-$lastrun[1];&lt;br /&gt;
			$curttlin = $lastrun[5]+$sincelastin;&lt;br /&gt;
		} else {&lt;br /&gt;
			$sincelastin = $ip[2]-$lastrun[1];&lt;br /&gt;
			$curttlin = $lastrun[5]+$sincelastin;&lt;br /&gt;
		}&lt;br /&gt;
		if ($lastrun[2] &amp;gt; $ip[4] &amp;amp;&amp;amp; $reboot != &amp;quot;99&amp;quot;) {&lt;br /&gt;
			$lastrun[9]++;&lt;br /&gt;
			$sincelastout = $wrap+$ip[4]-$lastrun[2];&lt;br /&gt;
			$curttlout = $lastrun[6]+$sincelastout;&lt;br /&gt;
		} else {&lt;br /&gt;
			$sincelastout = $ip[4]-$lastrun[2];&lt;br /&gt;
			$curttlout = $lastrun[6]+$sincelastout;&lt;br /&gt;
		}&lt;br /&gt;
		my $runttl = $curttlin+$curttlout;&lt;br /&gt;
		next if ( $sincelastin == 0 &amp;amp;&amp;amp; $sincelastout == 0 );&lt;br /&gt;
		my @hostlook;&lt;br /&gt;
		my $lookup = qx($donbt -s : $ip[0]);&lt;br /&gt;
		if ( $lookup ne &#039;&#039; ) {&lt;br /&gt;
			my @hostlook = split (/:/, $lookup);&lt;br /&gt;
			$hostname = $hostlook[1];&lt;br /&gt;
			$hostname = trim($hostname);&lt;br /&gt;
			chomp $hostname;&lt;br /&gt;
		} else {&lt;br /&gt;
			$lookup = qx(grep $ip[0] /proc/net/arp);&lt;br /&gt;
			if ( $lookup ne &#039;&#039; ) {&lt;br /&gt;
				@hostlook = split (&#039; &#039;, $lookup);&lt;br /&gt;
				$hostname = $hostlook[3];&lt;br /&gt;
				$hostname = trim($hostname);&lt;br /&gt;
				chomp $hostname;&lt;br /&gt;
				$hostname=$lastrun[10] if ( $hostname =~ /incomplete/ ); &lt;br /&gt;
				$hostname=$lastrun[10] if ( $hostname =~ /00:00:00:00:00:00/ ); &lt;br /&gt;
			} else { &lt;br /&gt;
				$hostname = &amp;quot;NOT DEFINABLE&amp;quot;;&lt;br /&gt;
				chomp $hostname;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		if ( $hostname ne &amp;quot;$lastrun[10]&amp;quot; ) {&lt;br /&gt;
			$lastrun[11]++;&lt;br /&gt;
		}&lt;br /&gt;
		open IP, &amp;quot;&amp;gt;&amp;gt; $curfile&amp;quot; or die $!;&lt;br /&gt;
		if ( -z $curfile) {&lt;br /&gt;
			print IP &amp;quot;timestamp iptin iptout insince outsince runttlin runttlout runttl wrapin wrapout hostname hostchange\n&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
		print IP &amp;quot;$time $ip[2] $ip[4] $sincelastin $sincelastout $curttlin $curttlout $runttl $lastrun[8] $lastrun[9] $hostname $lastrun[11]\n&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
## Now do data for WAN port&lt;br /&gt;
&lt;br /&gt;
my $curfile=&amp;quot;$base&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$today&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$wanface&amp;quot;;&lt;br /&gt;
my ($lastrun, $curwanipt, $sincelastipt, $ttlipt, $insince, $runttlin, $outsince, $runttlout);&lt;br /&gt;
if (!-e $curfile) {&lt;br /&gt;
	open WAN, &amp;quot;&amp;gt;&amp;gt; $curfile&amp;quot; or die $!;&lt;br /&gt;
	print WAN &amp;quot;timestamp ipt sysin sysout iptsince runipt insince outsince runttlin runttlout runttl wrapipt wrapin wrapout\n&amp;quot;;&lt;br /&gt;
	if (-e &amp;quot;$base&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$yesterday&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$wanface&amp;quot;) {&lt;br /&gt;
		my $lastfile = File::Tail-&amp;gt;new(name =&amp;gt; &amp;quot;$base&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$yesterday&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$wanface&amp;quot;, tail =&amp;gt; 1) or die $!;&lt;br /&gt;
		$lastrun = $lastfile -&amp;gt; read;&lt;br /&gt;
		my @resetday = split (/ /, $lastrun);&lt;br /&gt;
		@resetday[4..13] = (0) x 10;&lt;br /&gt;
		$lastrun = &amp;quot;@resetday&amp;quot;;&lt;br /&gt;
		chomp $lastrun;&lt;br /&gt;
	} else {&lt;br /&gt;
		$lastrun = &amp;quot;0 0 0 0 0 0 0 0 0 0 0 0 0 0&amp;quot;;&lt;br /&gt;
		chomp $lastrun;&lt;br /&gt;
	}&lt;br /&gt;
} else {&lt;br /&gt;
	my $lastfile = File::Tail-&amp;gt;new(name =&amp;gt; &amp;quot;$base&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$today&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$wanface&amp;quot;, tail =&amp;gt; 1) or die $!;&lt;br /&gt;
	$lastrun = $lastfile -&amp;gt; read;&lt;br /&gt;
	chomp $lastrun;&lt;br /&gt;
}&lt;br /&gt;
my @ipt = qx($doipt -s -l $wanipt);&lt;br /&gt;
foreach my $j (@ipt) {&lt;br /&gt;
	if ($j =~ /^\d/) {&lt;br /&gt;
		chomp $j;&lt;br /&gt;
		my @ipt = split(&#039;;&#039;, $j);&lt;br /&gt;
		$curwanipt =$ipt[2];&lt;br /&gt;
		last;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
open RX, &amp;quot;/sys/class/net/$wanface/statistics/rx_bytes&amp;quot; or die $!;&lt;br /&gt;
open TX, &amp;quot;/sys/class/net/$wanface/statistics/tx_bytes&amp;quot; or die $!;&lt;br /&gt;
my $sysin = &amp;lt;RX&amp;gt;;&lt;br /&gt;
my $sysout = &amp;lt;TX&amp;gt;;&lt;br /&gt;
chomp ($sysin, $sysout);&lt;br /&gt;
my @lastrun = split(/ /, $lastrun);&lt;br /&gt;
if ($lastrun[1] &amp;gt; $curwanipt &amp;amp;&amp;amp; $reboot != &amp;quot;99&amp;quot;) {&lt;br /&gt;
	$lastrun[11]++;&lt;br /&gt;
	$sincelastipt = $wrap+$curwanipt-$lastrun[1];&lt;br /&gt;
	$ttlipt = $lastrun[5]+$sincelastipt;&lt;br /&gt;
} else {&lt;br /&gt;
	$sincelastipt = $curwanipt-$lastrun[1];&lt;br /&gt;
	$ttlipt = $sincelastipt+$lastrun[5];&lt;br /&gt;
}&lt;br /&gt;
if ($lastrun[2] &amp;gt; $sysin &amp;amp;&amp;amp; $reboot != &amp;quot;99&amp;quot;) {&lt;br /&gt;
	$lastrun[12]++;&lt;br /&gt;
	$insince = $wrap+$sysin-$lastrun[2];&lt;br /&gt;
	$runttlin = $lastrun[8]+$insince;&lt;br /&gt;
} else {&lt;br /&gt;
	$insince = $sysin-$lastrun[2];&lt;br /&gt;
	$runttlin = $insince+$lastrun[8];&lt;br /&gt;
}&lt;br /&gt;
if ($lastrun[3] &amp;gt; $sysout &amp;amp;&amp;amp; $reboot != &amp;quot;99&amp;quot;) {&lt;br /&gt;
	$lastrun[13]++;&lt;br /&gt;
	$outsince = $wrap+$sysout-$lastrun[3];&lt;br /&gt;
	$runttlout = $lastrun[9]+$outsince;&lt;br /&gt;
} else {&lt;br /&gt;
	$outsince = $sysout-$lastrun[3];&lt;br /&gt;
	$runttlout = $outsince+$lastrun[9];&lt;br /&gt;
}&lt;br /&gt;
my $runttl = $runttlin+$runttlout;&lt;br /&gt;
open WAN, &amp;quot;&amp;gt;&amp;gt;$curfile&amp;quot; or die $!;&lt;br /&gt;
print WAN &amp;quot;$time $curwanipt $sysin $sysout $sincelastipt $ttlipt $insince $outsince $runttlin $runttlout $runttl $lastrun[11] $lastrun[12] $lastrun[13]\n&amp;quot;;&lt;br /&gt;
close WAN;&lt;br /&gt;
&lt;br /&gt;
## We should have a pretty comprehensive data set now, let&#039;s generate a report:&lt;br /&gt;
&lt;br /&gt;
if ( $hour == $rpthour &amp;amp;&amp;amp; $min == $rptmin) {&lt;br /&gt;
	my ($wanfile, $mtdwan, $mtdlan, $runipt, $runsysin, $runsysout, $runsysttl, $mtdreadwan, $mtdreadlan, $day, $daysip,  $todayipt, $todaysysin, $todaysysout, $todaysysttl, $mtdttlin, $mtdttlout, $mtdttl);&lt;br /&gt;
	my @mtdreadwan;&lt;br /&gt;
	my @mtdreadlan;&lt;br /&gt;
	my %daily=();&lt;br /&gt;
	my $rptfile = &amp;quot;$base&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$today&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;Daily.rpt&amp;quot;;&lt;br /&gt;
	opendir (DAYS,&amp;quot;$base&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$month&amp;quot;) or die &amp;quot;Can&#039;t open days $!&amp;quot;;&lt;br /&gt;
	while (my $day = readdir(DAYS)) {&lt;br /&gt;
		next if $day =~ /^\D/;&lt;br /&gt;
		my $wanfile = File::Tail-&amp;gt;new(name =&amp;gt; &amp;quot;$base&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$month&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$day&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$wanface&amp;quot;, tail =&amp;gt; 1);&lt;br /&gt;
		$mtdwan = $wanfile -&amp;gt; read;	&lt;br /&gt;
		@mtdreadwan = split (/ /, $mtdwan);&lt;br /&gt;
		$runipt += $mtdreadwan[5];&lt;br /&gt;
		$runsysin += $mtdreadwan[8];&lt;br /&gt;
		$runsysout += $mtdreadwan[9];&lt;br /&gt;
		$runsysttl += $mtdreadwan[10];&lt;br /&gt;
		if ($day == $thisday) {&lt;br /&gt;
			$todayipt = $mtdreadwan[5];&lt;br /&gt;
			$todaysysin = $mtdreadwan[8];&lt;br /&gt;
			$todaysysout = $mtdreadwan[9];&lt;br /&gt;
			$todaysysttl = $mtdreadwan[10];&lt;br /&gt;
		}&lt;br /&gt;
		foreach my $i (@iptname) {&lt;br /&gt;
			next if (!-e &amp;quot;$base&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$month&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$day&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$i&amp;quot;);&lt;br /&gt;
			opendir (IPT, &amp;quot;$base&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$month&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$day&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$i&amp;quot;) or die &amp;quot;can&#039;t open $i days-iptname $!&amp;quot;;&lt;br /&gt;
			while (my $daysip = readdir(IPT)) {&lt;br /&gt;
				next if $daysip =~ /^\D/;&lt;br /&gt;
				my $lanfile = File::Tail-&amp;gt;new(name =&amp;gt; &amp;quot;$base&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$month&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$day&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$i&amp;quot;.&amp;quot;/&amp;quot;.&amp;quot;$daysip&amp;quot;, tail =&amp;gt; 1);&lt;br /&gt;
				$mtdlan = $lanfile -&amp;gt; read;&lt;br /&gt;
				@mtdreadlan = split (/ /, $mtdlan);&lt;br /&gt;
				$daily{$day}{$i}{$daysip}{ttlin} = $mtdreadlan[5];&lt;br /&gt;
				$daily{$day}{$i}{$daysip}{ttlout} = $mtdreadlan[6];&lt;br /&gt;
				$daily{$day}{$i}{$daysip}{ttl} = $mtdreadlan[7];&lt;br /&gt;
				$daily{$i}{$daysip}{mtdttlin} += $mtdreadlan[5];&lt;br /&gt;
				$daily{$i}{$daysip}{mtdttlout} += $mtdreadlan[6];&lt;br /&gt;
				$daily{$i}{$daysip}{mtdttl} += $mtdreadlan[7];&lt;br /&gt;
				$daily{$day}{$i}{$daysip}{devname} = $mtdreadlan[10];	&lt;br /&gt;
				$daily{$day}{$i}{$daysip}{devchange} = $mtdreadlan[11];	&lt;br /&gt;
				$daily{$i}{mtdin} += $daily{$day}{$i}{$daysip}{ttlin};&lt;br /&gt;
				$daily{$i}{mtdout} += $daily{$day}{$i}{$daysip}{ttlout};&lt;br /&gt;
				$daily{$i}{mtd} += $daily{$day}{$i}{$daysip}{ttl};&lt;br /&gt;
				if ( $day == $thisday ) {&lt;br /&gt;
					$daily{$i}{dailyttlin} += $mtdreadlan[5];&lt;br /&gt;
					$daily{$i}{dailyttlout} += $mtdreadlan[6];&lt;br /&gt;
					$daily{$i}{dailyttl} += $mtdreadlan[7];&lt;br /&gt;
				}&lt;br /&gt;
			}		&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	my $percentage = int($runsysttl/($maxbw*$mb*$mb*$mb)*100);&lt;br /&gt;
	open RPT, &amp;quot;&amp;gt;&amp;gt; $rptfile&amp;quot; or die $!;&lt;br /&gt;
	print RPT &amp;quot;****************************************************************************\n&amp;quot;;&lt;br /&gt;
	print RPT &amp;quot;****************************************************************************\n&amp;quot;;&lt;br /&gt;
	print RPT &amp;quot;**                                                                        **\n&amp;quot;;&lt;br /&gt;
	print RPT &amp;quot;**                     DAILY BANDWIDTH REPORT                             **\n&amp;quot;;&lt;br /&gt;
	print RPT &amp;quot;**                  For day ending: $today                            **\n&amp;quot;;&lt;br /&gt;
	print RPT &amp;quot;**                Explanations and Documentation:                         **\n&amp;quot;;&lt;br /&gt;
	print RPT &amp;quot;**  http://help.computerisms.ca/index.php?title=Daily_Bandwidth_Report    **\n&amp;quot;;&lt;br /&gt;
	print RPT &amp;quot;**                                                                        **\n&amp;quot;;&lt;br /&gt;
	print RPT &amp;quot;****************************************************************************\n&amp;quot;;&lt;br /&gt;
	print RPT &amp;quot;****************************************************************************\n&amp;quot;;&lt;br /&gt;
	print RPT &amp;quot;\n&amp;quot;;&lt;br /&gt;
	print RPT &amp;quot;\n&amp;quot;;&lt;br /&gt;
	print RPT &amp;quot;============================================================================\n&amp;quot;;&lt;br /&gt;
	print RPT &amp;quot;SUMMARY\n&amp;quot;;&lt;br /&gt;
	print RPT &amp;quot;============================================================================\n&amp;quot;;&lt;br /&gt;
	print RPT &amp;quot;\n&amp;quot;;&lt;br /&gt;
	print RPT &amp;quot;                       Percentage of Allowed Bandwidth Used This Month:  $percentage%\n&amp;quot;;&lt;br /&gt;
	print RPT &amp;quot;\n&amp;quot;;&lt;br /&gt;
	printf (RPT &amp;quot;%-36s%17s%3s%17s%3s\n&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;Today&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;This Month&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
	printf (RPT &amp;quot;%-36s%17s%3s%17s%3s\n&amp;quot;, &amp;quot;Raw Data on External Port&amp;quot;, int($todaysysttl/$mb/$mb), &amp;quot;MB&amp;quot;, int($runsysttl/$mb/$mb), &amp;quot;MB&amp;quot;);&lt;br /&gt;
	printf (RPT &amp;quot;%-36s%17s%3s%17s%3s\n&amp;quot;, &amp;quot;Accounted Data on External Port&amp;quot;, int($todayipt/$mb/$mb), &amp;quot;MB&amp;quot;, int($runipt/$mb/$mb), &amp;quot;MB&amp;quot;);&lt;br /&gt;
	print RPT &amp;quot;\n&amp;quot;;&lt;br /&gt;
	foreach my $i (@iptname) {&lt;br /&gt;
		if ( ! defined $daily{$i}{mtd} ) { &lt;br /&gt;
			$daily{$i}{mtd} = 0;&lt;br /&gt;
		}&lt;br /&gt;
		if ( ! defined $daily{$i}{dailyttl} ) {&lt;br /&gt;
			$daily{$i}{dailyttl} = 0;&lt;br /&gt;
		}&lt;br /&gt;
		printf (RPT &amp;quot;%-36s%17s%3s%17s%3s\n&amp;quot;, &amp;quot;Accounted Data on $i&amp;quot;, int($daily{$i}{dailyttl}/$mb/$mb), &amp;quot;MB&amp;quot;, int($daily{$i}{mtd}/$mb/$mb), &amp;quot;MB&amp;quot;);&lt;br /&gt;
	}&lt;br /&gt;
	print RPT &amp;quot;\n&amp;quot;;&lt;br /&gt;
	print RPT &amp;quot;============================================================================\n&amp;quot;;&lt;br /&gt;
	print RPT &amp;quot;INTERNET USAGE - DETAILED REPORT\n&amp;quot;;&lt;br /&gt;
	print RPT &amp;quot;============================================================================\n&amp;quot;;&lt;br /&gt;
	print RPT &amp;quot;\n&amp;quot;;&lt;br /&gt;
	printf (RPT &amp;quot;%-36s%17s%3s%17s%3s\n&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;Today&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;This Month&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
	printf (RPT &amp;quot;%-36s%17s%3s%17s%3s\n&amp;quot;, &amp;quot;Raw Data - Download &amp;quot;, int($todaysysin/$mb/$mb), &amp;quot;MB&amp;quot;, int($runsysin/$mb/$mb), &amp;quot;MB&amp;quot;);&lt;br /&gt;
	printf (RPT &amp;quot;%-36s%17s%3s%17s%3s\n&amp;quot;, &amp;quot;Raw Data - Upload&amp;quot;, int($todaysysout/$mb/$mb), &amp;quot;MB&amp;quot;, int($runsysout/$mb/$mb), &amp;quot;MB&amp;quot;);&lt;br /&gt;
	printf (RPT &amp;quot;%-36s%17s%3s%17s%3s\n&amp;quot;, &amp;quot;Raw Data - Total Usage&amp;quot;, int($todaysysttl/$mb/$mb), &amp;quot;MB&amp;quot;, int($runsysttl/$mb/$mb), &amp;quot;MB&amp;quot;);&lt;br /&gt;
	printf (RPT &amp;quot;%-36s%17s%3s%17s%3s\n&amp;quot;, &amp;quot;Accounted Data - Total Usage&amp;quot;, int($todayipt/$mb/$mb), &amp;quot;MB&amp;quot;, int($runipt/$mb/$mb), &amp;quot;MB&amp;quot;);&lt;br /&gt;
	print RPT &amp;quot;\n&amp;quot;;&lt;br /&gt;
	foreach my $i (@iptname) {&lt;br /&gt;
		my $uci = uc $i;&lt;br /&gt;
		print RPT &amp;quot;============================================================================\n&amp;quot;;&lt;br /&gt;
		print RPT &amp;quot;$uci USAGE - DETAILED REPORT\n&amp;quot;;&lt;br /&gt;
		print RPT &amp;quot;============================================================================\n&amp;quot;;&lt;br /&gt;
		print RPT &amp;quot;\n&amp;quot;;&lt;br /&gt;
		printf (RPT &amp;quot;%-36s%17s%3s%17s%3s\n&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;Today&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;This Month&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
		for my $def ( $daily{$i}{dailyttlin}, $daily{$i}{mtdin}, $daily{$i}{dailyttlout}, $daily{$i}{mtdout}, $daily{$i}{dailyttl}, $daily{$i}{mtd} ) {&lt;br /&gt;
			if ( ! defined $def ) { &lt;br /&gt;
				$def = 0;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		printf (RPT &amp;quot;%-36s%17s%3s%17s%3s\n&amp;quot;, &amp;quot;Accounted Data - Download &amp;quot;, int($daily{$i}{dailyttlout}/$mb/$mb), &amp;quot;MB&amp;quot;, int($daily{$i}{mtdout}/$mb/$mb), &amp;quot;MB&amp;quot;);&lt;br /&gt;
		printf (RPT &amp;quot;%-36s%17s%3s%17s%3s\n&amp;quot;, &amp;quot;Accounted Data - Upload &amp;quot;, int($daily{$i}{dailyttlin}/$mb/$mb), &amp;quot;MB&amp;quot;, int($daily{$i}{mtdin}/$mb/$mb), &amp;quot;MB&amp;quot;);&lt;br /&gt;
		printf (RPT &amp;quot;%-36s%17s%3s%17s%3s\n&amp;quot;, &amp;quot;Accounted Data - Total Usage &amp;quot;, int($daily{$i}{dailyttl}/$mb/$mb), &amp;quot;MB&amp;quot;, int($daily{$i}{mtd}/$mb/$mb), &amp;quot;MB&amp;quot;);&lt;br /&gt;
		print RPT &amp;quot;\n&amp;quot;;&lt;br /&gt;
	}&lt;br /&gt;
	foreach my $i ( keys %{$daily{$thisday}} ) {&lt;br /&gt;
		my $uci = uc $i;&lt;br /&gt;
		print RPT &amp;quot;============================================================================\n&amp;quot;;&lt;br /&gt;
		print RPT &amp;quot;$uci HOSTS - SUMMARY REPORT - VALUES IN MB\n&amp;quot;;&lt;br /&gt;
		print RPT &amp;quot;============================================================================\n&amp;quot;;&lt;br /&gt;
		print RPT &amp;quot;\n&amp;quot;;&lt;br /&gt;
		printf (RPT &amp;quot;%-15s%6s%6s%6s%6s%6s%6s%19s%6s\n&amp;quot;, &amp;quot;IP ADDR&amp;quot;, &amp;quot;DAYDN&amp;quot;, &amp;quot;DAYUP&amp;quot;, &amp;quot;DAYTL&amp;quot;, &amp;quot;MTDDN&amp;quot;, &amp;quot;MTDUP&amp;quot;, &amp;quot;MTDTL&amp;quot;, &amp;quot;Last Seen Host  &amp;quot;, &amp;quot;Host #&amp;quot;);&lt;br /&gt;
			foreach my $ips (sort ( keys %{$daily{$thisday}{$i}} ) ) {&lt;br /&gt;
				printf (RPT &amp;quot;%-15s%6s%6s%6s%6s%6s%6s%19s%6s\n&amp;quot;, $ips, int($daily{$thisday}{$i}{$ips}{ttlout}/$mb/$mb), int($daily{$thisday}{$i}{$ips}{ttlin}/$mb/$mb), int($daily{$thisday}{$i}{$ips}{ttl}/$mb/$mb), int($daily{$i}{$ips}{mtdttlout}/$mb/$mb), int($daily{$i}{$ips}{mtdttlin}/$mb/$mb), int($daily{$i}{$ips}{mtdttl}/$mb/$mb), $daily{$thisday}{$i}{$ips}{devname}, $daily{$thisday}{$i}{$ips}{devchange});&lt;br /&gt;
			}&lt;br /&gt;
	}&lt;br /&gt;
	close (RPT);&lt;br /&gt;
## Send the report&lt;br /&gt;
&lt;br /&gt;
	open DRPT, &amp;quot;&amp;lt; $rptfile&amp;quot;;&lt;br /&gt;
	my $dailyreport = do { local $/; &amp;lt;DRPT&amp;gt; };&lt;br /&gt;
&lt;br /&gt;
	my $smtp = Net::SMTP-&amp;gt;new( &amp;quot;$smtpserver&amp;quot;, SSL =&amp;gt; 1, Hello =&amp;gt; &amp;quot;$mailhello&amp;quot;, SSL_ca_path =&amp;gt; &#039;/etc/ssl/certs&#039;, SSL_verify_mode =&amp;gt; 0) or die &amp;quot;Failed to open SMTP connection: $!&amp;quot;;;&lt;br /&gt;
	$smtp-&amp;gt;auth (&amp;quot;$smtpauthname&amp;quot;,&amp;quot;$smtpauthpass&amp;quot;);&lt;br /&gt;
	$smtp-&amp;gt;mail (&amp;quot;$mailfrom&amp;quot;);&lt;br /&gt;
	$smtp-&amp;gt;to (&amp;quot;$mailto&amp;quot;, &amp;quot;$mailto2&amp;quot;);&lt;br /&gt;
	$smtp-&amp;gt;data();&lt;br /&gt;
	$smtp-&amp;gt;datasend(&amp;quot;From: $mailfrom\n&amp;quot;);&lt;br /&gt;
	$smtp-&amp;gt;datasend(&amp;quot;To: $mailto, $mailto2\n&amp;quot;);&lt;br /&gt;
	$smtp-&amp;gt;datasend(&amp;quot;Subject: Daily BWRprt - Monthly usage is $percentage %\n&amp;quot;);&lt;br /&gt;
	$smtp-&amp;gt;datasend(&amp;quot;Date: $rfc2822\n&amp;quot;);&lt;br /&gt;
	$smtp-&amp;gt;datasend(&amp;quot;\n&amp;quot;);&lt;br /&gt;
	$smtp-&amp;gt;datasend(&amp;quot;$dailyreport\n&amp;quot;);&lt;br /&gt;
	$smtp-&amp;gt;dataend();&lt;br /&gt;
	$smtp-&amp;gt;quit;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=/lib/systemd/system/daemontools.service&amp;diff=445</id>
		<title>/lib/systemd/system/daemontools.service</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=/lib/systemd/system/daemontools.service&amp;diff=445"/>
		<updated>2015-08-10T17:55:27Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=DJB daemontools&lt;br /&gt;
After=sysinit.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=/command/svscanboot&lt;br /&gt;
Restart=always&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Organize_Hardware&amp;diff=444</id>
		<title>Organize Hardware</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Organize_Hardware&amp;diff=444"/>
		<updated>2015-07-18T20:19:37Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Physical Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Network Topology==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
                                   - 192.168.26.99 (wlan0)  &lt;br /&gt;
     worklian (Ubuntu Workstation) - 192.168.25.99 (eth0)&lt;br /&gt;
                     ^&lt;br /&gt;
                     |             (switch/WAP - 192.168.26.2)&lt;br /&gt;
                     V                 192.168.26.0/24  ====&amp;gt; 192.168.26.10  &amp;lt;= houselian (PDC/Primary Server)&lt;br /&gt;
     WAN &amp;lt;=&amp;gt; 192.168.25.0/24                    ^         \=&amp;gt; 192.168.26.11  &amp;lt;= shedlian (Backup Server)&lt;br /&gt;
                     ^                          |         \=&amp;gt; 192.168.26.100 &amp;lt;= adminlian (Windows Workstation) &amp;lt;= connects in bridged mode on the wireless link on worklian&lt;br /&gt;
                     |                          |         \=&amp;gt; 192.168.26.99  &amp;lt;= worklian (Wireless interface connects to switch/WAP)&lt;br /&gt;
                     V                          V         &lt;br /&gt;
            192.168.25.15 &amp;lt;= porchlian ====&amp;gt; 192.168.26.1 (eth1)&lt;br /&gt;
                 (eth0)                 \==&amp;gt; 192.168.27.1 (eth2) &amp;lt;= Public Network for foriegn machines =&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Additional Resources==&lt;br /&gt;
*My true production domain name is computerisms.ca.  Since I find it confusing to have the test and the real environment be the same name, computerisms.com will be the domain we are building.  I already have ownership of the name&lt;br /&gt;
&lt;br /&gt;
==Physical Hardware==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Windows Workstation - adminlian.computerisms.com&amp;lt;/h4&amp;gt;&lt;br /&gt;
*required for testing and configuration&lt;br /&gt;
*configured to run in a &amp;quot;work&amp;quot; network environment, and enable discovery.  &lt;br /&gt;
*configure ip address to be 192.168.26.100/gw=192.168.26.1/dns=192.168.26.10&lt;br /&gt;
*dns won&#039;t work yet, this is not a problem now.&lt;br /&gt;
*In this case I will be using Windows 7 SP1 freshly installed and updated on a Virtual Machine installed on my:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;SSH Client - worklian.computerisms.com&amp;lt;/h4&amp;gt;&lt;br /&gt;
*generate an ssh key (ssh-keygen -b 2048 -t rsa)&lt;br /&gt;
*in this case I will be using my ubuntu workstation&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Digital Signage Remote - dslobby.computerisms.com&amp;lt;/h4&amp;gt;&lt;br /&gt;
*An ubuntu virtual machine&lt;br /&gt;
*configure with IP address 192.168.26.25&lt;br /&gt;
*No special config required; by the time you need this, everything else will be in place&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Firewall - porchlian.computerisms.com&amp;lt;/h4&amp;gt;&lt;br /&gt;
*computer does need to be reliable, but not smart.  Use an old workstation.&lt;br /&gt;
*this computer must have at least 2 network cards.  larger networks with multiple subnets will probably need at least 3&lt;br /&gt;
*in this case I am using a very old dell dimension with 3 NICs&lt;br /&gt;
*install debian testing (jessie)&lt;br /&gt;
*create the file /root/.ssh/authorized_keys and put your public ssh key in it.&lt;br /&gt;
*cp /etc/vim/vimrc /root/.vimrc&lt;br /&gt;
**edit /root/.vimrc and find the line &#039;set compatible&#039;; uncomment it and change it to &#039;set nocompatible&#039;&lt;br /&gt;
*edit /root/.bashrc, enable colours and any other personal preferences&lt;br /&gt;
**PS1=&amp;quot;\[\e]0;${debian_chroot:+($debian_chroot)}\h \a\]$PS1&amp;quot; ##tab names on Tilda&lt;br /&gt;
*set apt repositories to contain contrib and non-free (optional, if needed for drivers)&lt;br /&gt;
*apt-get install ssh ntp rsync tcpdump nmap&lt;br /&gt;
*apt-get remove rpcbind nfs-common&lt;br /&gt;
*mkdir /root/scripts&lt;br /&gt;
*configure external eth0 interface as 192.168.25.15/gw=192.168.25.1/dns=192.168.25.1&lt;br /&gt;
*configure internal eth1 interface as 192.168.26.1/255.255.255.0&lt;br /&gt;
*configure internal eth2 interface as 192.168.27.1/255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Server - houselian.computerisms.com&amp;lt;/h4&amp;gt;&lt;br /&gt;
*this will be the workhorse of the network.  This will be the PDC and lots of other things&lt;br /&gt;
**for a network of one for testing, I am sure any p3 or better will work fine.  &lt;br /&gt;
**in a production environment you will need to split this into multiple machines&lt;br /&gt;
*in this case I am using a ~10 year old HP rackmount server&lt;br /&gt;
*install debian testing (jessie)&lt;br /&gt;
*create the file /root/.ssh/authorized_keys and put your public ssh key in it.&lt;br /&gt;
*cp /etc/vim/vimrc /root/.vimrc&lt;br /&gt;
**edit /root/.vimrc and find the line &#039;set compatible&#039;; uncomment it and change it to &#039;set nocompatible&#039;&lt;br /&gt;
*edit /root/.bashrc, enable colours and any other personal preferences&lt;br /&gt;
*set apt repositories to contain contrib and non-free (optional, if needed for drivers)&lt;br /&gt;
*apt-get install ssh ntp rsync build-essential bind9&lt;br /&gt;
*apt-get remove rpcbind&lt;br /&gt;
*mkdir /root/scripts&lt;br /&gt;
*configure your resolv.conf to use &#039;nameserver 127.0.0.1&#039; &lt;br /&gt;
*configure eth0 interface as 192.168.26.10&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Backups - shedlian.computerisms.com&amp;lt;/h4&amp;gt;&lt;br /&gt;
*this computer really does not need to be smart, only reliable&lt;br /&gt;
**in a testing environment, huge storage is not required&lt;br /&gt;
***However, install the OS on a small partition and leave the majority of the disk to be partitioned later&lt;br /&gt;
**in production this machine needs to have plenty of sata ports or some such&lt;br /&gt;
*in this case I am using another old dell dimension&lt;br /&gt;
*install debian testing (jessie)&lt;br /&gt;
*create the file /root/.ssh/authorized_keys and put your public ssh key in it.&lt;br /&gt;
*cp /etc/vim/vimrc /root/.vimrc&lt;br /&gt;
**edit /root/.vimrc and find the line &#039;set compatible&#039;; uncomment it and change it to &#039;set nocompatible&#039;&lt;br /&gt;
*edit /root/.bashrc, enable colours and any other personal preferences&lt;br /&gt;
*set apt repositories to contain contrib and non-free (optional, if needed for drivers)&lt;br /&gt;
*apt-get install ntp ssh&lt;br /&gt;
*apt-get remove rpcbind&lt;br /&gt;
*configure eth0 interface as 192.168.25.11&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Switch&amp;lt;/h4&amp;gt;&lt;br /&gt;
*for a one person test scenario, you can use a hub.&lt;br /&gt;
*scale up accordingly&lt;br /&gt;
*in this case, I am using a linksys wireless G unit flashed with openwrt.  &lt;br /&gt;
**The wan port is taped over to prevent accidents.  Always do this when you use wireless routers for switches.&lt;br /&gt;
&lt;br /&gt;
==Plug It In==&lt;br /&gt;
*everything has a fixed ip, so test basic connectivity.  make sure everybody can see everybody.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
*dpkg --clear-avail&amp;lt;br&amp;gt;^^ This command fixes the &amp;quot;dpkg: warning: parsing file&amp;quot; errors&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Install_Daemontools&amp;diff=443</id>
		<title>Install Daemontools</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Install_Daemontools&amp;diff=443"/>
		<updated>2015-06-18T01:01:17Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Make Daemontools boot automatically with systemd */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Server Prep==&lt;br /&gt;
*apt-get install build-essential&lt;br /&gt;
&lt;br /&gt;
==Obtain and install==&lt;br /&gt;
*cd /usr/src&lt;br /&gt;
*wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz&lt;br /&gt;
*tar zxf daemontools-0.76.tar.gz &lt;br /&gt;
*cd admin/daemontools-0.76/&lt;br /&gt;
*sed -i &#039;s/extern int errno;/#include &amp;lt;errno.h&amp;gt;/&#039; src/error.h&lt;br /&gt;
*./package/install&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
*echo &amp;quot;alias t64=&#039;tail -f current | tai64nlocal&#039;&amp;quot; &amp;gt;&amp;gt; /root/.bashrc&lt;br /&gt;
*echo &amp;quot;alias l64=&#039;cat current | tai64nlocal | less&#039;&amp;quot; &amp;gt;&amp;gt; /root/.bashrc&lt;br /&gt;
*echo &amp;quot;alias t64all=&#039;tail -f /service/*/log/main/current | tai64nlocal&#039;&amp;quot; &amp;gt;&amp;gt; /root/.bashrc&lt;br /&gt;
*echo &amp;quot;alias sv=&#039;svstat /service/*&#039;&amp;quot; &amp;gt;&amp;gt; /root/.bashrc&lt;br /&gt;
*echo &amp;quot;PATH=/usr/local/nagios/bin:/usr/local/nagios/sbin:/usr/local/samba/bin/:/usr/local/samba/sbin/:/var/qmail/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&amp;quot; &amp;gt;&amp;gt; /root/.bashrc&lt;br /&gt;
*echo &amp;quot;export PATH&amp;quot; &amp;gt;&amp;gt; /root/.bashrc&lt;br /&gt;
*mkdir -p -m 1755 /var/service/age.errors&lt;br /&gt;
*mkdir -p -m 0755 /var/service/age.errors/log&lt;br /&gt;
*vi [[/var/service/age.errors/run]]&lt;br /&gt;
*vi [[/var/service/multilog.run]]&lt;br /&gt;
*ln -s /var/service/multilog.run /var/service/age.errors/log/run&lt;br /&gt;
*chmod 0755 /var/service/age.errors/run&lt;br /&gt;
*chmod 0755 /var/service/age.errors/log/run&lt;br /&gt;
*cd /service/&lt;br /&gt;
*ln -s /var/service/age.errors/&lt;br /&gt;
&lt;br /&gt;
==Make Daemontools boot automatically with systemd==&lt;br /&gt;
*vi [[/lib/systemd/system/daemontools.service]]&lt;br /&gt;
*ln -s /lib/systemd/system/daemontools.service /etc/systemd/system/multi-user.target.wants/daemontools.service&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=/lib/systemd/system/daemontools.service&amp;diff=442</id>
		<title>/lib/systemd/system/daemontools.service</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=/lib/systemd/system/daemontools.service&amp;diff=442"/>
		<updated>2015-06-18T00:59:12Z</updated>

		<summary type="html">&lt;p&gt;Bob: Created page with &amp;quot;&amp;lt;pre&amp;gt; [Unit] Description=DJB daemontools After=sysinit.target  [Service] ExecStart=/command/svscanboot3 Restart=always  [Install] WantedBy=multi-user.target &amp;lt;/pre&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=DJB daemontools&lt;br /&gt;
After=sysinit.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=/command/svscanboot3&lt;br /&gt;
Restart=always&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Install_Daemontools&amp;diff=441</id>
		<title>Install Daemontools</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Install_Daemontools&amp;diff=441"/>
		<updated>2015-06-18T00:58:49Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Configure */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Server Prep==&lt;br /&gt;
*apt-get install build-essential&lt;br /&gt;
&lt;br /&gt;
==Obtain and install==&lt;br /&gt;
*cd /usr/src&lt;br /&gt;
*wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz&lt;br /&gt;
*tar zxf daemontools-0.76.tar.gz &lt;br /&gt;
*cd admin/daemontools-0.76/&lt;br /&gt;
*sed -i &#039;s/extern int errno;/#include &amp;lt;errno.h&amp;gt;/&#039; src/error.h&lt;br /&gt;
*./package/install&lt;br /&gt;
&lt;br /&gt;
==Configure==&lt;br /&gt;
*echo &amp;quot;alias t64=&#039;tail -f current | tai64nlocal&#039;&amp;quot; &amp;gt;&amp;gt; /root/.bashrc&lt;br /&gt;
*echo &amp;quot;alias l64=&#039;cat current | tai64nlocal | less&#039;&amp;quot; &amp;gt;&amp;gt; /root/.bashrc&lt;br /&gt;
*echo &amp;quot;alias t64all=&#039;tail -f /service/*/log/main/current | tai64nlocal&#039;&amp;quot; &amp;gt;&amp;gt; /root/.bashrc&lt;br /&gt;
*echo &amp;quot;alias sv=&#039;svstat /service/*&#039;&amp;quot; &amp;gt;&amp;gt; /root/.bashrc&lt;br /&gt;
*echo &amp;quot;PATH=/usr/local/nagios/bin:/usr/local/nagios/sbin:/usr/local/samba/bin/:/usr/local/samba/sbin/:/var/qmail/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin&amp;quot; &amp;gt;&amp;gt; /root/.bashrc&lt;br /&gt;
*echo &amp;quot;export PATH&amp;quot; &amp;gt;&amp;gt; /root/.bashrc&lt;br /&gt;
*mkdir -p -m 1755 /var/service/age.errors&lt;br /&gt;
*mkdir -p -m 0755 /var/service/age.errors/log&lt;br /&gt;
*vi [[/var/service/age.errors/run]]&lt;br /&gt;
*vi [[/var/service/multilog.run]]&lt;br /&gt;
*ln -s /var/service/multilog.run /var/service/age.errors/log/run&lt;br /&gt;
*chmod 0755 /var/service/age.errors/run&lt;br /&gt;
*chmod 0755 /var/service/age.errors/log/run&lt;br /&gt;
*cd /service/&lt;br /&gt;
*ln -s /var/service/age.errors/&lt;br /&gt;
&lt;br /&gt;
==Make Daemontools boot automatically with systemd==&lt;br /&gt;
*vi [[/lib/systemd/system/daemontools.service]]&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=/var/CA/computerisms.com/computerisms.ssl.conf&amp;diff=440</id>
		<title>/var/CA/computerisms.com/computerisms.ssl.conf</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=/var/CA/computerisms.com/computerisms.ssl.conf&amp;diff=440"/>
		<updated>2015-06-10T18:11:12Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
HOME			= .&lt;br /&gt;
RANDFILE		= $ENV::HOME/.rnd&lt;br /&gt;
oid_section		= new_oids&lt;br /&gt;
[ new_oids ]&lt;br /&gt;
[ ca ]&lt;br /&gt;
default_ca			= CA_default			# The default ca section&lt;br /&gt;
[ CA_default ]&lt;br /&gt;
dir				= ./CA				# Where everything is kept&lt;br /&gt;
certs				= $dir/certs			# Where the issued certs are kept&lt;br /&gt;
crl_dir				= $dir/crl			# Where the issued crl are kept&lt;br /&gt;
database			= $dir/index.txt		# database index file.&lt;br /&gt;
new_certs_dir			= $dir/newcerts			# default place for new certs.&lt;br /&gt;
certificate			= $dir/cacert.pem 		# The CA certificate&lt;br /&gt;
serial				= $dir/serial 			# The current serial number&lt;br /&gt;
crlnumber			= $dir/crlnumber		# the current crl number&lt;br /&gt;
crl				= $dir/crl.pem 			# The current CRL&lt;br /&gt;
private_key			= $dir/private/cakey.pem	# The private key&lt;br /&gt;
RANDFILE			= $dir/private/.rand		# private random number file&lt;br /&gt;
x509_extensions			= usr_cert			# The extentions to add to the cert&lt;br /&gt;
name_opt 			= ca_default			# Subject Name options&lt;br /&gt;
cert_opt 			= ca_default			# Certificate field options&lt;br /&gt;
crl_extensions        		= crl_ext&lt;br /&gt;
default_days			= 3650				# how long to certify for&lt;br /&gt;
default_crl_days		= 10				# how long before next CRL&lt;br /&gt;
default_md			= sha1				# which md to use.&lt;br /&gt;
preserve			= no				# keep passed DN ordering&lt;br /&gt;
policy				= policy_match&lt;br /&gt;
copy_extensions			= copy&lt;br /&gt;
[ policy_match ]&lt;br /&gt;
countryName			= match&lt;br /&gt;
stateOrProvinceName		= match&lt;br /&gt;
organizationName		= match&lt;br /&gt;
organizationalUnitName		= optional&lt;br /&gt;
commonName			= supplied&lt;br /&gt;
emailAddress			= optional&lt;br /&gt;
[ policy_anything ]&lt;br /&gt;
countryName			= optional&lt;br /&gt;
stateOrProvinceName		= optional&lt;br /&gt;
localityName			= optional&lt;br /&gt;
organizationName		= optional&lt;br /&gt;
organizationalUnitName		= optional&lt;br /&gt;
commonName			= supplied&lt;br /&gt;
emailAddress			= optional&lt;br /&gt;
[ req ]&lt;br /&gt;
default_bits			= 4096&lt;br /&gt;
default_keyfile 		= privkey.pem&lt;br /&gt;
distinguished_name		= req_distinguished_name&lt;br /&gt;
attributes			= req_attributes&lt;br /&gt;
x509_extensions			= v3_ca				# The extentions to add to the self signed cert&lt;br /&gt;
string_mask 			= default	&lt;br /&gt;
req_extensions 			= v3_req 			# The extensions to add to a certificate request&lt;br /&gt;
[ req_distinguished_name ]&lt;br /&gt;
countryName			= Country Name (2 letter code)&lt;br /&gt;
countryName_default		= CA&lt;br /&gt;
countryName_min			= 2&lt;br /&gt;
countryName_max			= 2&lt;br /&gt;
stateOrProvinceName		= State or Province Name (full name)&lt;br /&gt;
stateOrProvinceName_default	= Yukon&lt;br /&gt;
localityName			= Locality Name (eg, city)&lt;br /&gt;
localityName_default		= Whitehorse&lt;br /&gt;
0.organizationName		= Organization Name (eg, company)&lt;br /&gt;
0.organizationName_default	= Computerisms&lt;br /&gt;
organizationalUnitName		= Organizational Unit Name (eg, section)&lt;br /&gt;
organizationalUnitName_default	= Administrator&lt;br /&gt;
commonName			= Common Name (eg, YOUR name)&lt;br /&gt;
commonName_max			= 64&lt;br /&gt;
emailAddress			= Email Address&lt;br /&gt;
emailAddress_max		= 64&lt;br /&gt;
[ req_attributes ]&lt;br /&gt;
[ usr_cert ]&lt;br /&gt;
basicConstraints		= CA:FALSE&lt;br /&gt;
subjectKeyIdentifier		= hash&lt;br /&gt;
authorityKeyIdentifier		= keyid,issuer&lt;br /&gt;
crlDistributionPoints		= URI:http://crl.computerisms.com/Computerisms.Certificate.Authority.crl&lt;br /&gt;
[ usr_cert_has_san ]&lt;br /&gt;
basicConstraints		= CA:FALSE&lt;br /&gt;
subjectKeyIdentifier		= hash&lt;br /&gt;
authorityKeyIdentifier		= keyid,issuer&lt;br /&gt;
crlDistributionPoints		= URI:http://crl.computerisms.com/Computerisms.Certificate.Authority.crl&lt;br /&gt;
[ v3_req ]&lt;br /&gt;
#subjectAltName			= DNS:fqdn.computerisms.com		## use this for machines&lt;br /&gt;
subjectAltName			= email:move                            ## use this for CA or person&lt;br /&gt;
basicConstraints 		= CA:FALSE&lt;br /&gt;
#keyUsage 			= nonRepudiation, digitalSignature, keyEncipherment	##Use this line for everything except CAs &lt;br /&gt;
#extendedKeyUsage               = serverAuth ## Enable this line for VPN firewall certs&lt;br /&gt;
keyUsage                        = nonRepudiation, digitalSignature, keyEncipherment, keyCertSign, cRLSign       ## Use this line for CAs&lt;br /&gt;
[ v3_ca ]&lt;br /&gt;
subjectAltName			= email:move&lt;br /&gt;
subjectKeyIdentifier		= hash&lt;br /&gt;
authorityKeyIdentifier		= keyid:always,issuer:always&lt;br /&gt;
basicConstraints 		= CA:true&lt;br /&gt;
crlDistributionPoints		= URI:http://crl.computerisms.com/Computerisms.Certificate.Authority.crl&lt;br /&gt;
[ v3_ca_has_san ]&lt;br /&gt;
subjectKeyIdentifier		= hash&lt;br /&gt;
authorityKeyIdentifier		= keyid:always,issuer:always&lt;br /&gt;
basicConstraints 		= CA:true&lt;br /&gt;
crlDistributionPoints		= URI:http://crl.computerisms.com/Computerisms.Certificate.Authority.crl&lt;br /&gt;
[ crl_ext ]&lt;br /&gt;
authorityKeyIdentifier		= keyid:always,issuer:always&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Install_Rsnapshot&amp;diff=439</id>
		<title>Install Rsnapshot</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Install_Rsnapshot&amp;diff=439"/>
		<updated>2015-03-17T01:18:57Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Set Up All the Automation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==System Prep==&lt;br /&gt;
*&amp;lt;b&amp;gt;Note: In production this machine should be in a different building than houselian&amp;lt;/b&amp;gt;&lt;br /&gt;
*apt-get install rsnapshot&lt;br /&gt;
*Set up partitioning and fstab with the following considerations:&lt;br /&gt;
**mount your backup volume under /home/backups&lt;br /&gt;
**carve a 5 GB partition and mount it under /home/porchlian&lt;br /&gt;
**carve a 20 GB partition and mount it under /home/houselian&lt;br /&gt;
&lt;br /&gt;
==Configure Rsnapshot==&lt;br /&gt;
*mkdir /home/backups&lt;br /&gt;
*&amp;gt; /etc/rsnapshot.conf; vi [[/etc/rsnapshot.conf]]&lt;br /&gt;
*vi [[/root/scripts/rsnap.daily.sh]]&lt;br /&gt;
&lt;br /&gt;
==Configure Exim==&lt;br /&gt;
*dpkg-reconfigure exim4-config&lt;br /&gt;
*send by smart host, no local mail=&amp;gt;set System Name as computerisms.com=&amp;gt;Set IP as 127.0.0.1=&amp;gt;No destinations accepted=&amp;gt;set Visible Name as computerisms.com=&amp;gt;Set hostname as mail.computerisms.com=&amp;gt;no=&amp;gt;no&lt;br /&gt;
&lt;br /&gt;
==Distribute SSH Keys==&lt;br /&gt;
*ssh-keygen -b 4096 -t rsa (empty passphrase)&lt;br /&gt;
*i=$(cat /root/.ssh/id_rsa.pub); ssh root@192.168.26.10 &amp;quot;echo $i &amp;gt;&amp;gt; /root/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
*i=$(cat /root/.ssh/id_rsa.pub); ssh root@192.168.26.1 &amp;quot;echo $i &amp;gt;&amp;gt; /root/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
*ssh root@192.168.26.10 &amp;lt;b&amp;gt;&amp;lt;= Make sure you can log in without a password&amp;lt;/b&amp;gt;&lt;br /&gt;
*exit&lt;br /&gt;
*ssh root@192.168.26.1 &amp;lt;b&amp;gt;&amp;lt;= Make sure you can log in without a password&amp;lt;/b&amp;gt;&lt;br /&gt;
*exit&lt;br /&gt;
&lt;br /&gt;
==Set Up Database Dumps and Samba Backups==&lt;br /&gt;
*ssh root@192.168.26.10&lt;br /&gt;
*mkdir /root/SQLDumps&lt;br /&gt;
*mkdir /usr/local/SambaBackups&lt;br /&gt;
*chmod 750 /root/S* /root/scripts/&lt;br /&gt;
*vi [[/root/scripts/SQLdump.sh]]&lt;br /&gt;
*sed &#039;s!WHERE=/usr/local/backups!WHERE=/usr/local/SambaBackups!&#039; /usr/src/samba-4.0.7/source4/scripting/bin/samba_backup &amp;gt; /usr/local/samba/bin/samba_backup&lt;br /&gt;
*crontab -e&lt;br /&gt;
**10 21 * * * bash /root/scripts/SQLdump.sh&lt;br /&gt;
**10 42 * * * bash /usr/local/samba/bin/samba_backup&lt;br /&gt;
*exit&lt;br /&gt;
&lt;br /&gt;
==Set Up All the Automation==&lt;br /&gt;
*crontab -e&lt;br /&gt;
**00 21 * * * bash /root/scripts/rsnap.daily.sh&lt;br /&gt;
**01 21 * * 6 /usr/bin/rsnapshot weekly&lt;br /&gt;
**02 21 * * * nice -10 rsync -aHAXx --delete --exclude *.gvfs --exclude /proc --exclude /sys --exclude /dev --exclude /media --exclude /mnt --exclude /home --exclude /service root@192.168.26.10:/* /home/houselian&lt;br /&gt;
**03 21 * * * nice -10 rsync -aHAXx --delete --exclude *.gvfs --exclude /proc --exclude /sys --exclude /dev --exclude /media --exclude /mnt root@192.168.26.1:/* /home/porchlian&lt;br /&gt;
&lt;br /&gt;
==Restoring Porchlian/Houselian==&lt;br /&gt;
*reverse the rsync to a partition on a new drive, use a boot disk to install grub2 on that drive, and it will boot&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Install_LibreSWAN_and_Xl2tpd&amp;diff=438</id>
		<title>Install LibreSWAN and Xl2tpd</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Install_LibreSWAN_and_Xl2tpd&amp;diff=438"/>
		<updated>2014-12-24T01:13:45Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Start IPSec and Xl2tpd */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==System Prep==&lt;br /&gt;
*apt-get install libnss3-dev libnspr4-dev pkg-config libpam-dev libcap-ng-dev libcap-ng-utils libselinux-dev libcurl4-nss-dev libgmp3-dev flex bison gcc make libunbound-dev libpcap-dev libnss3-tools ppp libradius1&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.all.accept_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.all.send_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.default.send_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*sysctl -p&lt;br /&gt;
*for i in $(ls /proc/sys/net/ipv4/conf/); do echo 0 &amp;gt; /proc/sys/net/ipv4/conf/$i/accept_redirects; echo 0 &amp;gt; /proc/sys/net/ipv4/conf/$i/send_redirects; done&lt;br /&gt;
&lt;br /&gt;
==Obtain and Install Libreswan==&lt;br /&gt;
*&amp;lt;b&amp;gt;Find latest downloads here: &amp;lt;/b&amp;gt;http://libreswan.org/&lt;br /&gt;
*cd /usr/src&lt;br /&gt;
*wget https://download.libreswan.org/libreswan-3.12.tar.gz&lt;br /&gt;
*tar zxf libreswan-3.12.tar.gz&lt;br /&gt;
*cd libreswan-3.12/&lt;br /&gt;
*make programs&lt;br /&gt;
*make install&lt;br /&gt;
&lt;br /&gt;
==Obtain and Install Xl2tpd==&lt;br /&gt;
*&amp;lt;b&amp;gt;Find latest downloads here: &amp;lt;/b&amp;gt;http://download.openswan.org/xl2tpd/&lt;br /&gt;
*cd /usr/src/&lt;br /&gt;
*wget http://download.openswan.org/xl2tpd/xl2tpd-1.3.1.tar.gz&lt;br /&gt;
*tar zxf xl2tpd-1.3.1.tar.gz&lt;br /&gt;
*cd xl2tpd-1.3.1/&lt;br /&gt;
*make&lt;br /&gt;
*make install&lt;br /&gt;
&lt;br /&gt;
==Configure Libreswan==&lt;br /&gt;
*scp -r root@192.168.26.10:/var/CA/computerisms.com/porchlian.computerisms.com/porchlian.computerisms.com.p12 root@192.168.26.10:/var/CA/computerisms.com/CA/Computerisms.Certificate.Authority.p12 root@192.168.26.10:/var/CA/computerisms.com/Computerisms.Certificate.Authority.crl ~&lt;br /&gt;
*certutil -N -d /etc/ipsec.d&lt;br /&gt;
**Enter password B0bsGates&lt;br /&gt;
*pk12util -i /root/Computerisms.Certificate.Authority.p12 -d /etc/ipsec.d&lt;br /&gt;
*certutil -M -n &amp;quot;Computerisms.Certificate.Authority&amp;quot; -d /etc/ipsec.d -t &amp;quot;TC,,&amp;quot;&lt;br /&gt;
*pk12util -i /root/porchlian.computerisms.com.p12 -d /etc/ipsec.d&lt;br /&gt;
*&amp;gt; /etc/ipsec.conf; vi [[/etc/ipsec.conf]]&lt;br /&gt;
*vi [[/etc/ipsec.secrets]]&lt;br /&gt;
*vi [[/etc/ipsec.d/nsspassword]]&lt;br /&gt;
*cp /root/Computerisms.Certificate.Authority.crl /etc/ipsec.d/crls/&lt;br /&gt;
&lt;br /&gt;
==Configure Xl2tpd==&lt;br /&gt;
*mkdir /etc/xl2tpd&lt;br /&gt;
*vi [[/etc/xl2tpd/xl2tpd.conf]]&lt;br /&gt;
*vi [[/etc/xl2tpd/ppp-options.xl2tpd]]&lt;br /&gt;
*touch /etc/xl2tpd/xl2tpd.control&lt;br /&gt;
&lt;br /&gt;
==Configure RadiusClient==&lt;br /&gt;
*&amp;gt; /etc/radiusclient/servers; vi [[/etc/radiusclient/servers]]&lt;br /&gt;
*&amp;gt; /etc/radiusclient/radiusclient.conf; vi [[/etc/radiusclient/radiusclient.conf]]&lt;br /&gt;
*echo &amp;quot;INCLUDE /etc/radiusclient/dictionary.microsoft&amp;quot; &amp;gt;&amp;gt; /etc/radiusclient/dictionary&lt;br /&gt;
*vi [[/etc/radiusclient/dictionary.microsoft]]&lt;br /&gt;
&lt;br /&gt;
==Start IPSec and Xl2tpd==&lt;br /&gt;
*ipsec setup start; tail -f /var/log/auth.log &amp;lt;b&amp;gt;&amp;lt;= Check for errors&amp;lt;/b&amp;gt;&lt;br /&gt;
*xl2tpd -c /etc/xl2tpd/xl2tpd.conf -C /etc/xl2tpd/l2tp-control&lt;br /&gt;
*systemctl enable ipsec&lt;br /&gt;
&lt;br /&gt;
==Finalize netup.sh script==&lt;br /&gt;
*vi [[/root/scripts/netup.sh]]&lt;br /&gt;
&lt;br /&gt;
==Configure Adminlian for Testing==&lt;br /&gt;
*Use winscp to obtain /var/CA/computerisms.com/BobMiller/bob.miller.p12 and put it on adminlian&lt;br /&gt;
*start=&amp;gt;run mmc=&amp;gt;file=&amp;gt;Add/Remove Snapin&lt;br /&gt;
*In the left pane, double click certificates=&amp;gt;in new window select computer account=&amp;gt;next=&amp;gt;Local computer=&amp;gt;Finish=&amp;gt;OK&lt;br /&gt;
*In the left pane, expand certificates=&amp;gt;right-click personal=&amp;gt;all tasks=&amp;gt;import&lt;br /&gt;
*Next=&amp;gt;Click browse button=&amp;gt;Select all file types (bottom right)=&amp;gt;navigate to bob.miller.p12=&amp;gt;open=&amp;gt;next=&amp;gt;enter password (S0ns0fB0b)=&amp;gt;Next=&amp;gt;Automatically Place=&amp;gt;Next=&amp;gt;Finish&lt;br /&gt;
*navigate to Network and Sharing center=&amp;gt;set up a new connection=&amp;gt;connect to a workplace=&amp;gt;create new connection=&amp;gt;use my internet=&amp;gt;set internet address as 192.168.25.15=&amp;gt;Set destination name as Computerisms=&amp;gt;Select the box that allows other people to use this connection=&amp;gt;Next=&amp;gt;Enter username (this is the user&#039;s name and password from Active Directory)=&amp;gt;Select remember password=&amp;gt;connect&lt;br /&gt;
*Let it spin and fail=&amp;gt;Set up the connection anyway&lt;br /&gt;
*navigate to change adapter settings=&amp;gt;right-click Computerisms Icon=&amp;gt;properties&lt;br /&gt;
*Security tab=&amp;gt;type of vpn is l2tp/IPSec=&amp;gt;Advanced Settings=&amp;gt;deselect Verify Name and Usage=&amp;gt;OK=&amp;gt;Set Data encryption to Option=&amp;gt;OK&lt;br /&gt;
&lt;br /&gt;
==Do the Testing With Adminlian==&lt;br /&gt;
*&amp;lt;b&amp;gt;Test VPN works/No NAT:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt; on worklian, disconnect the wireless connection from the .26 network and connect it to the .25 network&amp;lt;br&amp;gt;Test that you can connect to the vpn, ping 192.168.26.10 should work.&lt;br /&gt;
*&amp;lt;b&amp;gt;Test Domain Logon over VPN/No NAT:&amp;lt;/b&amp;gt; Log out of the machine, click switch user, then click the icon by the power button in the bottom right corner&amp;lt;br&amp;gt;enter your credentials, your logon script should run.&lt;br /&gt;
*&amp;lt;b&amp;gt;Test Domain Logon over VPN/With NAT:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;Shutdown the virtual machine and configure the network connection to use nat instead of bridging, boot up&amp;lt;br&amp;gt;start the logon process and click the network icon&amp;lt;br&amp;gt;Logon and make sure your logon script runs&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=/root/scripts/netup.sh&amp;diff=437</id>
		<title>/root/scripts/netup.sh</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=/root/scripts/netup.sh&amp;diff=437"/>
		<updated>2014-11-20T21:41:10Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Finalized Config */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Initial Config==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
sysctl -p&lt;br /&gt;
iptables-restore &amp;lt; /root/scripts/iptables-restore&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Finalized Config==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
sysctl -p&lt;br /&gt;
/sbin/iptables-restore &amp;lt; /root/scripts/iptables-restore&lt;br /&gt;
/bin/bash /root/scripts/qos.reset.sh&lt;br /&gt;
/bin/bash /root/scripts/qos.sh&lt;br /&gt;
##Note with libreswan3.9 and systemd, this line will hang the box on bootup:&lt;br /&gt;
#/usr/local/sbin/ipsec setup start&lt;br /&gt;
/usr/local/sbin/xl2tpd -c /etc/xl2tpd/xl2tpd.conf -C /etc/xl2tpd/xl2tpd.control&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Install_LibreSWAN_and_Xl2tpd&amp;diff=436</id>
		<title>Install LibreSWAN and Xl2tpd</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Install_LibreSWAN_and_Xl2tpd&amp;diff=436"/>
		<updated>2014-11-20T21:40:33Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Configure Xl2tpd */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==System Prep==&lt;br /&gt;
*apt-get install libnss3-dev libnspr4-dev pkg-config libpam-dev libcap-ng-dev libcap-ng-utils libselinux-dev libcurl4-nss-dev libgmp3-dev flex bison gcc make libunbound-dev libpcap-dev libnss3-tools ppp libradius1&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.all.accept_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.all.send_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.default.send_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*sysctl -p&lt;br /&gt;
*for i in $(ls /proc/sys/net/ipv4/conf/); do echo 0 &amp;gt; /proc/sys/net/ipv4/conf/$i/accept_redirects; echo 0 &amp;gt; /proc/sys/net/ipv4/conf/$i/send_redirects; done&lt;br /&gt;
&lt;br /&gt;
==Obtain and Install Libreswan==&lt;br /&gt;
*&amp;lt;b&amp;gt;Find latest downloads here: &amp;lt;/b&amp;gt;http://libreswan.org/&lt;br /&gt;
*cd /usr/src&lt;br /&gt;
*wget https://download.libreswan.org/libreswan-3.12.tar.gz&lt;br /&gt;
*tar zxf libreswan-3.12.tar.gz&lt;br /&gt;
*cd libreswan-3.12/&lt;br /&gt;
*make programs&lt;br /&gt;
*make install&lt;br /&gt;
&lt;br /&gt;
==Obtain and Install Xl2tpd==&lt;br /&gt;
*&amp;lt;b&amp;gt;Find latest downloads here: &amp;lt;/b&amp;gt;http://download.openswan.org/xl2tpd/&lt;br /&gt;
*cd /usr/src/&lt;br /&gt;
*wget http://download.openswan.org/xl2tpd/xl2tpd-1.3.1.tar.gz&lt;br /&gt;
*tar zxf xl2tpd-1.3.1.tar.gz&lt;br /&gt;
*cd xl2tpd-1.3.1/&lt;br /&gt;
*make&lt;br /&gt;
*make install&lt;br /&gt;
&lt;br /&gt;
==Configure Libreswan==&lt;br /&gt;
*scp -r root@192.168.26.10:/var/CA/computerisms.com/porchlian.computerisms.com/porchlian.computerisms.com.p12 root@192.168.26.10:/var/CA/computerisms.com/CA/Computerisms.Certificate.Authority.p12 root@192.168.26.10:/var/CA/computerisms.com/Computerisms.Certificate.Authority.crl ~&lt;br /&gt;
*certutil -N -d /etc/ipsec.d&lt;br /&gt;
**Enter password B0bsGates&lt;br /&gt;
*pk12util -i /root/Computerisms.Certificate.Authority.p12 -d /etc/ipsec.d&lt;br /&gt;
*certutil -M -n &amp;quot;Computerisms.Certificate.Authority&amp;quot; -d /etc/ipsec.d -t &amp;quot;TC,,&amp;quot;&lt;br /&gt;
*pk12util -i /root/porchlian.computerisms.com.p12 -d /etc/ipsec.d&lt;br /&gt;
*&amp;gt; /etc/ipsec.conf; vi [[/etc/ipsec.conf]]&lt;br /&gt;
*vi [[/etc/ipsec.secrets]]&lt;br /&gt;
*vi [[/etc/ipsec.d/nsspassword]]&lt;br /&gt;
*cp /root/Computerisms.Certificate.Authority.crl /etc/ipsec.d/crls/&lt;br /&gt;
&lt;br /&gt;
==Configure Xl2tpd==&lt;br /&gt;
*mkdir /etc/xl2tpd&lt;br /&gt;
*vi [[/etc/xl2tpd/xl2tpd.conf]]&lt;br /&gt;
*vi [[/etc/xl2tpd/ppp-options.xl2tpd]]&lt;br /&gt;
*touch /etc/xl2tpd/xl2tpd.control&lt;br /&gt;
&lt;br /&gt;
==Configure RadiusClient==&lt;br /&gt;
*&amp;gt; /etc/radiusclient/servers; vi [[/etc/radiusclient/servers]]&lt;br /&gt;
*&amp;gt; /etc/radiusclient/radiusclient.conf; vi [[/etc/radiusclient/radiusclient.conf]]&lt;br /&gt;
*echo &amp;quot;INCLUDE /etc/radiusclient/dictionary.microsoft&amp;quot; &amp;gt;&amp;gt; /etc/radiusclient/dictionary&lt;br /&gt;
*vi [[/etc/radiusclient/dictionary.microsoft]]&lt;br /&gt;
&lt;br /&gt;
==Start IPSec and Xl2tpd==&lt;br /&gt;
*ipsec setup start; tail -f /var/log/auth.log &amp;lt;b&amp;gt;&amp;lt;= Check for errors&amp;lt;/b&amp;gt;&lt;br /&gt;
*xl2tpd -C /etc/xl2tpd/l2tp-control&lt;br /&gt;
*systemctl enable ipsec&lt;br /&gt;
&lt;br /&gt;
==Finalize netup.sh script==&lt;br /&gt;
*vi [[/root/scripts/netup.sh]]&lt;br /&gt;
&lt;br /&gt;
==Configure Adminlian for Testing==&lt;br /&gt;
*Use winscp to obtain /var/CA/computerisms.com/BobMiller/bob.miller.p12 and put it on adminlian&lt;br /&gt;
*start=&amp;gt;run mmc=&amp;gt;file=&amp;gt;Add/Remove Snapin&lt;br /&gt;
*In the left pane, double click certificates=&amp;gt;in new window select computer account=&amp;gt;next=&amp;gt;Local computer=&amp;gt;Finish=&amp;gt;OK&lt;br /&gt;
*In the left pane, expand certificates=&amp;gt;right-click personal=&amp;gt;all tasks=&amp;gt;import&lt;br /&gt;
*Next=&amp;gt;Click browse button=&amp;gt;Select all file types (bottom right)=&amp;gt;navigate to bob.miller.p12=&amp;gt;open=&amp;gt;next=&amp;gt;enter password (S0ns0fB0b)=&amp;gt;Next=&amp;gt;Automatically Place=&amp;gt;Next=&amp;gt;Finish&lt;br /&gt;
*navigate to Network and Sharing center=&amp;gt;set up a new connection=&amp;gt;connect to a workplace=&amp;gt;create new connection=&amp;gt;use my internet=&amp;gt;set internet address as 192.168.25.15=&amp;gt;Set destination name as Computerisms=&amp;gt;Select the box that allows other people to use this connection=&amp;gt;Next=&amp;gt;Enter username (this is the user&#039;s name and password from Active Directory)=&amp;gt;Select remember password=&amp;gt;connect&lt;br /&gt;
*Let it spin and fail=&amp;gt;Set up the connection anyway&lt;br /&gt;
*navigate to change adapter settings=&amp;gt;right-click Computerisms Icon=&amp;gt;properties&lt;br /&gt;
*Security tab=&amp;gt;type of vpn is l2tp/IPSec=&amp;gt;Advanced Settings=&amp;gt;deselect Verify Name and Usage=&amp;gt;OK=&amp;gt;Set Data encryption to Option=&amp;gt;OK&lt;br /&gt;
&lt;br /&gt;
==Do the Testing With Adminlian==&lt;br /&gt;
*&amp;lt;b&amp;gt;Test VPN works/No NAT:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt; on worklian, disconnect the wireless connection from the .26 network and connect it to the .25 network&amp;lt;br&amp;gt;Test that you can connect to the vpn, ping 192.168.26.10 should work.&lt;br /&gt;
*&amp;lt;b&amp;gt;Test Domain Logon over VPN/No NAT:&amp;lt;/b&amp;gt; Log out of the machine, click switch user, then click the icon by the power button in the bottom right corner&amp;lt;br&amp;gt;enter your credentials, your logon script should run.&lt;br /&gt;
*&amp;lt;b&amp;gt;Test Domain Logon over VPN/With NAT:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;Shutdown the virtual machine and configure the network connection to use nat instead of bridging, boot up&amp;lt;br&amp;gt;start the logon process and click the network icon&amp;lt;br&amp;gt;Logon and make sure your logon script runs&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=/etc/ipsec.d/nsspassword&amp;diff=435</id>
		<title>/etc/ipsec.d/nsspassword</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=/etc/ipsec.d/nsspassword&amp;diff=435"/>
		<updated>2014-11-20T02:24:03Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
NSS Certificate DB:B0bsGates&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Install_LibreSWAN_and_Xl2tpd&amp;diff=434</id>
		<title>Install LibreSWAN and Xl2tpd</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Install_LibreSWAN_and_Xl2tpd&amp;diff=434"/>
		<updated>2014-11-19T23:15:40Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Obtain and Install Libreswan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==System Prep==&lt;br /&gt;
*apt-get install libnss3-dev libnspr4-dev pkg-config libpam-dev libcap-ng-dev libcap-ng-utils libselinux-dev libcurl4-nss-dev libgmp3-dev flex bison gcc make libunbound-dev libpcap-dev libnss3-tools ppp libradius1&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.all.accept_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.all.send_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.default.send_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*sysctl -p&lt;br /&gt;
*for i in $(ls /proc/sys/net/ipv4/conf/); do echo 0 &amp;gt; /proc/sys/net/ipv4/conf/$i/accept_redirects; echo 0 &amp;gt; /proc/sys/net/ipv4/conf/$i/send_redirects; done&lt;br /&gt;
&lt;br /&gt;
==Obtain and Install Libreswan==&lt;br /&gt;
*&amp;lt;b&amp;gt;Find latest downloads here: &amp;lt;/b&amp;gt;http://libreswan.org/&lt;br /&gt;
*cd /usr/src&lt;br /&gt;
*wget https://download.libreswan.org/libreswan-3.12.tar.gz&lt;br /&gt;
*tar zxf libreswan-3.12.tar.gz&lt;br /&gt;
*cd libreswan-3.12/&lt;br /&gt;
*make programs&lt;br /&gt;
*make install&lt;br /&gt;
&lt;br /&gt;
==Obtain and Install Xl2tpd==&lt;br /&gt;
*&amp;lt;b&amp;gt;Find latest downloads here: &amp;lt;/b&amp;gt;http://download.openswan.org/xl2tpd/&lt;br /&gt;
*cd /usr/src/&lt;br /&gt;
*wget http://download.openswan.org/xl2tpd/xl2tpd-1.3.1.tar.gz&lt;br /&gt;
*tar zxf xl2tpd-1.3.1.tar.gz&lt;br /&gt;
*cd xl2tpd-1.3.1/&lt;br /&gt;
*make&lt;br /&gt;
*make install&lt;br /&gt;
&lt;br /&gt;
==Configure Libreswan==&lt;br /&gt;
*scp -r root@192.168.26.10:/var/CA/computerisms.com/porchlian.computerisms.com/porchlian.computerisms.com.p12 root@192.168.26.10:/var/CA/computerisms.com/CA/Computerisms.Certificate.Authority.p12 root@192.168.26.10:/var/CA/computerisms.com/Computerisms.Certificate.Authority.crl ~&lt;br /&gt;
*certutil -N -d /etc/ipsec.d&lt;br /&gt;
**Enter password B0bsGates&lt;br /&gt;
*pk12util -i /root/Computerisms.Certificate.Authority.p12 -d /etc/ipsec.d&lt;br /&gt;
*certutil -M -n &amp;quot;Computerisms.Certificate.Authority&amp;quot; -d /etc/ipsec.d -t &amp;quot;TC,,&amp;quot;&lt;br /&gt;
*pk12util -i /root/porchlian.computerisms.com.p12 -d /etc/ipsec.d&lt;br /&gt;
*&amp;gt; /etc/ipsec.conf; vi [[/etc/ipsec.conf]]&lt;br /&gt;
*vi [[/etc/ipsec.secrets]]&lt;br /&gt;
*vi [[/etc/ipsec.d/nsspassword]]&lt;br /&gt;
*cp /root/Computerisms.Certificate.Authority.crl /etc/ipsec.d/crls/&lt;br /&gt;
&lt;br /&gt;
==Configure Xl2tpd==&lt;br /&gt;
*mkdir /etc/xl2tpd&lt;br /&gt;
*vi [[/etc/xl2tpd/xl2tpd.conf]]&lt;br /&gt;
*vi [[/etc/xl2tpd/ppp-options.xl2tpd]]&lt;br /&gt;
&lt;br /&gt;
==Configure RadiusClient==&lt;br /&gt;
*&amp;gt; /etc/radiusclient/servers; vi [[/etc/radiusclient/servers]]&lt;br /&gt;
*&amp;gt; /etc/radiusclient/radiusclient.conf; vi [[/etc/radiusclient/radiusclient.conf]]&lt;br /&gt;
*echo &amp;quot;INCLUDE /etc/radiusclient/dictionary.microsoft&amp;quot; &amp;gt;&amp;gt; /etc/radiusclient/dictionary&lt;br /&gt;
*vi [[/etc/radiusclient/dictionary.microsoft]]&lt;br /&gt;
&lt;br /&gt;
==Start IPSec and Xl2tpd==&lt;br /&gt;
*ipsec setup start; tail -f /var/log/auth.log &amp;lt;b&amp;gt;&amp;lt;= Check for errors&amp;lt;/b&amp;gt;&lt;br /&gt;
*xl2tpd -C /etc/xl2tpd/l2tp-control&lt;br /&gt;
*systemctl enable ipsec&lt;br /&gt;
&lt;br /&gt;
==Finalize netup.sh script==&lt;br /&gt;
*vi [[/root/scripts/netup.sh]]&lt;br /&gt;
&lt;br /&gt;
==Configure Adminlian for Testing==&lt;br /&gt;
*Use winscp to obtain /var/CA/computerisms.com/BobMiller/bob.miller.p12 and put it on adminlian&lt;br /&gt;
*start=&amp;gt;run mmc=&amp;gt;file=&amp;gt;Add/Remove Snapin&lt;br /&gt;
*In the left pane, double click certificates=&amp;gt;in new window select computer account=&amp;gt;next=&amp;gt;Local computer=&amp;gt;Finish=&amp;gt;OK&lt;br /&gt;
*In the left pane, expand certificates=&amp;gt;right-click personal=&amp;gt;all tasks=&amp;gt;import&lt;br /&gt;
*Next=&amp;gt;Click browse button=&amp;gt;Select all file types (bottom right)=&amp;gt;navigate to bob.miller.p12=&amp;gt;open=&amp;gt;next=&amp;gt;enter password (S0ns0fB0b)=&amp;gt;Next=&amp;gt;Automatically Place=&amp;gt;Next=&amp;gt;Finish&lt;br /&gt;
*navigate to Network and Sharing center=&amp;gt;set up a new connection=&amp;gt;connect to a workplace=&amp;gt;create new connection=&amp;gt;use my internet=&amp;gt;set internet address as 192.168.25.15=&amp;gt;Set destination name as Computerisms=&amp;gt;Select the box that allows other people to use this connection=&amp;gt;Next=&amp;gt;Enter username (this is the user&#039;s name and password from Active Directory)=&amp;gt;Select remember password=&amp;gt;connect&lt;br /&gt;
*Let it spin and fail=&amp;gt;Set up the connection anyway&lt;br /&gt;
*navigate to change adapter settings=&amp;gt;right-click Computerisms Icon=&amp;gt;properties&lt;br /&gt;
*Security tab=&amp;gt;type of vpn is l2tp/IPSec=&amp;gt;Advanced Settings=&amp;gt;deselect Verify Name and Usage=&amp;gt;OK=&amp;gt;Set Data encryption to Option=&amp;gt;OK&lt;br /&gt;
&lt;br /&gt;
==Do the Testing With Adminlian==&lt;br /&gt;
*&amp;lt;b&amp;gt;Test VPN works/No NAT:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt; on worklian, disconnect the wireless connection from the .26 network and connect it to the .25 network&amp;lt;br&amp;gt;Test that you can connect to the vpn, ping 192.168.26.10 should work.&lt;br /&gt;
*&amp;lt;b&amp;gt;Test Domain Logon over VPN/No NAT:&amp;lt;/b&amp;gt; Log out of the machine, click switch user, then click the icon by the power button in the bottom right corner&amp;lt;br&amp;gt;enter your credentials, your logon script should run.&lt;br /&gt;
*&amp;lt;b&amp;gt;Test Domain Logon over VPN/With NAT:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;Shutdown the virtual machine and configure the network connection to use nat instead of bridging, boot up&amp;lt;br&amp;gt;start the logon process and click the network icon&amp;lt;br&amp;gt;Logon and make sure your logon script runs&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Shape/Track_Bandwidth_-_Finalize_IPTables&amp;diff=433</id>
		<title>Shape/Track Bandwidth - Finalize IPTables</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Shape/Track_Bandwidth_-_Finalize_IPTables&amp;diff=433"/>
		<updated>2014-11-07T22:49:07Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Install and Configure Bandwidth Accounting and Reporting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==System Prep==&lt;br /&gt;
*apt-get install tcng xtables-addons-source xtables-addons-common nbtscan linux-headers-$(uname -r) automake libtool libfile-tail-perl libtext-trim-perl libdatetime-format-mail-perl libnet-sslglue-perl&lt;br /&gt;
*&amp;lt;b&amp;gt;Note: &amp;lt;/b&amp;gt;as of Apr2014, tcng must be installed from wheezy (update sources.list &amp;amp;&amp;amp; apt-get install tcng/wheezy)&lt;br /&gt;
&lt;br /&gt;
==Configure Traffic Control==&lt;br /&gt;
*vi [[/root/scripts/qos.tc]]&lt;br /&gt;
*echo \#\!\/bin\/bash &amp;gt; /root/scripts/qos.sh; tcng /root/scripts/qos.tc &amp;gt;&amp;gt; /root/scripts/qos.sh&lt;br /&gt;
*vi [[/root/scripts/qos.reset.sh]]&lt;br /&gt;
*bash /root/scripts/qos.reset.sh; bash /root/scripts/qos.sh&lt;br /&gt;
&lt;br /&gt;
==Install and Configure Bandwidth Accounting and Reporting==&lt;br /&gt;
*m-a prepare&lt;br /&gt;
*m-a a-i -t xtables-addons-source&lt;br /&gt;
**NOV7/2014 - build fails.  $(ln -s /usr/src /tmp/buildd); $(m-a a-i -t xtables-addons-source); let it fail; $(cd /usr/src/modules/xtables-addons; ./configure; make; make install)&lt;br /&gt;
*echo xt_ACCOUNT &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
*modprobe xt_ACCOUNT&lt;br /&gt;
*depmod -a&lt;br /&gt;
*vi [[/root/scripts/bwrpt.pl]]&lt;br /&gt;
*crontab -e&lt;br /&gt;
**9-59/10 * * * * PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin; /usr/bin/perl /root/scripts/bwrpt.pl &amp;lt;b&amp;gt;&amp;lt;= Note: on large networks this can take a few minutes to run, and it needs to complete it&#039;s data collection before 00:00, so you may need to set it to start at 58 or 57&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Finalize IPTables Configuration==&lt;br /&gt;
*vi [[/root/scripts/iptables-restore#Completed|/root/scripts/iptables-restore]]&lt;br /&gt;
*iptables-restore &amp;lt; /root/scripts/iptables-restore&lt;br /&gt;
*iptaccount -a &amp;lt;b&amp;gt;&amp;lt;= Make sure these three lines show up:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;Found table: wan&amp;lt;br&amp;gt;Found table: computerisms&amp;lt;br&amp;gt;Found table: pubaccess&lt;br /&gt;
*From worklian:&lt;br /&gt;
**telnet 192.168.25.15 25 &amp;lt;b&amp;gt;&amp;lt;= Make sure you can telnet to ports 25, 80, 443, 587, 993, 995&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
*Aug30/2014 =&amp;gt; module-assistant fails to build xtables-addons.  after it fails do:&lt;br /&gt;
**cd /usr/src/modules/xtables-addons/&lt;br /&gt;
**/bin/bash build-aux/missing autoconf&lt;br /&gt;
**./configure&lt;br /&gt;
**make -j1&lt;br /&gt;
**m-a a-i -t -O xtables-addons&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Shape/Track_Bandwidth_-_Finalize_IPTables&amp;diff=432</id>
		<title>Shape/Track Bandwidth - Finalize IPTables</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Shape/Track_Bandwidth_-_Finalize_IPTables&amp;diff=432"/>
		<updated>2014-11-07T22:48:53Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Install and Configure Bandwidth Accounting and Reporting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==System Prep==&lt;br /&gt;
*apt-get install tcng xtables-addons-source xtables-addons-common nbtscan linux-headers-$(uname -r) automake libtool libfile-tail-perl libtext-trim-perl libdatetime-format-mail-perl libnet-sslglue-perl&lt;br /&gt;
*&amp;lt;b&amp;gt;Note: &amp;lt;/b&amp;gt;as of Apr2014, tcng must be installed from wheezy (update sources.list &amp;amp;&amp;amp; apt-get install tcng/wheezy)&lt;br /&gt;
&lt;br /&gt;
==Configure Traffic Control==&lt;br /&gt;
*vi [[/root/scripts/qos.tc]]&lt;br /&gt;
*echo \#\!\/bin\/bash &amp;gt; /root/scripts/qos.sh; tcng /root/scripts/qos.tc &amp;gt;&amp;gt; /root/scripts/qos.sh&lt;br /&gt;
*vi [[/root/scripts/qos.reset.sh]]&lt;br /&gt;
*bash /root/scripts/qos.reset.sh; bash /root/scripts/qos.sh&lt;br /&gt;
&lt;br /&gt;
==Install and Configure Bandwidth Accounting and Reporting==&lt;br /&gt;
*m-a prepare&lt;br /&gt;
*m-a a-i -t xtables-addons-source&lt;br /&gt;
**##NOV7/2014 - build fails.  $(ln -s /usr/src /tmp/buildd); $(m-a a-i -t xtables-addons-source); let it fail; $(cd /usr/src/modules/xtables-addons; ./configure; make; make install)&lt;br /&gt;
*echo xt_ACCOUNT &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
*modprobe xt_ACCOUNT&lt;br /&gt;
*depmod -a&lt;br /&gt;
*vi [[/root/scripts/bwrpt.pl]]&lt;br /&gt;
*crontab -e&lt;br /&gt;
**9-59/10 * * * * PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin; /usr/bin/perl /root/scripts/bwrpt.pl &amp;lt;b&amp;gt;&amp;lt;= Note: on large networks this can take a few minutes to run, and it needs to complete it&#039;s data collection before 00:00, so you may need to set it to start at 58 or 57&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Finalize IPTables Configuration==&lt;br /&gt;
*vi [[/root/scripts/iptables-restore#Completed|/root/scripts/iptables-restore]]&lt;br /&gt;
*iptables-restore &amp;lt; /root/scripts/iptables-restore&lt;br /&gt;
*iptaccount -a &amp;lt;b&amp;gt;&amp;lt;= Make sure these three lines show up:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;Found table: wan&amp;lt;br&amp;gt;Found table: computerisms&amp;lt;br&amp;gt;Found table: pubaccess&lt;br /&gt;
*From worklian:&lt;br /&gt;
**telnet 192.168.25.15 25 &amp;lt;b&amp;gt;&amp;lt;= Make sure you can telnet to ports 25, 80, 443, 587, 993, 995&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
*Aug30/2014 =&amp;gt; module-assistant fails to build xtables-addons.  after it fails do:&lt;br /&gt;
**cd /usr/src/modules/xtables-addons/&lt;br /&gt;
**/bin/bash build-aux/missing autoconf&lt;br /&gt;
**./configure&lt;br /&gt;
**make -j1&lt;br /&gt;
**m-a a-i -t -O xtables-addons&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Organize_Hardware&amp;diff=431</id>
		<title>Organize Hardware</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Organize_Hardware&amp;diff=431"/>
		<updated>2014-11-07T20:41:44Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Physical Hardware */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Network Topology==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
                                   - 192.168.26.99 (wlan0)  &lt;br /&gt;
     worklian (Ubuntu Workstation) - 192.168.25.99 (eth0)&lt;br /&gt;
                     ^&lt;br /&gt;
                     |             (switch/WAP - 192.168.26.2)&lt;br /&gt;
                     V                 192.168.26.0/24  ====&amp;gt; 192.168.26.10  &amp;lt;= houselian (PDC/Primary Server)&lt;br /&gt;
     WAN &amp;lt;=&amp;gt; 192.168.25.0/24                    ^         \=&amp;gt; 192.168.26.11  &amp;lt;= shedlian (Backup Server)&lt;br /&gt;
                     ^                          |         \=&amp;gt; 192.168.26.100 &amp;lt;= adminlian (Windows Workstation) &amp;lt;= connects in bridged mode on the wireless link on worklian&lt;br /&gt;
                     |                          |         \=&amp;gt; 192.168.26.99  &amp;lt;= worklian (Wireless interface connects to switch/WAP)&lt;br /&gt;
                     V                          V         &lt;br /&gt;
            192.168.25.15 &amp;lt;= porchlian ====&amp;gt; 192.168.26.1 (eth1)&lt;br /&gt;
                 (eth0)                 \==&amp;gt; 192.168.27.1 (eth2) &amp;lt;= Public Network for foriegn machines =&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Additional Resources==&lt;br /&gt;
*My true production domain name is computerisms.ca.  Since I find it confusing to have the test and the real environment be the same name, computerisms.com will be the domain we are building.  I already have ownership of the name&lt;br /&gt;
&lt;br /&gt;
==Physical Hardware==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Windows Workstation - adminlian.computerisms.com&amp;lt;/h4&amp;gt;&lt;br /&gt;
*required for testing and configuration&lt;br /&gt;
*configured to run in a &amp;quot;work&amp;quot; network environment, and enable discovery.  &lt;br /&gt;
*configure ip address to be 192.168.26.100/gw=192.168.26.1/dns=192.168.26.10&lt;br /&gt;
*dns won&#039;t work yet, this is not a problem now.&lt;br /&gt;
*In this case I will be using Windows 7 SP1 freshly installed and updated on a Virtual Machine installed on my:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;SSH Client - worklian.computerisms.com&amp;lt;/h4&amp;gt;&lt;br /&gt;
*generate an ssh key (ssh-keygen -b 2048 -t rsa)&lt;br /&gt;
*in this case I will be using my ubuntu workstation&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Digital Signage Remote - dslobby.computerisms.com&amp;lt;/h4&amp;gt;&lt;br /&gt;
*An ubuntu virtual machine&lt;br /&gt;
*configure with IP address 192.168.26.25&lt;br /&gt;
*No special config required; by the time you need this, everything else will be in place&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Firewall - porchlian.computerisms.com&amp;lt;/h4&amp;gt;&lt;br /&gt;
*computer does need to be reliable, but not smart.  Use an old workstation.&lt;br /&gt;
*this computer must have at least 2 network cards.  larger networks with multiple subnets will probably need at least 3&lt;br /&gt;
*in this case I am using a very old dell dimension with 3 NICs&lt;br /&gt;
*install debian testing (jessie)&lt;br /&gt;
*create the file /root/.ssh/authorized_keys and put your public ssh key in it.&lt;br /&gt;
*cp /etc/vim/vimrc /root/.vimrc&lt;br /&gt;
**edit /root/.vimrc and find the line &#039;set compatible&#039;; uncomment it and change it to &#039;set nocompatible&#039;&lt;br /&gt;
*edit /root/.bashrc, enable colours and any other personal preferences&lt;br /&gt;
*set apt repositories to contain contrib and non-free (optional, if needed for drivers)&lt;br /&gt;
*apt-get install ssh ntp rsync tcpdump nmap&lt;br /&gt;
*apt-get remove rpcbind nfs-common&lt;br /&gt;
*mkdir /root/scripts&lt;br /&gt;
*configure external eth0 interface as 192.168.25.15/gw=192.168.25.1/dns=192.168.25.1&lt;br /&gt;
*configure internal eth1 interface as 192.168.26.1/255.255.255.0&lt;br /&gt;
*configure internal eth2 interface as 192.168.27.1/255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Server - houselian.computerisms.com&amp;lt;/h4&amp;gt;&lt;br /&gt;
*this will be the workhorse of the network.  This will be the PDC and lots of other things&lt;br /&gt;
**for a network of one for testing, I am sure any p3 or better will work fine.  &lt;br /&gt;
**in a production environment you will need to split this into multiple machines&lt;br /&gt;
*in this case I am using a ~10 year old HP rackmount server&lt;br /&gt;
*install debian testing (jessie)&lt;br /&gt;
*create the file /root/.ssh/authorized_keys and put your public ssh key in it.&lt;br /&gt;
*cp /etc/vim/vimrc /root/.vimrc&lt;br /&gt;
**edit /root/.vimrc and find the line &#039;set compatible&#039;; uncomment it and change it to &#039;set nocompatible&#039;&lt;br /&gt;
*edit /root/.bashrc, enable colours and any other personal preferences&lt;br /&gt;
*set apt repositories to contain contrib and non-free (optional, if needed for drivers)&lt;br /&gt;
*apt-get install ssh ntp rsync build-essential bind9&lt;br /&gt;
*apt-get remove rpcbind&lt;br /&gt;
*mkdir /root/scripts&lt;br /&gt;
*configure your resolv.conf to use &#039;nameserver 127.0.0.1&#039; &lt;br /&gt;
*configure eth0 interface as 192.168.26.10&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Backups - shedlian.computerisms.com&amp;lt;/h4&amp;gt;&lt;br /&gt;
*this computer really does not need to be smart, only reliable&lt;br /&gt;
**in a testing environment, huge storage is not required&lt;br /&gt;
***However, install the OS on a small partition and leave the majority of the disk to be partitioned later&lt;br /&gt;
**in production this machine needs to have plenty of sata ports or some such&lt;br /&gt;
*in this case I am using another old dell dimension&lt;br /&gt;
*install debian testing (jessie)&lt;br /&gt;
*create the file /root/.ssh/authorized_keys and put your public ssh key in it.&lt;br /&gt;
*cp /etc/vim/vimrc /root/.vimrc&lt;br /&gt;
**edit /root/.vimrc and find the line &#039;set compatible&#039;; uncomment it and change it to &#039;set nocompatible&#039;&lt;br /&gt;
*edit /root/.bashrc, enable colours and any other personal preferences&lt;br /&gt;
*set apt repositories to contain contrib and non-free (optional, if needed for drivers)&lt;br /&gt;
*apt-get install ntp ssh&lt;br /&gt;
*apt-get remove rpcbind&lt;br /&gt;
*configure eth0 interface as 192.168.25.11&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Switch&amp;lt;/h4&amp;gt;&lt;br /&gt;
*for a one person test scenario, you can use a hub.&lt;br /&gt;
*scale up accordingly&lt;br /&gt;
*in this case, I am using a linksys wireless G unit flashed with openwrt.  &lt;br /&gt;
**The wan port is taped over to prevent accidents.  Always do this when you use wireless routers for switches.&lt;br /&gt;
&lt;br /&gt;
==Plug It In==&lt;br /&gt;
*everything has a fixed ip, so test basic connectivity.  make sure everybody can see everybody.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
*dpkg --clear-avail&amp;lt;br&amp;gt;^^ This command fixes the &amp;quot;dpkg: warning: parsing file&amp;quot; errors&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Install_LibreSWAN_and_Xl2tpd&amp;diff=430</id>
		<title>Install LibreSWAN and Xl2tpd</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Install_LibreSWAN_and_Xl2tpd&amp;diff=430"/>
		<updated>2014-10-29T20:04:04Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Obtain and Install Libreswan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==System Prep==&lt;br /&gt;
*apt-get install libnss3-dev libnspr4-dev pkg-config libpam-dev libcap-ng-dev libcap-ng-utils libselinux-dev libcurl4-nss-dev libgmp3-dev flex bison gcc make libunbound-dev libpcap-dev libnss3-tools ppp libradius1&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.all.accept_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.all.send_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.default.send_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*sysctl -p&lt;br /&gt;
*for i in $(ls /proc/sys/net/ipv4/conf/); do echo 0 &amp;gt; /proc/sys/net/ipv4/conf/$i/accept_redirects; echo 0 &amp;gt; /proc/sys/net/ipv4/conf/$i/send_redirects; done&lt;br /&gt;
&lt;br /&gt;
==Obtain and Install Libreswan==&lt;br /&gt;
*&amp;lt;b&amp;gt;Find latest downloads here: &amp;lt;/b&amp;gt;http://libreswan.org/&lt;br /&gt;
*cd /usr/src&lt;br /&gt;
*wget https://download.libreswan.org/libreswan-3.11.tar.gz&lt;br /&gt;
*tar zxf libreswan-3.11.tar.gz&lt;br /&gt;
*cd libreswan-3.11/&lt;br /&gt;
*make programs&lt;br /&gt;
*make install&lt;br /&gt;
&lt;br /&gt;
==Obtain and Install Xl2tpd==&lt;br /&gt;
*&amp;lt;b&amp;gt;Find latest downloads here: &amp;lt;/b&amp;gt;http://download.openswan.org/xl2tpd/&lt;br /&gt;
*cd /usr/src/&lt;br /&gt;
*wget http://download.openswan.org/xl2tpd/xl2tpd-1.3.1.tar.gz&lt;br /&gt;
*tar zxf xl2tpd-1.3.1.tar.gz&lt;br /&gt;
*cd xl2tpd-1.3.1/&lt;br /&gt;
*make&lt;br /&gt;
*make install&lt;br /&gt;
&lt;br /&gt;
==Configure Libreswan==&lt;br /&gt;
*scp -r root@192.168.26.10:/var/CA/computerisms.com/porchlian.computerisms.com/porchlian.computerisms.com.p12 root@192.168.26.10:/var/CA/computerisms.com/CA/Computerisms.Certificate.Authority.p12 root@192.168.26.10:/var/CA/computerisms.com/Computerisms.Certificate.Authority.crl ~&lt;br /&gt;
*certutil -N -d /etc/ipsec.d&lt;br /&gt;
**Enter password B0bsGates&lt;br /&gt;
*pk12util -i /root/Computerisms.Certificate.Authority.p12 -d /etc/ipsec.d&lt;br /&gt;
*certutil -M -n &amp;quot;Computerisms.Certificate.Authority&amp;quot; -d /etc/ipsec.d -t &amp;quot;TC,,&amp;quot;&lt;br /&gt;
*pk12util -i /root/porchlian.computerisms.com.p12 -d /etc/ipsec.d&lt;br /&gt;
*&amp;gt; /etc/ipsec.conf; vi [[/etc/ipsec.conf]]&lt;br /&gt;
*vi [[/etc/ipsec.secrets]]&lt;br /&gt;
*vi [[/etc/ipsec.d/nsspassword]]&lt;br /&gt;
*cp /root/Computerisms.Certificate.Authority.crl /etc/ipsec.d/crls/&lt;br /&gt;
&lt;br /&gt;
==Configure Xl2tpd==&lt;br /&gt;
*mkdir /etc/xl2tpd&lt;br /&gt;
*vi [[/etc/xl2tpd/xl2tpd.conf]]&lt;br /&gt;
*vi [[/etc/xl2tpd/ppp-options.xl2tpd]]&lt;br /&gt;
&lt;br /&gt;
==Configure RadiusClient==&lt;br /&gt;
*&amp;gt; /etc/radiusclient/servers; vi [[/etc/radiusclient/servers]]&lt;br /&gt;
*&amp;gt; /etc/radiusclient/radiusclient.conf; vi [[/etc/radiusclient/radiusclient.conf]]&lt;br /&gt;
*echo &amp;quot;INCLUDE /etc/radiusclient/dictionary.microsoft&amp;quot; &amp;gt;&amp;gt; /etc/radiusclient/dictionary&lt;br /&gt;
*vi [[/etc/radiusclient/dictionary.microsoft]]&lt;br /&gt;
&lt;br /&gt;
==Start IPSec and Xl2tpd==&lt;br /&gt;
*ipsec setup start; tail -f /var/log/auth.log &amp;lt;b&amp;gt;&amp;lt;= Check for errors&amp;lt;/b&amp;gt;&lt;br /&gt;
*xl2tpd -C /etc/xl2tpd/l2tp-control&lt;br /&gt;
*systemctl enable ipsec&lt;br /&gt;
&lt;br /&gt;
==Finalize netup.sh script==&lt;br /&gt;
*vi [[/root/scripts/netup.sh]]&lt;br /&gt;
&lt;br /&gt;
==Configure Adminlian for Testing==&lt;br /&gt;
*Use winscp to obtain /var/CA/computerisms.com/BobMiller/bob.miller.p12 and put it on adminlian&lt;br /&gt;
*start=&amp;gt;run mmc=&amp;gt;file=&amp;gt;Add/Remove Snapin&lt;br /&gt;
*In the left pane, double click certificates=&amp;gt;in new window select computer account=&amp;gt;next=&amp;gt;Local computer=&amp;gt;Finish=&amp;gt;OK&lt;br /&gt;
*In the left pane, expand certificates=&amp;gt;right-click personal=&amp;gt;all tasks=&amp;gt;import&lt;br /&gt;
*Next=&amp;gt;Click browse button=&amp;gt;Select all file types (bottom right)=&amp;gt;navigate to bob.miller.p12=&amp;gt;open=&amp;gt;next=&amp;gt;enter password (S0ns0fB0b)=&amp;gt;Next=&amp;gt;Automatically Place=&amp;gt;Next=&amp;gt;Finish&lt;br /&gt;
*navigate to Network and Sharing center=&amp;gt;set up a new connection=&amp;gt;connect to a workplace=&amp;gt;create new connection=&amp;gt;use my internet=&amp;gt;set internet address as 192.168.25.15=&amp;gt;Set destination name as Computerisms=&amp;gt;Select the box that allows other people to use this connection=&amp;gt;Next=&amp;gt;Enter username (this is the user&#039;s name and password from Active Directory)=&amp;gt;Select remember password=&amp;gt;connect&lt;br /&gt;
*Let it spin and fail=&amp;gt;Set up the connection anyway&lt;br /&gt;
*navigate to change adapter settings=&amp;gt;right-click Computerisms Icon=&amp;gt;properties&lt;br /&gt;
*Security tab=&amp;gt;type of vpn is l2tp/IPSec=&amp;gt;Advanced Settings=&amp;gt;deselect Verify Name and Usage=&amp;gt;OK=&amp;gt;Set Data encryption to Option=&amp;gt;OK&lt;br /&gt;
&lt;br /&gt;
==Do the Testing With Adminlian==&lt;br /&gt;
*&amp;lt;b&amp;gt;Test VPN works/No NAT:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt; on worklian, disconnect the wireless connection from the .26 network and connect it to the .25 network&amp;lt;br&amp;gt;Test that you can connect to the vpn, ping 192.168.26.10 should work.&lt;br /&gt;
*&amp;lt;b&amp;gt;Test Domain Logon over VPN/No NAT:&amp;lt;/b&amp;gt; Log out of the machine, click switch user, then click the icon by the power button in the bottom right corner&amp;lt;br&amp;gt;enter your credentials, your logon script should run.&lt;br /&gt;
*&amp;lt;b&amp;gt;Test Domain Logon over VPN/With NAT:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;Shutdown the virtual machine and configure the network connection to use nat instead of bridging, boot up&amp;lt;br&amp;gt;start the logon process and click the network icon&amp;lt;br&amp;gt;Logon and make sure your logon script runs&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Organize_Hardware&amp;diff=429</id>
		<title>Organize Hardware</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Organize_Hardware&amp;diff=429"/>
		<updated>2014-10-29T16:32:17Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Network Topology */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Network Topology==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
                                   - 192.168.26.99 (wlan0)  &lt;br /&gt;
     worklian (Ubuntu Workstation) - 192.168.25.99 (eth0)&lt;br /&gt;
                     ^&lt;br /&gt;
                     |             (switch/WAP - 192.168.26.2)&lt;br /&gt;
                     V                 192.168.26.0/24  ====&amp;gt; 192.168.26.10  &amp;lt;= houselian (PDC/Primary Server)&lt;br /&gt;
     WAN &amp;lt;=&amp;gt; 192.168.25.0/24                    ^         \=&amp;gt; 192.168.26.11  &amp;lt;= shedlian (Backup Server)&lt;br /&gt;
                     ^                          |         \=&amp;gt; 192.168.26.100 &amp;lt;= adminlian (Windows Workstation) &amp;lt;= connects in bridged mode on the wireless link on worklian&lt;br /&gt;
                     |                          |         \=&amp;gt; 192.168.26.99  &amp;lt;= worklian (Wireless interface connects to switch/WAP)&lt;br /&gt;
                     V                          V         &lt;br /&gt;
            192.168.25.15 &amp;lt;= porchlian ====&amp;gt; 192.168.26.1 (eth1)&lt;br /&gt;
                 (eth0)                 \==&amp;gt; 192.168.27.1 (eth2) &amp;lt;= Public Network for foriegn machines =&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Additional Resources==&lt;br /&gt;
*My true production domain name is computerisms.ca.  Since I find it confusing to have the test and the real environment be the same name, computerisms.com will be the domain we are building.  I already have ownership of the name&lt;br /&gt;
&lt;br /&gt;
==Physical Hardware==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Windows Workstation - adminlian.computerisms.com&amp;lt;/h4&amp;gt;&lt;br /&gt;
*required for testing and configuration&lt;br /&gt;
*configured to run in a &amp;quot;work&amp;quot; network environment, and enable discovery.  &lt;br /&gt;
*configure ip address to be 192.168.26.100/gw=192.168.26.1/dns=192.168.26.10&lt;br /&gt;
*dns won&#039;t work yet, this is not a problem now.&lt;br /&gt;
*In this case I will be using Windows 7 SP1 freshly installed and updated on a Virtual Machine installed on my:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;SSH Client - worklian.computerisms.com&amp;lt;/h4&amp;gt;&lt;br /&gt;
*generate an ssh key (ssh-keygen -b 2048 -t rsa)&lt;br /&gt;
*in this case I will be using my ubuntu workstation&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Digital Signage Remote - dslobby.computerisms.com&amp;lt;/h4&amp;gt;&lt;br /&gt;
*An ubuntu virtual machine&lt;br /&gt;
*configure with IP address 192.168.26.25&lt;br /&gt;
*No special config required; by the time you need this, everything else will be in place&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Firewall - porchlian.computerisms.com&amp;lt;/h4&amp;gt;&lt;br /&gt;
*computer does need to be reliable, but not smart.  Use an old workstation.&lt;br /&gt;
*this computer must have at least 2 network cards.  larger networks with multiple subnets will probably need at least 3&lt;br /&gt;
*in this case I am using a very old dell dimension with 3 NICs&lt;br /&gt;
*install debian testing (jessie)&lt;br /&gt;
*create the file /root/.ssh/authorized_keys and put your public ssh key in it.&lt;br /&gt;
*cp /etc/vim/vimrc /root/.vimrc&lt;br /&gt;
**edit /root/.vimrc and find the line &#039;set compatible&#039;; uncomment it and change it to &#039;set nocompatible&#039;&lt;br /&gt;
*edit /root/.bashrc, enable colours and any other personal preferences&lt;br /&gt;
*set apt repositories to contain contrib and non-free (optional, if needed for drivers)&lt;br /&gt;
*apt-get install ssh ntp rsync tcpdump nmap&lt;br /&gt;
*apt-get remove rpcbind nfs-common&lt;br /&gt;
*mkdir /root/scripts&lt;br /&gt;
*configure external eth0 interface as 192.168.25.15/gw=192.168.25.1/dns=192.168.25.1&lt;br /&gt;
*configure internal eth1 interface as 192.168.26.1/255.255.255.0&lt;br /&gt;
*configure internal eth2 interface as 192.168.27.1/255.255.255.0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Server - houselian.computerisms.com&amp;lt;/h4&amp;gt;&lt;br /&gt;
*this will be the workhorse of the network.  This will be the PDC and lots of other things&lt;br /&gt;
**for a network of one for testing, I am sure any p3 or better will work fine.  &lt;br /&gt;
**in a production environment you will need to split this into multiple machines&lt;br /&gt;
*in this case I am using a ~10 year old HP rackmount server&lt;br /&gt;
*install debian testing (jessie)&lt;br /&gt;
*create the file /root/.ssh/authorized_keys and put your public ssh key in it.&lt;br /&gt;
*cp /etc/vim/vimrc /root/.vimrc&lt;br /&gt;
**edit /root/.vimrc and find the line &#039;set compatible&#039;; uncomment it and change it to &#039;set nocompatible&#039;&lt;br /&gt;
*edit /root/.bashrc, enable colours and any other personal preferences&lt;br /&gt;
*set apt repositories to contain contrib and non-free (optional, if needed for drivers)&lt;br /&gt;
*apt-get install ssh ntp rysnc build-essential bind9&lt;br /&gt;
*apt-get remove rpcbind&lt;br /&gt;
*mkdir /root/scripts&lt;br /&gt;
*configure your resolv.conf to use &#039;nameserver 127.0.0.1&#039; &lt;br /&gt;
*configure eth0 interface as 192.168.26.10&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Backups - shedlian.computerisms.com&amp;lt;/h4&amp;gt;&lt;br /&gt;
*this computer really does not need to be smart, only reliable&lt;br /&gt;
**in a testing environment, huge storage is not required&lt;br /&gt;
***However, install the OS on a small partition and leave the majority of the disk to be partitioned later&lt;br /&gt;
**in production this machine needs to have plenty of sata ports or some such&lt;br /&gt;
*in this case I am using another old dell dimension&lt;br /&gt;
*install debian testing (jessie)&lt;br /&gt;
*create the file /root/.ssh/authorized_keys and put your public ssh key in it.&lt;br /&gt;
*cp /etc/vim/vimrc /root/.vimrc&lt;br /&gt;
**edit /root/.vimrc and find the line &#039;set compatible&#039;; uncomment it and change it to &#039;set nocompatible&#039;&lt;br /&gt;
*edit /root/.bashrc, enable colours and any other personal preferences&lt;br /&gt;
*set apt repositories to contain contrib and non-free (optional, if needed for drivers)&lt;br /&gt;
*apt-get install ntp ssh&lt;br /&gt;
*apt-get remove rpcbind&lt;br /&gt;
*configure eth0 interface as 192.168.25.11&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h4&amp;gt;Switch&amp;lt;/h4&amp;gt;&lt;br /&gt;
*for a one person test scenario, you can use a hub.&lt;br /&gt;
*scale up accordingly&lt;br /&gt;
*in this case, I am using a linksys wireless G unit flashed with openwrt.  &lt;br /&gt;
**The wan port is taped over to prevent accidents.  Always do this when you use wireless routers for switches.&lt;br /&gt;
&lt;br /&gt;
==Plug It In==&lt;br /&gt;
*everything has a fixed ip, so test basic connectivity.  make sure everybody can see everybody.&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
*dpkg --clear-avail&amp;lt;br&amp;gt;^^ This command fixes the &amp;quot;dpkg: warning: parsing file&amp;quot; errors&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=/usr/local/etc/dovecot/dovecot-ldap.conf.master&amp;diff=428</id>
		<title>/usr/local/etc/dovecot/dovecot-ldap.conf.master</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=/usr/local/etc/dovecot/dovecot-ldap.conf.master&amp;diff=428"/>
		<updated>2014-09-11T00:10:06Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Administrator only==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts = 192.168.26.10:389&lt;br /&gt;
debug_level = 0&lt;br /&gt;
auth_bind = yes&lt;br /&gt;
auth_bind_userdn = %Ln@computerisms.com&lt;br /&gt;
base = dn=computerisms,dn=com&lt;br /&gt;
scope = subtree&lt;br /&gt;
user_filter = (&amp;amp;(sAMAccountName=administrator))&lt;br /&gt;
pass_filter = (&amp;amp;(sAMAccountName=administrator))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Domain Admins group==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hosts = 192.168.26.10:389&lt;br /&gt;
debug_level = 0&lt;br /&gt;
auth_bind = yes&lt;br /&gt;
auth_bind_userdn = %Ln@computerisms.com&lt;br /&gt;
base = dn=computerisms,dn=com&lt;br /&gt;
scope = subtree&lt;br /&gt;
user_filter = (&amp;amp;(memberOf=CN=Domain Admins,CN=Users,DC=computerisms,DC=com))&lt;br /&gt;
pass_filter = (&amp;amp;(memberOf=CN=Domain Admins,CN=Users,DC=computerisms,DC=com))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=/root/scripts/netup.sh&amp;diff=427</id>
		<title>/root/scripts/netup.sh</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=/root/scripts/netup.sh&amp;diff=427"/>
		<updated>2014-08-31T02:07:57Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Finalized Config */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Initial Config==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
sysctl -p&lt;br /&gt;
iptables-restore &amp;lt; /root/scripts/iptables-restore&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Finalized Config==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
sysctl -p&lt;br /&gt;
/sbin/iptables-restore &amp;lt; /root/scripts/iptables-restore&lt;br /&gt;
/bin/bash /root/scripts/qos.reset.sh&lt;br /&gt;
/bin/bash /root/scripts/qos.sh&lt;br /&gt;
##Note with libreswan3.9 and systemd, this line will hang the box on bootup:&lt;br /&gt;
#/usr/local/sbin/ipsec setup start&lt;br /&gt;
/usr/local/sbin/xl2tpd -C /etc/xl2tpd/xl2tpd.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Install_LibreSWAN_and_Xl2tpd&amp;diff=426</id>
		<title>Install LibreSWAN and Xl2tpd</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Install_LibreSWAN_and_Xl2tpd&amp;diff=426"/>
		<updated>2014-08-31T02:07:12Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Start IPSec and Xl2tpd */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==System Prep==&lt;br /&gt;
*apt-get install libnss3-dev libnspr4-dev pkg-config libpam-dev libcap-ng-dev libcap-ng-utils libselinux-dev libcurl4-nss-dev libgmp3-dev flex bison gcc make libunbound-dev libpcap-dev libnss3-tools ppp libradius1&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.all.accept_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.all.send_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.default.send_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*sysctl -p&lt;br /&gt;
*for i in $(ls /proc/sys/net/ipv4/conf/); do echo 0 &amp;gt; /proc/sys/net/ipv4/conf/$i/accept_redirects; echo 0 &amp;gt; /proc/sys/net/ipv4/conf/$i/send_redirects; done&lt;br /&gt;
&lt;br /&gt;
==Obtain and Install Libreswan==&lt;br /&gt;
*&amp;lt;b&amp;gt;Find latest downloads here: &amp;lt;/b&amp;gt;http://libreswan.org/&lt;br /&gt;
*cd /usr/src&lt;br /&gt;
*wget https://download.libreswan.org/libreswan-3.9.tar.gz&lt;br /&gt;
*tar zxf libreswan-3.9.tar.gz&lt;br /&gt;
*cd libreswan-3.9/&lt;br /&gt;
*make programs&lt;br /&gt;
*make install&lt;br /&gt;
&lt;br /&gt;
==Obtain and Install Xl2tpd==&lt;br /&gt;
*&amp;lt;b&amp;gt;Find latest downloads here: &amp;lt;/b&amp;gt;http://download.openswan.org/xl2tpd/&lt;br /&gt;
*cd /usr/src/&lt;br /&gt;
*wget http://download.openswan.org/xl2tpd/xl2tpd-1.3.1.tar.gz&lt;br /&gt;
*tar zxf xl2tpd-1.3.1.tar.gz&lt;br /&gt;
*cd xl2tpd-1.3.1/&lt;br /&gt;
*make&lt;br /&gt;
*make install&lt;br /&gt;
&lt;br /&gt;
==Configure Libreswan==&lt;br /&gt;
*scp -r root@192.168.26.10:/var/CA/computerisms.com/porchlian.computerisms.com/porchlian.computerisms.com.p12 root@192.168.26.10:/var/CA/computerisms.com/CA/Computerisms.Certificate.Authority.p12 root@192.168.26.10:/var/CA/computerisms.com/Computerisms.Certificate.Authority.crl ~&lt;br /&gt;
*certutil -N -d /etc/ipsec.d&lt;br /&gt;
**Enter password B0bsGates&lt;br /&gt;
*pk12util -i /root/Computerisms.Certificate.Authority.p12 -d /etc/ipsec.d&lt;br /&gt;
*certutil -M -n &amp;quot;Computerisms.Certificate.Authority&amp;quot; -d /etc/ipsec.d -t &amp;quot;TC,,&amp;quot;&lt;br /&gt;
*pk12util -i /root/porchlian.computerisms.com.p12 -d /etc/ipsec.d&lt;br /&gt;
*&amp;gt; /etc/ipsec.conf; vi [[/etc/ipsec.conf]]&lt;br /&gt;
*vi [[/etc/ipsec.secrets]]&lt;br /&gt;
*vi [[/etc/ipsec.d/nsspassword]]&lt;br /&gt;
*cp /root/Computerisms.Certificate.Authority.crl /etc/ipsec.d/crls/&lt;br /&gt;
&lt;br /&gt;
==Configure Xl2tpd==&lt;br /&gt;
*mkdir /etc/xl2tpd&lt;br /&gt;
*vi [[/etc/xl2tpd/xl2tpd.conf]]&lt;br /&gt;
*vi [[/etc/xl2tpd/ppp-options.xl2tpd]]&lt;br /&gt;
&lt;br /&gt;
==Configure RadiusClient==&lt;br /&gt;
*&amp;gt; /etc/radiusclient/servers; vi [[/etc/radiusclient/servers]]&lt;br /&gt;
*&amp;gt; /etc/radiusclient/radiusclient.conf; vi [[/etc/radiusclient/radiusclient.conf]]&lt;br /&gt;
*echo &amp;quot;INCLUDE /etc/radiusclient/dictionary.microsoft&amp;quot; &amp;gt;&amp;gt; /etc/radiusclient/dictionary&lt;br /&gt;
*vi [[/etc/radiusclient/dictionary.microsoft]]&lt;br /&gt;
&lt;br /&gt;
==Start IPSec and Xl2tpd==&lt;br /&gt;
*ipsec setup start; tail -f /var/log/auth.log &amp;lt;b&amp;gt;&amp;lt;= Check for errors&amp;lt;/b&amp;gt;&lt;br /&gt;
*xl2tpd -C /etc/xl2tpd/l2tp-control&lt;br /&gt;
*systemctl enable ipsec&lt;br /&gt;
&lt;br /&gt;
==Finalize netup.sh script==&lt;br /&gt;
*vi [[/root/scripts/netup.sh]]&lt;br /&gt;
&lt;br /&gt;
==Configure Adminlian for Testing==&lt;br /&gt;
*Use winscp to obtain /var/CA/computerisms.com/BobMiller/bob.miller.p12 and put it on adminlian&lt;br /&gt;
*start=&amp;gt;run mmc=&amp;gt;file=&amp;gt;Add/Remove Snapin&lt;br /&gt;
*In the left pane, double click certificates=&amp;gt;in new window select computer account=&amp;gt;next=&amp;gt;Local computer=&amp;gt;Finish=&amp;gt;OK&lt;br /&gt;
*In the left pane, expand certificates=&amp;gt;right-click personal=&amp;gt;all tasks=&amp;gt;import&lt;br /&gt;
*Next=&amp;gt;Click browse button=&amp;gt;Select all file types (bottom right)=&amp;gt;navigate to bob.miller.p12=&amp;gt;open=&amp;gt;next=&amp;gt;enter password (S0ns0fB0b)=&amp;gt;Next=&amp;gt;Automatically Place=&amp;gt;Next=&amp;gt;Finish&lt;br /&gt;
*navigate to Network and Sharing center=&amp;gt;set up a new connection=&amp;gt;connect to a workplace=&amp;gt;create new connection=&amp;gt;use my internet=&amp;gt;set internet address as 192.168.25.15=&amp;gt;Set destination name as Computerisms=&amp;gt;Select the box that allows other people to use this connection=&amp;gt;Next=&amp;gt;Enter username (this is the user&#039;s name and password from Active Directory)=&amp;gt;Select remember password=&amp;gt;connect&lt;br /&gt;
*Let it spin and fail=&amp;gt;Set up the connection anyway&lt;br /&gt;
*navigate to change adapter settings=&amp;gt;right-click Computerisms Icon=&amp;gt;properties&lt;br /&gt;
*Security tab=&amp;gt;type of vpn is l2tp/IPSec=&amp;gt;Advanced Settings=&amp;gt;deselect Verify Name and Usage=&amp;gt;OK=&amp;gt;Set Data encryption to Option=&amp;gt;OK&lt;br /&gt;
&lt;br /&gt;
==Do the Testing With Adminlian==&lt;br /&gt;
*&amp;lt;b&amp;gt;Test VPN works/No NAT:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt; on worklian, disconnect the wireless connection from the .26 network and connect it to the .25 network&amp;lt;br&amp;gt;Test that you can connect to the vpn, ping 192.168.26.10 should work.&lt;br /&gt;
*&amp;lt;b&amp;gt;Test Domain Logon over VPN/No NAT:&amp;lt;/b&amp;gt; Log out of the machine, click switch user, then click the icon by the power button in the bottom right corner&amp;lt;br&amp;gt;enter your credentials, your logon script should run.&lt;br /&gt;
*&amp;lt;b&amp;gt;Test Domain Logon over VPN/With NAT:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;Shutdown the virtual machine and configure the network connection to use nat instead of bridging, boot up&amp;lt;br&amp;gt;start the logon process and click the network icon&amp;lt;br&amp;gt;Logon and make sure your logon script runs&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Install_LibreSWAN_and_Xl2tpd&amp;diff=425</id>
		<title>Install LibreSWAN and Xl2tpd</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Install_LibreSWAN_and_Xl2tpd&amp;diff=425"/>
		<updated>2014-08-30T23:36:37Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Obtain and Install Libreswan */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==System Prep==&lt;br /&gt;
*apt-get install libnss3-dev libnspr4-dev pkg-config libpam-dev libcap-ng-dev libcap-ng-utils libselinux-dev libcurl4-nss-dev libgmp3-dev flex bison gcc make libunbound-dev libpcap-dev libnss3-tools ppp libradius1&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.all.accept_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.all.send_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*echo &amp;quot;net.ipv4.conf.default.send_redirects = 0&amp;quot; &amp;gt;&amp;gt; /etc/sysctl.conf&lt;br /&gt;
*sysctl -p&lt;br /&gt;
*for i in $(ls /proc/sys/net/ipv4/conf/); do echo 0 &amp;gt; /proc/sys/net/ipv4/conf/$i/accept_redirects; echo 0 &amp;gt; /proc/sys/net/ipv4/conf/$i/send_redirects; done&lt;br /&gt;
&lt;br /&gt;
==Obtain and Install Libreswan==&lt;br /&gt;
*&amp;lt;b&amp;gt;Find latest downloads here: &amp;lt;/b&amp;gt;http://libreswan.org/&lt;br /&gt;
*cd /usr/src&lt;br /&gt;
*wget https://download.libreswan.org/libreswan-3.9.tar.gz&lt;br /&gt;
*tar zxf libreswan-3.9.tar.gz&lt;br /&gt;
*cd libreswan-3.9/&lt;br /&gt;
*make programs&lt;br /&gt;
*make install&lt;br /&gt;
&lt;br /&gt;
==Obtain and Install Xl2tpd==&lt;br /&gt;
*&amp;lt;b&amp;gt;Find latest downloads here: &amp;lt;/b&amp;gt;http://download.openswan.org/xl2tpd/&lt;br /&gt;
*cd /usr/src/&lt;br /&gt;
*wget http://download.openswan.org/xl2tpd/xl2tpd-1.3.1.tar.gz&lt;br /&gt;
*tar zxf xl2tpd-1.3.1.tar.gz&lt;br /&gt;
*cd xl2tpd-1.3.1/&lt;br /&gt;
*make&lt;br /&gt;
*make install&lt;br /&gt;
&lt;br /&gt;
==Configure Libreswan==&lt;br /&gt;
*scp -r root@192.168.26.10:/var/CA/computerisms.com/porchlian.computerisms.com/porchlian.computerisms.com.p12 root@192.168.26.10:/var/CA/computerisms.com/CA/Computerisms.Certificate.Authority.p12 root@192.168.26.10:/var/CA/computerisms.com/Computerisms.Certificate.Authority.crl ~&lt;br /&gt;
*certutil -N -d /etc/ipsec.d&lt;br /&gt;
**Enter password B0bsGates&lt;br /&gt;
*pk12util -i /root/Computerisms.Certificate.Authority.p12 -d /etc/ipsec.d&lt;br /&gt;
*certutil -M -n &amp;quot;Computerisms.Certificate.Authority&amp;quot; -d /etc/ipsec.d -t &amp;quot;TC,,&amp;quot;&lt;br /&gt;
*pk12util -i /root/porchlian.computerisms.com.p12 -d /etc/ipsec.d&lt;br /&gt;
*&amp;gt; /etc/ipsec.conf; vi [[/etc/ipsec.conf]]&lt;br /&gt;
*vi [[/etc/ipsec.secrets]]&lt;br /&gt;
*vi [[/etc/ipsec.d/nsspassword]]&lt;br /&gt;
*cp /root/Computerisms.Certificate.Authority.crl /etc/ipsec.d/crls/&lt;br /&gt;
&lt;br /&gt;
==Configure Xl2tpd==&lt;br /&gt;
*mkdir /etc/xl2tpd&lt;br /&gt;
*vi [[/etc/xl2tpd/xl2tpd.conf]]&lt;br /&gt;
*vi [[/etc/xl2tpd/ppp-options.xl2tpd]]&lt;br /&gt;
&lt;br /&gt;
==Configure RadiusClient==&lt;br /&gt;
*&amp;gt; /etc/radiusclient/servers; vi [[/etc/radiusclient/servers]]&lt;br /&gt;
*&amp;gt; /etc/radiusclient/radiusclient.conf; vi [[/etc/radiusclient/radiusclient.conf]]&lt;br /&gt;
*echo &amp;quot;INCLUDE /etc/radiusclient/dictionary.microsoft&amp;quot; &amp;gt;&amp;gt; /etc/radiusclient/dictionary&lt;br /&gt;
*vi [[/etc/radiusclient/dictionary.microsoft]]&lt;br /&gt;
&lt;br /&gt;
==Start IPSec and Xl2tpd==&lt;br /&gt;
*ipsec setup restart; tail -f /var/log/auth.log &amp;lt;b&amp;gt;&amp;lt;= Check for errors&amp;lt;/b&amp;gt;&lt;br /&gt;
*xl2tpd -C /etc/xl2tpd/l2tp-control&lt;br /&gt;
&lt;br /&gt;
==Finalize netup.sh script==&lt;br /&gt;
*vi [[/root/scripts/netup.sh]]&lt;br /&gt;
&lt;br /&gt;
==Configure Adminlian for Testing==&lt;br /&gt;
*Use winscp to obtain /var/CA/computerisms.com/BobMiller/bob.miller.p12 and put it on adminlian&lt;br /&gt;
*start=&amp;gt;run mmc=&amp;gt;file=&amp;gt;Add/Remove Snapin&lt;br /&gt;
*In the left pane, double click certificates=&amp;gt;in new window select computer account=&amp;gt;next=&amp;gt;Local computer=&amp;gt;Finish=&amp;gt;OK&lt;br /&gt;
*In the left pane, expand certificates=&amp;gt;right-click personal=&amp;gt;all tasks=&amp;gt;import&lt;br /&gt;
*Next=&amp;gt;Click browse button=&amp;gt;Select all file types (bottom right)=&amp;gt;navigate to bob.miller.p12=&amp;gt;open=&amp;gt;next=&amp;gt;enter password (S0ns0fB0b)=&amp;gt;Next=&amp;gt;Automatically Place=&amp;gt;Next=&amp;gt;Finish&lt;br /&gt;
*navigate to Network and Sharing center=&amp;gt;set up a new connection=&amp;gt;connect to a workplace=&amp;gt;create new connection=&amp;gt;use my internet=&amp;gt;set internet address as 192.168.25.15=&amp;gt;Set destination name as Computerisms=&amp;gt;Select the box that allows other people to use this connection=&amp;gt;Next=&amp;gt;Enter username (this is the user&#039;s name and password from Active Directory)=&amp;gt;Select remember password=&amp;gt;connect&lt;br /&gt;
*Let it spin and fail=&amp;gt;Set up the connection anyway&lt;br /&gt;
*navigate to change adapter settings=&amp;gt;right-click Computerisms Icon=&amp;gt;properties&lt;br /&gt;
*Security tab=&amp;gt;type of vpn is l2tp/IPSec=&amp;gt;Advanced Settings=&amp;gt;deselect Verify Name and Usage=&amp;gt;OK=&amp;gt;Set Data encryption to Option=&amp;gt;OK&lt;br /&gt;
&lt;br /&gt;
==Do the Testing With Adminlian==&lt;br /&gt;
*&amp;lt;b&amp;gt;Test VPN works/No NAT:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt; on worklian, disconnect the wireless connection from the .26 network and connect it to the .25 network&amp;lt;br&amp;gt;Test that you can connect to the vpn, ping 192.168.26.10 should work.&lt;br /&gt;
*&amp;lt;b&amp;gt;Test Domain Logon over VPN/No NAT:&amp;lt;/b&amp;gt; Log out of the machine, click switch user, then click the icon by the power button in the bottom right corner&amp;lt;br&amp;gt;enter your credentials, your logon script should run.&lt;br /&gt;
*&amp;lt;b&amp;gt;Test Domain Logon over VPN/With NAT:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;Shutdown the virtual machine and configure the network connection to use nat instead of bridging, boot up&amp;lt;br&amp;gt;start the logon process and click the network icon&amp;lt;br&amp;gt;Logon and make sure your logon script runs&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Shape/Track_Bandwidth_-_Finalize_IPTables&amp;diff=424</id>
		<title>Shape/Track Bandwidth - Finalize IPTables</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Shape/Track_Bandwidth_-_Finalize_IPTables&amp;diff=424"/>
		<updated>2014-08-30T23:26:13Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Finalize IPTables Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==System Prep==&lt;br /&gt;
*apt-get install tcng xtables-addons-source xtables-addons-common nbtscan linux-headers-$(uname -r) automake libtool libfile-tail-perl libtext-trim-perl libdatetime-format-mail-perl libnet-sslglue-perl&lt;br /&gt;
*&amp;lt;b&amp;gt;Note: &amp;lt;/b&amp;gt;as of Apr2014, tcng must be installed from wheezy (update sources.list &amp;amp;&amp;amp; apt-get install tcng/wheezy)&lt;br /&gt;
&lt;br /&gt;
==Configure Traffic Control==&lt;br /&gt;
*vi [[/root/scripts/qos.tc]]&lt;br /&gt;
*echo \#\!\/bin\/bash &amp;gt; /root/scripts/qos.sh; tcng /root/scripts/qos.tc &amp;gt;&amp;gt; /root/scripts/qos.sh&lt;br /&gt;
*vi [[/root/scripts/qos.reset.sh]]&lt;br /&gt;
*bash /root/scripts/qos.reset.sh; bash /root/scripts/qos.sh&lt;br /&gt;
&lt;br /&gt;
==Install and Configure Bandwidth Accounting and Reporting==&lt;br /&gt;
*m-a prepare&lt;br /&gt;
*m-a a-i -t xtables-addons-source&lt;br /&gt;
*echo xt_ACCOUNT &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
*modprobe xt_ACCOUNT&lt;br /&gt;
*depmod -a&lt;br /&gt;
*vi [[/root/scripts/bwrpt.pl]]&lt;br /&gt;
*crontab -e&lt;br /&gt;
**9-59/10 * * * * PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin; /usr/bin/perl /root/scripts/bwrpt.pl &amp;lt;b&amp;gt;&amp;lt;= Note: on large networks this can take a few minutes to run, and it needs to complete it&#039;s data collection before 00:00, so you may need to set it to start at 58 or 57&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Finalize IPTables Configuration==&lt;br /&gt;
*vi [[/root/scripts/iptables-restore#Completed|/root/scripts/iptables-restore]]&lt;br /&gt;
*iptables-restore &amp;lt; /root/scripts/iptables-restore&lt;br /&gt;
*iptaccount -a &amp;lt;b&amp;gt;&amp;lt;= Make sure these three lines show up:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;Found table: wan&amp;lt;br&amp;gt;Found table: computerisms&amp;lt;br&amp;gt;Found table: pubaccess&lt;br /&gt;
*From worklian:&lt;br /&gt;
**telnet 192.168.25.15 25 &amp;lt;b&amp;gt;&amp;lt;= Make sure you can telnet to ports 25, 80, 443, 587, 993, 995&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
*Aug30/2014 =&amp;gt; module-assistant fails to build xtables-addons.  after it fails do:&lt;br /&gt;
**cd /usr/src/modules/xtables-addons/&lt;br /&gt;
**/bin/bash build-aux/missing autoconf&lt;br /&gt;
**./configure&lt;br /&gt;
**make -j1&lt;br /&gt;
**m-a a-i -t -O xtables-addons&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Shape/Track_Bandwidth_-_Finalize_IPTables&amp;diff=423</id>
		<title>Shape/Track Bandwidth - Finalize IPTables</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Shape/Track_Bandwidth_-_Finalize_IPTables&amp;diff=423"/>
		<updated>2014-08-30T22:29:42Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Install and Configure Bandwidth Accounting and Reporting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==System Prep==&lt;br /&gt;
*apt-get install tcng xtables-addons-source xtables-addons-common nbtscan linux-headers-$(uname -r) automake libtool libfile-tail-perl libtext-trim-perl libdatetime-format-mail-perl libnet-sslglue-perl&lt;br /&gt;
*&amp;lt;b&amp;gt;Note: &amp;lt;/b&amp;gt;as of Apr2014, tcng must be installed from wheezy (update sources.list &amp;amp;&amp;amp; apt-get install tcng/wheezy)&lt;br /&gt;
&lt;br /&gt;
==Configure Traffic Control==&lt;br /&gt;
*vi [[/root/scripts/qos.tc]]&lt;br /&gt;
*echo \#\!\/bin\/bash &amp;gt; /root/scripts/qos.sh; tcng /root/scripts/qos.tc &amp;gt;&amp;gt; /root/scripts/qos.sh&lt;br /&gt;
*vi [[/root/scripts/qos.reset.sh]]&lt;br /&gt;
*bash /root/scripts/qos.reset.sh; bash /root/scripts/qos.sh&lt;br /&gt;
&lt;br /&gt;
==Install and Configure Bandwidth Accounting and Reporting==&lt;br /&gt;
*m-a prepare&lt;br /&gt;
*m-a a-i -t xtables-addons-source&lt;br /&gt;
*echo xt_ACCOUNT &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
*modprobe xt_ACCOUNT&lt;br /&gt;
*depmod -a&lt;br /&gt;
*vi [[/root/scripts/bwrpt.pl]]&lt;br /&gt;
*crontab -e&lt;br /&gt;
**9-59/10 * * * * PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin; /usr/bin/perl /root/scripts/bwrpt.pl &amp;lt;b&amp;gt;&amp;lt;= Note: on large networks this can take a few minutes to run, and it needs to complete it&#039;s data collection before 00:00, so you may need to set it to start at 58 or 57&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Finalize IPTables Configuration==&lt;br /&gt;
*vi [[/root/scripts/iptables-restore#Completed|/root/scripts/iptables-restore]]&lt;br /&gt;
*iptables-restore &amp;lt; /root/scripts/iptables-restore&lt;br /&gt;
*iptaccount -a &amp;lt;b&amp;gt;&amp;lt;= Make sure these three lines show up:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;Found table: wan&amp;lt;br&amp;gt;Found table: computerisms&amp;lt;br&amp;gt;Found table: pubaccess&lt;br /&gt;
*From worklian:&lt;br /&gt;
**telnet 192.168.25.15 25 &amp;lt;b&amp;gt;&amp;lt;= Make sure you can telnet to ports 25, 80, 443, 587, 993, 995&amp;lt;/b&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=/root/scripts/iptables-restore&amp;diff=422</id>
		<title>/root/scripts/iptables-restore</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=/root/scripts/iptables-restore&amp;diff=422"/>
		<updated>2014-08-30T21:58:50Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Completed */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Basic==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*nat&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
-A POSTROUTING -s 192.168.26.0/24 -o eth0 -j SNAT --to-source 192.168.25.15&lt;br /&gt;
COMMIT&lt;br /&gt;
*mangle&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:INPUT ACCEPT [0:0]&lt;br /&gt;
:FORWARD ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
:POSTROUTING ACCEPT [0:0]&lt;br /&gt;
-A POSTROUTING -m conntrack --ctstate INVALID -j DROP&lt;br /&gt;
COMMIT&lt;br /&gt;
*raw&lt;br /&gt;
:PREROUTING ACCEPT [0:0]&lt;br /&gt;
:OUTPUT ACCEPT [0:0]&lt;br /&gt;
COMMIT&lt;br /&gt;
*filter&lt;br /&gt;
:INPUT DROP [0:0]&lt;br /&gt;
:FORWARD DROP [0:0]&lt;br /&gt;
:OUTPUT DROP [0:0]&lt;br /&gt;
-A INPUT -i lo -j ACCEPT&lt;br /&gt;
-A INPUT -s 127.0.0.0/8 ! -i lo -j LOG --log-prefix INPUTlo&lt;br /&gt;
-A INPUT -s 127.0.0.0/8 ! -i lo -j DROP&lt;br /&gt;
-A INPUT -d 255.255.255.255/32 -j ACCEPT&lt;br /&gt;
-A INPUT -d 224.0.0.0/4 -i eth1 ! -p tcp -j ACCEPT&lt;br /&gt;
-A INPUT -d 192.168.25.15/32 -i eth0 -j ACCEPT&lt;br /&gt;
-A INPUT -d 192.168.25.255/32 -i eth0 -j ACCEPT&lt;br /&gt;
-A INPUT -s 192.168.26.0/24 -i eth1 -j ACCEPT&lt;br /&gt;
-A INPUT -s 192.168.26.0/24 ! -i eth1 -j LOG --log-prefix INPUT1&lt;br /&gt;
-A INPUT -s 192.168.26.0/24 ! -i eth1 -j DROP&lt;br /&gt;
-A INPUT -j LOG --log-prefix INPUT&lt;br /&gt;
-A INPUT -j DROP&lt;br /&gt;
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT&lt;br /&gt;
-A FORWARD -s 192.168.26.0/24 -i eth1 -o eth0 -j ACCEPT&lt;br /&gt;
-A FORWARD -j LOG --log-prefix FORWARD&lt;br /&gt;
-A FORWARD -j DROP&lt;br /&gt;
-A OUTPUT -o lo -j ACCEPT&lt;br /&gt;
-A OUTPUT -d 127.0.0.0/8 ! -o lo -j LOG --log-prefix OUTPUTlo&lt;br /&gt;
-A OUTPUT -d 127.0.0.0/8 ! -o lo -j DROP&lt;br /&gt;
-A OUTPUT -d 255.255.255.255/32 -j ACCEPT&lt;br /&gt;
-A OUTPUT -d 224.0.0.0/4 -o eth1 ! -p tcp -j ACCEPT&lt;br /&gt;
-A OUTPUT -d 224.0.0.0/4 -o eth2 ! -p tcp -j ACCEPT&lt;br /&gt;
-A OUTPUT -s 192.168.25.15/32 -o eth0 -j ACCEPT&lt;br /&gt;
-A OUTPUT -s 192.168.25.255/32 -o eth0 -j ACCEPT&lt;br /&gt;
-A OUTPUT -d 192.168.26.0/24 -o eth1 -j ACCEPT&lt;br /&gt;
-A OUTPUT -d 192.168.26.0/24 ! -o eth1 -j LOG --log-prefix OUTPUT1&lt;br /&gt;
-A OUTPUT -d 192.168.26.0/24 ! -o eth1 -j DROP&lt;br /&gt;
-A OUTPUT -j LOG --log-prefix OUTPUT&lt;br /&gt;
-A OUTPUT -j DROP&lt;br /&gt;
COMMIT&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Completed==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Generated by iptables-save v1.4.20 on Thu Aug 29 20:35:34 2013&lt;br /&gt;
*nat&lt;br /&gt;
:PREROUTING ACCEPT [16208:2924135]&lt;br /&gt;
:INPUT ACCEPT [12634:2681037]&lt;br /&gt;
:OUTPUT ACCEPT [5147:372035]&lt;br /&gt;
:POSTROUTING ACCEPT [5147:372035]&lt;br /&gt;
-A PREROUTING -d 192.168.25.15/32 -i eth0 -p tcp -m tcp --dport 25 -j DNAT --to-destination 192.168.26.10:25 &lt;br /&gt;
-A PREROUTING -d 192.168.25.15/32 -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.26.10:80 &lt;br /&gt;
-A PREROUTING -d 192.168.25.15/32 -i eth0 -p tcp -m tcp --dport 443 -j DNAT --to-destination 192.168.26.10:443&lt;br /&gt;
-A PREROUTING -d 192.168.25.15/32 -i eth0 -p tcp -m tcp --dport 587 -j DNAT --to-destination 192.168.26.10:587&lt;br /&gt;
-A PREROUTING -d 192.168.25.15/32 -i eth0 -p tcp -m tcp --dport 993 -j DNAT --to-destination 192.168.26.10:993 &lt;br /&gt;
-A PREROUTING -d 192.168.25.15/32 -i eth0 -p tcp -m tcp --dport 995 -j DNAT --to-destination 192.168.26.10:995&lt;br /&gt;
-A POSTROUTING ! -d 10.25.0.0/24 -s 192.168.26.0/24 -o eth0 -j SNAT --to-source 192.168.25.15&lt;br /&gt;
-A POSTROUTING -s 192.168.27.0/24 -o eth0 -j SNAT --to-source 192.168.25.15&lt;br /&gt;
COMMIT&lt;br /&gt;
# Completed on Thu Aug 29 20:35:34 2013&lt;br /&gt;
# Generated by iptables-save v1.4.20 on Thu Aug 29 20:35:34 2013&lt;br /&gt;
*mangle&lt;br /&gt;
:PREROUTING ACCEPT [154883:126645061]&lt;br /&gt;
:INPUT ACCEPT [133756:117641671]&lt;br /&gt;
:FORWARD ACCEPT [20465:8966111]&lt;br /&gt;
:OUTPUT ACCEPT [86452:6816891]&lt;br /&gt;
:POSTROUTING ACCEPT [106905:15782402]&lt;br /&gt;
-A POSTROUTING -m conntrack --ctstate INVALID -j DROP&lt;br /&gt;
-A POSTROUTING -j ACCOUNT --addr 0/0 --tname wan&lt;br /&gt;
-A FORWARD -j ACCOUNT --addr 192.168.26.0/24 --tname computerisms&lt;br /&gt;
-A FORWARD -j ACCOUNT --addr 192.168.27.0/24 --tname pubaccess&lt;br /&gt;
-A PREROUTING -d 192.168.25.15/32 -i eth0 -p tcp -m tcp --dport 25 -j MARK --set-xmark 0x1/0xffffffff &lt;br /&gt;
-A PREROUTING -d 192.168.25.15/32 -i eth0 -p tcp -m tcp --dport 80 -j MARK --set-xmark 0x1/0xffffffff &lt;br /&gt;
-A PREROUTING -d 192.168.25.15/32 -i eth0 -p tcp -m tcp --dport 443 -j MARK --set-xmark 0x1/0xffffffff&lt;br /&gt;
-A PREROUTING -d 192.168.25.15/32 -i eth0 -p tcp -m tcp --dport 587 -j MARK --set-xmark 0x1/0xffffffff &lt;br /&gt;
-A PREROUTING -d 192.168.25.15/32 -i eth0 -p tcp -m tcp --dport 993 -j MARK --set-xmark 0x1/0xffffffff &lt;br /&gt;
-A PREROUTING -d 192.168.25.15/32 -i eth0 -p tcp -m tcp --dport 995 -j MARK --set-xmark 0x1/0xffffffff &lt;br /&gt;
COMMIT&lt;br /&gt;
# Completed on Thu Aug 29 20:35:34 2013&lt;br /&gt;
# Generated by iptables-save v1.4.20 on Thu Aug 29 20:35:34 2013&lt;br /&gt;
*raw&lt;br /&gt;
:PREROUTING ACCEPT [154883:126645061]&lt;br /&gt;
:OUTPUT ACCEPT [86452:6816891]&lt;br /&gt;
COMMIT&lt;br /&gt;
# Completed on Thu Aug 29 20:35:34 2013&lt;br /&gt;
# Generated by iptables-save v1.4.20 on Thu Aug 29 20:35:34 2013&lt;br /&gt;
*filter&lt;br /&gt;
:INPUT DROP [0:0]&lt;br /&gt;
:FORWARD DROP [0:0]&lt;br /&gt;
:OUTPUT DROP [0:0]&lt;br /&gt;
-A INPUT -m mark --mark 0x1 -j ACCEPT &lt;br /&gt;
-A INPUT -i lo -j ACCEPT&lt;br /&gt;
-A INPUT -s 127.0.0.0/8 ! -i lo -j LOG --log-prefix INPUTlo&lt;br /&gt;
-A INPUT -s 127.0.0.0/8 ! -i lo -j DROP&lt;br /&gt;
-A INPUT -d 255.255.255.255/32 -j ACCEPT&lt;br /&gt;
-A INPUT -d 224.0.0.0/4 -i eth1 ! -p tcp -j ACCEPT&lt;br /&gt;
-A INPUT -d 224.0.0.0/4 -i eth2 ! -p tcp -j ACCEPT&lt;br /&gt;
-A INPUT -d 192.168.25.15/32 -i eth0 -j ACCEPT&lt;br /&gt;
-A INPUT -d 192.168.25.255/32 -i eth0 -j ACCEPT&lt;br /&gt;
-A INPUT -s 192.168.26.0/24 -i eth1 -j ACCEPT&lt;br /&gt;
-A INPUT -s 192.168.26.0/24 ! -i eth1 -j LOG --log-prefix INPUT1&lt;br /&gt;
-A INPUT -s 192.168.26.0/24 ! -i eth1 -j DROP&lt;br /&gt;
-A INPUT -s 192.168.27.0/24 -i eth2 -j ACCEPT&lt;br /&gt;
-A INPUT -s 192.168.27.0/24 ! -i eth2 -j LOG --log-prefix INPUT2&lt;br /&gt;
-A INPUT -s 192.168.27.0/24 ! -i eth2 -j DROP&lt;br /&gt;
-A INPUT -j LOG --log-prefix INPUT&lt;br /&gt;
-A INPUT -j DROP&lt;br /&gt;
-A FORWARD -m mark --mark 0x1 -j ACCEPT &lt;br /&gt;
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT&lt;br /&gt;
-A FORWARD -s 192.168.26.0/24 -d 192.168.27.0/24 -j LOG --log-prefix FORWARD1&lt;br /&gt;
-A FORWARD -s 192.168.26.0/24 -d 192.168.27.0/24 -j DROP&lt;br /&gt;
-A FORWARD -s 192.168.27.0/24 -d 192.168.26.0/24 -j LOG --log-prefix FORWARD2&lt;br /&gt;
-A FORWARD -s 192.168.27.0/24 -d 192.168.26.0/24 -j DROP&lt;br /&gt;
-A FORWARD -s 192.168.26.0/24 -d 10.25.0.0/24 -j ACCEPT&lt;br /&gt;
-A FORWARD -d 192.168.26.0/24 -s 10.25.0.0/24 -j ACCEPT&lt;br /&gt;
-A FORWARD -s 192.168.26.0/24 -i eth1 -o eth0 -j ACCEPT&lt;br /&gt;
-A FORWARD -s 192.168.27.0/24 -i eth2 -o eth0 -j ACCEPT&lt;br /&gt;
-A FORWARD -j LOG --log-prefix FORWARD&lt;br /&gt;
-A FORWARD -j DROP&lt;br /&gt;
-A OUTPUT -o lo -j ACCEPT&lt;br /&gt;
-A OUTPUT -d 127.0.0.0/8 ! -o lo -j LOG --log-prefix OUTPUTlo&lt;br /&gt;
-A OUTPUT -d 127.0.0.0/8 ! -o lo -j DROP&lt;br /&gt;
-A OUTPUT -d 255.255.255.255/32 -j ACCEPT&lt;br /&gt;
-A OUTPUT -d 224.0.0.0/4 -o eth1 ! -p tcp -j ACCEPT&lt;br /&gt;
-A OUTPUT -d 224.0.0.0/4 -o eth2 ! -p tcp -j ACCEPT&lt;br /&gt;
-A OUTPUT -s 192.168.25.15/32 -o eth0 -j ACCEPT&lt;br /&gt;
-A OUTPUT -s 192.168.25.255/32 -o eth0 -j ACCEPT&lt;br /&gt;
-A OUTPUT -d 192.168.26.0/24 -o eth1 -j ACCEPT&lt;br /&gt;
-A OUTPUT -d 192.168.26.0/24 ! -o eth1 -j LOG --log-prefix OUTPUT1&lt;br /&gt;
-A OUTPUT -d 192.168.26.0/24 ! -o eth1 -j DROP&lt;br /&gt;
-A OUTPUT -d 192.168.27.0/24 -o eth2 -j ACCEPT&lt;br /&gt;
-A OUTPUT -d 192.168.27.0/24 ! -o eth2 -j LOG --log-prefix OUTPUT2&lt;br /&gt;
-A OUTPUT -d 192.168.27.0/24 ! -o eth2 -j DROP&lt;br /&gt;
-A OUTPUT -j LOG --log-prefix OUTPUT&lt;br /&gt;
-A OUTPUT -j DROP&lt;br /&gt;
COMMIT&lt;br /&gt;
# Completed on Thu Aug 29 20:35:34 2013&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=421</id>
		<title>User Creation Script</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=421"/>
		<updated>2014-08-18T04:03:41Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
groupadd -g 500 qmail &lt;br /&gt;
groupadd -g 501 nofiles  &lt;br /&gt;
groupadd -g 509 vmail&lt;br /&gt;
groupadd -g 510 dovecot&lt;br /&gt;
groupadd -g 511 dovenull&lt;br /&gt;
groupadd -g 512 clamav&lt;br /&gt;
groupadd -g 513 simscan&lt;br /&gt;
groupadd -g 514 spamd&lt;br /&gt;
groupadd -g 520 asterisk&lt;br /&gt;
groupadd -g 521 phnmngr&lt;br /&gt;
groupadd -g 522 ups&lt;br /&gt;
groupadd -g 530 davical&lt;br /&gt;
groupadd -g 531 roundcube&lt;br /&gt;
groupadd -g 532 fetch&lt;br /&gt;
groupadd -g 533 rt&lt;br /&gt;
groupadd -g 534 ob&lt;br /&gt;
groupadd -g 535 wiki&lt;br /&gt;
groupadd -g 536 files&lt;br /&gt;
groupadd -g 537 ledger&lt;br /&gt;
groupadd -g 538 nagios&lt;br /&gt;
groupadd -g 539 pad&lt;br /&gt;
&lt;br /&gt;
useradd -u 502 -g nofiles -d /var/qmail/alias alias &lt;br /&gt;
useradd -u 503 -g nofiles -d /var/qmail qmaild  &lt;br /&gt;
useradd -u 504 -g nofiles -d /var/qmail qmaill  &lt;br /&gt;
useradd -u 505 -g nofiles -d /var/qmail qmailp  &lt;br /&gt;
useradd -u 506 -g qmail -d /var/qmail qmailq &lt;br /&gt;
useradd -u 507 -g qmail -d /var/qmail qmailr  &lt;br /&gt;
useradd -u 508 -g qmail -d /var/qmail qmails &lt;br /&gt;
useradd -u 509 -g vmail -d /home/mail -r vmail&lt;br /&gt;
useradd -u 510 -g dovecot -r dovecot&lt;br /&gt;
useradd -u 511 -g dovenull -r dovenull&lt;br /&gt;
useradd -u 512 -g clamav -s /bin/false -d /tmp/clamav -G simscan clamav&lt;br /&gt;
useradd -u 513 -g simscan -r simscan&lt;br /&gt;
useradd -u 514 -g spamd -r -d /etc/mail/spamassassin spamd&lt;br /&gt;
useradd -u 515 -N -g nogroup -d /usr/local/home/razor -s /bin/sh -c razor-agent razor&lt;br /&gt;
useradd -u 521 -g phnmngr -d /IPPhones phnmngr&lt;br /&gt;
useradd -u 522 -g ups --no-create-home ups &lt;br /&gt;
useradd -u 520 -g asterisk --no-create-home -G phnmngr asterisk &lt;br /&gt;
useradd -u 530 -g davical -r davical&lt;br /&gt;
useradd -u 531 -g roundcube -r roundcube&lt;br /&gt;
useradd -u 532 -g fetch -r fetch&lt;br /&gt;
useradd -u 533 -g rt -r rt&lt;br /&gt;
useradd -u 534 -g ob -r ob&lt;br /&gt;
useradd -u 535 -g wiki -r wiki&lt;br /&gt;
useradd -u 536 -g files -r files&lt;br /&gt;
useradd -u 537 -g ledger -r ledger&lt;br /&gt;
useradd -u 538 -g nagios -r nagios -d /usr/local/nagios&lt;br /&gt;
useradd -u 539 -g pad -r pad&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/local/home/razor&lt;br /&gt;
mkdir /home/mail&lt;br /&gt;
mkdir /home/data&lt;br /&gt;
mkdir /IPPhones&lt;br /&gt;
mkdir /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chown -R razor:nogroup /usr/local/home/razor&lt;br /&gt;
chown -R vmail:vmail /home/mail&lt;br /&gt;
chown -R asterisk:phnmngr /IPPhones/&lt;br /&gt;
chown -R files:files /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chmod -R 2770 /IPPhones/&lt;br /&gt;
chmod -R 2770 /home/webDAV&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=420</id>
		<title>User Creation Script</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=User_Creation_Script&amp;diff=420"/>
		<updated>2014-08-18T04:03:13Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
groupadd -g 500 qmail &lt;br /&gt;
groupadd -g 501 nofiles  &lt;br /&gt;
groupadd -g 509 vmail&lt;br /&gt;
groupadd -g 510 dovecot&lt;br /&gt;
groupadd -g 511 dovenull&lt;br /&gt;
groupadd -g 512 clamav&lt;br /&gt;
groupadd -g 513 simscan&lt;br /&gt;
groupadd -g 514 spamd&lt;br /&gt;
groupadd -g 520 asterisk&lt;br /&gt;
groupadd -g 521 phnmngr&lt;br /&gt;
groupadd -g 522 ups&lt;br /&gt;
groupadd -g 530 davical&lt;br /&gt;
groupadd -g 531 roundcube&lt;br /&gt;
groupadd -g 532 fetch&lt;br /&gt;
groupadd -g 533 rt&lt;br /&gt;
groupadd -g 534 ob&lt;br /&gt;
groupadd -g 535 wiki&lt;br /&gt;
groupadd -g 536 files&lt;br /&gt;
groupadd -g 537 ledger&lt;br /&gt;
groupadd -g 538 nagios&lt;br /&gt;
groupadd -g 539 pad&lt;br /&gt;
&lt;br /&gt;
useradd -u 502 -g nofiles -d /var/qmail/alias alias &lt;br /&gt;
useradd -u 503 -g nofiles -d /var/qmail qmaild  &lt;br /&gt;
useradd -u 504 -g nofiles -d /var/qmail qmaill  &lt;br /&gt;
useradd -u 505 -g nofiles -d /var/qmail qmailp  &lt;br /&gt;
useradd -u 506 -g qmail -d /var/qmail qmailq &lt;br /&gt;
useradd -u 507 -g qmail -d /var/qmail qmailr  &lt;br /&gt;
useradd -u 508 -g qmail -d /var/qmail qmails &lt;br /&gt;
useradd -u 509 -g vmail -d /home/mail -r vmail&lt;br /&gt;
useradd -u 510 -g dovecot -r dovecot&lt;br /&gt;
useradd -u 511 -g dovenull -r dovenull&lt;br /&gt;
useradd -u 512 -g clamav -s /bin/false -d /tmp/clamav -G simscan clamav&lt;br /&gt;
useradd -u 513 -g simscan -r simscan&lt;br /&gt;
useradd -u 514 -g spamd -r -d /etc/mail/spamassassin spamd&lt;br /&gt;
useradd -u 515 -N -g nogroup -d /usr/local/home/razor -s /bin/sh -c razor-agent razor&lt;br /&gt;
useradd -u 521 -g phnmngr -d /IPPhones phnmngr&lt;br /&gt;
useradd -u 522 -g ups --no-create-home ups &lt;br /&gt;
useradd -u 520 -g asterisk --no-create-home -G phnmngr asterisk &lt;br /&gt;
useradd -u 530 -g davical -r davical&lt;br /&gt;
useradd -u 531 -g roundcube -r roundcube&lt;br /&gt;
useradd -u 532 -g fetch -r fetch&lt;br /&gt;
useradd -u 533 -g rt -r rt&lt;br /&gt;
useradd -u 534 -g ob -r ob&lt;br /&gt;
useradd -u 535 -g wiki -r wiki&lt;br /&gt;
useradd -u 536 -g files -r files&lt;br /&gt;
useradd -u 537 -g ledger -r ledger&lt;br /&gt;
useradd -u 538 -g nagios -r nagios -d /usr/local/nagios&lt;br /&gt;
useradd -u 538 -g pad -r pad&lt;br /&gt;
&lt;br /&gt;
mkdir -p /usr/local/home/razor&lt;br /&gt;
mkdir /home/mail&lt;br /&gt;
mkdir /home/data&lt;br /&gt;
mkdir /IPPhones&lt;br /&gt;
mkdir /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chown -R razor:nogroup /usr/local/home/razor&lt;br /&gt;
chown -R vmail:vmail /home/mail&lt;br /&gt;
chown -R asterisk:phnmngr /IPPhones/&lt;br /&gt;
chown -R files:files /home/webDAV&lt;br /&gt;
&lt;br /&gt;
chmod -R 2770 /IPPhones/&lt;br /&gt;
chmod -R 2770 /home/webDAV&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Main_Page&amp;diff=419</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Main_Page&amp;diff=419"/>
		<updated>2014-08-18T04:01:45Z</updated>

		<summary type="html">&lt;p&gt;Bob: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
&amp;lt;p style=&amp;quot;font-weight:bold;font-size:3.5em;color:#3f5bb0;text-align:center;&amp;quot;&amp;gt;Computerisms Open Corporate Networking Model&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin:0; background:#3fbba0; font-size:120%; font-weight:bold; border:1px solid #3f5bb0; text-align:center; color:#000; padding:0.2em 0.4em;&amp;quot;&amp;gt;Introduction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align:center; font-size:120%;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;This site provides instructions to build an open source corporate/business network model using centralized Active Directory/LDAP Authentication.&amp;lt;br&amp;gt;It provides all the basic functionality of a Microsoft Exchange Server and more to a cross-platform environment.&amp;lt;br&amp;gt;key protocols and services supported include: IPSec/L2TP VPN, SSL secured web applications, VoIP, Cal/Card/WebDAV, IMAP, SMTP, Sieve, large file transfer, Job Tracking, Network Monitoring/Alerting, Backups, Domain Security, Digital Signage&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;text-align:center;font-size:2em;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;[[What You Need to Know Before Using This Wiki]]&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;vertical-align:top; width: 100%; border-spacing:15px;border-collapse:separate&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:top; width: 30%;&amp;quot; |&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin:0; background:#3fbba0; font-size:120%; font-weight:bold; border:1px solid #3f5bb0; text-align:center; color:#000; padding:0.2em 0.4em;&amp;quot;&amp;gt;Order of Construction&amp;lt;/h2&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#[[Organize Hardware]]&lt;br /&gt;
#[[Set up Basic Firewall Functions]] - porchlian&lt;br /&gt;
#[[Create a Certificate Authority]] - houselian&lt;br /&gt;
#[[Install Daemontools]]&lt;br /&gt;
#Run the [[User Creation Script]]&lt;br /&gt;
#[[Install Samba Active Directory]]&lt;br /&gt;
#[[Install Qmail-ldap, Dovecot, and Related Email Services]]&lt;br /&gt;
#[[Install OpenUpload]]&lt;br /&gt;
#[[Install Davical]]&lt;br /&gt;
#[[Install RoundCube]]/Notes on groupware clients&lt;br /&gt;
#[[Configure WebDAV]]&lt;br /&gt;
#[[Install Request Tracker]]&lt;br /&gt;
#[[Install Ledgersmb]]&lt;br /&gt;
#[[Install MediaWiki]]&lt;br /&gt;
#[[Install FreeRadius]]&lt;br /&gt;
#[[Install OpenBroadcaster]] - No LDAP Auth&lt;br /&gt;
#[[Install Asterisk]] - No LDAP Auth&lt;br /&gt;
#[[Install Nagios]]&lt;br /&gt;
#[[Install APCUPSD]]&lt;br /&gt;
#[[Install DHCP and DNS]] - porchlian&lt;br /&gt;
#[[Shape/Track Bandwidth - Finalize IPTables]]&lt;br /&gt;
#[[Install LibreSWAN and Xl2tpd]]&lt;br /&gt;
#[[Install Rsnapshot]] - shedlian&lt;br /&gt;
&lt;br /&gt;
||&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin:0; background:#3fbba0; font-size:120%; font-weight:bold; border:1px solid #3f5bb0; text-align:center; color:#000; padding:0.2em 0.4em;&amp;quot;&amp;gt;UID/GID Chart&amp;lt;/h2&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;[[User Creation Script]]&amp;lt;/center&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ System User UID&lt;br /&gt;
!name!!UID!!GID||Additional Groups&lt;br /&gt;
|-&lt;br /&gt;
|qmail|| - ||500||&lt;br /&gt;
|-&lt;br /&gt;
|nofiles|| - ||501||&lt;br /&gt;
|-&lt;br /&gt;
|alias||502||501||&lt;br /&gt;
|-&lt;br /&gt;
|qmaild||503||501||&lt;br /&gt;
|-&lt;br /&gt;
|qmaill||504||501||&lt;br /&gt;
|-&lt;br /&gt;
|qmailp||505||501||&lt;br /&gt;
|-&lt;br /&gt;
|qmailq||506||500||&lt;br /&gt;
|-&lt;br /&gt;
|qmailr||507||500||&lt;br /&gt;
|-&lt;br /&gt;
|qmails||508||500||&lt;br /&gt;
|-&lt;br /&gt;
|vmail||509||509||&lt;br /&gt;
|-&lt;br /&gt;
|dovecot||510||510||&lt;br /&gt;
|-&lt;br /&gt;
|dovenull||511||511||&lt;br /&gt;
|-&lt;br /&gt;
|clamav||512||512||member of simscan group&lt;br /&gt;
|-&lt;br /&gt;
|simscan||513||513||&lt;br /&gt;
|-&lt;br /&gt;
|spamd||514||514||&lt;br /&gt;
|-&lt;br /&gt;
|razor||515|| - ||member of nogroup&lt;br /&gt;
|-&lt;br /&gt;
|asterisk||520||520||member of phnmngr group&lt;br /&gt;
|-&lt;br /&gt;
|phnmngr||521||521||&lt;br /&gt;
|-&lt;br /&gt;
|ups||522||522||&lt;br /&gt;
|-&lt;br /&gt;
|davical||530||530||&lt;br /&gt;
|-&lt;br /&gt;
|roundcube||531||531||&lt;br /&gt;
|-&lt;br /&gt;
|fetch||532||532||&lt;br /&gt;
|-&lt;br /&gt;
|rt||533||533||&lt;br /&gt;
|-&lt;br /&gt;
|ob||534||534||&lt;br /&gt;
|-&lt;br /&gt;
|wiki||535||535||&lt;br /&gt;
|-&lt;br /&gt;
|files||536||536||&lt;br /&gt;
|-&lt;br /&gt;
|ledger||537||537||&lt;br /&gt;
|-&lt;br /&gt;
|nagios||538||538||&lt;br /&gt;
|-&lt;br /&gt;
|pad||539||539&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;vertical-align:top; width: 30%;&amp;quot; |&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin:0; background:#3fbba0; font-size:120%; font-weight:bold; border:1px solid #3f5bb0; text-align:center; color:#000; padding:0.2em 0.4em;&amp;quot;&amp;gt;Hosts/DNS A Records&amp;lt;/h2&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ DNS A Records&lt;br /&gt;
!FQDN!!IP Address&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center&amp;quot;| &#039;&#039;&#039;Physical Hosts&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|porchlian.computerisms.com||192.168.26.1&lt;br /&gt;
|-&lt;br /&gt;
|houselian.computerisms.com||192.168.26.10&lt;br /&gt;
|-&lt;br /&gt;
|shedlian.computerisms.com||192.168.26.11&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center&amp;quot;| &#039;&#039;&#039;Network Services&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|pbx.computerisms.com||192.168.26.10&lt;br /&gt;
|-&lt;br /&gt;
|cal.computerisms.com||192.168.26.10&lt;br /&gt;
|-&lt;br /&gt;
|mail.computerisms.com||192.168.26.10&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center&amp;quot;| &#039;&#039;&#039;Web Applications&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|listadmin.computerisms.com||192.168.26.10&lt;br /&gt;
|-&lt;br /&gt;
|listarchive.computerisms.com||192.168.26.10&lt;br /&gt;
|-&lt;br /&gt;
|webmail.computerisms.com||192.168.26.10&lt;br /&gt;
|-&lt;br /&gt;
|rt.computerisms.com||192.168.26.10&lt;br /&gt;
|-&lt;br /&gt;
|ledger.computerisms.com||192.168.26.10&lt;br /&gt;
|-&lt;br /&gt;
|help.computerisms.com||192.168.26.10&lt;br /&gt;
|-&lt;br /&gt;
|wiki.computerisms.com||192.168.26.10&lt;br /&gt;
|-&lt;br /&gt;
|media.computerisms.com||192.168.26.10&lt;br /&gt;
|-&lt;br /&gt;
|nagios.computerisms.com||192.168.26.10&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; style=&amp;quot;text-align: center&amp;quot;| &#039;&#039;&#039;External to LAN&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|crl.computerisms.com||real.world.ip.address&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;vertical-align:top; width: 70%;&amp;quot; |&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin:0; background:#3fbba0; font-size:120%; font-weight:bold; border:1px solid #3f5bb0; text-align:center; color:#000; padding:0.2em 0.4em;&amp;quot;&amp;gt;Volume Mounts&amp;lt;/h2&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ Volume Mounts&lt;br /&gt;
!Data!!Path!!Drive Letter!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|mail||/home/mail|| ||Personal Mail and Mailing Lists&lt;br /&gt;
|-&lt;br /&gt;
|peronsal files||/home/data/people||P:||(P:)ersonal Files - governed by user ownership&lt;br /&gt;
|-&lt;br /&gt;
|group files||/home/data/Departments||O:||(O:)rganization Files - governed by group ownership&lt;br /&gt;
|-&lt;br /&gt;
|WebDAV||/home/webDAV||W:||(W:)eb accessible file storage&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;h2 style=&amp;quot;margin:0; background:#3fbba0; font-size:120%; font-weight:bold; border:1px solid #3f5bb0; text-align:center; color:#000; padding:0.2em 0.4em;&amp;quot;&amp;gt;User Accounts/Passwords&amp;lt;/h2&amp;gt;&lt;br /&gt;
{| style=&amp;quot;width:100%&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|+ User Accounts and Passwords&lt;br /&gt;
!User!!Pass!!Notes&lt;br /&gt;
|-&lt;br /&gt;
|god||BobIssues||Local Computer Account - windows and linux&lt;br /&gt;
|-&lt;br /&gt;
|root||G0dIssues||root account on Linux boxes&lt;br /&gt;
|-&lt;br /&gt;
|Computerisms Certificate Authority||B0wB4Me!!||&lt;br /&gt;
|-&lt;br /&gt;
|Web/Mail Certificates||WeeMinion||&lt;br /&gt;
|-&lt;br /&gt;
|Host Certificates||ChiefMinion||&lt;br /&gt;
|-&lt;br /&gt;
|Administrator||The1TrueB0b||This account is the Network Administrator&lt;br /&gt;
|-&lt;br /&gt;
|authenticator||ThisDevilIkn0w||Used by 3rd party apps for authentication - avoid special characters&lt;br /&gt;
|-&lt;br /&gt;
|MySQL Root||Bobs(abacus)2||&lt;br /&gt;
|-&lt;br /&gt;
|Database User Accounts||DBMinion||all database user accounts for postgresql and mysql&lt;br /&gt;
|-&lt;br /&gt;
|Radius Secret||DeputyCherubJr||&lt;br /&gt;
|-&lt;br /&gt;
|OpenBroadcaster/PBX Admin||BobsMessenger||username is admin for both services&lt;br /&gt;
|-&lt;br /&gt;
|OpenBroadcaster Device||TheW0rd0fB0b||Password you will need to set up the digital signage computer&lt;br /&gt;
|-&lt;br /&gt;
|IPPhone Autoprovision||ConvertThem||this is the phnmngr username uid 521&lt;br /&gt;
|-&lt;br /&gt;
|NSS Database||B0bsGates||for Libreswan on porchlian&lt;br /&gt;
|-&lt;br /&gt;
|Personal Certificates||S0ns0fB0b||issued to end users for VPN&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=Shape/Track_Bandwidth_-_Finalize_IPTables&amp;diff=418</id>
		<title>Shape/Track Bandwidth - Finalize IPTables</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=Shape/Track_Bandwidth_-_Finalize_IPTables&amp;diff=418"/>
		<updated>2014-08-15T05:31:21Z</updated>

		<summary type="html">&lt;p&gt;Bob: /* Install and Configure Bandwidth Accounting and Reporting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==System Prep==&lt;br /&gt;
*apt-get install tcng xtables-addons-source xtables-addons-common nbtscan linux-headers-$(uname -r) automake libtool libfile-tail-perl libtext-trim-perl libdatetime-format-mail-perl libnet-sslglue-perl&lt;br /&gt;
*&amp;lt;b&amp;gt;Note: &amp;lt;/b&amp;gt;as of Apr2014, tcng must be installed from wheezy (update sources.list &amp;amp;&amp;amp; apt-get install tcng/wheezy)&lt;br /&gt;
&lt;br /&gt;
==Configure Traffic Control==&lt;br /&gt;
*vi [[/root/scripts/qos.tc]]&lt;br /&gt;
*echo \#\!\/bin\/bash &amp;gt; /root/scripts/qos.sh; tcng /root/scripts/qos.tc &amp;gt;&amp;gt; /root/scripts/qos.sh&lt;br /&gt;
*vi [[/root/scripts/qos.reset.sh]]&lt;br /&gt;
*bash /root/scripts/qos.reset.sh; bash /root/scripts/qos.sh&lt;br /&gt;
&lt;br /&gt;
==Install and Configure Bandwidth Accounting and Reporting==&lt;br /&gt;
*m-a a-i -t xtables-addons-source&lt;br /&gt;
*echo xt_ACCOUNT &amp;gt;&amp;gt; /etc/modules&lt;br /&gt;
*modprobe xt_ACCOUNT&lt;br /&gt;
*depmod -a&lt;br /&gt;
*vi [[/root/scripts/bwrpt.pl]]&lt;br /&gt;
*crontab -e&lt;br /&gt;
**9-59/10 * * * * PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin; /usr/bin/perl /root/scripts/bwrpt.pl &amp;lt;b&amp;gt;&amp;lt;= Note: on large networks this can take a few minutes to run, and it needs to complete it&#039;s data collection before 00:00, so you may need to set it to start at 58 or 57&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Finalize IPTables Configuration==&lt;br /&gt;
*vi [[/root/scripts/iptables-restore#Completed|/root/scripts/iptables-restore]]&lt;br /&gt;
*iptables-restore &amp;lt; /root/scripts/iptables-restore&lt;br /&gt;
*iptaccount -a &amp;lt;b&amp;gt;&amp;lt;= Make sure these three lines show up:&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;Found table: wan&amp;lt;br&amp;gt;Found table: computerisms&amp;lt;br&amp;gt;Found table: pubaccess&lt;br /&gt;
*From worklian:&lt;br /&gt;
**telnet 192.168.25.15 25 &amp;lt;b&amp;gt;&amp;lt;= Make sure you can telnet to ports 25, 80, 443, 587, 993, 995&amp;lt;/b&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
	<entry>
		<id>http://cocnm.computerisms.ca/index.php?title=/var/service/apcupsd/run&amp;diff=417</id>
		<title>/var/service/apcupsd/run</title>
		<link rel="alternate" type="text/html" href="http://cocnm.computerisms.ca/index.php?title=/var/service/apcupsd/run&amp;diff=417"/>
		<updated>2014-07-28T02:17:36Z</updated>

		<summary type="html">&lt;p&gt;Bob: Created page with &amp;quot;&amp;lt;pre&amp;gt; #!/bin/bash exec apcupsd -b 2&amp;amp;&amp;gt;1 &amp;lt;/pre&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
exec apcupsd -b 2&amp;amp;&amp;gt;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Bob</name></author>
	</entry>
</feed>