{"id":2194,"date":"2024-06-06T11:02:00","date_gmt":"2024-06-06T11:02:00","guid":{"rendered":"https:\/\/www.mainmind.com\/blog\/?p=2194"},"modified":"2024-07-07T10:58:39","modified_gmt":"2024-07-07T10:58:39","slug":"configurar-red-en-servidor-ubuntu","status":"publish","type":"post","link":"https:\/\/www.mainmind.com\/blog\/configurar-red-en-servidor-ubuntu\/","title":{"rendered":"Configurar red en servidor Ubuntu"},"content":{"rendered":"\n\n<p class=\"wp-block-paragraph\">Para entornos de servidores donde las IP fijas raramente tienen cambios, pasamos de utilizar Network Manager a Networkd mediante el uso de netplan&#8230;<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">El m\u00e9todo m\u00e1s antiguo consiste en la edici??n del fichero \/etc\/network\/interfaces<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nauto eth0\niface eth0 inet static\n\taddress 192.168.1.200\n\tnetmask 255.255.255.0\n\tgateway 192.168.1.1\n\tdns-nameserver 8.8.4.4\n\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Pero podemos utilizar un fichero YAML con netplan, comprobaremos el estado de los servicios para conocer cuales est\u00e1n en uso:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nsystemctl status systemd-networkd\nsystemctl status NetworkManager\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Estando en funcionamiento aparecer\u00e1n como \u00abactive (running)\u00bb, hablamos de entornos de servidor sin entornos gr\u00e1fico (repito), buscamos el fichero de configuraci??n o creamos uno nuevo en el directorio \/etc\/netplan\/00-installer-config.yaml o similar:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnetwork:\n  version: 2\n  renderer: networkd\n  ethernets:\n    #eth0:\n    lan:\n      match:\n        macaddress:  &quot;74:56:XX:XX:XX:XX&quot;\n      set-name: lan\n      dhcp4: false\n      addresses: &#x5B;192.168.1.200\/24]\n      #gateway4: 192.168.1.1\n      routes:\n      - to: default\n        via: 192.168.1.1\n      nameservers:\n        addresses: &#x5B;1.1.1.1, 1.0.0.1]\n        addresses: &#x5B;8.8.4.4, 8.8.8.8]\n\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Lo que hemos especificado en este caso, es el cambio de nombre de la interface de red, asoci\u00e1ndolo con la MAC de la tarjeta, en equipos con varias es bastante sencillo. Igualmente el par\u00e1metro para indicar la puerta de enlace (\u00abgateway4\u00bb) pasar\u00e1 a estar obsoleto con lo que utilizamos la nueva nomenclatura.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para estar seguros que hemos configurado correctamente el fichero podemos comprobarlo:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nsudo netplan generate -debug\n\/etc\/netplan\/00-installer-config.yaml:4:3: Error in network definition: unknown key &#039;ehternets&#039;\n  ehternets:\n  ^\n\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Cuando estamos seguros que todo es correcto, aplicamos:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nnetplan apply\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Aprovechamos para deshabilitar NetworkManager:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nsudo systemctl stop NetworkManager.service\nsudo systemctl disable NetworkManager.service\n\nsudo systemctl stop NetworkManager-wait-online.service\nsudo systemctl disable NetworkManager-wait-online.service\n\nsudo systemctl stop NetworkManager-dispatcher.service\nsudo systemctl disable NetworkManager-dispatcher.service\n\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Si no utilizamos IPv6 tamb\u00eden:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsysctl -w net.ipv6.conf.all.disable_ipv6=1\nsysctl -w net.ipv6.conf.default.disable_ipv6=1\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Aunque este cambio no es permanente, editaremos para que lo sea:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\n sudo nano \/etc\/default\/grub\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Modificando\/a\u00f1adiendo la opci\u00f3n:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nGRUB_CMDLINE_LINUX_DEFAULT=&quot;ipv6.disable=1&quot;\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Guardamos y aplicamos:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo update-grub\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">??Terminamos? Espera, nos queda aclarar la resoluci\u00f3n de nombres DNS&#8230; si abrimos el ficheros \/etc\/resolv.conf<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n# This is \/run\/systemd\/resolve\/stub-resolv.conf managed by man:systemd-resolved(8).\n# Do not edit.\n#\n# This file might be symlinked as \/etc\/resolv.conf. If you&#039;re looking at\n# \/etc\/resolv.conf and seeing this text, you have followed the symlink.\n#\n# This is a dynamic resolv.conf file for connecting local clients to the\n# internal DNS stub resolver of systemd-resolved. This file lists all\n# configured search domains.\n#\n# Run &quot;resolvectl status&quot; to see details about the uplink DNS servers\n# currently in use.\n#\n# Third party programs should typically not access this file directly, but only\n# through the symlink at \/etc\/resolv.conf. To manage man:resolv.conf(5) in a\n# different way, replace this symlink by a static file or a different symlink.\n#\n# See man:systemd-resolved.service(8) for details about the supported modes of\n# operation for \/etc\/resolv.conf.\n\nnameserver 127.0.0.53\noptions edns0 trust-ad\nsearch .\n\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Observamos que todas las peticiones DNS se canalizan a trav\u00e9s de un servidor interno en la IP 127.0.0.53:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ndig www.mainmind.com\n\n; &amp;lt;&amp;lt;&gt;&gt; DiG 9.18.18-0ubuntu0.22.04.2-Ubuntu &amp;lt;&amp;lt;&gt;&gt; www.mainmind.com\n;; global options: +cmd\n;; Got answer:\n;; -&gt;&gt;HEADER&amp;lt;&amp;lt;- opcode: QUERY, status: NOERROR, id: 58376\n;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1\n\n;; OPT PSEUDOSECTION:\n; EDNS: version: 0, flags:; udp: 65494\n;; QUESTION SECTION:\n;www.mainmind.com.              IN      A\n\n;; ANSWER SECTION:\nwww.mainmind.com.       300     IN      A       104.21.91.223\nwww.mainmind.com.       300     IN      A       172.67.180.211\n\n;; Query time: 103 msec\n;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)\n;; WHEN: Thu Jun 06 12:57:33 CEST 2024\n;; MSG SIZE  rcvd: 77\n\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">Si todo es correcto, ya tenemos nuestras tarjetas de red configuradas en entorno de servidor mediante netplan\/networkd desde consola<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>Para entornos de servidores donde las IP fijas raramente tienen cambios, pasamos de utilizar Network Manager a Networkd mediante el uso de netplan&#8230;<\/p>\n","protected":false},"author":1,"featured_media":2204,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[973,972],"class_list":["post-2194","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software","tag-netplan","tag-networkd"],"_links":{"self":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/posts\/2194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/comments?post=2194"}],"version-history":[{"count":1,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/posts\/2194\/revisions"}],"predecessor-version":[{"id":2195,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/posts\/2194\/revisions\/2195"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/media\/2204"}],"wp:attachment":[{"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/media?parent=2194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/categories?post=2194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mainmind.com\/blog\/wp-json\/wp\/v2\/tags?post=2194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}