<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5190497643566641322</id><updated>2011-12-13T17:13:54.684+04:00</updated><category term='WDS'/><category term='Unix'/><category term='IPv6'/><category term='OpenSolaris'/><category term='AD DS'/><category term='PKI'/><category term='data visualization'/><category term='RANCID'/><category term='PXE'/><category term='IOS'/><category term='tunnelbroker'/><category term='SCVMM'/><category term='history'/><category term='Solaris'/><category term='FreeBSD'/><category term='Apache'/><category term='Kerberos'/><category term='SSO'/><category term='NPAS'/><category term='OpenBSD'/><title type='text'>cursorblinken</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cursorblinken.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cursorblinken.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Pavel Korovin</name><uri>https://profiles.google.com/102584003858980548692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5190497643566641322.post-8166637846457993479</id><published>2011-12-13T16:09:00.000+04:00</published><updated>2011-12-13T16:28:21.493+04:00</updated><title type='text'></title><content type='html'>&lt;b&gt;&lt;a href="http://www.cl.cam.ac.uk/research/security/capsicum/"&gt;Capsicum: practical capabilities for UNIX&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&lt;a href="http://www.bsdcan.org/2011/schedule/track/Public%20FreeBSD%20Devsummit/240.en.html"&gt;BSDCan 2011 presentation&lt;/a&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="font-size: x-small;"&gt;&amp;nbsp;&lt;a href="https://lists.cam.ac.uk/pipermail/cl-capsicum-discuss/2011-July/msg00002.html"&gt;Capsicum and OpenBSD&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5190497643566641322-8166637846457993479?l=cursorblinken.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cursorblinken.blogspot.com/feeds/8166637846457993479/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cursorblinken.blogspot.com/2011/12/capsicum-practical-capabilities-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/8166637846457993479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/8166637846457993479'/><link rel='alternate' type='text/html' href='http://cursorblinken.blogspot.com/2011/12/capsicum-practical-capabilities-for.html' title=''/><author><name>Pavel Korovin</name><uri>https://profiles.google.com/102584003858980548692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5190497643566641322.post-4036866845138913412</id><published>2011-05-04T05:26:00.000+04:00</published><updated>2011-05-04T05:26:09.074+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kerberos'/><category scheme='http://www.blogger.com/atom/ns#' term='SSO'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><title type='text'></title><content type='html'>&lt;b&gt;Using Apache mod_auth_kerb for authentication/authorization against Windows domain&lt;/b&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1. (Windows) Create account for HTTP/, map it to Kerberos principal &amp; export the keytab.&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;&lt;b&gt;Import-Module ActiveDirectory&lt;br /&gt;&lt;br /&gt;New-ADUser unixcomputer_http -UserPrincipalName "unixcomputer_http@company.test" -CannotChangePassword 1 -PasswordNeverExpires 1 -Enabled 1 -Path 'OU=Service Accounts,OU=Unix Systems,OU=09_Corporate_Apps,DC=company,DC=test' -DisplayName "unixcomputer_http.company.test" -Description "Used for Kerberos authentication" -Company "Company" -Department "IS&amp;T" -Division "USG" -Country "CA" -City "Calgary" -AccountPassword (ConvertTo-SecureString -string "SomeReallySecurePassword" -asplaintext -force)&lt;br /&gt;&lt;br /&gt;ktpass -princ HTTP/unixcomputer.company.test@COMPANY.TEST -mapuser unixcomputer@company.test -pType KRB5_NT_PRINCIPAL +rndpass -out unixcomputer_http.keytab&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Securely copy the keytab to /var/www/conf&lt;br /&gt;&lt;br /&gt;2. (OpenBSD) Set permissions on keytab &amp; add mod_auth_kerb package&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;&lt;b&gt;chown root.www /var/www/conf/unixcomputer_http.keytab&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;&lt;b&gt;pkg_add mod_auth_kerb-5.3p6.tgz&lt;/b&gt;&lt;br /&gt;&lt;b&gt;/usr/local/sbin/mod_auth_kerb-enable&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;3. Configure Apache for Kerberos auth. Example:&lt;br /&gt;&lt;pre&gt;LoadModule auth_kerb_module /usr/lib/apache/modules/mod_auth_kerb.so&lt;br /&gt;&amp;lt;Location "/cgi-bin/cvsweb"&amp;gt;&lt;br /&gt;    AuthType Kerberos&lt;br /&gt;    Krb5Keytab /conf/unixcomputer_http.keytab&lt;br /&gt;    KrbServiceName HTTP&lt;br /&gt;    KrbAuthRealms COMPANY.TEST&lt;br /&gt;    KrbVerifyKDC on&lt;br /&gt;    KrbMethodNegotiate on&lt;br /&gt;    KrbMethodK5Passwd off&lt;br /&gt;    require user admin@COMPANY.TEST user1@COMPANY.TEST user2@COMPANY.TEST&lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Links:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://modauthkerb.sourceforge.net/index.html"&gt;mod_auth_kerb homepage&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.grolmsnet.de/kerbtut/"&gt;Using mod_auth_kerb and Windows 2000/2003/2008R2 as KDC&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.grolmsnet.de/kerbtut/firefox.html"&gt;Using negotiate authentication (GSSAPI Kerberos) with Firefox&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5190497643566641322-4036866845138913412?l=cursorblinken.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cursorblinken.blogspot.com/feeds/4036866845138913412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cursorblinken.blogspot.com/2011/05/using-apache-modauthkerb-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/4036866845138913412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/4036866845138913412'/><link rel='alternate' type='text/html' href='http://cursorblinken.blogspot.com/2011/05/using-apache-modauthkerb-for.html' title=''/><author><name>Pavel Korovin</name><uri>https://profiles.google.com/102584003858980548692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5190497643566641322.post-5258769554037795241</id><published>2011-05-04T04:55:00.003+04:00</published><updated>2011-05-07T00:20:40.329+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IOS'/><category scheme='http://www.blogger.com/atom/ns#' term='RANCID'/><category scheme='http://www.blogger.com/atom/ns#' term='NPAS'/><title type='text'></title><content type='html'>&lt;b&gt;Configuring privileges for RANCID access to Cisco devices&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;This is a workaround for older IOS versions (12.4x) where &lt;a href="http://www.cisco.com/en/US/docs/ios/12_3t/12_3t7/feature/guide/gtclivws.html"&gt;Role-Based CLI&lt;/a&gt; cannot be used for rancid user because &lt;a href="http://www.shrubbery.net/rancid/man/clogin.1.html"&gt;clogin(1)&lt;/a&gt; expects &lt;b&gt;#&lt;/b&gt; symbol as prompt while older IOS sends &lt;b&gt;&amp;gt;&lt;/b&gt; when Role-Based CLI is used.&lt;br /&gt;&lt;br /&gt;1. Configure AAA:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;&lt;b&gt;aaa new-model&lt;br /&gt;aaa authentication login default local&lt;br /&gt;aaa authorization exec default local&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;2. Create _rancid user on cisco:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;&lt;b&gt;username test privilege 5 secret SomeTrueSecret&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;3. Set privilege level for appropriate commands:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;&lt;b&gt;privilege exec level 5 dir&lt;br /&gt;privilege exec level 5 show vlan-switch&lt;br /&gt;privilege exec level 5 show vtp status&lt;br /&gt;privilege exec level 5 show vtp&lt;br /&gt;privilege exec level 1 show inventory raw&lt;br /&gt;privilege exec level 1 show inventory&lt;br /&gt;privilege exec level 5 show vlans&lt;br /&gt;privilege exec level 5 show diag&lt;br /&gt;privilege exec level 5 show version&lt;br /&gt;privilege exec level 5 show debugging&lt;br /&gt;privilege exec level 5 show controllers&lt;br /&gt;privilege exec level 5 show running-config view full&lt;br /&gt;privilege exec level 5 show running-config view&lt;br /&gt;privilege exec level 5 show running-config&lt;br /&gt;privilege exec level 5 show&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The list of commands may vary, for each Cisco platform it can be determined by extracting commands from &lt;i&gt;@commandtable&lt;/i&gt; hash in &lt;a href="http://www.shrubbery.net/rancid/man/rancid.1.html"&gt;rancid(1)&lt;/a&gt; and adding it to Cisco config, it will pick up those which it supports.&lt;br /&gt;&lt;br /&gt;Using RADIUS server gives more granular access control, for example using Microsoft NPAS:&lt;br /&gt;&lt;br /&gt;1. (PowerShell) Add NPS Server Role&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;b&gt;Import-Module ServerManager&lt;br /&gt;Add-WindowsFeature NPAS-Policy-Server&lt;br /&gt;wuauclt.exe /detectnow&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;2. (PowerShell) Create group and user accounts&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;b&gt;Import-Module ActiveDirectory&lt;br /&gt;&lt;br /&gt;New-ADGroup "Cisco-lvl5" Global -Path 'OU=Admin_Groups,OU=10_Admin,DC=company,DC=test' -Description "Membership grants level 5 exec access on Cisco equipment" -OtherAttributes @{mail="noc@company.test"}&lt;br /&gt;&lt;br /&gt;New-ADUser _rancid -UserPrincipalName "_rancid@company.test" -CannotChangePassword 1 -PasswordNeverExpires 1 -Enabled 1 -Path 'OU=Service Accounts,OU=RANCID,OU=09_Corporate_Apps,DC=company,DC=test' -DisplayName "_rancid" -Description "Really Awesome New Cisco confIg Differ" -Company "Company" -Department "IS&amp;T" -Division "NOC" -Country "US" -City "Portland" -AccountPassword (ConvertTo-SecureString -string "SomeTrueSecret" -asplaintext -force) -passthru | Add-ADPrincipalGroupMembership -memberof "Cisco-lvl5"&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;3. (NPAS) Add Cisco devices to RADIUS clients:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Advanced -&amp;gt; Vendor name: RADIUS Standard&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;4. (NPAS) Create Network Policy:&lt;br /&gt;&lt;br /&gt;Conditions:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Service-Type: &lt;b&gt;Login&lt;/b&gt;&lt;br /&gt;Client Friendly Name: &lt;b&gt;cisco&lt;/b&gt;&lt;br /&gt;NAS Port Type: &lt;b&gt;Virtual (VPN)&lt;/b&gt;&lt;br /&gt;User Groups: &lt;b&gt;COMPANY\Cisco-lvl5&lt;/b&gt;&lt;br /&gt;Calling Station ID: &lt;b&gt;192\.168\.*|2001:DB8:DEAD:BEEF::.*&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Settings:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;Cisco-AV-Pair: &lt;b&gt;shell:priv-lvl=5&lt;/b&gt;&lt;br /&gt;Access Permission: &lt;b&gt;Grant Access&lt;/b&gt;&lt;br /&gt;NAS Port Type: &lt;b&gt;Virtual (VPN)&lt;/b&gt;&lt;br /&gt;Authentication Method: &lt;b&gt;Unencrypted Authentication (PAP, SPAP)&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;5. (IOS) Configure Cisco for RAIDUS authentication:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;aaa new-model&lt;br /&gt;aaa authentication login default group radius local-case&lt;br /&gt;aaa authorization exec default group radius local&lt;br /&gt;&lt;br /&gt;ip radius source-interface Loopback0&lt;br /&gt;radius-server attribute 6 on-for-login-auth&lt;br /&gt;radius-server host 192.168.1.x retransmit 0 key mykey1&lt;br /&gt;radius-server host 192.168.2.x retransmit 0 key mykey2&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5190497643566641322-5258769554037795241?l=cursorblinken.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cursorblinken.blogspot.com/feeds/5258769554037795241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cursorblinken.blogspot.com/2011/05/configuring-privileges-for-rancid.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/5258769554037795241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/5258769554037795241'/><link rel='alternate' type='text/html' href='http://cursorblinken.blogspot.com/2011/05/configuring-privileges-for-rancid.html' title=''/><author><name>Pavel Korovin</name><uri>https://profiles.google.com/102584003858980548692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5190497643566641322.post-6088941348967498540</id><published>2011-05-04T02:55:00.002+04:00</published><updated>2011-05-04T05:59:56.326+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RANCID'/><title type='text'></title><content type='html'>&lt;b&gt;RANCID patch&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;- workaround for Cisco's &lt;a href="http://www.cisco.com/en/US/docs/ios/12_3t/12_3t7/feature/guide/gtclivws.html"&gt;Role-Based CLI&lt;/a&gt;&lt;br /&gt;- fix &lt;b&gt;radius-server key&lt;/b&gt; partial exposure if FILTER_PWDS is used and key uses &lt;i&gt;non-"word"&lt;/i&gt; characters&lt;br /&gt;- more password-filtering with cisco&lt;br /&gt;- filter out &lt;b&gt;ddns add&lt;/b&gt; URLs (I don't use &lt;b&gt;ddns remove&lt;/b&gt; URLs) - &lt;i&gt;dirty quickfix, I didn't want to waste my time figuring out how to filter out logins and passwords from URLs, so fixed it by removing entire URL strings&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;--- bin/rancid.in.orig  Wed Feb 16 02:16:59 2011&lt;br /&gt;+++ bin/rancid.in       Tue May  3 18:44:49 2011&lt;br /&gt;@@ -1672,6 +1672,9 @@ sub WriteTerm {&lt;br /&gt;        if (/^(ppp .* password) 7 .*/ &amp;&amp; $filter_pwds &gt;= 1) {&lt;br /&gt;            ProcessHistory("","","","!$1 &lt;removed&gt;\n"); next;&lt;br /&gt;        }&lt;br /&gt;+       if (/^\s+(ppp chap (hostname|(password \d))) / &amp;&amp; $filter_pwds &gt;= 1) {&lt;br /&gt;+           ProcessHistory("","","","!$1 &lt;removed&gt;\n"); next;&lt;br /&gt;+       }&lt;br /&gt;        if (/^(ip ftp password) / &amp;&amp; $filter_pwds &gt;= 1) {&lt;br /&gt;            ProcessHistory("","","","!$1 &lt;removed&gt;\n"); next;&lt;br /&gt;        }&lt;br /&gt;@@ -1725,6 +1728,12 @@ sub WriteTerm {&lt;br /&gt;        if (/(\s+ldap-login-password )\S+(.*)/ &amp;&amp; $filter_pwds &gt;= 1) {&lt;br /&gt;            ProcessHistory("","","","!$1 &lt;removed&gt; $'"); next;&lt;br /&gt;        }&lt;br /&gt;+       if (/^\s+(wpa-psk ascii|hex \d) / &amp;&amp; $filter_pwds &gt;= 1) {&lt;br /&gt;+           ProcessHistory("","","","!$1 &lt;removed&gt;\n"); next;&lt;br /&gt;+       }&lt;br /&gt;+       if (/^\s+add / &amp;&amp; $filter_pwds &gt;= 1) {&lt;br /&gt;+           ProcessHistory("","","","!$1 &lt;removed&gt;\n"); next;&lt;br /&gt;+       }&lt;br /&gt;        #&lt;br /&gt;        if (/^( cable shared-secret )/ &amp;&amp; $filter_pwds &gt;= 1) {&lt;br /&gt;            ProcessHistory("","","","!$1 &lt;removed&gt;\n");&lt;br /&gt;@@ -1828,7 +1837,7 @@ sub WriteTerm {&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;        # prune tacacs/radius server keys&lt;br /&gt;-       if (/^((tacacs|radius)-server\s(\w*[-\s(\s\S+])*\s?key) (\d )?\w+/&lt;br /&gt;+       if (/^((tacacs|radius)-server\s(\w*[-\s(\s\S+])*\s?key) (\d )?\S+/&lt;br /&gt;            &amp;&amp; $filter_pwds &gt;= 1) {&lt;br /&gt;            ProcessHistory("","","","!$1 &lt;removed&gt;$'"); next;&lt;br /&gt;        }&lt;br /&gt;@@ -1949,6 +1958,7 @@ sub DoNothing {print STDOUT;}&lt;br /&gt;        {'show vlan-switch'             =&gt; 'ShowVLAN'},&lt;br /&gt;        {'show debug'                   =&gt; 'ShowDebug'},&lt;br /&gt;        {'more system:running-config'   =&gt; 'WriteTerm'},        # ASA/PIX&lt;br /&gt;+       {'show running-config view full' =&gt; 'WriteTerm'},       # workaround for role-based CLI&lt;br /&gt;        {'show running-config'          =&gt; 'WriteTerm'},&lt;br /&gt;        {'write term'                   =&gt; 'WriteTerm'},&lt;br /&gt; );&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5190497643566641322-6088941348967498540?l=cursorblinken.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cursorblinken.blogspot.com/feeds/6088941348967498540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cursorblinken.blogspot.com/2011/05/rancid-patch-workaround-for-ciscos-role.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/6088941348967498540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/6088941348967498540'/><link rel='alternate' type='text/html' href='http://cursorblinken.blogspot.com/2011/05/rancid-patch-workaround-for-ciscos-role.html' title=''/><author><name>Pavel Korovin</name><uri>https://profiles.google.com/102584003858980548692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5190497643566641322.post-464449773450717197</id><published>2011-05-04T02:14:00.005+04:00</published><updated>2011-05-04T02:20:51.449+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='RANCID'/><title type='text'></title><content type='html'>&lt;b&gt;Collecting/tracking network devices configurations with RANCID&lt;/b&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Key components: &lt;a href="http://www.shrubbery.net/rancid/"&gt;RANCID&lt;/a&gt;, &lt;a href="http://www.freebsd.org/projects/cvsweb.html"&gt;CVSweb&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt; In this particular case the OS of choice is &lt;a href="http://openbsd.org/"&gt;OpenBSD&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1. Install rancid package:&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;&lt;br /&gt;# &lt;b&gt;pkg_add rancid-2.3.6.tgz&lt;/b&gt;&lt;br /&gt;rancid-2.3.6:tcl-8.5.9: ok&lt;br /&gt;rancid-2.3.6:expect-5.44.1.15p0-no_tk: ok&lt;br /&gt;useradd: Warning: home directory `/var/rancid' doesn't exist, and -m was not specified&lt;br /&gt;rancid-2.3.6: ok&lt;br /&gt;Look in /usr/local/share/doc/pkg-readmes for extra documentation.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;2. Edit /etc/rancid.conf, e.g.:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;TERM=network;export TERM&lt;br /&gt;umask 027&lt;br /&gt;TMPDIR=/tmp; export TMPDIR&lt;br /&gt;BASEDIR=/var/rancid; export BASEDIR&lt;br /&gt;PATH=/usr/local/bin:/usr/bin:/usr/local/bin:/usr/sbin:/bin:/usr/bin; export PATH&lt;br /&gt;CVSROOT=$BASEDIR/CVS; export CVSROOT&lt;br /&gt;LOGDIR=$BASEDIR/logs; export LOGDIR&lt;br /&gt;RCSSYS=cvs; export RCSSYS&lt;br /&gt;ACLSORT=YES; export ACLSORT&lt;br /&gt;FILTER_PWDS=YES; export FILTER_PWDS&lt;br /&gt;NOCOMMSTR=YES; export NOCOMMSTR&lt;br /&gt;LIST_OF_GROUPS="group1 group2"&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;3. Add RANCID entries to &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=aliases&amp;apropos=0&amp;sektion=5&amp;manpath=OpenBSD+Current&amp;arch=i386&amp;format=html"&gt;aliases(5)&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;# local aliases&lt;br /&gt;_rancid: admin@company.test&lt;br /&gt;&lt;br /&gt;# rancid aliases&lt;br /&gt;rancid-group1: user1@company.test&lt;br /&gt;rancid-admin-group1: admin@company.test&lt;br /&gt;rancid-group2: user2@company.test&lt;br /&gt;rancid-admin-group2: admin@company.test&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;See /usr/local/share/doc/rancid/README for detailed explanations and more examples.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt; do not forget to run &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=newaliases&amp;apropos=0&amp;sektion=8&amp;manpath=OpenBSD+Current&amp;arch=i386&amp;format=html"&gt;newaliases(8)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4. Switch to _rancid user and create /var/rancid/.cloginrc, e.g.&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;add user * $env(USER)&lt;br /&gt;add password * {MYPASSWORD}&lt;br /&gt;add autoenable * {1}&lt;br /&gt;add method * {ssh}&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Set appropriate permissions:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;$ &lt;b&gt;chmod 600 /var/rancid/.cloginrc&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;5. Initialize CVS tree:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;&lt;br /&gt;$ &lt;b&gt;rancid-cvs&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;No conflicts created by this import&lt;br /&gt;&lt;br /&gt;cvs checkout: Updating group1&lt;br /&gt;Directory /var/rancid/CVS/group1/configs added to the repository&lt;br /&gt;cvs commit: Examining configs&lt;br /&gt;cvs add: scheduling file `router.db' for addition&lt;br /&gt;cvs add: use 'cvs commit' to add this file permanently&lt;br /&gt;RCS file: /var/rancid/CVS/group1/router.db,v&lt;br /&gt;done&lt;br /&gt;Checking in router.db;&lt;br /&gt;/var/rancid/CVS/group1/router.db,v  &amp;lt;--  router.db&lt;br /&gt;initial revision: 1.1&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;No conflicts created by this import&lt;br /&gt;&lt;br /&gt;cvs checkout: Updating group2&lt;br /&gt;Directory /var/rancid/CVS/group2/configs added to the repository&lt;br /&gt;cvs commit: Examining configs&lt;br /&gt;cvs add: scheduling file `router.db' for addition&lt;br /&gt;cvs add: use 'cvs commit' to add this file permanently&lt;br /&gt;RCS file: /var/rancid/CVS/group2/router.db,v&lt;br /&gt;done&lt;br /&gt;Checking in router.db;&lt;br /&gt;/var/rancid/CVS/group2/router.db,v  &amp;lt;--  router.db&lt;br /&gt;initial revision: 1.1&lt;br /&gt;done&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;6. Create router.db file for each group:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;$ &lt;b&gt;echo router1:cisco:up &gt; /var/rancid/group1/router.db&lt;/b&gt;&lt;br /&gt;$ &lt;b&gt;echo router2:juniper:up &gt; /var/rancid/group2/router.db&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;7. Run rancid, check logs, check mail delivery:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;$ &lt;b&gt;rancid-run&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Logfiles location: /var/rancid/logs&lt;br /&gt;&lt;br /&gt;8. Create _rancid's crontab, e.g.:&lt;br /&gt;&lt;pre&gt;MAILTO=admin@company.test&lt;br /&gt;#minute hour    mday    month   wday    command&lt;br /&gt;60      *       *       *       *       nice /usr/local/bin/rancid-run group1&lt;br /&gt;50      *       *       *       *       nice /usr/local/bin/rancid-run group2&lt;br /&gt;05      2       *       *       *       find /var/rancid/logs -type f -mtime +2 -exec rm {} \;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;9. Install cvsweb package:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;# &lt;b&gt;pkg_add cvsweb-2.0.6p10.tgz&lt;/b&gt;&lt;br /&gt;cvsweb-2.0.6p10: ok&lt;br /&gt;Look in /usr/local/share/doc/pkg-readmes for extra documentation.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;10. Configure cvsweb as described in /usr/local/share/doc/pkg-readmes/cvsweb-2.0.6p10:&lt;br /&gt;&lt;br /&gt;In one line:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;# &lt;b&gt;cd /var/www &amp;&amp; mkdir tmp usr &amp;&amp; chown www.www tmp &amp;&amp; cd /var/www/usr &amp;&amp; mkdir -p {bin,lib,libdata/perl5,libexec} &amp;&amp; cd /var/www/usr/libdata/perl5 &amp;&amp; mkdir -p {File,IPC,Time,warnings,`machine`-openbsd/5.12.2} &amp;&amp; cd /var/www/usr/bin &amp;&amp; cp -p /usr/bin/{co,cvs,diff,perl,rcsdiff,rlog,uname} . &amp;&amp; cd /var/www/usr/lib &amp;&amp; cp -p /usr/lib/lib{c,crypto,gssapi,krb5,m,perl,util,z}.so* . &amp;&amp; cd /var/www/usr/libexec &amp;&amp; cp -p /usr/libexec/ld.so . &amp;&amp; cd /var/www/usr/libdata/perl5 &amp;&amp; cp -p /usr/libdata/perl5/{Carp,Exporter,Symbol,base,integer}.pm . &amp;&amp; cp -p /usr/libdata/perl5/{strict,warnings,vars,constant}.pm . &amp;&amp; cp -p /usr/libdata/perl5/File/Basename.pm ./File/ &amp;&amp; cp -p /usr/libdata/perl5/IPC/Open{2,3}.pm ./IPC/ &amp;&amp; cp -p /usr/libdata/perl5/Time/Local.pm ./Time/ &amp;&amp; cp -p /usr/libdata/perl5/warnings/register.pm ./warnings/ &amp;&amp; cd /var/www/usr/libdata/perl5/`machine`-openbsd/5.12.2 &amp;&amp; cp -p /usr/libdata/perl5/`machine`-openbsd/5.12.2/{Config,Cwd}.pm . &amp;&amp; cp -p /usr/libdata/perl5/`machine`-openbsd/5.12.2/Config_{git,heavy}.pl .&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;11. Add rancid entry to &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=exports&amp;apropos=0&amp;sektion=5&amp;manpath=OpenBSD+Current&amp;arch=i386&amp;format=html"&gt;exports(5)&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;# &lt;b&gt;echo "/var/rancid/CVS -ro -mapall=nobody localhost" &gt;&gt; /etc/exports&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;12. Add rancid mount point to &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=fstab&amp;apropos=0&amp;sektion=5&amp;manpath=OpenBSD+Current&amp;arch=i386&amp;format=html"&gt;fstab(5)&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;# &lt;b&gt;echo "localhost:/var/rancid/CVS /var/www/rancid nfs ro,nodev,nosuid,noexec 0 0" &gt;&gt; /etc/fstab&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;13. Configure &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=rc.conf&amp;apropos=0&amp;sektion=8&amp;manpath=OpenBSD+Current&amp;arch=i386&amp;format=html"&gt;rc.conf.local(8)&lt;/a&gt; appropriately, e.g.&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;httpd_flags=""&lt;br /&gt;nfs_server=YES&lt;br /&gt;portmap=YES&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;14. Since &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=httpd&amp;apropos=0&amp;sektion=8&amp;manpath=OpenBSD+Current&amp;arch=i386&amp;format=html"&gt;httpd(8)&lt;/a&gt; in OpenBSD runs chrooted, cvsweb files require some changes (as described in /usr/local/share/doc/pkg-readmes/cvsweb-2.0.6p10:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;--- /var/www/conf/cvsweb/cvsweb.conf.orig&lt;br /&gt;+++ /var/www/conf/cvsweb/cvsweb.conf&lt;br /&gt;@@ -43,7 +43,8 @@&lt;br /&gt; # 'symbolic_name' =&gt; ['name_to_display', 'path_to_the_actual_repository']&lt;br /&gt; # Listed in the order specified:&lt;br /&gt; @CVSrepositories = (&lt;br /&gt;-       'local'   =&gt; ['Local Repository', '/home/cvs'],&lt;br /&gt;+       'rancid'  =&gt; ['rancid',           '/rancid'],&lt;br /&gt;+#      'local'   =&gt; ['Local Repository', '/home/cvs'],&lt;br /&gt; #      'freebsd' =&gt; ['FreeBSD',          '/home/ncvs'],&lt;br /&gt; #      'openbsd' =&gt; ['OpenBSD',          '/home/ncvs'],&lt;br /&gt; #      'netbsd'  =&gt; ['NetBSD',           '/home/ncvs'],&lt;br /&gt;@@ -321,7 +322,7 @@&lt;br /&gt; # cvsweb to guess the correct mime-type on&lt;br /&gt; # checkout; you can use the mime.types from&lt;br /&gt; # apache here:&lt;br /&gt;-$mime_types = '/var/www/conf/mime.types';&lt;br /&gt;+$mime_types = '/conf/mime.types';&lt;br /&gt;&lt;br /&gt; # quick mime-type lookup; maps file-suffices to&lt;br /&gt; # mime-types for displaying checkouts in the browser.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;pre&gt;--- /var/www/cgi-bin/cvsweb.orig&lt;br /&gt;+++ /var/www/cgi-bin/cvsweb&lt;br /&gt;@@ -157,7 +157,7 @@&lt;br /&gt;&lt;br /&gt; # == EDIT this ==&lt;br /&gt; # Locations to search for user configuration, in order:&lt;br /&gt;-for ("$mydir/cvsweb.conf", '/var/www/conf/cvsweb/cvsweb.conf') {&lt;br /&gt;+for ("$mydir/cvsweb.conf", '/conf/cvsweb/cvsweb.conf') {&lt;br /&gt;        if (defined($_) &amp;&amp; -r $_) {&lt;br /&gt;                $config = $_;&lt;br /&gt;                last;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;15. Add redirect statement to httpd.conf for convenience:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;Redirect /cvsweb http://server.company.test/cgi-bin/cvsweb&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5190497643566641322-464449773450717197?l=cursorblinken.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cursorblinken.blogspot.com/feeds/464449773450717197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cursorblinken.blogspot.com/2011/05/collectingtracking-network-devices.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/464449773450717197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/464449773450717197'/><link rel='alternate' type='text/html' href='http://cursorblinken.blogspot.com/2011/05/collectingtracking-network-devices.html' title=''/><author><name>Pavel Korovin</name><uri>https://profiles.google.com/102584003858980548692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5190497643566641322.post-7817014785459998411</id><published>2010-11-05T22:49:00.003+03:00</published><updated>2010-11-06T23:46:19.028+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='FreeBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='SCVMM'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenSolaris'/><category scheme='http://www.blogger.com/atom/ns#' term='Solaris'/><title type='text'></title><content type='html'>&lt;b&gt;Adding unsupported operating system IDs to SCVMM&lt;/b&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt; backup SCVMM database and stop vmmservice before applying changes.&lt;br /&gt;&lt;br /&gt;OpenBSD&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;INSERT INTO [VirtualManagerDB].[dbo].[tbl_IL_OS] (OSId, Name, Description, Edition, ProductType, Version, Architecture, OSFlags, VMWareGuestId)&lt;br /&gt;VALUES (NEWID(), 'OpenBSD 4.8-CURRENT (i386)', 'OpenBSD 4.8-CURRENT (i386)', NULL, NULL, NULL, 'x86', 0x15, 'freebsdGuest')&lt;br /&gt;&lt;br /&gt;INSERT INTO [VirtualManagerDB].[dbo].[tbl_IL_OS] (OSId, Name, Description, Edition, ProductType, Version, Architecture, OSFlags, VMWareGuestId)&lt;br /&gt;VALUES (NEWID(), 'OpenBSD 4.8-CURRENT (amd64)', 'OpenBSD 4.8-CURRENT (amd64)', NULL, NULL, NULL, 'amd64', 0x14, 'freebsd64Guest')&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;FreeBSD&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;INSERT INTO [VirtualManagerDB].[dbo].[tbl_IL_OS] (OSId, Name, Description, Edition, ProductType, Version, Architecture, OSFlags, VMWareGuestId)&lt;br /&gt;VALUES (NEWID(), 'FreeBSD 8.1-RELEASE (i386)', 'FreeBSD 8.1-RELEASE (i386)', NULL, NULL, NULL, 'x86', 0x15, 'freebsdGuest')&lt;br /&gt;&lt;br /&gt;INSERT INTO [VirtualManagerDB].[dbo].[tbl_IL_OS] (OSId, Name, Description, Edition, ProductType, Version, Architecture, OSFlags, VMWareGuestId)&lt;br /&gt;VALUES (NEWID(), 'FreeBSD 8.1-RELEASE (amd64)', 'FreeBSD 8.1-RELEASE (amd64)', NULL, NULL, NULL, 'amd64', 0x14, 'freebsd64Guest')&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Solaris&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;INSERT INTO [VirtualManagerDB].[dbo].[tbl_IL_OS] (OSId, Name, Description, Edition, ProductType, Version, Architecture, OSFlags, VMWareGuestId)&lt;br /&gt;VALUES (NEWID(), 'Sun Solaris 10 10/09 (U8)', 'Sun Solaris 10 10/09 (U8)', NULL, NULL, NULL, 'amd64', 0x14, 'solaris10_64Guest')&lt;br /&gt;&lt;br /&gt;INSERT INTO [VirtualManagerDB].[dbo].[tbl_IL_OS] (OSId, Name, Description, Edition, ProductType, Version, Architecture, OSFlags, VMWareGuestId)&lt;br /&gt;VALUES (NEWID(), 'Oracle Solaris 10 9/10 (U9)', 'Oracle Solaris 10 9/10 (U9)', NULL, NULL, NULL, 'amd64', 0x14, 'solaris10_64Guest')&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;OpenSolaris&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;INSERT INTO [VirtualManagerDB].[dbo].[tbl_IL_OS] (OSId, Name, Description, Edition, ProductType, Version, Architecture, OSFlags, VMWareGuestId)&lt;br /&gt;VALUES (NEWID(), 'OpenSolaris', 'OpenSolaris', NULL, NULL, NULL, 'amd64', 0x14, 'solaris10_64Guest')&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5190497643566641322-7817014785459998411?l=cursorblinken.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cursorblinken.blogspot.com/feeds/7817014785459998411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cursorblinken.blogspot.com/2010/11/adding-unsupported-operating-system-ids.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/7817014785459998411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/7817014785459998411'/><link rel='alternate' type='text/html' href='http://cursorblinken.blogspot.com/2010/11/adding-unsupported-operating-system-ids.html' title=''/><author><name>Pavel Korovin</name><uri>https://profiles.google.com/102584003858980548692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5190497643566641322.post-9177883859507045154</id><published>2010-11-05T22:07:00.002+03:00</published><updated>2011-05-04T14:36:33.989+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='WDS'/><category scheme='http://www.blogger.com/atom/ns#' term='PXE'/><title type='text'></title><content type='html'>&lt;b&gt;Booting Unix systems from Windows Deployment Server: OpenBSD&lt;/b&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;This approach, similar to the one described below in FreeBSD article, also uses modified &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=pxeboot&amp;apropos=0&amp;sektion=8&amp;manpath=OpenBSD+Current&amp;arch=i386&amp;format=html"&gt;pxeboot&lt;/a&gt; images for both x86 and x64 architectures.&lt;br /&gt;&lt;br /&gt;1. Modify &lt;i&gt;&lt;a href="http://www.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/stand/boot/boot.c?rev=1.36;content-type=text%2Fplain"&gt;sys/stand/boot/boot.c&lt;/a&gt;&lt;/i&gt; &lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;div style="font-size: small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;pre&gt;--- sys/stand/boot/boot.c.orig  Fri Nov  5 19:57:56 2010&lt;br /&gt;+++ sys/stand/boot/boot.c       Wed Nov  3 03:28:04 2010&lt;br /&gt;@@ -67,7 +67,7 @@&lt;br /&gt;        devboot(bootdev, cmd.bootdev);&lt;br /&gt;        strlcpy(cmd.image, kernelfile, sizeof(cmd.image));&lt;br /&gt;        cmd.boothowto = 0;&lt;br /&gt;-       cmd.conf = "/etc/boot.conf";&lt;br /&gt;+       cmd.conf = "boot\\x86\\pxelinux\\OpenBSD\\boot.conf";&lt;br /&gt;        cmd.addr = (void *)DEFAULT_KERNEL_ADDRESS;&lt;br /&gt;        cmd.timeout = 5;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&lt;br /&gt;2. Build modified pxeboot for i386 architecture:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;cd /sys/arch/i386/stand/pxeboot/ &amp;&amp; make clean obj pxeboot&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;3. Copy pxeboot to the appropriate location on the deployment server (&lt;i&gt;RemoteInstall\Boot\x86\pxelinux\OpenBSD&lt;/i&gt;)&lt;br /&gt;&lt;br /&gt;4. Repeat the process for amd64 architecture; this time specify boot location for x64 architecture in &lt;i&gt;&lt;a href="http://www.openbsd.org/cgi-bin/cvsweb/~checkout~/src/sys/stand/boot/boot.c?rev=1.36;content-type=text%2Fplain"&gt;sys/stand/boot/boot.c&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;div style="font-size: small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;pre&gt;--- sys/stand/boot/boot.c.orig  Fri Nov  5 19:57:56 2010&lt;br /&gt;+++ sys/stand/boot/boot.c       Wed Nov  3 03:28:04 2010&lt;br /&gt;@@ -67,7 +67,7 @@&lt;br /&gt;        devboot(bootdev, cmd.bootdev);&lt;br /&gt;        strlcpy(cmd.image, kernelfile, sizeof(cmd.image));&lt;br /&gt;        cmd.boothowto = 0;&lt;br /&gt;-       cmd.conf = "/etc/boot.conf";&lt;br /&gt;+       cmd.conf = "boot\\x64\\pxelinux\\OpenBSD\\boot.conf";&lt;br /&gt;        cmd.addr = (void *)DEFAULT_KERNEL_ADDRESS;&lt;br /&gt;        cmd.timeout = 5;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&lt;br /&gt;&lt;b&gt;Note:&lt;/b&gt; pxeboot built for i386 architecture will work on amd64 architecture, so there's no need to build it on amd64 platform.&lt;br /&gt;&lt;br /&gt;5. After pxeboot files are copied to Boot\x86\pxelinux\OpenBSD and Boot\x64\pxelinux\OpenBSD locations on the deployment server, also copy bsd.rd from the distribution media to OpenBSD folders and create &lt;i&gt;boot.conf&lt;/i&gt; file for both architectures:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;set RISBoot=H:\RemoteInstall\Boot&lt;br /&gt;for %a in (x86 x64) do &amp;lt;nul (set /p c=boot boot\%a\pxelinux\OpenBSD\bsd.rd)&gt; %RISBoot%\%a\pxelinux\OpenBSD\boot.conf&lt;br /&gt;:: i386 can be installed on x64&lt;br /&gt;cd %RISBoot%\x64\pxelinux\OpenBSD &amp;&amp; mklink /J i386 %RISBoot%\x86\pxelinux\OpenBSD&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;6. Add OpenBSD entries to pxelinux.cfg\default configuration files:&lt;br /&gt;&lt;div style="font-size: small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;pre&gt;LABEL openbsd&lt;br /&gt;    MENU LABEL OpenBSD/amd64&lt;br /&gt;    PXE OpenBSD\pxeboot&lt;br /&gt;&lt;br /&gt;    LABEL openbsd-i386&lt;br /&gt;    MENU LABEL ^OpenBSD/i386&lt;br /&gt;    PXE OpenBSD\i386\pxeboot&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5190497643566641322-9177883859507045154?l=cursorblinken.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cursorblinken.blogspot.com/feeds/9177883859507045154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cursorblinken.blogspot.com/2010/11/booting-unix-systems-from-windows.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/9177883859507045154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/9177883859507045154'/><link rel='alternate' type='text/html' href='http://cursorblinken.blogspot.com/2010/11/booting-unix-systems-from-windows.html' title=''/><author><name>Pavel Korovin</name><uri>https://profiles.google.com/102584003858980548692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5190497643566641322.post-3609123945292475066</id><published>2010-11-05T17:48:00.007+03:00</published><updated>2011-05-04T14:32:05.107+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FreeBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='WDS'/><category scheme='http://www.blogger.com/atom/ns#' term='PXE'/><title type='text'></title><content type='html'>&lt;b&gt;Booting Unix systems from Windows Deployment Server: FreeBSD&lt;/b&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;1. Install &lt;a href="http://technet.microsoft.com/en-us/library/dd758767%28WS.10%29.aspx"&gt;Services for NFS&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;servermanagercmd.exe -install FS-NFS-Services&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;2. Verify NFS server configuration:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;nfsadmin server config&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;3. Create NFS distribution folder:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;mkdir v:\nfs&lt;br /&gt;nfsshare nfs=v:\nfs -o root unmapped=yes anonuid=65534  anongid=65534&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;4. Copy FreeBSD distribution files from the media. For example, create &lt;i&gt;nfs\FreeBSD\%PROCESSOR_ARCHITECTURE%\8.2-RELEASE&lt;/i&gt;, and copy there contents of the &lt;i&gt;8.2-RELEASE&lt;/i&gt; along with &lt;i&gt;boot&lt;/i&gt; and &lt;i&gt;packages&lt;/i&gt; folders.&lt;br /&gt;&lt;br /&gt;5. Make modified versions of FreeBSD's &lt;a href="http://www.freebsd.org/cgi/man.cgi?query=pxeboot&amp;apropos=0&amp;sektion=8&amp;manpath=FreeBSD+8.2-RELEASE&amp;format=html"&gt;pxeboot&lt;/a&gt; for all required FreeBSD releases/architectures. &lt;br /&gt;&lt;br /&gt;Sample patch for 8.2-RELEASE:&lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;div style="font-size: small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;pre&gt;&lt;b&gt;--- sys/boot/i386/libi386/pxe.h.orig    2011-05-04 14:12:52.000000000 +0400&lt;br /&gt;+++ sys/boot/i386/libi386/pxe.h 2011-05-04 14:13:48.000000000 +0400&lt;/b&gt;&lt;br /&gt;@@ -61,7 +61,7 @@&lt;br /&gt; #define        MAC_ARGS(mac)                                   \&lt;br /&gt;        mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]&lt;br /&gt;&lt;br /&gt;-#define        PXENFSROOTPATH  "/pxeroot"&lt;br /&gt;+#define        PXENFSROOTPATH  "/nfs/FreeBSD/8.1-RELEASE/amd64"&lt;br /&gt;&lt;br /&gt; typedef struct {&lt;br /&gt;        uint16_t                offset;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;--- sys/boot/i386/libi386/pxe.c.orig    2011-05-04 14:16:45.000000000 +0400&lt;br /&gt;+++ sys/boot/i386/libi386/pxe.c 2011-05-04 14:17:17.000000000 +0400&lt;/b&gt;&lt;br /&gt;@@ -282,7 +282,7 @@&lt;br /&gt;                bootp(pxe_sock, BOOTP_PXE);&lt;br /&gt;                if (rootip.s_addr == 0)&lt;br /&gt;                        rootip.s_addr = bootplayer.sip;&lt;br /&gt;-               if (!rootpath[0])&lt;br /&gt;+               if (!rootpath[1])&lt;br /&gt;                        strcpy(rootpath, PXENFSROOTPATH);&lt;br /&gt;&lt;br /&gt;                for (i = 0; rootpath[i] != '\0' &amp;&amp; i &amp;lt; FNAME_SIZE; i++)&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;Note.&lt;/b&gt; For 8.0-RELEASE only change PXENFSROOTPATH in &lt;i&gt;&lt;a href="http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/boot/i386/libi386/pxe.h"&gt;sys/boot/i386/libi386/pxe.h&lt;/a&gt;&lt;/i&gt;; there's no need to modify &lt;i&gt;&lt;a href="http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/boot/i386/libi386/pxe.c"&gt;pxe.c&lt;/a&gt;&lt;/i&gt;.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;6. Make everything in &lt;i&gt;/sys/boot&lt;/i&gt;:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;&lt;b&gt;cd /sys/boot &amp;&amp; make clean obj all&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;7. Create appropriate FreeBSD boot folders for all required releases &amp; architectures on the deployment server, e.g. for 8.2-RELEASE:&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;set RISBoot=V:\RemoteInstall\Boot&lt;br /&gt;for %a in (x86 x64) do  mkdir %RISBoot%\%a\pxelinux\FreeBSD_8_2&lt;br /&gt;:: i386 can be installed on x64&lt;br /&gt;cd %RISBoot%\x64\pxelinux\FreeBSD_8_2 &amp;&amp; mklink /J i386 %RISBoot%\x86\pxelinux\FreeBSD_8_2&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;8. Copy modified pxeboot files from &lt;i&gt;/usr/obj/usr/src/sys/boot/i386/pxeldr/pxeboot&lt;/i&gt; to appropriate FreeBSD boot folders on the deployment server.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;9. Add FreeBSD entries to pxelinux.cfg\default configuration files, e.g. for 8.2-RELEASE:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;    LABEL freebsd82&lt;br /&gt;    MENU LABEL ^FreeBSD 8.2-RELEASE/amd64&lt;br /&gt;    PXE FreeBSD_8_2\pxeboot&lt;br /&gt;&lt;br /&gt;    LABEL freebsd82-i386&lt;br /&gt;    MENU LABEL FreeBSD 8.2-RELEASE/i386&lt;br /&gt;    PXE FreeBSD_8_2\i386\pxeboot&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5190497643566641322-3609123945292475066?l=cursorblinken.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cursorblinken.blogspot.com/feeds/3609123945292475066/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cursorblinken.blogspot.com/2010/11/pxe-booting-unix-systems-from-windows_05.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/3609123945292475066'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/3609123945292475066'/><link rel='alternate' type='text/html' href='http://cursorblinken.blogspot.com/2010/11/pxe-booting-unix-systems-from-windows_05.html' title=''/><author><name>Pavel Korovin</name><uri>https://profiles.google.com/102584003858980548692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5190497643566641322.post-6467630182742272062</id><published>2010-11-04T13:14:00.010+03:00</published><updated>2011-05-04T14:07:19.239+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WDS'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='PXE'/><title type='text'></title><content type='html'>&lt;b&gt;Booting Unix systems from Windows Deployment Server: pxelinux&lt;/b&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Squeezed and slightly modified version of the &lt;a href="http://syslinux.zytor.com/wiki/index.php/WDSLINUX"&gt;WDSLINUX&lt;/a&gt; wiki article.&lt;br /&gt;&lt;br /&gt;1. &lt;a href="http://www.kernel.org/pub/linux/utils/boot/syslinux/"&gt;Download&lt;/a&gt; and extract syslinux.&lt;br /&gt;&lt;br /&gt;2. Run cmd.exe, cd to the syslinux folder and run the following commands (verify you set the RemoteInstallBootDir env variable to the right location, &lt;i&gt;V:\RemoteInstall\Boot&lt;/i&gt; in my case):&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;set RemoteInstallBootDir=V:\RemoteInstall\Boot&lt;br /&gt;for %d in (x86 x64) do  mkdir %RemoteInstallBootDir%\%d\pxelinux\pxelinux.cfg &amp;&amp; (for %f in (core\pxelinux.0 com32\modules\chain.c32 com32\menu\menu.c32 com32\menu\vesamenu.c32) do copy %f %RemoteInstallBootDir%\%d\pxelinux)&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;3. Verify (save to a file if needed) current WDS configuration:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;wdsutil /get-server /show:config&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;4. Configure WDS to use pxelinux.0 as boot program:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;for %a in (x86 x64) do (for %p in (bootprogram n12bootprogram) do wdsutil /set-server /%p:boot\%a\pxelinux\pxelinux.0 /architecture:%a)&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;5. (Optional) Configure WDS architecture discovery, PXE prompt &amp; answer policy:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;wdsutil /set-server /answerclients:all /architecturediscovery:yes /pxepromptpolicy /known:optout /new:optout&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;6. Create default configuration file for x86 and x64 architectures (Boot\x86\pxelinux\pxelinux.cfg\default and Boot\x64\pxelinux\pxelinux.cfg\default in the RemoteInstall folder). Basic configuration:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;DEFAULT menu.c32&lt;br /&gt;ALLOWOPTIONS 0&lt;br /&gt;NOESCAPE 1&lt;br /&gt;PROMPT 0&lt;br /&gt;TIMEOUT 60&lt;br /&gt;&lt;br /&gt;MENU TITLE PXE boot options&lt;br /&gt;&lt;br /&gt;LABEL wds&lt;br /&gt;MENU DEFAULT&lt;br /&gt;MENU LABEL ^Windows Deployment Services&lt;br /&gt;PXE ..\pxeboot.n12&lt;br /&gt;&lt;br /&gt;LABEL abortpxe&lt;br /&gt;MENU LABEL ^Abort PXE boot&lt;br /&gt;PXE ..\abortpxe.com&lt;br /&gt;&lt;br /&gt;LABEL localhdd&lt;br /&gt;MENU LABEL Boot from local hard ^disk&lt;br /&gt;LOCALBOOT 0&lt;br /&gt;TYPE 0x80&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;7. Test.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Notes.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;There is no need to rename WDS boot files as described in &lt;a href="http://syslinux.zytor.com/wiki/index.php/WDSLINUX"&gt;WDSLINUX&lt;/a&gt; guide. The main reason for renaming WDS boot files was the SYSLINUX specifics in determination of boot image types: it can be determined from the boot image file extension (e.g. .bin, .0, .img) or from the configuration file command (e.g. PXE, LINUX):&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;pre&gt;The following commands are available after a LABEL statement:&lt;br /&gt;&lt;br /&gt;    LINUX image   - Linux kernel image (default)&lt;br /&gt;    BOOT image   - Bootstrap program (.bs, .bin)&lt;br /&gt;    BSS image   - BSS image (.bss)&lt;br /&gt;    PXE image   - PXE Network Bootstrap Program (.0)&lt;br /&gt;    FDIMAGE image  - Floppy disk image (.img)&lt;br /&gt;    COMBOOT image  - COMBOOT program (.com, .cbt)&lt;br /&gt;    COM32 image   - COM32 program (.c32)&lt;br /&gt;    CONFIG image  - New configuration file&lt;br /&gt;        Using one of these keywords instead of KERNEL forces the&lt;br /&gt;        filetype, regardless of the filename.&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;For more information, refer to the doc\syslinux.txt.&lt;br /&gt;&lt;br /&gt;SYSLINUX does not interfere with ConfigMgr PXE service point if the latter is configured on the deployment server. Managed clients will use SMS boot images.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5190497643566641322-6467630182742272062?l=cursorblinken.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cursorblinken.blogspot.com/feeds/6467630182742272062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cursorblinken.blogspot.com/2010/11/pxe-booting-unix-systems-from-windows.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/6467630182742272062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/6467630182742272062'/><link rel='alternate' type='text/html' href='http://cursorblinken.blogspot.com/2010/11/pxe-booting-unix-systems-from-windows.html' title=''/><author><name>Pavel Korovin</name><uri>https://profiles.google.com/102584003858980548692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5190497643566641322.post-7425050677172492169</id><published>2010-11-03T19:32:00.011+03:00</published><updated>2010-11-06T02:26:49.438+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Kerberos'/><category scheme='http://www.blogger.com/atom/ns#' term='Unix'/><category scheme='http://www.blogger.com/atom/ns#' term='AD DS'/><category scheme='http://www.blogger.com/atom/ns#' term='SSO'/><title type='text'></title><content type='html'>&lt;b&gt;Authenticating Unix SSH users against Windows Active Directory Domain Services (AD DS)&lt;/b&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;The following example shows how to setup AD DS Unix computer account in order to use &lt;a href="http://en.wikipedia.org/wiki/Kerberos_%28protocol%29"&gt;Kerberos&lt;/a&gt; (&lt;a href="http://en.wikipedia.org/wiki/GSSAPI"&gt;GSSAPI&lt;/a&gt;, to be more precise) authentication in SSH daemon.&lt;br /&gt;&lt;br /&gt;To make it clear, &lt;b&gt;Windows&lt;/b&gt; part of the proccess will be performed using the PowerShell 2.0:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;# Import the Active Directory module&lt;br /&gt;&lt;b&gt;Import-Module ActiveDirectory&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;# (Optional) Create group for unix computer accounts administrators, add uniadmin account to the group&lt;br /&gt;&lt;b&gt;New-ADGroup "Unix computers accounts administrators" Global -Description "Unix computers accounts administrators" -OtherAttributes @{mail="usg@company.test"} | Add-ADGroupMember -Members unixadmin&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;# (Optional) Create the OU for Unix computers accounts&lt;br /&gt;&lt;b&gt;New-ADOrganizationalUnit -Name "Unix computers" -Description "OU for Unix computers accounts &amp; groups" -ManagedBy  "Unix computers accounts administrators" -Path 'dc=company,dc=test'&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;# (Optional) Create global group which will contain Unix computers accounts&lt;br /&gt;&lt;b&gt;New-ADGroup "Unix computers" Global -Path 'OU=Unix computers,dc=company,dc=test' -Description "Unix computers accounts" -ManagedBy "Unix computers accounts administrators"&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;# Create unix computer account with appropriate attributes and group membership&lt;br /&gt;&lt;b&gt;New-ADUser unixcomputer -UserPrincipalName "unixcomputer@company.test" -CannotChangePassword 1 -PasswordNeverExpires 1 -Enabled 1 -Path 'OU=Unix computers,dc=company,dc=test' -DisplayName "unixcomputer.company.test" -Description "Used for Kerberos authentication"  -Company "Company" -Department "IS&amp;T" -Division "USG" -Country "US" -City "Raleigh" -AccountPassword (ConvertTo-SecureString -string "SomeRandomPass" -asplaintext -force) -passthru | Add-ADPrincipalGroupMembership -memberof "Unix Computers"&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;# Map Kerberos principal name to the user account, export keytab file&lt;br /&gt;&lt;b&gt;ktpass -princ host/unixcomputer.company.test@COMPANY.TEST -mapuser unixcomputer@company.test -pType KRB5_NT_PRINCIPAL +rndpass -out krb5.keytab&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Verify SPN is created:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;setspn -Q host/unixcomputer.company.test&lt;/b&gt;&lt;br /&gt;&lt;div style="font-size: small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;pre&gt;Checking domain DC=company,DC=test&lt;br /&gt;CN=unixcomputer,OU=Unix computers,DC=company,DC=test&lt;br /&gt;        host/unixcomputer.company.test&lt;br /&gt;&lt;br /&gt;Existing SPN found!&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Securely copy generated keytab to the Unix computer.&lt;br /&gt;&lt;br /&gt;Now the Unix counterpart of the process.&lt;br /&gt;&lt;br /&gt;On &lt;b&gt;OpenBSD&lt;/b&gt; copy the contents of krb5.keytab generated on Windows machine to /etc/kerberosV/krb5.keytab:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;# ktutil copy ./krb5.keytab /etc/kerberosV/krb5.keytab&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Verify keytab entry is added:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;# ktutil list&lt;/b&gt;&lt;br /&gt;&lt;div style="font-size: small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;pre&gt;FILE:/etc/kerberosV/krb5.keytab:&lt;br /&gt;&lt;br /&gt;Vno  Type              Principal&lt;br /&gt;  3  arcfour-hmac-md5  host/unixcomputer.company.test@COMPANY.TEST&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Verify Kerberos:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;$ kinit&lt;/b&gt;&lt;br /&gt;user@COMPANY.TEST's Password:&lt;br /&gt;&lt;b&gt;$ klist&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-size: small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;pre&gt;Credentials cache: FILE:/tmp/krb5cc_1001&lt;br /&gt;        Principal: user@COMPANY.TEST&lt;br /&gt;&lt;br /&gt;  Issued           Expires          Principal&lt;br /&gt;Nov  3 18:13:24  Nov  4 04:13:24  krbtgt/COMPANY.TEST@COMPANY.TEST&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Configure &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sshd&amp;apropos=0&amp;sektion=8&amp;manpath=OpenBSD+Current&amp;arch=i386&amp;format=html"&gt;sshd&lt;/a&gt; to use &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=gssapi&amp;apropos=0&amp;sektion=3&amp;manpath=OpenBSD+Current&amp;arch=i386&amp;format=html"&gt;GSSAPI&lt;/a&gt; authentication:&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;br /&gt;&lt;b&gt;# cf=/etc/ssh/sshd_config &amp;&amp; mv $cf $cf.old &amp;&amp; sed 's/.*GSSAPIAuthentication.*/GSSAPIAuthentication yes/' $cf.old &gt; $cf &amp;&amp; kill -HUP `cat /var/run/sshd&lt;br /&gt;&lt;/div&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;On &lt;b&gt;FreeBSD&lt;/b&gt; copy the contents of krb5.keytab generated on Windows machine to to /etc/krb5.keytab:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;# ktutil copy ./krb5.keytab /etc/krb5.keytab&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Verify keytab entry is added:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;# ktutil list&lt;/b&gt;&lt;br /&gt;&lt;div style="font-size: small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;pre&gt;FILE:/etc/krb5.keytab:&lt;br /&gt;&lt;br /&gt;Vno  Type              Principal&lt;br /&gt;  3  arcfour-hmac-md5  host/unixcomputer.company.test@COMPANY.TEST&lt;br /&gt;&lt;br /&gt;ktutil: krb5_kt_start_seq_get krb4:/etc/srvtab: open(/etc/srvtab): No such file or directory&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Verify Kerberos:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;$ kinit&lt;/b&gt;&lt;br /&gt;user@COMPANY.TEST's Password:&lt;br /&gt;&lt;b&gt;$ klist&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-size: small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;pre&gt;Credentials cache: FILE:/tmp/krb5cc_1001&lt;br /&gt;        Principal: user@COMPANY.TEST&lt;br /&gt;&lt;br /&gt;  Issued           Expires          Principal&lt;br /&gt;Nov  3 18:31:57  Nov  4 04:31:57  krbtgt/COMPANY.TEST@COMPANY.TEST&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;Configure &lt;a href="http://www.freebsd.org/cgi/man.cgi?query=sshd&amp;apropos=0&amp;sektion=8&amp;manpath=FreeBSD+8.1-RELEASE&amp;format=html"&gt;sshd&lt;/a&gt; to use &lt;a href="http://www.freebsd.org/cgi/man.cgi?query=gssapi&amp;apropos=0&amp;sektion=3&amp;manpath=FreeBSD+8.1-RELEASE&amp;format=html"&gt;GSSAPI&lt;/a&gt; authentication:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;# sed -i .bak 's/.*GSSAPIAuthentication.*/GSSAPIAuthentication yes/' /etc/ssh/sshd_config &amp;&amp; kill -HUP `cat /var/run/sshd.pid`  &amp;&amp; rm /etc/ssh/sshd_config.bak&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;On &lt;b&gt;Solaris&lt;/b&gt; copy the contents of krb5.keytab generated on Windows machine to to /etc/krb5/krb5.keytab:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;# ktutil&lt;/b&gt;&lt;br /&gt;&lt;div style="font-size: small;"&gt;&lt;pre&gt;ktutil:  &lt;b&gt;rkt ./krb5.keytab&lt;/b&gt;&lt;br /&gt;ktutil:  &lt;b&gt;list&lt;/b&gt;&lt;br /&gt;slot KVNO Principal&lt;br /&gt;---- ---- ---------------------------------------------------------------------&lt;br /&gt;   1    5   host/unixcomputer.company.test@COMPANY.TEST&lt;br /&gt;ktutil:  &lt;b&gt;wkt /etc/krb5/krb5.keytab&lt;/b&gt;&lt;br /&gt;ktutil:  &lt;b&gt;clear&lt;/b&gt;&lt;br /&gt;ktutil:  &lt;b&gt;rkt /etc/krb5/krb5.keytab&lt;/b&gt;&lt;br /&gt;slot KVNO Principal&lt;br /&gt;---- ---- ---------------------------------------------------------------------&lt;br /&gt;   1    5   host/unixcomputer.company.test@COMPANY.TEST&lt;br /&gt;ktutil:  &lt;b&gt;exit&lt;/b&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Verify Kerberos:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-size: x-small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;b&gt;$ kinit&lt;/b&gt;&lt;br /&gt;Password for user@COMPANY.TEST:&lt;br /&gt;&lt;b&gt;$ klist&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-size: small; font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace;"&gt;&lt;pre&gt;Ticket cache: FILE:/tmp/krb5cc_1001&lt;br /&gt;Default principal: user@COMPANY.TEST&lt;br /&gt;&lt;br /&gt;Valid starting                Expires                Service principal&lt;br /&gt;11/03/10 18:33:11  11/04/10 04:33:12  krbtgt/COMPANY.TEST@COMPANY.TEST&lt;br /&gt;        renew until 11/10/10 18:33:11&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;Solaris &lt;a href="http://docs.sun.com/app/docs/doc/816-5166/sshd-1m?l=en&amp;a=view"&gt;sshd&lt;/a&gt; supports &lt;a href="http://docs.sun.com/app/docs/doc/816-4863/reference-1?l=en&amp;a=view"&gt;GSSAPI&lt;/a&gt; authentication by default.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;GSSAPI-supporting Windows SSH Client&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I'm using the latest development snapshot of &lt;a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html"&gt;PuTTY&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Troubleshooting&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Normally, if Windows AD DS set up properly, Kerberos authentication of Unix user accounts against Windows AD DS should work right out of the box, i.e. default AD DS installation, default Unix settings no matter what flavor of Unix/Kerberos is used. &lt;br /&gt;&lt;br /&gt;Typical problems (in ascending order of complexity):&lt;br /&gt;1. Clock skew. Keep computer clock synchronized with a reliable source (NTP).&lt;br /&gt;2. Kerberos encryption types. Make sure the keytab entry for the Unix host uses &lt;i&gt;&lt;a href="http://en.wikipedia.org/wiki/RC4_%28cipher%29"&gt;arcfour-hmac-md5&lt;/a&gt;&lt;/i&gt; encryption type.&lt;br /&gt;3. DNS records. SRV RRs used by Kerberos are registered by &lt;a href="http://technet.microsoft.com/en-us/library/cc961719.aspx"&gt;Net Logon&lt;/a&gt; service on domain controllers. Check if records are registered, check if the Unix resolver functions properly and points to the right DNS servers.&lt;br /&gt;&lt;br /&gt;Tip. Run sshd in debug mode on port 2022: sshd -ddd -p 2022.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5190497643566641322-7425050677172492169?l=cursorblinken.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cursorblinken.blogspot.com/feeds/7425050677172492169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cursorblinken.blogspot.com/2010/11/authenticating-unix-ssh-users-against.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/7425050677172492169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/7425050677172492169'/><link rel='alternate' type='text/html' href='http://cursorblinken.blogspot.com/2010/11/authenticating-unix-ssh-users-against.html' title=''/><author><name>Pavel Korovin</name><uri>https://profiles.google.com/102584003858980548692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5190497643566641322.post-5205114904118312429</id><published>2010-11-03T04:13:00.006+03:00</published><updated>2010-11-06T02:07:47.643+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PKI'/><title type='text'></title><content type='html'>&lt;b&gt;CAPolicy.inf Windows AD CS confguration file mindmap&lt;/b&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;iframe width="500" height="200" frameborder="0" src="http://mind42.com/pub/mindmap?mid=1dbbd969-8ec8-4b42-b04d-fe72cff57c84"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://mind42.com/pub/mindmap?mid=1dbbd969-8ec8-4b42-b04d-fe72cff57c84"&gt;Link&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5190497643566641322-5205114904118312429?l=cursorblinken.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cursorblinken.blogspot.com/feeds/5205114904118312429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cursorblinken.blogspot.com/2010/11/capolicy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/5205114904118312429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/5205114904118312429'/><link rel='alternate' type='text/html' href='http://cursorblinken.blogspot.com/2010/11/capolicy.html' title=''/><author><name>Pavel Korovin</name><uri>https://profiles.google.com/102584003858980548692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5190497643566641322.post-2721259655160843745</id><published>2009-12-04T23:49:00.010+03:00</published><updated>2011-05-04T13:56:58.962+04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IOS'/><category scheme='http://www.blogger.com/atom/ns#' term='tunnelbroker'/><category scheme='http://www.blogger.com/atom/ns#' term='IPv6'/><title type='text'></title><content type='html'>&lt;b&gt;Tunnelbroker: securely updating tunnel's server endpoint using Cisco IOS "ip ddns" update method&lt;/b&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;1. Get tunnelbroker's certificate&lt;br /&gt;&lt;br /&gt;Go to  &lt;a href="https://ipv4.tunnelbroker.net/"&gt; https://ipv4.tunnelbroker.net/&lt;/a&gt;. Export the certificate in X.509 Certificate (PEM) format, open it with text editor, copy contents.&lt;br /&gt;&lt;br /&gt;2. (Cisco) Configure trustpoint:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;cisco(config)#&lt;b&gt;crypto pki trustpoint tunnelbroker&lt;/b&gt;&lt;br /&gt;cisco(ca-trustpoint)#&lt;b&gt;enrollment terminal pem&lt;/b&gt;&lt;br /&gt;cisco(ca-trustpoint)#&lt;b&gt;revocation-check none&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;3. Authenticate tunnelbroker's certificate (paste certificate)&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;cisco(config)#&lt;b&gt;crypto pki authenticate tunnelbroker&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;pre&gt;Enter the base 64 encoded CA certificate.&lt;br /&gt;End with a blank line or the word "quit" on a line by itself&lt;br /&gt;&lt;br /&gt;-----BEGIN CERTIFICATE-----&lt;br /&gt;MIID8DCCAtigAwIBAgIJAPF6IlDmmdRhMA0GCSqGSIb3DQEBBQUAMIGcMQswCQYD&lt;br /&gt;VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEQMA4GA1UEBxMHRnJlbW9udDEg&lt;br /&gt;MB4GA1UEChMXSHVycmljYW5lIEVsZWN0cmljLCBMTEMxDTALBgNVBAsTBElQdjYx&lt;br /&gt;GTAXBgNVBAMTEHR1bm5lbGJyb2tlci5uZXQxGjAYBgkqhkiG9w0BCQEWC2lwdjZA&lt;br /&gt;aGUubmV0MB4XDTExMDQyMjE3NDIyMFoXDTIxMDQxOTE3NDIyMFowgZwxCzAJBgNV&lt;br /&gt;BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRAwDgYDVQQHEwdGcmVtb250MSAw&lt;br /&gt;HgYDVQQKExdIdXJyaWNhbmUgRWxlY3RyaWMsIExMQzENMAsGA1UECxMESVB2NjEZ&lt;br /&gt;MBcGA1UEAxMQdHVubmVsYnJva2VyLm5ldDEaMBgGCSqGSIb3DQEJARYLaXB2NkBo&lt;br /&gt;ZS5uZXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDe5nza8zQ/AiT+&lt;br /&gt;ySc4mZYmLMcIrcU3q6ZEwIY5vHg2chzCJGCPQIwtBiexSZ7CWL8/GjdPWs6DoCut&lt;br /&gt;DS6VlGGaRhJd0ppUOB3uZLcqnfY0/d40WpRFm49yAV3fmhQg744BKUz2+V23E3tP&lt;br /&gt;n4UXq507dQ3RmNiZoS/T+DUbt1URXFZDIJmc4vjnYfGQhUzhbWZbC7J5fMFnTFSL&lt;br /&gt;NWNou4drWwcApm4FjPfVr+tdanjGEs8bMGSbXo6BjtStiEy1yJ3QGyZLwuURcMMv&lt;br /&gt;DV06/hc2Nv9MZPUaIPvXmNcSuVvY3MJiD1CiCWVmfiO3h7b5EmIWC+ZpO9L3Mk6/&lt;br /&gt;j/MgWR6jAgMBAAGjMzAxMC8GA1UdEQQoMCaCEHR1bm5lbGJyb2tlci5uZXSCEiou&lt;br /&gt;dHVubmVsYnJva2VyLm5ldDANBgkqhkiG9w0BAQUFAAOCAQEAXMG5ZOeyRCzIEPYP&lt;br /&gt;tZKbr1N0CkiBHf+7bVqUqfifEte6S/edpUdzIzB9Wtt484Dt88cAeg4BH2z+Kx2C&lt;br /&gt;lE9PxtTSMCInZIniuoLhaBP0BiRXEurTYdreFmen/S5cCkffVr+eJGk92lQQAdMr&lt;br /&gt;kyz2kD1NCwCaEp1w9DYltDbfC2v8BSIiEKVvD72VW6E2r7AvW73s3+E3WcWbt6pV&lt;br /&gt;qrKfFH4mKH0BR7nLzm5zduojCvIdH3GjelyLd7lUVR3N8Dz626tOzni/bzHpbH3T&lt;br /&gt;dMlBIl3f7c41wcoFG5zSZf1mvgyOnSlOnNmlxMbnfnrIyIyfYz1L8UWqWZGbxJYH&lt;br /&gt;EXcOrA==&lt;br /&gt;-----END CERTIFICATE-----&lt;br /&gt;&lt;br /&gt;Certificate has the following attributes:&lt;br /&gt;       Fingerprint MD5: 1128B641 08E7E271 B2FFB7FF 91411952&lt;br /&gt;      Fingerprint SHA1: 9EB44F27 6BCE5EF6 5D9D38CC A9252276 4318075C&lt;br /&gt;&lt;br /&gt;% Do you accept this certificate? [yes/no]: yes&lt;br /&gt;Trustpoint CA certificate accepted.&lt;br /&gt;% Certificate successfully imported&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;4. Construct your tunnel source update URL.&lt;br /&gt;&lt;br /&gt;https://ipv4.tunnelbroker.net/ipv4_end.php?ipv4b=AUTO&amp;amp;pass=&lt;b&gt;MD5PASS&lt;/b&gt;&amp;amp;user_id=&lt;b&gt;USERID&lt;/b&gt;&amp;amp;tunnel_id=&lt;b&gt;GTUNID&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Substitute MD5PASS, USERID and GTUNID with appropriate values:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;MD5PASS is the MD5 hash of your password&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;&lt;b&gt;md5 -dPassword&lt;/b&gt;&lt;br /&gt;DC647EB65E6711E155375218212B3964&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;md5 utility for Windows: &lt;a href="http://www.fourmilab.ch/md5/"&gt;http://www.fourmilab.ch/md5/&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;i&gt;USERID is your Tunnel Broker's userid (check your Hurricane Electric Free IPv6 Tunnel Broker account's &lt;b&gt;main page&lt;/b&gt;)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;GTUNID = Tunnel ID, obtain it from your tunnel settings (Login to your Hurricane Electric Free IPv6 Tunnel Broker account)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Sample URL: https://ipv4.tunnelbroker.net/ipv4_end.php?ipv4b=AUTO&amp;pass=DC647EB65E6711E155375218212B3964&amp;user_id=123457890abcd1234567890abcd12345&amp;tunnel_id=12345&lt;br /&gt;&lt;br /&gt;5. Configure ddns&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;cisco(config)#&lt;b&gt;ip ddns update method tunnelbroker&lt;/b&gt;&lt;br /&gt;cisco(DDNS-update-method)#&lt;b&gt;HTTP&lt;/b&gt;&lt;br /&gt;cisco(DDNS-HTTP)#&lt;b&gt;add https://ipv4.tunnelbroker.net/ipv4_end.php?ipv4b=AUTO&amp;pass=DC647EB65E6711E155375218212B3964&amp;user_id=123457890abcd1234567890abcd12345&amp;tunnel_id=12345&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Hint: use Ctrl-V to enter "?" in the URL&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: &amp;quot;Courier New&amp;quot;,Courier,monospace; font-size: x-small;"&gt;cisco(DDNS-HTTP)#exit&lt;br /&gt;cisco(DDNS-update-method)#&lt;b&gt;interval maximum 28 0 0 0&lt;/b&gt;&lt;br /&gt;cisco(DDNS-update-method)#&lt;b&gt;exit&lt;/b&gt;&lt;br /&gt;cisco(config)#&lt;b&gt;int tunnel 0&lt;/b&gt;&lt;br /&gt;cisco(config-if)#&lt;b&gt;ip ddns update tunnelbroker&lt;/b&gt;&lt;br /&gt;cisco(config-if)#&lt;b&gt;end&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Resulting config&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;crypto pki trustpoint tunnelbroker&lt;br /&gt; enrollment terminal pem&lt;br /&gt; revocation-check none&lt;br /&gt;!&lt;br /&gt;crypto pki certificate chain tunnelbroker&lt;br /&gt; certificate ca 00F17A2250E699D461&lt;br /&gt;  308203F0 308202D8 A0030201 02020900 F17A2250 E699D461 300D0609 2A864886 &lt;br /&gt;  F70D0101 05050030 819C310B 30090603 55040613 02555331 13301106 03550408 &lt;br /&gt;  130A4361 6C69666F 726E6961 3110300E 06035504 07130746 72656D6F 6E743120 &lt;br /&gt;  301E0603 55040A13 17487572 72696361 6E652045 6C656374 7269632C 204C4C43 &lt;br /&gt;  310D300B 06035504 0B130449 50763631 19301706 03550403 13107475 6E6E656C &lt;br /&gt;  62726F6B 65722E6E 6574311A 30180609 2A864886 F70D0109 01160B69 70763640 &lt;br /&gt;  68652E6E 6574301E 170D3131 30343232 31373432 32305A17 0D323130 34313931 &lt;br /&gt;  37343232 305A3081 9C310B30 09060355 04061302 55533113 30110603 55040813 &lt;br /&gt;  0A43616C 69666F72 6E696131 10300E06 03550407 13074672 656D6F6E 74312030 &lt;br /&gt;  1E060355 040A1317 48757272 6963616E 6520456C 65637472 69632C20 4C4C4331 &lt;br /&gt;  0D300B06 0355040B 13044950 76363119 30170603 55040313 1074756E 6E656C62 &lt;br /&gt;  726F6B65 722E6E65 74311A30 1806092A 864886F7 0D010901 160B6970 76364068 &lt;br /&gt;  652E6E65 74308201 22300D06 092A8648 86F70D01 01010500 0382010F 00308201 &lt;br /&gt;  0A028201 0100DEE6 7CDAF334 3F0224FE C9273899 96262CC7 08ADC537 ABA644C0 &lt;br /&gt;  8639BC78 36721CC2 24608F40 8C2D0627 B1499EC2 58BF3F1A 374F5ACE 83A02BAD &lt;br /&gt;  0D2E9594 619A4612 5DD29A54 381DEE64 B72A9DF6 34FDDE34 5A94459B 8F72015D &lt;br /&gt;  DF9A1420 EF8E0129 4CF6F95D B7137B4F 9F8517AB 9D3B750D D198D899 A12FD3F8 &lt;br /&gt;  351BB755 115C5643 20999CE2 F8E761F1 90854CE1 6D665B0B B2797CC1 674C548B &lt;br /&gt;  356368BB 876B5B07 00A66E05 8CF7D5AF EB5D6A78 C612CF1B 30649B5E 8E818ED4 &lt;br /&gt;  AD884CB5 C89DD01B 264BC2E5 1170C32F 0D5D3AFE 173636FF 4C64F51A 20FBD798 &lt;br /&gt;  D712B95B D8DCC262 0F50A209 65667E23 B787B6F9 1262160B E6693BD2 F7324EBF &lt;br /&gt;  8FF32059 1EA30203 010001A3 33303130 2F060355 1D110428 30268210 74756E6E &lt;br /&gt;  656C6272 6F6B6572 2E6E6574 82122A2E 74756E6E 656C6272 6F6B6572 2E6E6574 &lt;br /&gt;  300D0609 2A864886 F70D0101 05050003 82010100 5CC1B964 E7B2442C C810F60F &lt;br /&gt;  B5929BAF 53740A48 811DFFBB 6D5A94A9 F89F12D7 BA4BF79D A5477323 307D5ADB &lt;br /&gt;  78F380ED F3C7007A 0E011F6C FE2B1D82 944F4FC6 D4D23022 276489E2 BA82E168 &lt;br /&gt;  13F40624 5712EAD3 61DADE16 67A7FD2E 5C0A47DF 56BF9E24 693DDA54 1001D32B &lt;br /&gt;  932CF690 3D4D0B00 9A129D70 F43625B4 36DF0B6B FC052222 10A56F0F BD955BA1 &lt;br /&gt;  36AFB02F 5BBDECDF E13759C5 9BB7AA55 AAB29F14 7E26287D 0147B9CB CE6E7376 &lt;br /&gt;  EA230AF2 1D1F71A3 7A5C8B77 B954551D CDF03CFA DBAB4ECE 78BF6F31 E96C7DD3 &lt;br /&gt;  74C94122 5DDFEDCE 35C1CA05 1B9CD265 FD66BE0C 8E9D294E 9CD9A5C4 C6E77E7A &lt;br /&gt;  C8C88C9F 633D4BF1 45AA5991 9BC49607 11770EAC&lt;br /&gt;   quit&lt;br /&gt;!&lt;br /&gt;ip ddns update method tunnelbroker&lt;br /&gt; HTTP&lt;br /&gt;  add add https://ipv4.tunnelbroker.net/ipv4_end.php?ipv4b=AUTO&amp;pass=DC647EB65E6711E155375218212B3964&amp;user_id=123457890abcd1234567890abcd12345&amp;tunnel_id=12345&lt;br /&gt; interval maximum 1 0 0 0&lt;br /&gt;!&lt;br /&gt;interface Tunnel0&lt;br /&gt; ip ddns update tunnelbroker&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5190497643566641322-2721259655160843745?l=cursorblinken.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cursorblinken.blogspot.com/feeds/2721259655160843745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cursorblinken.blogspot.com/2009/12/tunnelbroker-securely-updating-tunnels.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/2721259655160843745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/2721259655160843745'/><link rel='alternate' type='text/html' href='http://cursorblinken.blogspot.com/2009/12/tunnelbroker-securely-updating-tunnels.html' title=''/><author><name>Pavel Korovin</name><uri>https://profiles.google.com/102584003858980548692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5190497643566641322.post-5719545994068482720</id><published>2009-11-29T18:15:00.006+03:00</published><updated>2010-11-06T02:08:49.237+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='data visualization'/><title type='text'></title><content type='html'>&lt;b&gt;&lt;a href="http://www.futurepointsystems.com/?page=products"&gt;Starlight&lt;/a&gt; 4.1.1 New Features Webinar&lt;/b&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Starting at 7:32&lt;br /&gt;&lt;br /&gt;&lt;object style="height: 344px; width: 425px"&gt;&lt;param name="movie" value="http://www.youtube.com/v/o4Rx1ln6Pp0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/o4Rx1ln6Pp0" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5190497643566641322-5719545994068482720?l=cursorblinken.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://en.wikipedia.org/wiki/Starlight_Information_Visualization_System' title=''/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/5719545994068482720'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/5719545994068482720'/><link rel='alternate' type='text/html' href='http://cursorblinken.blogspot.com/2009/11/starlight-4.html' title=''/><author><name>Pavel Korovin</name><uri>https://profiles.google.com/102584003858980548692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-5190497643566641322.post-7070706397361146701</id><published>2009-11-29T15:43:00.008+03:00</published><updated>2010-11-06T02:09:07.091+03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='history'/><title type='text'></title><content type='html'>&lt;b&gt;Computer Networks: The Heralds of Resource Sharing&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;Circa 1972.&lt;br /&gt;&lt;br /&gt;&lt;embed allowfullscreen="true" allowscriptaccess="always" id="VideoPlayback" src="http://video.google.com/googleplayer.swf?docid=4989933629762859961&amp;amp;hl=en&amp;amp;fs=true" style="height: 326px; width: 400px;" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5190497643566641322-7070706397361146701?l=cursorblinken.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/7070706397361146701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5190497643566641322/posts/default/7070706397361146701'/><link rel='alternate' type='text/html' href='http://cursorblinken.blogspot.com/2009/11/computer-networks-heralds-of-resource.html' title=''/><author><name>Pavel Korovin</name><uri>https://profiles.google.com/102584003858980548692</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
