helpcenter/Web/Controls/Help/Server/Docker/Community/DockerBehindNAT/DockerBehindNAT.es.ascx

63 lines
5.1 KiB
Plaintext

<%@ Control Language="C#" Inherits="BaseContentUserControls"%>
<%@ Register Namespace="TeamLab.Controls" Assembly="__Code" TagPrefix="cc" %>
<script runat="server">
protected override void Init()
{
PageTitle = PageCaption = "Configuración del servidor para ejecutar detrás de NAT";
MetaKeyWords = "";
MetaDescription = "";
}
</script>
<div class="MainHelpCenter">
<h1 class="subHeaderFeaturesCaption Guides_Video_Captions">Configuración del servidor para ejecutar detrás de NAT</h1>
<cc:localizecontent runat="Server" controlname="~/Controls/Help/VariousControls/Versions/CommunityServer/CommunityServerDocker_Current.ascx" />
<div class="keyword_block">
<ul>
<li><cc:LocalizeContent runat="Server" ControlName="~/Controls/Help/Tags/local-server/local-server.ascx" /></li>
<li><cc:LocalizeContent runat="Server" ControlName="~/Controls/Help/Tags/server-version/server-version.ascx" /></li>
<li><cc:LocalizeContent runat="Server" ControlName="~/Controls/Help/Tags/docker-version/docker-version.ascx" /></li>
</ul>
</div>
<div class="video_ground video_trips">
<h2 id="introduction">Introducción</h2>
<div class="video_ground video_trips">
<div class="video_text">
<p>Si Usted tiene su servidor con todos los servicios instalado detrás de NAT, pueden ocurrir problemas. La cuestión es que las solicitudes del servidor no pueden pasar a través del servidor en sí (porque su dirección IP real está oculta por NAT) y el agregador de correo no puede funcionar correctamente con el <b>ONLYOFFICE Mail</b> instalado en la misma máquina local en un contenedor Docker separado.</p>
<p>Hay métodos de solucionar este problema. Por favor, lea el artículo siguiente para aprender cómo se puede hacerlo.</p>
</div>
</div>
<h2 id="solution1">Solución 1: Edite el archivo hosts</h2>
<div class="block_of_step">
<div class="screen_text">
<p>El primer método para solucionar este problema es entrar en cada contenedor y editar los archivos <code>/etc/hosts</code> para que todos ellos tengan el siguiente registro:</p>
<pre class="prettyprint source linenums"><code>{local-IP} yourdomain.com</code></pre>
<p>Donde <code>{local-IP}</code> es la dirección IP local del servidor y <code>yourdomain.com</code> es el nombre de dominio del servidor.</p>
</div>
</div>
<h2 id="solution2">Solución 2: Instale el servidor DNS local</h2>
<div class="block_of_step">
<div class="screen_text">
<p>El segundo método es instalar un servidor DNS en la red local y mapear el dominio a la dirección IP local, añadiendo el registro A <code>{local-IP} yourdomain.com</code> a éste (aquí <code>{local-IP}</code> es la dirección IP local del servidor y <code>yourdomain.com</code> es el nombre de dominio del servidor).</p>
<p>Este servidor DNS debe ser el primero en la lista de los servidores DNS en el archivo <code>/etc/resolv.conf</code> de la máquina host.</p>
<div class="notehelp">De acuerdo con la documentación de Docker, a falta de los parámetros <code>--dns=IP_ADDRESS...</code>, <code>--dns-search=DOMAIN...</code> o <code>--dns-opt=OPTION...</code>, Docker hace el archivo <code>/etc/resolv.conf</code> de cada contenedor que parezca el archivo <code>/etc/resolv.conf</code> de la máquina host donde el demonio de docker se ejecuta.</div>
</div>
</div>
<h2 id="solution3">Solución 3: Use iptables</h2>
<div class="block_of_step">
<div class="screen_text">
<p>También puede usar <b>iptables</b> para ajustar el entorno necesario. Esto se puede hacer ejecutando el siguiente comando en la máquina <b>host</b>:</p>
<pre><code>iptables -t nat -A PREROUTING -p tcp -d {public-IP} -j DNAT --to-destination {local-IP}</code></pre>
<p>Donde <code>{public-IP}</code> y <code>{local-IP}</code> son las direcciones IP pública y local actuales de la máquina host correspondientemente.</p>
<p>Cómo funciona:</p>
<ul>
<li>El servicio en el contenedor realiza solicitudes al servidor DNS para obtener la dirección IP del ordenador con el dominio <code>yourdomain.com</code>.</li>
<li>El servidor DNS responde con la dirección <code>{public-IP}</code> para el dominio <code>yourdomain.com</code>.</li>
<li>El servicio en el contenedor recibe la respuesta y realiza solicitud a la dirección <code>{public-IP}</code> (que se ha recibido del servidor DNS).</li>
<li>Esta solicitud va a la máquina host donde el tráfico para la dirección <code>{public-IP}</code> se redirige a la dirección <code>{local-IP}</code>.</li>
</ul>
<div class="notehelp nh_notice">Por favor, tenga en cuenta que cada vez que se realice el reinicio de la máquina host, los ajustes de <b>iptables</b> son borrados y Usted necesita ejecutar el comando de arriba de nuevo para restaurarlos.</div>
</div>
</div>
</div>