<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Olaf Reitmaier Veracierta</title>
	<atom:link href="http://www.olafrv.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.olafrv.com</link>
	<description>&#34;You don&#039;t know where your shadow will fall&#34;, Somebody.</description>
	<lastBuildDate>Sat, 04 May 2013 02:59:43 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Random Ubuntu 12.04 hangs (freeze), hard reset needed</title>
		<link>http://www.olafrv.com/?p=1151</link>
		<comments>http://www.olafrv.com/?p=1151#comments</comments>
		<pubDate>Sat, 04 May 2013 02:46:31 +0000</pubDate>
		<dc:creator>olafrv</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[apci]]></category>
		<category><![CDATA[apic]]></category>
		<category><![CDATA[boot]]></category>
		<category><![CDATA[freeze]]></category>
		<category><![CDATA[frozen]]></category>
		<category><![CDATA[hang]]></category>
		<category><![CDATA[irq]]></category>
		<category><![CDATA[off]]></category>
		<category><![CDATA[pci]]></category>
		<category><![CDATA[up]]></category>

		<guid isPermaLink="false">http://www.olafrv.com/?p=1151</guid>
		<description><![CDATA[MY PC
- ASUS P67 Sabertooh Lastest BIOS Update (Available on May 5th, 2013)
- Intel Core i7 2600K
- 16 GB RAM
PROBLEM
- Random Ubuntu 12.04 hangs (freeze) 32/64 bits.
- Hard reset needed.
- No problems on Windows 7 64-bits.
SOLUTION
Disable APIC and APIC timers, editing default kernel boot options  [...]]]></description>
				<content:encoded><![CDATA[<p><strong>MY PC</strong></p>
<p>- ASUS P67 Sabertooh Lastest BIOS Update (Available on May 5th, 2013)<br />
- Intel Core i7 2600K<br />
- 16 GB RAM</p>
<p><strong>PROBLEM</strong></p>
<p>- Random Ubuntu 12.04 hangs (freeze) 32/64 bits.<br />
- Hard reset needed.<br />
- No problems on Windows 7 64-bits.</p>
<p><strong>SOLUTION</strong></p>
<p>Disable APIC and APIC timers, editing default kernel boot options in <em>/etc/default/grub</em>:</p>
<pre>
GRUB_CMDLINE_LINUX="acpi=off noapic nolapic"
</pre>
<p><strong>PROS</strong></p>
<p>$ uptime<br />
 22:11:38 up 14 days, 14:08,  2 users,  load average: 1.85, 1.59, 1.37</p>
<p><strong>CONS</strong></p>
<p>No multicore/multithread monitoring nor IRQ balance by S.O, as shown below:</p>
<p><a href="http://www.olafrv.com/wordpress/wp-content/uploads/2013/05/Captura-de-pantalla-de-2013-05-03-221408.png"><img src="http://www.olafrv.com/wordpress/wp-content/uploads/2013/05/Captura-de-pantalla-de-2013-05-03-221408-300x200.png" alt="System Monitor" width="300" height="200" class="aligncenter size-medium wp-image-1153" /></a></p>
<p><strong>REFERENCES</strong></p>
<p><a href="https://help.ubuntu.com/community/DebuggingIRQProblems" title="Debugging IRQ Problems" target="_blank">Debugging IRQ Problems (Ubuntu)</a></p>
<blockquote>
<p>If you think you may be experiencing such a problem, try these steps in the following order:</p>
<p>    Boot the system with the noapic kernel parameter.<br />
        This tells the kernel to not make use of any IOAPIC&#8217;s that may be present in the system </p>
<p>    Boot the system with pci=routeirq.<br />
        Do IRQ routing for all PCI devices. This is normally done in pci_enable-device(), and is a temporary workaround for broken drivers which don&#8217;t call it. </p>
<p>    Boot the system with pci=noacpi.<br />
        Do not use ACPI for IRQ routing or PCI scanning. </p>
<p>    Boot the system with acpi=off.<br />
        Completely disable ACPI support. </p>
<p>You may also want to try:</p>
<p>    Boot the system with &#8216;irqpoll&#8217;.<br />
        This may be a work around for an &#8220;irqXX: nobody cared . . .&#8221; error, which basically means the interrupt has not been handled by any driver. This boot option will make the kernel poll for interrupts, in order to try to work around this issue. However, this does not help diagnose the root cause, nor should it be a permanent fix.</p>
</blockquote>
<p><a href="http://fedoraproject.org/wiki/Common_kernel_problems" title="Common Kernel Problems (Fedora)" target="_blank">Common Kernel Problems (Fedora)</a></p>
<blockquote>
<p><strong>Crashes/Hangs</strong></p>
<p>    Checking whether or not the CapsLock key (or NumLock or ScrollLock) causes the light on the keyboard to change state can be used as an indication of whether or not the kernel has hung completely, or if there is something else going on.</p>
<p>    For boot related issues we need as much info as possible, so removing quiet rhgb from the boot flags should be the first thing to ask for.</p>
<p>    Slowing down the speed of text output with boot_delay=1000 (the number may need to be tweaked higher/lower to suit) may allow the user to take a digital camera photo of the last thing on screen.</p>
<p>    Booting with vga=791 (or even just vga=1 if the video card won&#8217;t support 791) will put the framebuffer into high resolution mode to get more lines of text on screen, allowing more context for bug analysis.</p>
<p>    initcall_debug will allow to see the last thing the kernel tried to initialise before it hung.</p>
<p>    There are numerous switches that change which at times have proven to be useful to diagnose failures by disabling various features.<br />
    acpi=off is a big hammer, and if that works, narrowing down by trying pci=noacpi instead may yield clues nolapic and noapic are sometimes useful nolapic_timer can be useful on i386; on x86_64 this option is called noapictimer</p>
<p>    Given it&#8217;s new and still seeing quite a few changes, nohz=off and/or highres=off may be worth testing. (Though this is kernel 2.6.21 and above only)</p>
<p>    If you get no output at all from the kernel, sometimes booting with earlyprintk=vga can sometimes yield something of interest.</p>
<p>    If the kernel locks up with a &#8216;soft lockup&#8217; report, booting with nosoftlockup will disable this check allowing booting to continue.</p>
<p>    If the kernel locks up really early, booting with edd=skipmbr or edd=off may help</p>
<p>    The system can hang because the clock isn&#8217;t running properly, see System clock runs too fast/slow</p>
<p>    Sometimes the system can hang because it is looking for nonexistent floppy drives. See Boot pauses probing floppy device</p>
<p>    Sometimes multiple options are needed, e.g. clocksource=acpi_pm nohz=off highres=off</p>
<p>    Try to narrow down the options needed to the absolute minimum. This helps the kernel maintainers find the underlying problem.</p>
<p>    If it hangs after &#8220;Freeing unused kernel memory: 280k freed&#8221; you might have glibc.i686 when your processor is not capable of i686. Replace it to glibc.i386 and be sure the &#8220;i686&#8243; and &#8220;nosegneg&#8221; directories are deleted.</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.olafrv.com/?feed=rss2&#038;p=1151</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generate Random Preshared Key With &#8220;dd&#8221;</title>
		<link>http://www.olafrv.com/?p=1145</link>
		<comments>http://www.olafrv.com/?p=1145#comments</comments>
		<pubDate>Fri, 05 Apr 2013 04:59:04 +0000</pubDate>
		<dc:creator>olafrv</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.olafrv.com/?p=1145</guid>
		<description><![CDATA[State of the art, so elegant!:

?View Code BASH1
dd if=/dev/random bs=32 count=1 2&#62;/dev/null &#124; od -t x1 &#124; sed  '$d;s/^[[:xdigit:]]* //;s/ //g' &#124; tr -d '\n'; echo

Source:
http://www.linuxquestions.org/questions/linux-newbie-8/can-dd-be-used-to-clone-just-the-data-on-a-partition-595285/
]]></description>
				<content:encoded><![CDATA[<p>State of the art, so elegant!:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1145code2'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p11452"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p1145code2"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">dd</span> <span style="color: #007800;">if</span>=<span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>random <span style="color: #007800;">bs</span>=<span style="color: #000000;">32</span> <span style="color: #007800;">count</span>=<span style="color: #000000;">1</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&gt;/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">od</span> <span style="color: #660033;">-t</span> x1 <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span>  <span style="color: #ff0000;">'$d;s/^[[:xdigit:]]* //;s/ //g'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">tr</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">'\n'</span>; <span style="color: #7a0874; font-weight: bold;">echo</span></pre></td></tr></table></div>

<p>Source:<br />
<a href="http://www.linuxquestions.org/questions/linux-newbie-8/can-dd-be-used-to-clone-just-the-data-on-a-partition-595285/">http://www.linuxquestions.org/questions/linux-newbie-8/can-dd-be-used-to-clone-just-the-data-on-a-partition-595285/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.olafrv.com/?feed=rss2&#038;p=1145</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Servers package difference =&gt; &#8220;dpkg-diff&#8221;</title>
		<link>http://www.olafrv.com/?p=1124</link>
		<comments>http://www.olafrv.com/?p=1124#comments</comments>
		<pubDate>Thu, 27 Sep 2012 03:29:12 +0000</pubDate>
		<dc:creator>olafrv</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.olafrv.com/?p=1124</guid>
		<description><![CDATA[Problem
You have two linux servers A and B, you want to know what installed packages are not in both servers (A-B joined with B-A).
Solution 
The following script (dpkg-diff.sh, tested on GNU/Linux Debian Lenny/Squeeze).
dpkg-query command and a ssh server must be installed on both servers.

?View  [...]]]></description>
				<content:encoded><![CDATA[<p><strong>Problem</strong></p>
<p>You have two linux servers A and B, you want to know what installed packages are not in both servers (A-B joined with B-A).</p>
<p><strong>Solution</strong> </p>
<p>The following script (dpkg-diff.sh, tested on GNU/Linux Debian Lenny/Squeeze).</p>
<blockquote><p><strong>dpkg-query</strong> command and a <strong>ssh server</strong> must be installed on both servers.</p></blockquote>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1124code4'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p11244"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
</pre></td><td class="code" id="p1124code4"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">###</span>
<span style="color: #666666; font-style: italic;"># FILE: dpkg-diff.sh</span>
<span style="color: #666666; font-style: italic;"># AUTHOR: Olaf Reitmaier &lt;olafrv@gmail.com&gt;</span>
<span style="color: #666666; font-style: italic;"># LICENSE: GNU/GPL v3 (Visit www.gnu.org for more info)</span>
<span style="color: #666666; font-style: italic;"># USAGE: Servers package difference =&gt; &quot;dpkg-diff&quot;</span>
<span style="color: #666666; font-style: italic;"># WARNING: Modify header vars according to your needs.</span>
<span style="color: #666666; font-style: italic;">##</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Header variables</span>
&nbsp;
<span style="color: #007800;">s1</span>=server1.example.com
<span style="color: #007800;">s2</span>=server2.example.com
<span style="color: #007800;">u1</span>=testuser
<span style="color: #007800;">u2</span>=<span style="color: #007800;">$u1</span>
<span style="color: #666666; font-style: italic;"># Exclude lib* packages</span>
<span style="color: #007800;">ft</span>=<span style="color: #ff0000;">&quot;-v ^lib&quot;</span>
<span style="color: #007800;">f1</span>=<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>dpkg-diff.1
<span style="color: #007800;">f2</span>=<span style="color: #000000; font-weight: bold;">/</span>tmp<span style="color: #000000; font-weight: bold;">/</span>dpkg-diff.2
&nbsp;
<span style="color: #666666; font-style: italic;"># Do not edit this lines unless you know what your doing!</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">ssh</span> <span style="color: #007800;">$u1</span><span style="color: #000000; font-weight: bold;">@</span><span style="color: #007800;">$s1</span> <span style="color: #ff0000;">&quot;dpkg-query --list&quot;</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #ff0000;">'^ii'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $2}'</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #007800;">$f1</span>
<span style="color: #c20cb9; font-weight: bold;">ssh</span> <span style="color: #007800;">$u2</span><span style="color: #000000; font-weight: bold;">@</span><span style="color: #007800;">$s2</span> <span style="color: #ff0000;">&quot;dpkg-query --list&quot;</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #ff0000;">'^ii'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $2}'</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #007800;">$f2</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">clear</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Only in <span style="color: #007800;">$s1</span>&quot;</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #007800;">$f1</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #007800;">$ft</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sort</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #c20cb9; font-weight: bold;">read</span> package
<span style="color: #000000; font-weight: bold;">do</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> $<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #007800;">$f2</span>  <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #007800;">$package</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">wc</span> -l<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #660033;">-eq</span> <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
	<span style="color: #000000; font-weight: bold;">then</span>
		<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$package</span> &quot;</span>
	<span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #000000; font-weight: bold;">done</span>
<span style="color: #7a0874; font-weight: bold;">echo</span>
<span style="color: #7a0874; font-weight: bold;">echo</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Only in <span style="color: #007800;">$s2</span>&quot;</span>
&nbsp;
<span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #007800;">$f2</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #007800;">$ft</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sort</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #c20cb9; font-weight: bold;">read</span> package
<span style="color: #000000; font-weight: bold;">do</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> $<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #007800;">$f1</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #007800;">$package</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">wc</span> -l<span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #660033;">-eq</span> <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>
	<span style="color: #000000; font-weight: bold;">then</span>
		<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$package</span> &quot;</span>
	<span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #000000; font-weight: bold;">done</span>
<span style="color: #7a0874; font-weight: bold;">echo</span>
<span style="color: #7a0874; font-weight: bold;">echo</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://www.olafrv.com/?feed=rss2&#038;p=1124</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuración dom0 y domU de Xen en Debian (Paso a Paso)</title>
		<link>http://www.olafrv.com/?p=1118</link>
		<comments>http://www.olafrv.com/?p=1118#comments</comments>
		<pubDate>Tue, 28 Aug 2012 19:56:27 +0000</pubDate>
		<dc:creator>olafrv</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.olafrv.com/?p=1118</guid>
		<description><![CDATA[###
# ARCHIVO: Config_Xen_v2.txt (2012-08-28)
# USO: Instrucciones para la configuración de un servidor de
#      virtualización con Xen en Debian (Archivo de ejemplo
#      de configuración de máquina virtual Xen al final).
# AUTOR: Olaf Reitmaier

# REFERENCIAS:
#  http://wiki.debian.org/Xen
#   [...]]]></description>
				<content:encoded><![CDATA[<blockquote><p>###<br />
# ARCHIVO: Config_Xen_v2.txt (2012-08-28)<br />
# USO: Instrucciones para la configuración de un servidor de<br />
#      virtualización con Xen en Debian (Archivo de ejemplo<br />
#      de configuración de máquina virtual Xen al final).<br />
# AUTOR: Olaf Reitmaier
<olafrv@gmail.com>
# REFERENCIAS:<br />
#  http://wiki.debian.org/Xen<br />
#  http://tx.downloads.xensource.com/downloads/docs/user<br />
#  http://linuxsilo.net/articles/xen.html<br />
#  http://wiki.kartbuilding.net/index.php/Xen_Networking<br />
#  http://www.ibm.com/developerworks/linux/library/l-linuxvirt/?ca=dgr-lnxw01Virtual-Linux<br />
##</p></blockquote>
<p>Previos </p>
<p>Chequear si el procesador del equipo soporte virtualización:</p>
<p>egrep &#8216;(vmx|svm)&#8217; /proc/cpuinfo</p>
<p>Es mandatorio para realizar HVM o Full Virtualization,<br />
que el procesador permita instrucciones &#8220;vmx&#8221; en Intel<br />
(o &#8220;svm&#8221; en AMD), aunque HVM es más lento porque algunos<br />
componentes no son nativos de *nix permite virtualizar<br />
el sistema operativo Windows.  </p>
<p>Particionamiento del Disco </p>
<p>- Supongamos servidor con 400 GB en disco en arreglo en RAID 5.<br />
- LVM configurado en servidor con suficiente espacio para las maquinas virtuales.<br />
- Dos (2) opciones posibles serían:</p>
<p>- Opcion A (dom0, domU: xen0 y xen1, 1 vg):<br />
  /boot ext3 1GB<br />
  vg_interno XGB (1 vg en un disco físico)<br />
     lv_raiz / 10 GB<br />
     lv_var /var 10 GB<br />
     lv_tmp /tmp 2 GB<br />
     lv_swap swap 2 GB<br />
     lv_xen0_raiz / 10 GB<br />
     lv_xen0_var /var 50 GB<br />
     lv_xen0_tmp /tmp 2 GB<br />
     lv_xen0_swap swap 2 GB<br />
     lv_xen1_raiz / 10 GB<br />
     lv_xen1_var /var 100 GB<br />
     lv_xen1_tmp /tmp 2 GB<br />
     lv_xen1_swap swap 2 GB<br />
     400 GB &#8211; 202 GB = 198 GB free (Expansion de lv&#8217;s en vg interno)</p>
<p>- Opcion B (dom0, domU: xen0 y xen1, 2 vg):<br />
   /boot ext3 1GB<br />
   vg_dom0 30 GB<br />
     lv_raiz / 10 GB<br />
     lv_var /var 10 GB<br />
     lv_tmp /tmp 2 GB<br />
     lv_swap swap 2 GB<br />
     30 &#8211; 24 GB = 6 GB free (Expansion de lv&#8217;s en vg dom0)<br />
   vg_domu 370 GB<br />
     lv_xen0_raiz / 10 GB<br />
     lv_xen0_var /var 50 GB<br />
     lv_xen0_tmp /tmp 2 GB<br />
     lv_xen0_swap swap 2 GB<br />
     lv_xen1_raiz / 10 GB<br />
     lv_xen1_var /var 100 GB<br />
     lv_xen1_tmp /tmp 2 GB<br />
     lv_xen1_swap swap 2 GB<br />
     370 &#8211; 178 GB = 192 GB free (Expansion de lv&#8217;s en vg domu)</p>
<p>Se puede configurar el esquema de particionamiento durante la instalación o despues de la instalación,<br />
instalando el paquete lvm y utilizando los comandos que provee:</p>
<p>  pvchange, pvck, pvcreate, pvdisplay, pvmove, pvremove, pvresize, pvs, pvscan     </p>
<p>  vgcfgbackup, vgchange, vgconvert, vgdisplay, vgextend, vgmerge, vgreduce, vgrename, vgscan<br />
  vgcfgrestore, vgck, vgcreate, vgexport, vgimport, vgmknodes, vgremove, vgs, vgsplit       </p>
<p>  lvchange, lvcreate, lvextend, lvmchange, lvmdump, lvmsar, lvremove, lvresize, lvscan<br />
  lvconvert, lvdisplay, lvm, lvmdiskscan, lvmsadc, lvreduce, lvrename, lvs  </p>
<p>Si se desea configurar el particionamiento despues de la instalación, se procede como sigue:</p>
<p>Supongamos que el disco (RAID 5) se muestra como /dev/cciss/c0d0 (o /dev/sda) y que<br />
al menos hemos configurado el vg interno (o dom0) durante la instalacion y procedemos<br />
con la Opcion A de particionamiento incluyendo los volumenes logicos lv_*.</p>
<p>Procedemos a crear los volumenes logicos adicionales para cada una de las maquinas<br />
virtuales Xen, dos (2) en este caso.</p>
<p>lv_create -n lv_xen0_raiz -L 10GB /dev/sda vg_interno<br />
mkfs.ext3 /dev/vg-interno/lv-xen0-raiz</p>
<p>&#8230;</p>
<p>lv_create -n lv_xen0_swap -L 2GB /dev/sda vg_interno<br />
mkswap /dev/vg-interno/lv-xen0-raiz</p>
<p>Se hace lo mismo para las particiones lv_xen1_*.</p>
<p>Instalación de Xen &#8211; Anfitrión (dom0)</p>
<p>Ahora configuramos los repositorios de debian (/etc/apt/sources.list)<br />
y nos aseguramos que el sistema este actualizado:<br />
  apt-get update<br />
  apt-get dist-upgrade</p>
<p>Luego, instalamos Xen dependiendo del kernel que tengamos (uname -r):</p>
<p>apt-get install xen-linux-system </p>
<p>Si se requiere soporte HVM para una huésped HVM se debe instalar:</p>
<p>apt-get install xen-qemu-dm-3.0</p>
<p>NOTA: xen-qemu-dm-4.0 en Squeeze.</p>
<p>NOTA: Esto no es necesario en Wheezy porque el modelo del dispositivo es parte<br />
de los paquetes de Xen.</p>
<p>En el caso de Debian Squeeze es necesario cambiar la priodad de inicio de las<br />
imagenes del kernel, colocando de primera el sistema Xen:</p>
<p>dpkg-divert &#8211;divert /etc/grub.d/10_linux_xen &#8211;rename /etc/grub.d/20_linux_xen</p>
<p>NOTA: Para revertir el cambio se usa dpkg-divert &#8211;rename &#8211;remove /etc/grub.d/20_linux_xen</p>
<p>O simplemente, cambiar de nombre el archivo:</p>
<p>mv /etc/grub.d/20_linux_xen /etc/grub.d/10_linux_xen</p>
<p>Finalmente sin importar el método utilizado,</p>
<p>update-grub</p>
<p>Instalamos los paquetes o servicios comunes entre dom0 y los domU.</p>
<p>NOTA: Si se cambia el archivo de configuracion /etc/xen/xend-config.sxp<br />
de xend debe reiniciarse el demonio /etc/init.d/xend, y esto no afecta<br />
las máquinas virtuales que se estén ejecutando.</p>
<p>OPCIONALMENTE: Evitamos el auto-reinicio del Kernel Xen, en el menu.lst de<br />
GRUB colocar &#8220;kernel &#8230; noreboot&#8221; para evitar reboot cuando falle dom0,<br />
luego,  grub-install /dev/sda o update-grub, o bien, segun el contenido de<br />
/proc/partitions. Adicionalmente, se puede colocar &#8220;kernel &#8230; sync_console&#8221;<br />
en caso falla al bootear.</p>
<p>Reiniciamos el sistema y verificamos que el servicio &#8220;xend&#8221; esté ejecutándose.</p>
<p>Instalación de Huéspedes/Invitados (domU)</p>
<p>Para preparar el sistemas operativo de las máquinas virtuales existen dos (2) opciones:</p>
<p>1.- Realizar una copia de &#8220;/&#8221; a las &#8220;/&#8221; de las máquinas virtuales.<br />
2.- Utilizar el comando debootstrap.</p>
<p>En ambas opciones, debemos crear los puntos de montaje para poder trabajar con<br />
las particiones de las máquinas virtuales.</p>
<p>cd /mnt<br />
mkdir xen0<br />
cd xen0<br />
mkdir raiz var tmp<br />
mount /dev/vg-interno/lv-xen0-raiz raiz<br />
mkdir raiz/tmp<br />
mkdir raiz/var<br />
chmod +t raiz/tmp<br />
mount /dev/vg-interno/lv-xen0-var var</p>
<p>1.- Primero, explicaremos la opción de copia aunque no es recomendable usarlo.</p>
<p>La particion (lv) para tmp no es necesario montarla (estara vacia):</p>
<p>cp -ax / /mnt/xen0/raiz<br />
cp -ax /var/* /mnt/xen0/var</p>
<p>NOTA: El problema de esta copia es que ya se incluyen paquetes del dom0, que<br />
no son necesarios entre ellos Xen, es decir, el paquete xen-linux-system.</p>
<p>NOTA: La particion /boot no es necesaria si se utiliza un disco RAM con initrd (ramdisk).</p>
<p>Listo 1!</p>
<p>2.- Segundo, explicación del comando debootstrap.</p>
<p>Para una máquina virtual con Debian Squeeze:</p>
<p>debootstrap squeeze /mnt/xen0/raiz/ http://debian.dem.int/debian &#8211;include=linux-modules-$(uname -r)</p>
<p>mv /mnt/xen0/raiz/var/* /mnt/xen0/var/</p>
<p>Listo 2!</p>
<p>Editamos los tipicos archivos de configuracion /mnt/xen0/raiz/etc:</p>
<p>- fstab (Colocar particiones /, /var, /tmp, swap, etc).<br />
- hosts (Colocar localhost y linea con IP/FQDN).<br />
- hostname (Colocar solo el nombre sin el dominio).<br />
- resolv.conf (Colocar datos DNS).<br />
- network/interfaces (Colocar interfaz &#8220;lo&#8221;).</p>
<p>Verificamos la capacidad de hacer login en el domU (xm console), en el inittab<br />
de la máquina virtual sustituir tty0 por hvc0, o bien, segun lo especificado<br />
como default en serial_device en en el /etc/xen-tools/xen-tools.conf (si estan<br />
instaladas xen-tools, que no es el caso). Adicionalmente verificar en<br />
/etc/securetty de la máquina virtual que existan lineas especificando<br />
xvc0 y hvc0.</p>
<p>Cambiamos la contraseña del usuario root:</p>
<p>chroot /mnt/xen0/raiz<br />
passwd<br />
exit</p>
<p>Se repiten los pasos para las particiones de xen1 y finalmente desmontamos las<br />
particiones:</p>
<p>umount /mnt/xen0/*</p>
<p>Ahora podemos iniciar y conectarnos a la consola de la máquina virtual:</p>
<p>xm create xen1; xm console xen1</p>
<p>Iniciamos sesión como root y configuramos algunas cosas básicas adicionales,<br />
la configuración de la zona del tiempo:</p>
<p>dpkg-reconfigure tzdata</p>
<p>La hora exacta:</p>
<p>date<br />
date &#8211;set &#8220;HH:MM&#8221;</p>
<p>OPCIONALMENTE (EN CASO DE FALLAS): Dehabilitar clock sync entre dom0 y domU.<br />
Colocando en el archivo sysctl.conf del domU la linea &#8220;xen.independent_wallclock=1&#8243;,<br />
en el archivo de configuración de la máquina virtual domU (/etc/xen/xen0)<br />
extra=&#8221;clocksource=jiffies&#8221; y cambiando en el domU los scripts de<br />
sincronización del relok del sistema operativo chmod -x /etc/init.d/hwclock*.</p>
<p>###<br />
# ARCHIVO:<br />
#   /etc/xen/xen0<br />
#<br />
# DESCRIPCION:<br />
#   Ejemplo de archivo de configuración / especificacion de una máquina<br />
#   virtual de Xen (domU) llamada xen0<br />
#<br />
# USO:<br />
#   Para operar la máquina virtual utilice el comando xm:<br />
#<br />
#     xm create xen0    (Crear la maquina virtual xen0)<br />
#     xm console xen0   (Conectarse a la consola tty0 de xen0)<br />
#     CTRL + 5          (Salir de la consola tty0)<br />
##</p>
<p>###<br />
# Virtualización Completa<br />
# import os, re<br />
# arch = os.uname()[4]<br />
# if re.search(&#8217;64&#8242;, arch):<br />
#    arch_libdir = &#8216;lib64&#8242;<br />
# else:<br />
#    arch_libdir = &#8216;lib&#8217;<br />
#<br />
# kernel = &#8220;/usr/lib/xen/boot/hvmloader&#8221;<br />
# builder=&#8217;hvm&#8217;<br />
##</p>
<p>###<br />
# Para Virtualización<br />
# Imagen del kernel a utilizar (y disco RAM Xen,<br />
# con driver xenblk y otros, para bootear casos<br />
# especiales como particiones /boot en LVM).<br />
##<br />
kernel = &#8220;/boot/vmlinuz-2.6.26-2-xen-amd64&#8243;<br />
ramdisk = &#8220;/boot/initrd.img-2.6.26-2-xen-amd64&#8243;</p>
<p># Opciones directas para el kernel (No recomendado).<br />
# extra = &#8221; acpi=off clocksource=jiffies&#8221; </p>
<p># Memoria en MBytes<br />
memory = 1024</p>
<p>###<br />
# En virtualizacion completa<br />
# The amount of shadow memory may be defined. This should be equal to 2KB per MB # of domain memory, plus a few MB per vcpu. In general 8Mb is sufficient:<br />
# shadow_memory = 8<br />
###</p>
<p># Nombre de la Máquina Virtual<br />
name = &#8220;xen0&#8243; </p>
<p># Número de CPU (COREs) a asignar a esta máquina virtual<br />
vcpus = 2</p>
<p># Partición root donde está el Kernel de &#8220;booteo&#8221; (Generalmente / o /boot)<br />
root = &#8220;/dev/xvda1 rw&#8221;</p>
<p>###<br />
# Configuracion local de tiempo y teclado<br />
# localtime=1<br />
# keymap=&#8217;es&#8217;<br />
##</p>
<p>###<br />
# Partición root donde está el Kernel (vía NFS), la exportación<br />
# de la partición debe ser con las siguientes opciones:<br />
#  /export/vm1root      1.2.3.4/24 (rw,sync,no_root_squash)<br />
#<br />
# Mientras que en el archivo de configuración se debe colocar:<br />
# root       = &#8216;/dev/nfs&#8217;<br />
# nfs_server = &#8217;2.3.4.5&#8242;       # substitute IP address of server<br />
# nfs_root   = &#8216;/path/to/root&#8217; # path to root FS on the server<br />
##</p>
<p>###<br />
# Prioridad de arranque d (CD) y c (HDD), deben<br />
# definirse tanto &#8220;d&#8221; como &#8220;c&#8221; en la seccion de discos.<br />
# boot = &#8220;dc&#8221;<br />
##</p>
<p># Listado de particiones (discos)<br />
# Para las particiones son LVM se utilizo lvcreate y mkfs<br />
disk = ["phy:/dev/vg_interno/lv_xen1_raiz,xvda1,w",<br />
        "phy:/dev/vg_interno/lv_xen1_var,xvda2,w",<br />
        "phy:/dev/vg_interno/lv_xen1_tmp,xvda3,w",<br />
        "phy:/dev/vg_interno/lv_xen1_swap,xvda4,w"]</p>
<p># Para montar cd, (mejor) se crea una imagen ISO del mismo:<br />
# dd if=/dev/cdrom of=/var/iso/cd.iso<br />
# disk = ["file:/var/iso/cd.iso,hdc:cdrom,r"]</p>
<p># Tambien se pueden crear discos virtuales (archivos de disco):<br />
# dd if=/dev/zero of=/disco1.img bs=1024 count=(tamaño en KB)<br />
# Y despues añadir en el archivo de configuracion:<br />
# disk = ["file:/disco1.img,xvda5:cdrom,rw"]</p>
<p>###<br />
# SOLO PARA FULL VIRTUALIZATION<br />
# Habilitar la consola VNC desde el exterior y sin password<br />
# vnc=1<br />
# sdl=0<br />
# nographici=0<br />
# stdvga=0<br />
# serial=&#8217;pty&#8217; # Opcional<br />
# (vnc-listen &#8217;0.0.0.0&#8242;)<br />
# (vncpasswd &#8221;)<br />
##</p>
<p>###<br />
# NAT (Red privada para domU con NAT a dom0)<br />
# En /etc/network/interfaces de la máquina virtual colocar:<br />
#   allow-hotplug eth0<br />
#     iface eth0 inet static<br />
#	address 10.0.0.1<br />
#	netmask	255.0.0.0<br />
#	gateway 10.0.0.254<br />
#   auto eth0<br />
#<br />
# Si se desea redireccionar el puerto 80 del dom0<br />
# a esta máquina virtual se ejecuta:<br />
#   iptables -A PREROUTING -t nat -p tcp -i eth0 &#8211;dport 80 -j DNAT &#8211;to 10.0.0.1:80<br />
# Y se colocar en el rc.local del dom0, para borrar la regla de NAT se ejecuta:<br />
#   iptables -X PREROUTING -t nat -p tcp -i eth0 &#8211;dport 80 -j DNAT &#8211;to 10.0.0.1:80<br />
# Para ver las listas de la tabla de nat:<br />
#   iptables -t nat -L<br />
#<br />
# Al configurar la red es mejor utilizar los parametros de configuracion<br />
# por defecto para xend. Las MAC deben estar en el rango 00:16:3e:xx:xx:xx<br />
# CUIDADO: NO REPETIR en la LAN!!!<br />
##<br />
vif = ["ip=10.0.0.1,mac=00:16:3e:00:00:01"]</p>
<p>##<br />
# BRIDGE (Red comun dom0 y domU)<br />
# En /etc/interfaces de la máquina añadir colocar:<br />
#<br />
# allow-hotplug eth0<br />
# iface eth0 inet dhcp<br />
# auto eth0<br />
#<br />
# allow-hotplug eth0<br />
# iface eth0 inet static<br />
#   address &#8230;<br />
#   netmask &#8230;<br />
#   gateway &#8230;<br />
# auto eth0<br />
#<br />
# Al configurar la red es mejor utilizar los parametros de configuracion<br />
# por defecto para xend. Las MAC deben estar en el rango 00:16:3e:xx:xx:xx<br />
# CUIDADO: NO REPETIR en la LAN!!!<br />
##<br />
# vif = ["mac=00:16:3e:00:00:01"]</p>
<p>###<br />
# Medidas tomadas cuando se generen los tipicos eventos<br />
# de apagado, reinicio o fallo.<br />
##</p>
<p># on_poweroff = &#8216;destroy&#8217;<br />
# on_reboot = &#8216;restart&#8217;<br />
# on_crash = &#8216;shutdown&#8217;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.olafrv.com/?feed=rss2&#038;p=1118</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DKIM en Postfix con GNU/Linux Debian</title>
		<link>http://www.olafrv.com/?p=1050</link>
		<comments>http://www.olafrv.com/?p=1050#comments</comments>
		<pubDate>Fri, 13 Apr 2012 19:31:51 +0000</pubDate>
		<dc:creator>olafrv</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.olafrv.com/?p=1050</guid>
		<description><![CDATA[Introducción
DKIM (Domain Key Identified Email) es un mecanismo de seguridad que permite la autenticación de mensajes de correo electrónico, descrito en el RFC-5585 disponible en http://www.dkim.org/specs/rfc5585.html.
El mecanismo DKIM consiste en utilizar una infraestructura de claves públicas  [...]]]></description>
				<content:encoded><![CDATA[<p><strong>Introducción</strong></p>
<p>DKIM (Domain Key Identified Email) es un mecanismo de seguridad que permite la autenticación de mensajes de correo electrónico, descrito en el RFC-5585 disponible en http://www.dkim.org/specs/rfc5585.html.</p>
<p>El mecanismo DKIM consiste en utilizar una infraestructura de claves públicas (certificados) y privadas para en principio firmar y posteriomente autenticar un mensaje de correo electrónico.</p>
<p>Los certificados están asociados a dominio (@example.com) o para direcciones de correo electrónico específicas (*@example.com, me@example.com).</p>
<p>Los mensajes salientes son firmados por el emisor, tomando un conjunto de encabezados (headers) aplicando un algoritmo hash con una clave privada para generar una encabezado (DKIM-Signature) que se añade al mensaje.</p>
<p>Los mensajes entrantes son verificados si contienen un encabezado de firma donde se especifica que clave pública consultar vía DNS para realizar la verificación.</p>
<p><strong>Instalación y configuración de Debian para uso con Postfix</strong></p>
<p>Para empezar suponemos que tenemos instalado y configurado en un servidor el servicio Postfix para el dominio &#8220;example.com&#8221;, en ese mismo servidor se configurará el servicio DKIM aunque esto no es obligatorio.</p>
<p>Instalar el paquete dkim-filter:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1050code13'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p105013"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p1050code13"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;">install</span> dkim-filter</pre></td></tr></table></div>

<p>Si no se han generado las claves publicas y privadas, se debe generar una clave de prueba (test) que sirve para depurar y omitir error sin rechazar los correo electrónico, y una clave para producción (&#8220;default&#8221; en nuestro caso, aunque pueden generarse cuantas sean necesarias).</p>
<p>Primero creamos una carpeta que contendrá las claves públicas y privadas de nuestro dominio &#8220;example.com&#8221;:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1050code14'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p105014"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p1050code14"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #660033;">-p</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>dkim<span style="color: #000000; font-weight: bold;">/</span>keys<span style="color: #000000; font-weight: bold;">/</span>example.com
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>dkim<span style="color: #000000; font-weight: bold;">/</span>keys<span style="color: #000000; font-weight: bold;">/</span>example.com</pre></td></tr></table></div>

<p>Gereramos la clave de prueba y de producción respectivamente:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1050code15'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p105015"><td class="line_numbers"><pre>1
2
</pre></td><td class="code" id="p1050code15"><pre class="bash" style="font-family:monospace;">dkim-genkey <span style="color: #660033;">-d</span> example.com <span style="color: #660033;">-r</span> <span style="color: #660033;">-s</span> <span style="color: #7a0874; font-weight: bold;">test</span> <span style="color: #660033;">-t</span>
dkim-genkey <span style="color: #660033;">-d</span> example.com <span style="color: #660033;">-r</span></pre></td></tr></table></div>

<p>El parametro -s indica que la clave de prueba será nominada con el selector &#8220;test&#8221; y la clave de producción como se especificó será nominada con el selector &#8220;default&#8221;.</p>
<p>Las claves públicas y privadas generadas en el directorio:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1050code16'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p105016"><td class="line_numbers"><pre>1
2
3
4
5
6
</pre></td><td class="code" id="p1050code16"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-l</span> 
total <span style="color: #000000;">16</span>
<span style="color: #660033;">-rw-------</span> <span style="color: #000000;">1</span> root root <span style="color: #000000;">887</span> Sep <span style="color: #000000;">21</span>  <span style="color: #000000;">2011</span> default.private
<span style="color: #660033;">-rw-------</span> <span style="color: #000000;">1</span> root root <span style="color: #000000;">308</span> Sep <span style="color: #000000;">21</span>  <span style="color: #000000;">2011</span> default.txt
<span style="color: #660033;">-rw-------</span> <span style="color: #000000;">1</span> root root <span style="color: #000000;">887</span> Sep <span style="color: #000000;">21</span>  <span style="color: #000000;">2011</span> test.private
<span style="color: #660033;">-rw-------</span> <span style="color: #000000;">1</span> root root <span style="color: #000000;">307</span> Sep <span style="color: #000000;">21</span>  <span style="color: #000000;">2011</span> test.txt</pre></td></tr></table></div>

<p>Se almacenan con la extensión &#8220;.private&#8221; mientras que los registros DNS en formato para bind9 se almacenan en los archivos &#8220;.txt&#8221; con el siguiente formato:</p>
<blockquote><p>v=DKIM1; g=*; k=rsa; p=<clave></p></blockquote>
<p>Para publicar los certificados se deben crear dos (2) registros DNS tipo TXT para los nombres de servidores siguientes:</p>
<ol>
<li>El nombre &#8220;test._domainkey&#8221; del dominio &#8220;example.com&#8221; con el contenido del<br />
archivo  &#8220;test.private&#8221;.</li>
<li>El nombre &#8220;default._domainkey&#8221; del dominio &#8220;example.com&#8221; con el contenido<br />
del archivo &#8220;default.private&#8221;.</li>
</ol>
<p>Una vez creado los registros DNS anteriores, la consulta DNS (usando el comando nslookup) para los nombres &#8220;default._domainkey&#8221; y &#8220;test._domainkey&#8221; del dominio &#8220;example.com&#8221; debe arrojar los siguientes resultados:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1050code17'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p105017"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code" id="p1050code17"><pre class="bash" style="font-family:monospace;">$ nslookup <span style="color: #660033;">-type</span>=txt test._domainkey.tsj-dem.gob.ve 200.44.32.12
Server:  200.44.32.12
Address: 200.44.32.12<span style="color: #666666; font-style: italic;">#53</span>
test._domainkey.tsj-dem.gob.ve text = <span style="color: #ff0000;">&quot;v=DKIM1\; g=*\; k=rsa\; t=y\; p=&lt;clave&gt;&quot;</span>
&nbsp;
$ nslookup <span style="color: #660033;">-type</span>=txt default._domainkey.tsj-dem.gob.ve 200.44.32.12
Server:  200.44.32.12
Address: 200.44.32.12<span style="color: #666666; font-style: italic;">#53</span>
default._domainkey.tsj-dem.gob.ve text = <span style="color: #ff0000;">&quot;v=DKIM1\; g=*\; k=rsa\; p=&lt;clave&gt;&quot;</span></pre></td></tr></table></div>

<blockquote><p>Es importante indicar que la expresión <clave> es sensible a mayúsculas y minúsculas tanto en el archivo como en la consulta DNS el resultado debe ser el mismo.
</p></blockquote>
<p>Pero para garantizar que los selectores funcionen correctamente deben eliminarse la extensión &#8220;.private&#8221; o crear link simbólicos porque los nombres contentivos de la clave pública deben ser iguales a los nombres de los selectores:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1050code18'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p105018"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code" id="p1050code18"><pre class="bash" style="font-family:monospace;">$ <span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #660033;">-l</span> 
total <span style="color: #000000;">16</span>
lrwxrwxrwx <span style="color: #000000;">1</span> root root  <span style="color: #000000;">15</span> Apr  <span style="color: #000000;">9</span> <span style="color: #000000;">16</span>:<span style="color: #000000;">32</span> default -<span style="color: #000000; font-weight: bold;">&gt;</span> default.private
<span style="color: #660033;">-rw-------</span> <span style="color: #000000;">1</span> root root <span style="color: #000000;">887</span> Sep <span style="color: #000000;">21</span>  <span style="color: #000000;">2011</span> default.private
<span style="color: #660033;">-rw-------</span> <span style="color: #000000;">1</span> root root <span style="color: #000000;">308</span> Sep <span style="color: #000000;">21</span>  <span style="color: #000000;">2011</span> default.txt
lrwxrwxrwx <span style="color: #000000;">1</span> root root  <span style="color: #000000;">12</span> Apr  <span style="color: #000000;">9</span> <span style="color: #000000;">16</span>:<span style="color: #000000;">32</span> <span style="color: #7a0874; font-weight: bold;">test</span> -<span style="color: #000000; font-weight: bold;">&gt;</span> test.private
<span style="color: #660033;">-rw-------</span> <span style="color: #000000;">1</span> root root <span style="color: #000000;">887</span> Sep <span style="color: #000000;">21</span>  <span style="color: #000000;">2011</span> test.private
<span style="color: #660033;">-rw-------</span> <span style="color: #000000;">1</span> root root <span style="color: #000000;">307</span> Sep <span style="color: #000000;">21</span>  <span style="color: #000000;">2011</span> test.txt</pre></td></tr></table></div>

<p>En el archivo de configuración del servicio DKIM en la ruta /etc/dkim-keys.conf:</p>
<blockquote><p>*@example.com:example.com:/etc/dkim/keys/example.com/test</p></blockquote>
<p>En el archivo principal de configuración del servicio DKIM /etc/dkim-filter.conf:</p>
<blockquote><p>
Syslog			yes<br />
X-Header		yes<br />
LogWhy	yes<br />
#On-BadSignature accept<br />
#On-DNSError accept<br />
#On-InternalError accept<br />
#On-NoSignature accept<br />
#On-Security accept<br />
On-Default accept
</p></blockquote>
<p>En Debian es modificar el archivo /etc/default/dkim-filter:</p>
<blockquote><p>SOCKET=&#8221;inet:8891@localhost&#8221;</p></blockquote>
<p>Finalmente, activamos el servicio DKIM:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1050code19'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p105019"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p1050code19"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>dkim start</pre></td></tr></table></div>

<p>Verificar los registros:</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p1050code20'); return false;">View Code</a> BASH</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p105020"><td class="line_numbers"><pre>1
</pre></td><td class="code" id="p1050code20"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>syslog <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-i</span> dkim</pre></td></tr></table></div>

<p>Para indicarle a Postfix que debe firmar los correos simplemente colocamos<br />
en el archivo configuración /etc/postfix/main.cf:</p>
<blockquote><p># Firma Electrónica &#8211; DKIM<br />
milter_default_action = accept<br />
# Postfix ≥ 2.6<br />
milter_protocol = 6<br />
# 2.3 ≤ Postfix ≤ 2.5<br />
#milter_protocol = 2<br />
smtpd_milters = inet:localhost:8891<br />
non_smtpd_milters = inet:localhost:8891
</p></blockquote>
<p>Ahora debemos reiniciar Postfix y realizar algunas pruebas:</p>
<ul>
<li>Enviar un correo a GMAIL y verificar los encabezados DKIM-Signature y Authentication-Result.</li>
<li>Seguir las instrucciones del siguiente asisten de verificación de correo electrónico: <a href="http://www.brandonchecketts.com/emailtest.php">http://www.brandonchecketts.com/emailtest.php</a></li>
</ul>
<p>Para entender mejor el funcionamiento y procedimiento descritos sobre DKIM a continuación consulte y utilice los recursos siguientes:</p>
<p>- Página Principal del Proyecto DKIM (<a href="www.dkim.org">www.dkim.org</a>)<br />
- Fork del Proyecto DKIM (<a href="www.opendkim.org">www.opendkim.org</a>)<br />
- <a href="http://www.dkim.org/specs/rfc5585.html">http://www.dkim.org/specs/rfc5585.html</a><br />
- <a href="http://www.debiantutorials.com/setup-domainkeys-identified-mail-dkim-in-postfix/">http://www.debiantutorials.com/setup-domainkeys-identified-mail-dkim-in-postfix/</a><br />
- <a href="http://staff.blog.ui.ac.id/jp/2009/04/07/creating-dkim-on-debian-50/">http://staff.blog.ui.ac.id/jp/2009/04/07/creating-dkim-on-debian-50/</a><br />
- <a href="http://www.brandonchecketts.com/emailtest.php">http://www.brandonchecketts.com/emailtest.php</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.olafrv.com/?feed=rss2&#038;p=1050</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

?>