{"id":103,"date":"2014-01-14T19:30:36","date_gmt":"2014-01-14T19:30:36","guid":{"rendered":"http:\/\/esferas.org\/msqlu\/2014\/01\/14\/libvirt-en-debian-jugando-con-la-red\/"},"modified":"2014-01-14T19:30:36","modified_gmt":"2014-01-14T19:30:36","slug":"libvirt-en-debian-jugando-con-la-red","status":"publish","type":"post","link":"https:\/\/esferas.org\/msqlu\/2014\/01\/14\/libvirt-en-debian-jugando-con-la-red\/","title":{"rendered":"libvirt en Debian: jugando con la red &#8230;"},"content":{"rendered":"<div class='__iawmlf-post-loop-links' style='display:none;' data-iawmlf-post-links='[{&quot;id&quot;:1208,&quot;href&quot;:&quot;https:\\\/\\\/wiki.debian.org\\\/libvirt&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20260328115152\\\/https:\\\/\\\/wiki.debian.org\\\/libvirt&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-04-15 20:30:33&quot;,&quot;http_code&quot;:403},{&quot;date&quot;:&quot;2026-04-22 19:39:31&quot;,&quot;http_code&quot;:403}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-22 19:39:31&quot;,&quot;http_code&quot;:403},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:1209,&quot;href&quot;:&quot;https:\\\/\\\/esferas.org\\\/mt\\\/msqlu\\\/2013\\\/09\\\/tengo-un-nuevo-proyecto-con-nombre-molon.html&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:1210,&quot;href&quot;:&quot;http:\\\/\\\/wiki.libvirt.org\\\/page\\\/Networking#Debian.2FUbuntu_Bridging&quot;,&quot;archived_href&quot;:&quot;https:\\\/\\\/web-wp.archive.org\\\/web\\\/20230131062013\\\/https:\\\/\\\/wiki.libvirt.org\\\/page\\\/Networking&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[{&quot;date&quot;:&quot;2026-04-15 20:30:48&quot;,&quot;http_code&quot;:200}],&quot;broken&quot;:false,&quot;last_checked&quot;:{&quot;date&quot;:&quot;2026-04-15 20:30:48&quot;,&quot;http_code&quot;:200},&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:1211,&quot;href&quot;:&quot;https:\\\/\\\/esferas.org\\\/mt\\\/msqlu\\\/2013\\\/10\\\/-que-verguenza-pense-que-esto-nunca-llegaria.html&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;},{&quot;id&quot;:1212,&quot;href&quot;:&quot;https:\\\/\\\/esferas.org\\\/mt\\\/msqlu\\\/2013\\\/10\\\/deberia-decir-algo-ingenioso-sobre-virtualizacion.html&quot;,&quot;archived_href&quot;:&quot;&quot;,&quot;redirect_href&quot;:&quot;&quot;,&quot;checks&quot;:[],&quot;broken&quot;:false,&quot;last_checked&quot;:null,&quot;process&quot;:&quot;done&quot;}]'><\/div>\n<p><img loading=\"lazy\" decoding=\"async\" alt=\"debian-logo\" src=\"https:\/\/esferas.org\/mt\/msqlu\/logos\/openlogo-100.png\" class=\"mt-image-left\" style=\"float: left; margin: 0 20px 20px 0;\" height=\"123\" width=\"100\" \/>&#8230; porque hasta ahora ha sido de verdad un juego de ni\u00f1os.<\/p>\n<p>No es la primera vez que utilizo virtualizaci\u00f3n pero estaba deseando que existiese alg\u00fan sistema m\u00e1s o menos normalizado en Debian para gestionarla. Y lo he encontrado en <a href=\"https:\/\/wiki.debian.org\/libvirt\">libvirt<\/a>, un nombre rarito para un mecanismo muy bien organizado.<\/p>\n<\/p>\n<p><!--more--><\/p>\n<p>De momento he creado dos m\u00e1quinas virtuales con Debian en el ordenador de mi casa: la primera servir\u00e1 para disponer de una <a href=\"https:\/\/esferas.org\/mt\/msqlu\/2013\/09\/tengo-un-nuevo-proyecto-con-nombre-molon.html\">UCS<\/a> aislada y la segunda para realizar pruebas de paquetes en escritorios.<\/p>\n<p>La instalaci\u00f3n ha sido limpia y r\u00e1pida empleando una imagen ISO de Debian 7.3 (variedad netinst, arquitectura amd64), pero cuando las he puesto en marcha me he dado cuenta de que las necesito m\u00e1s integradas en mi red. La configuraci\u00f3n predeterminada crea un puente ajeno a mi red y no es eso lo que espero. As\u00ed que me he puesto manos a la obra.<\/p>\n<h3>Creando un puente de red<\/h3>\n<p>Siguiendo <a href=\"http:\/\/wiki.libvirt.org\/page\/Networking#Debian.2FUbuntu_Bridging\">las instrucciones del wiki<\/a> de <em>libvirt<\/em> procedo a crear el puente para que las m\u00e1quinas virtuales se conecten a la misma red y tenga acceso sencillo a ellas.<\/p>\n<ol>\n<li>Detener <em>network-manager<\/em> que en mi caso ha sido tan sencillo como desinstalarlo. No me hace falta alguna para una m\u00e1quina de escritorio con conexi\u00f3n cableada a la red.<\/li>\n<li>A\u00f1adir una etiqueta al repositorio que tengo en <em>\/etc<\/em> con <em>etckeeper<\/em>.<\/li>\n<li>Cambio el interfaz de red <em>eth-lan<\/em> por un puente llamado <em>br0<\/em> y se lo asigno.<\/li>\n<li>Retoco algunos ajustes del n\u00facleo empleando <em>sysctl<\/em> con un archivo concreto por si acaso situado en <em>\/etc\/sysctl.d\/local.conf<\/em>.<\/li>\n<\/ol>\n<pre>auto br0 <br \/>iface br0 inet static <br \/>\taddress 192.168.100.2<br \/>\tnetmask 255.255.255.0<br \/>\tnetwork 192.168.100.0<br \/>\tgateway 192.168.100.1<br \/>\tbridge_ports eth-lan<br \/>        bridge_stp on<br \/>        bridge_maxwait 0<br \/>        bridge_fd 0<br \/><br \/><\/pre>\n<p>de manera que el puente queda como:<\/p>\n<pre>falcata:\/etc\/network# brctl show <br \/>bridge name\tbridge id\t\tSTP enabled\tinterfaces<br \/>br0\t\t8000.f81a6702df84\tyes\t\teth-lan<br \/>virbr0\t\t8000.000000000000\tyes\t\t<\/pre>\n<p>Se edita la configuraci\u00f3n de la m\u00e1quina virtual con <em>virsh edit<\/em> y se cambia la configuraci\u00f3n del interfaz de red para que use el puente de red. La MAC y la direcci\u00f3n PCI se asignan autom\u00e1ticamente as\u00ed que no hay que preocuparse m\u00e1s que por el atributo <em>source<\/em> y el atributo <em>model<\/em><em>.<\/em><\/p>\n<pre><span style=\"color: #a65700;\">&lt;<\/span><span style=\"color: #5f5035;\">interface<\/span> <span style=\"color: #274796;\">type<\/span><span style=\"color: #808030;\">=<\/span><span style=\"color: #0000e6;\">'<\/span><span style=\"color: #0000e6;\">bridge<\/span><span style=\"color: #0000e6;\">'<\/span><span style=\"color: #a65700;\">&gt;<\/span>\n      <span style=\"color: #a65700;\">&lt;<\/span><span style=\"color: #5f5035;\">mac<\/span> <span style=\"color: #274796;\">address<\/span><span style=\"color: #808030;\">=<\/span><span style=\"color: #0000e6;\">'<\/span><span style=\"color: #0000e6;\">00:16:3e:1a:b3:4a<\/span><span style=\"color: #0000e6;\">'<\/span><span style=\"color: #a65700;\">\/&gt;<\/span>\n      <span style=\"color: #a65700;\">&lt;<\/span><span style=\"color: #5f5035;\">source<\/span> <span style=\"color: #274796;\">bridge<\/span><span style=\"color: #808030;\">=<\/span><span style=\"color: #0000e6;\">'<\/span><span style=\"color: #0000e6;\">br0<\/span><span style=\"color: #0000e6;\">'<\/span><span style=\"color: #a65700;\">\/&gt;<\/span>\n      <span style=\"color: #a65700;\">&lt;<\/span><span style=\"color: #5f5035;\">model<\/span> <span style=\"color: #274796;\">type<\/span><span style=\"color: #808030;\">=<\/span><span style=\"color: #0000e6;\">'<\/span><span style=\"color: #0000e6;\">virtio<\/span><span style=\"color: #0000e6;\">'<\/span><span style=\"color: #a65700;\">\/&gt;<\/span>\n      <span style=\"color: #a65700;\">&lt;<\/span><span style=\"color: #5f5035;\">address<\/span> <span style=\"color: #274796;\">type<\/span><span style=\"color: #808030;\">=<\/span><span style=\"color: #0000e6;\">'<\/span><span style=\"color: #0000e6;\">pci<\/span><span style=\"color: #0000e6;\">'<\/span> <span style=\"color: #274796;\">domain<\/span><span style=\"color: #808030;\">=<\/span><span style=\"color: #0000e6;\">'<\/span><span style=\"color: #0000e6;\">0x0000<\/span><span style=\"color: #0000e6;\">'<\/span> <span style=\"color: #274796;\">bus<\/span><span style=\"color: #808030;\">=<\/span><span style=\"color: #0000e6;\">'<\/span><span style=\"color: #0000e6;\">0x00<\/span><span style=\"color: #0000e6;\">'<\/span> <span style=\"color: #274796;\">slot<\/span><span style=\"color: #808030;\">=<\/span><span style=\"color: #0000e6;\">'<\/span><span style=\"color: #0000e6;\">0x03<\/span><span style=\"color: #0000e6;\">'<\/span> <span style=\"color: #274796;\">function<\/span><span style=\"color: #808030;\">=<\/span><span style=\"color: #0000e6;\">'<\/span><span style=\"color: #0000e6;\">0x0<\/span><span style=\"color: #0000e6;\">'<\/span><span style=\"color: #a65700;\">\/&gt;<\/span>\n    <span style=\"color: #a65700;\">&lt;\/<\/span><span style=\"color: #5f5035;\">interface<\/span><span style=\"color: #a65700;\">&gt;<\/span>\n<\/pre>\n<p>Se reinicia la m\u00e1quina virtual y listo. Ella solita pide una direcci\u00f3n de red a mi servidor interno y como \u00e9ste es <em>dnsmasq<\/em> registra tambi\u00e9n el nombre de cliente. Ya sabemos qui\u00e9n es y d\u00f3nde est\u00e1.<\/p>\n<h3>Uso de las m\u00e1quinas virtuales<\/h3>\n<p>En Debian Wheezy es de lo m\u00e1s sencillo. No s\u00f3lo porque el sistema registra dichas m\u00e1quinas a nivel global y no hay que andarse con directorios espec\u00edficos por cada usuario y un cruce endemoniado de permisos de acceso entre ellos. Tambi\u00e9n separa el funcionamiento de las m\u00e1quinas de su acceso por lo que es muy c\u00f3modo de poner en marcha y conectarte cuando quieras a las mismas.<\/p>\n<p>Ahora tengo un reto por delante. Aunque a nivel m\u00e1s o menos personal la virtualizaci\u00f3n empleando estas herramientas no suponga ning\u00fan problema, dado que son equipos con Debian, a nivel laboral la cosa se complica: en el trabajo tengo que conseguir virtualizar de esta forma un <a href=\"https:\/\/esferas.org\/mt\/msqlu\/2013\/10\/-que-verguenza-pense-que-esto-nunca-llegaria.html\">Windows 7 Home Edition<\/a> y un <a href=\"https:\/\/esferas.org\/mt\/msqlu\/2013\/10\/deberia-decir-algo-ingenioso-sobre-virtualizacion.html\">Linux Suse 7.2<\/a> en el que corren las aplicaciones de la empresa. <\/p>\n<p>Escribir\u00e9 sobre el resultado (bueno o aterradoramente malo) porque ser\u00eda un enorme adelanto tener dichas m\u00e1quinas disponibles de esta forma. <\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8230; porque hasta ahora ha sido de verdad un juego de ni\u00f1os. No es la primera vez que utilizo virtualizaci\u00f3n pero estaba deseando que existiese alg\u00fan sistema m\u00e1s o menos normalizado en Debian para gestionarla. Y lo he encontrado en libvirt, un nombre rarito para un mecanismo muy bien organizado.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"1","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","webmentions_disabled_pings":false,"webmentions_disabled":false,"footnotes":""},"categories":[6],"tags":[178,43,70],"class_list":["post-103","post","type-post","status-publish","format-standard","hentry","category-debian","tag-libvirt","tag-redes","tag-virtualizacion"],"_links":{"self":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/103","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/comments?post=103"}],"version-history":[{"count":0,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/posts\/103\/revisions"}],"wp:attachment":[{"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/media?parent=103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/categories?post=103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/esferas.org\/msqlu\/wp-json\/wp\/v2\/tags?post=103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}