0 - en to pt-BR translation catalogue (225 entries)

en: Network
pt-BR: Rede

en: Network Infrastructure
pt-BR: Infraestrutura de Rede

en: Linux sports the whole Unix heritage for networking, and Debian provides a full set of tools to create and manage them. This chapter reviews these tools.
pt-BR: O Linux dispõe de toda a tradição do Unix na área de redes, e o Debian fornece um conjunto completo de ferramentas para criar e gerenciar tais redes. Este capítulo apresenta estas ferramentas.

en: <primary>network</primary><secondary>gateway</secondary>
pt-BR: <primary>rede</primary><secondary>gateway</secondary>

en: <primary>router</primary>
pt-BR: <primary>roteador</primary>

en: A gateway is a system linking several networks. This term often refers to a local network's “exit point” on the mandatory path to all external IP addresses. The gateway is connected to each of the networks it links together, and acts as a router to convey IP packets between its various interfaces.
pt-BR: Um gateway é um sistema de ligação de várias redes. Este termo frequentemente se refere ao "ponto de saída" de uma rede local no caminho obrigatório para endereços IP externos. O gateway está ligado a cada uma das redes que une e atua como um roteador para transmitir pacotes IP entre suas várias interfaces.

en: <emphasis>BACK TO BASICS</emphasis> IP packet
pt-BR: <emphasis>DE VOLTA AO BÁSICO</emphasis> pacote IP

en: <primary>packet</primary><secondary>IP</secondary>
pt-BR: <primary>pacote</primary><secondary>IP</secondary>

en: Most networks nowadays use the IP protocol (<emphasis>Internet Protocol</emphasis>). This protocol segments the transmitted data into limited-size packets. Each packet contains, in addition to its payload data, a number of details required for its proper routing.
pt-BR: A maioria das redes atualmente utiliza o protocolo IP (<emphasis>Internet Protocol</emphasis>). Este protocolo segmenta a transmissão dos dados em pacotes de tamanho limitado. Cada pacote contém, em adição aos seus dados úteis, uma quantidade de detalhes necessários para seu próprio roteamento.

en: <emphasis>BACK TO BASICS</emphasis> TCP/UDP
pt-BR: <emphasis>DE VOLTA AO BÁSICO</emphasis> TCP/UDP

en: <primary>port</primary><secondary>TCP</secondary>
pt-BR: <primary>porta</primary><secondary>TCP</secondary>

en: <primary>port</primary><secondary>UDP</secondary>
pt-BR: <primary>porta</primary><secondary>UDP</secondary>

en: Many programs do not handle the individual packets themselves, even though the data they transmit does travel over IP; they often use TCP (<emphasis>Transmission Control Protocol</emphasis>). TCP is a layer over IP allowing the establishment of connections dedicated to data streams between two points. The programs then only see an entry point into which data can be fed with the guarantee that the same data exits without loss (and in the same sequence) at the exit point at the other end of the connection. Although many kinds of errors can happen in the lower layers, they are compensated by TCP: lost packets are retransmitted, and packets arriving out of order (for example, if they used different paths) are re-ordered appropriately.
pt-BR: Muitos programas não manipulam os pacotes individuais por si sós, mesmo que os dados que eles transmitam trafeguem sobre IP; Eles geralmente usam TCP (<emphasis>Transmission Control Protocol</emphasis>). TCP é uma camada acima do IP que permite o estabelecimento de conexões dedicadas a fluxos de dados entre dois pontos. Os programas então veem apenas um ponto de entrada no qual os dados podem ser enviados com a garantia que os mesmos dados vão sair sem perdas (e na mesma sequência) no ponto de saída na outra extremidade da conexão. Embora muitos tipos de erros possam acontecer em camadas mais baixas, eles são compensados pelo TCP: pacotes perdidos são retransmitidos, e pacotes chegando fora de ordem (por exemplo, se pegaram caminhos diferentes) são reordenados corretamente.

en: Another protocol relying on IP is UDP (<emphasis>User Datagram Protocol</emphasis>). In contrast to TCP, it is packet-oriented. Its goals are different: the purpose of UDP is only to transmit one packet from an application to another. The protocol does not try to compensate for possible packet loss on the way, nor does it ensure that packets are received in the same order as were sent. The main advantage to this protocol is that the latency is greatly improved, since the loss of a single packet does not delay the receiving of all following packets until the lost one is retransmitted.
pt-BR: Outro protocolo que se baseia no IP é o UDP (<emphasis>User Datagram Protocol</emphasis>). Ao contrário do TCP, ele é orientado a pacote. Seus objetivos são diferentes: O objetivo do UDP é apenas transmitir um pacote de uma aplicação para outra. O protocolo não tenta compensar possíveis perdas de pacotes no caminho, nem garante que pacotes são recebidos na ordem em que foram enviados. A principal vantagem deste protocolo é que a latência fica muito melhor, uma vez que a perda de um pacote único não atrasa o recebimento de todos os pacotes seguintes até que o que se perdeu seja retransmitido.

en: TCP and UDP both involve ports, which are “extension numbers” for establishing communication with a given application on a machine. This concept allows keeping several different communications in parallel with the same correspondent, since these communications can be distinguished by the port number.
pt-BR: TCP e UDP ambos envolvem portas, que são "números de ramal" para estabelecer a comunicação com um determinado aplicativo em uma máquina. Este conceito permite manter várias comunicações diferentes em paralelo com o mesmo correspondente, já que estas comunicações podem ser diferenciadas pelo número da porta.

en: When a local network uses a private address range (not routable on the Internet), the gateway needs to implement <emphasis>address masquerading</emphasis> so that the machines on the network can communicate with the outside world. The masquerading operation is a kind of proxy operating on the network level: each outgoing connection from an internal machine is replaced with a connection from the gateway itself (since the gateway does have an external, routable address), the data going through the masqueraded connection is sent to the new one, and the data coming back in reply is sent through to the masqueraded connection to the internal machine. The gateway uses a range of dedicated TCP ports for this purpose, usually with very high numbers (over 60000). Each connection coming from an internal machine then appears to the outside world as a connection coming from one of these reserved ports.
pt-BR: Quando uma rede local usa um intervalo de endereços privado (não roteável na Internet), o gateway precisa implementar <emphasis>mascaramento de endereço</emphasis> para que as máquinas na rede possam se comunicar com o mundo exterior. A operação de mascaramento é um tipo de operação de proxy no nível de rede: cada conexão saindo de uma máquina interna é substituída com uma conexão do próprio gateway (já que o gateway tem um endereço externo e roteável), os dados passando pela conexão mascarada são enviados para a nova, e os dados voltando como resposta são enviados através da conexão mascarada para a máquina interna. O gateway usa um intervalo de portas TCP dedicadas para este objetivo, normalmente com números bastante altos (acima de 60000). Cada conexão vindo de uma máquina interna aparece então para o mundo exterior como uma conexão vindo de uma destas portas reservadas.

en: <emphasis>CULTURE</emphasis> Private address range
pt-BR: <emphasis>CULTURA</emphasis> Série de Endereços Privados

en: <primary>private IP address</primary>
pt-BR: <primary>endereço IP privado</primary>

en: RFC 1918 defines three ranges of IPv4 addresses not meant to be routed on the Internet but only used in local networks. The first one, <literal>10.0.0.0/8</literal> (see sidebar <xref linkend="sidebar.networking-basics" />), is a class-A range (with 2<superscript>24</superscript> IP addresses). The second one, <literal>172.16.0.0/12</literal>, gathers 16 class-B ranges (<literal>172.16.0.0/16</literal> to <literal>172.31.0.0/16</literal>), each containing 2<superscript>16</superscript> IP addresses. Finally, <literal>192.168.0.0/16</literal> is a class-B range (grouping 256 class-C ranges, <literal>192.168.0.0/24</literal> to <literal>192.168.255.0/24</literal>, with 256 IP addresses each). <ulink type="block" url="http://www.faqs.org/rfcs/rfc1918.html" />
pt-BR: A RFC 1918 define três intervalos de endereços IPv4 que não devem ser roteados na Internet mas apenas usados em redes locais. O primeiro, <literal>10.0.0.0/8</literal> (veja na barra lateral <xref linkend="sidebar.networking-basics" />), é um intervalo de classe A (com 2<superscript>24</superscript> endereços IP). O segundo, <literal>172.16.0.0/12</literal>, trás 16 intervalos de classe B (<literal>172.16.0.0/16</literal> a <literal>172.31.0.0/16</literal>), cada um contendo 2<superscript>16</superscript> endereços IP. Finalmente, <literal>192.168.0.0/16</literal> é um intervalo de classe B (agrupando 256 intervalos de classe C, <literal>192.168.0.0/24</literal> a <literal>192.168.255.0/24</literal>, com 256 endereços IP cada). <ulink type="block" url="http://www.faqs.org/rfcs/rfc1918.html" />

en: The gateway can also perform two kinds of <emphasis>network address translation</emphasis> (or NAT for short). The first kind, <emphasis>Destination NAT</emphasis> (DNAT) is a technique to alter the destination IP address (and/or the TCP or UDP port) for a (generally) incoming connection. The connection tracking mechanism also alters the following packets in the same connection to ensure continuity in the communication. The second kind of NAT is <emphasis>Source NAT</emphasis> (SNAT), of which <emphasis>masquerading</emphasis> is a particular case; SNAT alters the source IP address (and/or the TCP or UDP port) of a (generally) outgoing connection. As for DNAT, all the packets in the connection are appropriately handled by the connection tracking mechanism. Note that NAT is only relevant for IPv4 and its limited address space; in IPv6, the wide availability of addresses greatly reduces the usefulness of NAT by allowing all “internal” addresses to be directly routable on the Internet (this does not imply that internal machines are accessible, since intermediary firewalls can filter traffic).
pt-BR: O gateway também pode realizar dois tipos de NAT (<emphasis>network address translation</emphasis> ou tradução de endereço de rede). O primeiro tipo, DNAT (<emphasis>Destination NAT</emphasis> ou NAT no destino) é uma técnica para alterar o endereço IP de destino (e/ou a porta TCP ou UDP) para uma conexão (geralmente) entrando. O mecanismo de rastreio de conexão também altera os seguintes pacotes na mesma conexão para garantir a continuidade na comunicação. O segundo tipo de NAT é o SNAT (<emphasis>Source NAT</emphasis> ou NAT na origem), do qual <emphasis>masquerading</emphasis> (ou mascaramento) é um caso particular; SNAT altera o endereço IP de origem (e/ou a porta TCP ou UDP) de uma conexão (geramente) saindo. Assim como no DNAT, todos os pacotes na conexão são apropriadamente manipulados pelo mecanismo de rastreio de conexão. Observe que o NAT só é relevante para o IPv4 e seu espaço de endereços limitado; no IPv6, a ampla disponibilidade de endereços reduz grandemente a utilidade de NAT permitindo que todo endereço "interno" possa ser diretamente roteável na Internet (isto não implica que as máquinas internas serão acessíveis, uma vez que firewalls intermediários possam filtrar o tráfego).

en: <emphasis>BACK TO BASICS</emphasis> Port forwarding
pt-BR: <emphasis>DE VOLTA AO BÁSICO</emphasis> Encaminhamento de porta

en: <primary>port forwarding</primary>
pt-BR: <primary>encaminhamento de porta</primary>

en: A concrete application of DNAT is <emphasis>port forwarding</emphasis>. Incoming connections to a given port of a machine are forwarded to a port on another machine. Other solutions may exist for achieving a similar effect, though, especially at the application level with <command>ssh</command> (see <xref linkend="sect.ssh-port-forwarding" />) or <command>redir</command>.
pt-BR: Uma aplicação concreta do DNAT é o <emphasis>port forwarding</emphasis> (encaminhamento de portas). Conexões chegando numa porta de uma máquina são direcionadas para uma porta de outra máquina. Outras soluções podem existir para se chegar a um efeito similar, entretanto. Especialmente no nível de aplicação com <command>ssh</command> (veja em <xref linkend="sect.ssh-port-forwarding" />) ou <command>redir</command>.

en: Enough theory, let's get practical. Turning a Debian system into a gateway is a simple matter of enabling the appropriate option in the Linux kernel, by way of the <filename>/proc/</filename> virtual filesystem:
pt-BR: Chega de teoria, vamos para a prática. Fazer do Debian um gateway é simplesmente habilitar a opção apropriada no núcleo Linux, através do sistema de arquivos virtual <filename>/proc/</filename>:

en: The <filename>/etc/sysctl.conf</filename> file
pt-BR: O arquivo <filename>/etc/sysctl.conf</filename>

en: The same effect can be obtained for IPv6 by simply replacing <literal>ipv4</literal> with <literal>ipv6</literal> in the manual command and using the <literal>net.ipv6.conf.all.forwarding</literal> line in <filename>/etc/sysctl.conf</filename>.
pt-BR: O mesmo efeito pode ser obtido para o IPv6 simplesmente substituindo o <literal>ipv4</literal> por <literal>ipv6</literal> no comando manual e usando a linha <literal>net.ipv6.conf.all.forwarding</literal> em <filename>/etc/sysctl.conf</filename>.

en: Enabling IPv4 masquerading is a slightly more complex operation that involves configuring the <emphasis>netfilter</emphasis> firewall.
pt-BR: Habilitando mascaramento IPv4 é uma operação um pouco mais complexa que envolve configurar o firewall <emphasis>netfilter</emphasis>.

en: Similarly, using NAT (for IPv4) requires configuring <emphasis>netfilter</emphasis>. Since the primary purpose of this component is packet filtering, the details are listed in <xref linkend="security" xrefstyle="select: label quotedtitle nopage" /> (see <xref linkend="sect.firewall-packet-filtering" />).
pt-BR: Similarmente, o uso do NAT (para IPv4) requer a configuração do <emphasis>netfilter</emphasis>. Uma vez que o objetivo primário deste componente é filtragem de pacotes, os detalhes são listados em <xref linkend="security" xrefstyle="select: label quotedtitle nopage" /> (veja em <xref linkend="sect.firewall-packet-filtering" />).

en: X.509 certificates
pt-BR: Certificados X.509

en: <primary>certificate</primary><secondary>X.509</secondary>
pt-BR: <primary>certificado</primary><secondary>X.509</secondary>

en: <primary>X.509</primary><secondary>certificates</secondary>
pt-BR: <primary>X.509</primary><secondary>certificados</secondary>

en: <primary>Certificate Authority</primary>
pt-BR: <primary>Autoridade Certificadora</primary>

en: Certificates are an important building block of many network services built on cryptographic protocols, when they need some sort of central authentication.
pt-BR: Certificados são um importante bloco de construção de muitos serviços de rede construídos sobre protocolos criptográficos quando precisam de alguma forma de autenticação central.

en: Among those protocols, SSL (<emphasis>Secure Socket Layer</emphasis>) was invented by Netscape to secure connections to web servers. It was later standardized by IETF under the acronym TLS (<emphasis>Transport Layer Security</emphasis>). Since then TLS continued to evolve, and nowadays SSL is deprecated due to multiple design flaws that have been discovered.
pt-BR: Entre esses protocolos, o SSL (<emphasis>Secure Socket Layer</emphasis>) foi inventado pela Netscape para dar segurança às conexões com servidores web. Posteriormente foi padronizado pela IETF sob o acrônimo TLS (<emphasis>Transport Layer Security</emphasis>). Desde então, o TLS continuou a evoluir e hoje em dia o SSL está obsoleto devido a múltiplas falhas de projeto que têm sido descobertas.

en: The TLS protocol aims primarily to provide privacy and data integrity between two or more communicating computer applications. The most common case on the Internet is the communication between a client (e.g. a web browser) and a server.
pt-BR: O protocolo TLS tem o objetivo principal de fornecer privacidade e integridade de dados entre dois ou mais aplicativos de computador em comunicação. A maior parte dos casos comuns na Internet é a comunicação entre um cliente (por exemplo, um navegador web) e um servidor.

en: You can implement a CA (as described in <xref linkend="sect.easy-rsa" />), but if you intend to use the certificate for a website, you need to rely on a trusted CA. The prices vary significantly, but it is possible to implement great security spending little to no money.
pt-BR: Você pode implementar uma CA (como descrito em <xref linkend="sect.easy-rsa" />), mas se pretende usar o certificado para um site web, deve se basear em um CA confiável. Os preços variam significativamente, mas é possível implementar boa segurança gastando pouco ou nada.

en: Creating gratis trusted certificates
pt-BR: Criando certificados confiáveis grátis

en: The Falcot administrators just want to create a certificate for their website, which runs on Apache. There is a convenient Apache plugin for <emphasis role="pkg">certbot</emphasis> that automatically edits the Apache configuration to serve the obtained certificate, so they make use of it:
pt-BR: Os administradores da Falcot só querem criar um certificado para o site web, o qual roda sobre o Apache. Existe uma extensão conveniente do Apache para <emphasis role="pkg">certbot</emphasis> que automaticamente edita a configuração do Apache para servir o certificado obtido para que eles o usem:

en: <primary>Apache</primary><secondary>trusted certificates</secondary>
pt-BR: <primary>Apache</primary><secondary>certificados confiáveis</secondary>

en: <emphasis>CULTURE</emphasis> The Let's Encrypt Initiative
pt-BR: <emphasis>CULTURA</emphasis> Iniciativa Let's Encrypt

en: The <ulink url="https://letsencrypt.org/">Let's Encrypt</ulink> initiative is a joint effort to create a free, automated, and open certificate authority (CA), run for the public's benefit. It is supported by the <acronym>EFF</acronym> and the Linux Foundation. The initiative provides an automated tool for acquiring and renewing certificates. This reduces the amount of manual effort involved, especially if multiple sites and domains must be managed. The certificates can also be used for SIP, XMPP, WebSockets and TURN servers. Usage of the service requires control over the DNS information of the domain in question (domain validation). <ulink type="block" url="https://letsencrypt.org/how-it-works/" />
pt-BR: A iniciativa <ulink url="https://letsencrypt.org/pt-br/">Let's Encrypt</ulink> é um esforço conjunto para criar uma autoridade certificadora (certificate authority - CA) aberta, livre e automatizada, que é gerida para o interesse público. Esta iniciativa é apoiada pela <acronym>EFF</acronym> e Linux Foundation. Ela provê uma ferramenta automatizada para a aquisição e renovação de certificados. Isso reduz o volume de esforço manual necessário, especialmente se múltiplos sites e domínios precisarem ser geridos. Os certificados também podem ser utilizados para servidores SIP, XMPP, WebSockets e TURN. A utilização do serviço requer o controle sobre as informações DNS do domínio em questão (validação do domínio). <ulink type="block" url="https://letsencrypt.org/pt-br/how-it-works/" />

en: If you would rather keep the server running during the certificate creation, you can use the webroot plugin to get the certificate with the arguments <command>certonly</command> and <command>--webroot</command>. You would have to specify a <command>--webroot-path</command> (abbreviated <command>-w</command>), which should contain the files served. The command looks as follows:
pt-BR: Se você preferir manter o servidor rodando durante a criação do certificado, você pode utilizar o plugin webroot com os argumentos <command>certonly</command> e <command>--webroot</command> para obter o certificado. Você precisará utilizar o argumento <command>--webroot-path</command> (ou a abreviação <command>-w</command>), que deve especificar os arquivos que serão servidos. O comando ficaria do seguinte modo:

en: <computeroutput># </computeroutput><userinput>certbot certonly --webroot -w <replaceable>/var/www/html</replaceable> -d www.<replaceable>DOMAIN</replaceable>.com -d <replaceable>DOMAIN</replaceable>.com</userinput>
pt-BR: <computeroutput># </computeroutput><userinput>certbot certonly --webroot -w <replaceable>/var/www/html</replaceable> -d www.<replaceable>DOMÍNIO</replaceable>.com -d <replaceable>DOMÍNIO</replaceable>.com</userinput>

en: You need to restart all services using the certificates that you have created.
pt-BR: Você precisa reiniciar todos os serviços utilizando os certificados que você criou.

en: The certificates created are so called short-life certificates, which are valid for 90 days and must therefor be renewed every once in three months using the <command>certbot renew</command> command. However, we shouldn't renew every certificate manually, but automatically. A basic cron job is included by <emphasis role="pkg">certbot</emphasis> in <filename>/etc/cron.d/certbot</filename>. To ensure that certificates can be automatically renewed, you can execute <command>certbot renew --dry-run</command>.
pt-BR: Os certificados criados são chamados de certificados de curto prazo, que são válidos por 90 dias e devemser renovados a cada 3 meses utilizando o comando <command>certbot renew</command> . Entretanto, não se deve renovar cada certificado manualmente, mas automaticamente. Um serviço cron básico é incluído pelo <emphasis role="pkg">certbot</emphasis> no arquivo <filename>/etc/cron.d/certbot</filename>. Para assegurar que os certificados podem ser renovados automaticamente, você pode executar <command>certbot renew --dry-run</command>.

en: Public Key Infrastructure: <emphasis>easy-rsa</emphasis>
pt-BR: Infraestrutura de Chaves Públicas: <emphasis>easy-rsa</emphasis>

en: <primary>Public Key Infrastructure</primary>
pt-BR: <primary>Infraestrutura de Chave Pública</primary>

en: <primary>RSA (algorithm)</primary>
pt-BR: <primary>RSA (algoritmo)</primary>

en: <primary>key pair</primary>
pt-BR: <primary>par de chaves</primary>

en: It is also possible to create our own CA, for that we will use the RSA algorithm, widely used in public-key cryptography. It involves a “key pair”, comprised of a private and a public key. The two keys are closely linked to each other, and their mathematical properties are such that a message encrypted with the public key can only be decrypted by someone knowing the private key, which ensures confidentiality. In the opposite direction, a message encrypted with the private key can be decrypted by anyone knowing the public key, which allows authenticating the origin of a message since only someone with access to the private key could generate it. When associated with a digital hash function (MD5, SHA1, or a more recent variant), this leads to a signature mechanism that can be applied to any message.
pt-BR: Também é possível criar a nossa própria autoridade certificadora (certificate authority - CA), para isso usaremos o algoritmo RSA, o qual é amplamente usado em criptografia de chave pública. Trata-se de um “par de chaves”, composto de uma chave privada e uma chave pública. As duas chaves são intimamente ligadas uma a outra, e suas propriedades matemáticas são tais que uma mensagem criptografada com a chave pública só pode ser descriptografada por alguém que conhece a chave privada, o que garante confidencialidade. Na direção oposta, uma mensagem criptografada com a chave privada pode ser descriptografada por qualquer um que saiba a chave pública, o que permite autenticar a origem da mensagem já que apenas alguém com acesso a chave privada poderia gerá-la. Quando associada a uma função digital hash (MD5, SHA1, ou uma variante mais recente), isso leva a um mecanismo de assinatura que pode ser aplicado a qualquer mensagem.

en: Since public CAs only emit certificates in exchange for a (hefty) fee, it is also possible to create a private certification authority within the company. The <emphasis role="pkg">easy-rsa</emphasis> package provides tools to serve as an X.509 certification infrastructure, implemented as a set of scripts using the <command>openssl</command> command.
pt-BR: Como CAs públicos apenas emitem certificados em troca de uma (pesada) taxa, também é possível criar um certificado de autoridade privado dentro da companhia. O pacote <emphasis role="pkg">easy-rsa</emphasis> provê ferramentas que servem como uma infraestrutura de certificação X.509, implementada como um conjunto de scripts usando o comando <command>openssl</command>.

en: <emphasis>ALTERNATIVE</emphasis> GnuTLS
pt-BR: <emphasis>ALTERNATIVA</emphasis> GnuTLS

en: GnuTLS can also be used to generate a CA, and deal with other technologies around the TLS, DTLS and SSL protocols.
pt-BR: GnuTLS também pode ser utilizado para gerar um CA, além de lidar com outras tecnologias acerca dos protocolos TLS, DTLS e SSL.

en: The package <emphasis role="pkg">gnutls-bin</emphasis> contains the command-line utilities. It is also useful to install the <emphasis role="pkg">gnutls-doc</emphasis> package, which includes extensive documentation.
pt-BR: O pacote <emphasis role="pkg">gnutls-bin</emphasis> contém os utilitários de linha de comando. Também é útil instalar o pacote <emphasis role="pkg">gnutls-doc</emphasis>, que inclui uma extensa documentação.

en: The Falcot Corp administrators use this tool to create the required certificates, both for the server and the clients. This allows the configuration of all clients to be similar since they will only have to be set up so as to trust certificates coming from Falcot's local CA. This CA is the first certificate to create; to this end, the administrators set up a directory with the files required for the CA in an appropriate location, preferably on a machine not connected to the network in order to mitigate the risk of the CA's private key being stolen.
pt-BR: os administradores da Falcot Corp usam essa ferramenta para criar os certificados necessários, tanto para servidor quanto para clientes. Isso permite que a configuração de todos os clientes sejam similar já que eles apenas terão de ser configurados para confiar em certificados vindos da CA local da Falcot. Esse CA é o primeiro certificado a ser criado; para esse fim, os administradores configuram um diretório com os arquivos necessários para o CA em um local apropriado, preferencialmente em uma máquina não conectada a rede, de maneira a mitigar o risco da chave privada CA ser roubada.

en: They then store the required parameters into the <filename>vars</filename> file, which can be uncommented and edited:
pt-BR: Eles então armazenam os parâmetros requeridos dentro do arquivo <filename>vars</filename>, o qual pode ser descomentado e editado:

en: Now we prepare the public key infrastructure directory with the following command:
pt-BR: Agora preparamos o diretório da infraestructura de chave pública com a seguinte ordem:

en: The next step is the creation of the CA's key pair itself (the two parts of the key pair will be stored under <filename>pki/ca.crt</filename> and <filename>pki/private/ca.key</filename> during this step). We can add the option <literal>nopass</literal> to avoid entering a password each time the private key is used:
pt-BR: O próximo passo é a criação do próprio par de chaves da CA (as duas partes do par de chaves será armazenada sob <filename>pki/ca.crt</filename> e <filename>pki/private/ca.key</filename> durante esse passo). Nós podemos adicionar a opção <literal>nopass</literal> para evitar digitar a senha toda vez que a chave privada for utilizada:

en: The certificate can now be created, as well as the Diffie-Hellman parameters required for the server side of an SSL/TLS connection. They want to use it for a VPN server (see section <xref linkend="sect.virtual-private-network" />) that is identified by the DNS name <literal>vpn.falcot.com</literal>; this name is re-used for the generated key files (<filename>keys/vpn.falcot.com.crt</filename> for the public certificate, <filename>keys/vpn.falcot.com.key</filename> for the private key):
pt-BR: O certificado pode, agora, ser criado, assim como os parâmetros Diffie-Hellman necessários para o lado do servidor em uma conexão SSL/TLS. Eles querem usá-lo como um servidor VPN (veja a seção <xref linkend="sect.virtual-private-network" />) que é identificado pelo nome DNS <literal>vpn.falcot.com</literal>; esse nome é reutilizado nos arquivos de chave gerados (<filename>keys/vpn.falcot.com.crt</filename> para certificado público, <filename>keys/vpn.falcot.com.key</filename> para chave privada):

en: The following step creates certificates for the VPN clients; one certificate is required for each computer or person allowed to use the VPN:
pt-BR: O próximo passo cria certificados para os clientes VPN; um certificado é necessário para cada computar ou pessoa ser autorizada a usar a VPN:

en: Virtual Private Network
pt-BR: Rede Privada Virtual

en: <primary>network</primary><secondary>virtual private</secondary>
pt-BR: <primary>rede</primary><secondary>privada virtual</secondary>

en: A <emphasis>Virtual Private Network</emphasis> (VPN for short) is a way to link two different local networks through the Internet by way of a tunnel; the tunnel is usually encrypted for confidentiality. VPNs are often used to integrate a remote machine within a company's local network.
pt-BR: Uma <emphasis>Rede Privada Virtual</emphasis> (ou VPN, de Virtual Private Network) é uma forma de conectar duas redes locais diferentes através de um túnel pela internet; o túnel é normalmente criptografado para confidencialidade. VPNs são em geral usadas para integrar uma máquina remota numa rede local de uma empresa.

en: Several tools provide this functionality. OpenVPN is an efficient solution, easy to deploy and maintain, based on SSL/TLS. Another possibility is using IPsec to encrypt IP traffic between two machines; this encryption is transparent, which means that applications running on these hosts need not be modified to take the VPN into account. SSH can also be used to provide a VPN, in addition to its more conventional features. Finally, a VPN can be established using Microsoft's PPTP protocol. Other solutions exist, but are beyond the focus of this book.
pt-BR: Várias ferramentas fornecem esta funcionalidade. O OpenVPN é uma solução eficiente, fácil de publicar e manter, baseado em SSL/TLS. Outra possibilidade é usar o IPsec para criptografar o tráfego IP entre duas máquinas; esta criptografia é transparente, o que significa que aplicações rodando nestas máquinas não precisam ser modificadas para serem compatíveis com VPN. SSH também pode ser usado para fornecer uma VPN, adicionalmente às suas funcionalidades mais convencionais. Finalmente, uma VPN pode ser estabelecida usando o protocolo PPTP da Microsoft. Outras soluções existem, mas estão além do escopo deste livro.

en: OpenVPN is a piece of software dedicated to creating virtual private networks. Its setup involves creating virtual network interfaces on the VPN server and on the client(s); both <literal>tun</literal> (for IP-level tunnels) and <literal>tap</literal> (for Ethernet-level tunnels) interfaces are supported. In practice, <literal>tun</literal> interfaces will most often be used except when the VPN clients are meant to be integrated into the server's local network by way of an Ethernet bridge.
pt-BR: O OpenVPN é um pedaço de software dedicado a criar redes virtuais privadas. Sua configuração envolve a criação de interfaces de rede virtuais em um servidor VPN e no(s) cliente(s); ambas interfaces <literal>tun</literal> (para túneis a nível de IP) e <literal>tap</literal> (para túneis a nível Ethernet) são suportadas. Na prática, as interfaces <literal>tun</literal> irão geralmente ser as mais usadas, excerto quando os clientes VPN forem feitos para serem integrados na rede local do servidor por meio de uma ponte (bridge) Ethernet.

en: OpenVPN relies on OpenSSL for all the SSL/TLS cryptography and associated features (confidentiality, authentication, integrity, non-repudiation). It can be configured either with a shared private key or using X.509 certificates based on a public key infrastructure. The latter configuration is strongly preferred since it allows greater flexibility when faced with a growing number of roaming users accessing the VPN.
pt-BR: O OpenVPN depende do OpenSSL para criptografia SSL/TLS e funcionalidades associadas (confidencialidade, autenticação, integridade, não-repudio). Ele pode ser configurado tanto com uma chave privada compartilhada, como usando um certificado X.509 baseado em uma infraestrutura de chave pública. Essa última configuração é fortemente preferida já que permite grande flexibilidade quando lida com um crescente número de usuários "roaming" acessando a VPN.

en: Configuring the OpenVPN Server
pt-BR: Configurando o Servidor OpenVPN

en: After all certificates have been created (follow the instructions from <xref linkend="sect.easy-rsa" />), they need to be copied where appropriate: the root certificate's public key (<filename>pki/ca.crt</filename>) will be stored on all machines (both server and clients) as <filename>/etc/ssl/certs/Falcot_CA.crt</filename>. The server's certificate is installed only on the server (<filename>pki/issued/vpn.falcot.com.crt</filename> goes to <filename>/etc/ssl/certs/vpn.falcot.com.crt</filename>, and <filename>pki/private/vpn.falcot.com.key</filename> goes to <filename>/etc/ssl/private/vpn.falcot.com.key</filename> with restricted permissions so that only the administrator can read it), with the corresponding Diffie-Hellman parameters (<filename>pki/dh.pem</filename>) installed to <filename>/etc/openvpn/dh.pem</filename>. Client certificates are installed on the corresponding VPN client in a similar fashion.
pt-BR: Após a criação de todos os certificados (siga as instruções de <xref linkend="sect.easy-rsa" />), eles precisam ser copiados para um local apropriado: a chave pública do certificado raiz (<filename>pki/ca.crt</filename>) será armazenada em todas as máquinas (tanto servidor quanto clientes) como <filename>/etc/ssl/certs/Falcot_CA.crt</filename>. O certificado do servidor é instalado apenas no servidor (<filename>pki/issued/vpn.falcot.com.crt</filename> vai para <filename>/etc/ssl/certs/vpn.falcot.com.crt</filename>, e <filename>pki/private/vpn.falcot.com.key</filename> vai para <filename>/etc/ssl/private/vpn.falcot.com.key</filename> com restritivas permissões para que apenas o administrador possa lê-la), com os parâmetros Diffie-Hellman correspondentes (<filename>pki/dh.pem</filename>) instalados em <filename>/etc/openvpn/dh.pem</filename>. Certificados do clientes são instalados no cliente VPN correspondente de maneira similar.

en: By default, the OpenVPN initialization script tries starting all virtual private networks defined in <filename>/etc/openvpn/*.conf</filename>. Setting up a VPN server is therefore a matter of storing a corresponding configuration file in this directory. A good starting point is <filename>/usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz</filename>, which leads to a rather standard server. Of course, some parameters need to be adapted: <literal>ca</literal>, <literal>cert</literal>, <literal>key</literal> and <literal>dh</literal> need to describe the selected locations (respectively, <literal>/etc/ssl/certs/Falcot_CA.crt</literal>, <literal>/etc/ssl/vpn.falcot.com.crt</literal>, <literal>/etc/ssl/private/vpn.falcot.com.key</literal> and <literal>/etc/openvpn/dh.pem</literal>). The <literal>server 10.8.0.0 255.255.255.0</literal> directive defines the subnet to be used by the VPN; the server uses the first IP address in that range (<literal>10.8.0.1</literal>) and the rest of the addresses are allocated to clients.
pt-BR: Por padrão, o script de inicialização do OpenVPN tenta iniciar todas as redes virtuais privadas definidas em <filename>/etc/openvpn/*.conf</filename>. A configuração de um servidor VPN é portanto uma questão de armazenar o arquivo de configuração correspondente neste diretório. Um bom ponto de partida é o <filename>/usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz</filename>, que orienta em como ter um servidor padrão. Claro que alguns parâmetros precisam ser adaptados: <literal>ca</literal>, <literal>cert</literal>, <literal>key</literal> e <literal>dh</literal> precisam descrever as localizações selecionadas (respectivamente, <literal>/etc/ssl/certs/Falcot_CA.crt</literal>, <literal>/etc/ssl/vpn.falcot.com.crt</literal>, <literal>/etc/ssl/private/vpn.falcot.com.key</literal> e <literal>/etc/openvpn/dh.pem</literal>). A diretiva <literal>server 10.8.0.0 255.255.255.0</literal> define a sub-rede a ser usada pela VPN; o servidor usa o primeiro endereço IP nesse intervalo (<literal>10.8.0.1</literal>) e o resto dos endereços são alocados para os clientes.

en: With this configuration, starting OpenVPN creates the virtual network interface, usually under the <literal>tun0</literal> name. However, firewalls are often configured at the same time as the real network interfaces, which happens before OpenVPN starts. Good practice therefore recommends creating a persistent virtual network interface, and configuring OpenVPN to use this pre-existing interface. This further allows choosing the name for this interface. To this end, <command>openvpn --mktun --dev vpn --dev-type tun</command> creates a virtual network interface named <literal>vpn</literal> with type <literal>tun</literal>; this command can easily be integrated in the firewall configuration script, or in an <literal>up</literal> directive of the <filename>/etc/network/interfaces</filename> file, or a <emphasis role="package">udev</emphasis> rule can be added to that end. The OpenVPN configuration file must also be updated accordingly, with the <literal>dev vpn</literal> and <literal>dev-type tun</literal> directives.
pt-BR: Com essa configuração, ao iniciar o OpenVPN, é criada uma interface de rede virtual, usualmente sob o nome de <literal>tun0</literal>. Contudo, firewalls são geralmente configurados ao mesmo tempo que interfaces de rede reais, o que acontece antes do OpenVPN ser iniciado. A boa prática então recomenda a criação de uma interface de rede virtual persistente, e configurar o OpenVPN para usar essa interface pré-existente. Isso inclusive permite a escolha do nome dessa interface. Para esse fim, <command>openvpn --mktun --dev vpn --dev-type tun</command> cria uma interface de rede virtual de nome <literal>vpn</literal> do tipo <literal>tun</literal>; esse comando pode ser facilmente integrado ao script de configuração do firewall, ou na diretiva <literal>up</literal> do arquivo <filename>/etc/network/interfaces</filename>, ou ainda uma regra <emphasis role="package">udev</emphasis> pode ser adicionada com esta finalidade. O arquivo de configuração do OpenVPN deve também ser atualizado em conformidade com as diretivas <literal>dev vpn</literal> e <literal>dev-type tun</literal>.

en: Barring further action, VPN clients can only access the VPN server itself by way of the <literal>10.8.0.1</literal> address. Granting the clients access to the local network (192.168.0.0/24), requires adding a <literal>push route 192.168.0.0 255.255.255.0</literal> directive to the OpenVPN configuration so that VPN clients automatically get a network route telling them that this network is reachable by way of the VPN. Furthermore, machines on the local network also need to be informed that the route to the VPN goes through the VPN server (this automatically works when the VPN server is installed on the gateway). Alternatively, the VPN server can be configured to perform IP masquerading so that connections coming from VPN clients appear as if they are coming from the VPN server instead (see <xref linkend="sect.gateway" />).
pt-BR: Salvo ações posteriores, clientes VPN só podem acessar o próprio servidor VPN pelo caminho do endereço <literal>10.8.0.1</literal>. Permitir que os clientes acessem a rede local (192.168.0.0/24) requer a adição da diretiva <literal>push route 192.168.0.0 255.255.255.0</literal> na configuração do OpenVPN para que os clientes VPN automaticamente recebam o roteamento dizendo a eles que essa rede é alcançável através da VPN. Além do mais, máquinas na rede local também precisam ser informadas que a rota para a VPN passa pelo servidor VPN (isso funciona de maneira automática quando o servidor VPN é instalado no gateway). Alternativamente, o servidor VPN pode ser configurado para desempenhar um mascaramento IP, e assim as conexões vidas de clientes VPN aparecem com se elas viessem do servidor VPN (see <xref linkend="sect.gateway" />).

en: Configuring the OpenVPN Client
pt-BR: Configurando o Cliente OpenVPN

en: Setting up an OpenVPN client also requires creating a configuration file in <filename>/etc/openvpn/</filename>. A standard configuration can be obtained by using <filename>/usr/share/doc/openvpn/examples/sample-config-files/client.conf</filename> as a starting point. The <literal>remote vpn.falcot.com 1194</literal> directive describes the address and port of the OpenVPN server; the <literal>ca</literal>, <literal>cert</literal> and <literal>key</literal> also need to be adapted to describe the locations of the key files.
pt-BR: Configurar um cliente OpenVPN também requer a criação de um arquivo de configuração em <filename>/etc/openvpn/</filename>. Uma configuração padrão pode ser obtida usando <filename>/usr/share/doc/openvpn/examples/sample-config-files/client.conf</filename> como ponto de partida. A diretiva <literal>remote vpn.falcot.com 1194</literal> descreve o endereço e porta do servidor OpenVPN; <literal>ca</literal>, <literal>cert</literal> and <literal>key</literal> também precisam ser adaptadas para descrever a localização dos arquivos com as chaves.

en: If the VPN should not be started automatically on boot, set the <literal>AUTOSTART</literal> directive to <literal>none</literal> in the <filename>/etc/default/openvpn</filename> file. Starting or stopping a given VPN connection is always possible with the commands <command>systemctl start openvpn@<replaceable>name</replaceable></command> and <command>systemctl stop openvpn@<replaceable>name</replaceable></command> (where the connection <replaceable>name</replaceable> matches the one defined in <filename>/etc/openvpn/<replaceable>name</replaceable>.conf</filename>).
pt-BR: Se a VPN não deve ser iniciada automaticamente na inicialização, configure a diretiva <literal>AUTOSTART</literal> para <literal>none</literal> no arquivo <filename>/etc/default/openvpn</filename>. Iniciar ou parar uma determinada conexão VPN é sempre possível com os comandos <command>systemctl start openvpn@<replaceable>nome</replaceable></command> and <command>systemctl stop openvpn@<replaceable>nome</replaceable></command> (em que a conexão <replaceable>nome</replaceable> casa com uma definida em <filename>/etc/openvpn/<replaceable>nome</replaceable>.conf</filename>).

en: Virtual Private Network with SSH
pt-BR: Rede Privada Virtual com SSH

en: There are actually two ways of creating a virtual private network with SSH. The historic one involves establishing a PPP layer over the SSH link. This method is described in a HOWTO document: <ulink type="block" url="https://www.tldp.org/HOWTO/ppp-ssh/" />
pt-BR: Existem, na verdade, duas maneiras de criar uma rede virtual privada com SSH. A mais antiga envolve estabelecer uma camada PPP sobre uma ligação SSH. Esse método é descrito em um documento HOWTO: <ulink type="block" url="https://www.tldp.org/HOWTO/ppp-ssh/" />

en: The second method is more recent, and was introduced with OpenSSH 4.3; it is now possible for OpenSSH to create virtual network interfaces (<literal>tun*</literal>) on both sides of an SSH connection, and these virtual interfaces can be configured exactly as if they were physical interfaces. The tunneling system must first be enabled by setting <literal>PermitTunnel</literal> to “yes” in the SSH server configuration file (<filename>/etc/ssh/sshd_config</filename>). When establishing the SSH connection, the creation of a tunnel must be explicitly requested with the <literal>-w any:any</literal> option (<literal>any</literal> can be replaced with the desired <literal>tun</literal> device number). This requires the user to have administrator privilege on both sides, so as to be able to create the network device (in other words, the connection must be established as root).
pt-BR: O segundo método é mais recente, e foi introduzido no OpenSSH 4.3; agora é possível para o OpenSSH criar interfaces de rede virtual (<literal>tun*</literal>) nos dois lados de uma conexão SSH, e essas interfaces virtuais podem ser configuradas exatamente como se elas fossem interfaces físicas. O sistema de túnel ("tunneling") deve ser primeiro ativado configurando <literal>PermitTunnel</literal> como “yes” no arquivo de configuração do servidor SSH (<filename>/etc/ssh/sshd_config</filename>). Ao estabelecer uma conexão SSH, a criação de um túnel deve ser explicitamente requisitada com a opção <literal>-w any:any</literal> (<literal>any</literal> pode ser substituída pelo desejado número de dispositivo <literal>tun</literal>). Isso requer que o usuário tenha privilégios de administrador nos dois lados, assim como ser capaz de criar o dispositivo de rede (em outras palavras, a conexão deve ser estabelecida como root).

en: Both methods for creating a virtual private network over SSH are quite straightforward. However, the VPN they provide is not the most efficient available; in particular, it does not handle high levels of traffic very well.
pt-BR: Ambos os métodos para criação de rede virtual privada pelo SSH são bem simples. Contudo, a VPN que eles implementam não é a mais eficiente disponível, em particular, ela não lida muito bem com elevados níveis de tráfego.

en: The explanation is that when a TCP/IP stack is encapsulated within a TCP/IP connection (for SSH), the TCP protocol is used twice, once for the SSH connection and once within the tunnel. This leads to problems, especially due to the way TCP adapts to network conditions by altering timeout delays. The following site describes the problem in more detail: <ulink type="block" url="http://sites.inka.de/sites/bigred/devel/tcp-tcp.html" />
pt-BR: A explicação é que quando uma pilha TCP/IP é encapsulada dentro de uma conexão TCP/IP (para SSH), o protocolo TCP é usado duas vezes, uma para a conexão SSH e outra dentro do túnel. Isso leva a problemas, especialmente devido ao modo como o TCP se adapta às condições da rede, alterando os atrasos de estouro de tempo. O seguinte sítio descreve o problema mais detalhadamente: <ulink type="block" url="http://sites.inka.de/sites/bigred/devel/tcp-tcp.html" />

en: VPNs over SSH should therefore be restricted to one-off tunnels with no performance constraints.
pt-BR: VPNs através de SSH deveriam, portanto, restringir-se a um túnel único sem nenhuma restrição de desempenho.

en: First, we install the <emphasis role="pkg">libreswan</emphasis> package. In concrete terms, each host's <filename>/etc/ipsec.conf</filename> contains the parameters for <emphasis>IPsec tunnels</emphasis> (or <emphasis>Security Associations</emphasis>, in the IPsec terminology) that the host is concerned with. There are many configuration examples in <filename>/usr/share/doc/libreswan/</filename>, but Libreswan's online documentation has more examples with explanations: <ulink type="block" url="https://libreswan.org/wiki/" />
pt-BR: Primeiro instalamos o pacote <emphasis role="pkg">libreswan</emphasis>. Em termos concretos, <filename>/etc/ipsec.conf</filename> do anfitrião contém os parâmetros para <emphasis>túneis IPsec</emphasis> (ou <emphasis>Security Associations</emphasis>, associações de segurança, na terminologia do IPsec) com os quais a máquina se ocupa. Existem muitos exemplos de configuração em <filename>/usr/share/doc/libreswan/</filename>, mas a documentação online do Libreswan tem mais exemplos com explicações: <ulink type="block" url="https://libreswan.org/wiki/" />

en: The IPsec service can be controlled with <command>systemctl</command>; for example, <command>systemctl start ipsec</command> will start the IPsec service.
pt-BR: O serviço IPsec pode ser controlado com <command>systemctl</command>; Por exemplo, <command>systemctl start ipsec</command>vai iniciar o serviço Ipsec.

en: In spite of its status as the reference, the complexity of setting up IPsec restricts its usage in practice. OpenVPN-based solutions will generally be preferred when the required tunnels are neither too many nor too dynamic.
pt-BR: Apesar do seu status como referência, a complexidade de criação de IPsec restringe seu uso na prática. As soluções baseadas em OpenVPN irão geralmente ser preferidas quando os necessários túneis não forem muitos ou não forem muito dinâmicos.

en: <emphasis>CAUTION</emphasis> IPsec and NAT
pt-BR: <emphasis>ATENÇÃO</emphasis> IPsec e NAT

en: NATing firewalls and IPsec do not work well together: since IPsec signs the packets, any change on these packets that the firewall might perform will void the signature, and the packets will be rejected at their destination. Various IPsec implementations now include the <emphasis>NAT-T</emphasis> technique (for <emphasis>NAT Traversal</emphasis>), which basically encapsulates the IPsec packet within a standard UDP packet.
pt-BR: IPsec e Firewalls que fazem NAT não funcionam bem juntos: como o IPsec assina os pacotes, qualquer alteração nesses pacotes que o firewall possa a vir fazer irá anular essa assinatura, e assim, os pacotes serão rejeitados em seu destino. Várias implementações incluem agora a técnica <emphasis>NAT-T</emphasis> (para <emphasis>NAT Traversal</emphasis>), o que basicamente encapsula o pacote IPsec dentro de um pacote UDP padrão.

en: <emphasis>SECURITY</emphasis> IPsec and firewalls
pt-BR: <emphasis>SEGURANÇA</emphasis> IPsec e firewalls

en: <primary>ESP, protocol</primary>
pt-BR: <primary>ESP, protocolo</primary>

en: <primary>AH, protocol</primary>
pt-BR: <primary>AH, protocolo</primary>

en: <primary>protocol</primary><secondary>AH</secondary>
pt-BR: <primary>protocolo</primary><secondary>AH</secondary>

en: <primary>protocol</primary><secondary>ESP</secondary>
pt-BR: <primary>protocolo</primary><secondary>ESP</secondary>

en: The standard mode of operation of IPsec involves data exchanges on UDP port 500 for key exchanges (also on UDP port 4500 in the case that NAT-T is in use). Moreover, IPsec packets use two dedicated IP protocols that the firewall must let through; reception of these packets is based on their protocol numbers, 50 (ESP) and 51 (AH).
pt-BR: O modo padrão de operação do IPsec envolve troca de dados pela porta UDP 500 para troca de chave (também pela porta UDP 4500 para o caso que o NAT-T esteja em uso). Além disso, os pacotes IPsec usam dois protocolos IP dedicados que o firewall tem que deixar passar; a recepção desses pacotes é baseada nos seus números de protocolo, 50 (ESP) e 51 (AH).

en: <primary>GRE, protocol</primary>
pt-BR: <primary>GRE, protocolo</primary>

en: <primary>protocol</primary><secondary>GRE</secondary>
pt-BR: <primary>protocolo</primary><secondary>GRE</secondary>

en: PPTP (for <emphasis>Point-to-Point Tunneling Protocol</emphasis>) uses two communication channels, one for control data and one for payload data; the latter uses the GRE protocol (<emphasis>Generic Routing Encapsulation</emphasis>). A standard PPP link is then set up over the data exchange channel.
pt-BR: PPTP (<emphasis>Point-to-Point Tunneling Protocol</emphasis>) usa dois canais de comunicação, um para controlar dados e um para dados de carga útil (payload); o último usa o protocolo GRE (<emphasis>Generic Routing Encapsulation</emphasis>). Um link PPP padrão é então configurado sobre o canal de troca de dados.

en: Configuring the Client
pt-BR: Configurando o Cliente

en: The <emphasis role="pkg">pptp-linux</emphasis> package contains an easily-configured PPTP client for Linux. The following instructions take their inspiration from the official documentation: <ulink type="block" url="http://pptpclient.sourceforge.net/howto-debian.phtml" />
pt-BR: O pacote <emphasis role="pkg">pptp-linux</emphasis> contém um cliente PPTP para Linux fácil de configurar. As instruções a seguir foram inspiradas na documentação oficial: <ulink type="block" url="http://pptpclient.sourceforge.net/howto-debian.phtml" />

en: The Falcot administrators created several files: <filename>/etc/ppp/options.pptp</filename>, <filename>/etc/ppp/peers/falcot</filename>, <filename>/etc/ppp/ip-up.d/falcot</filename>, and <filename>/etc/ppp/ip-down.d/falcot</filename>.
pt-BR: Os administradores da Falcot criaram vários arquivos: <filename>/etc/ppp/options.pptp</filename>, <filename>/etc/ppp/peers/falcot</filename>, <filename>/etc/ppp/ip-up.d/falcot</filename>, e <filename>/etc/ppp/ip-down.d/falcot</filename>.

en: The <filename>/etc/ppp/options.pptp</filename> file
pt-BR: O arquivo <filename>/etc/ppp/options.pptp</filename>

en: The <filename>/etc/ppp/peers/falcot</filename> file
pt-BR: O arquivo <filename>/etc/ppp/peers/falcot</filename>

en: The <filename>/etc/ppp/ip-up.d/falcot</filename> file
pt-BR: O arquivo <filename>/etc/ppp/ip-up.d/falcot</filename>

en: 
    # Create the route to the Falcot network
    if [ "$6" = "falcot" ]; then
      # 192.168.0.0/24 is the (remote) Falcot network
      ip route add 192.168.0.0/24 dev $1
    fi
pt-BR: 
    # Criar a rota para a rede Falcot
    if [ "$6" = "falcot" ]; then
      # 192.168.0.0/24 is the (remote) Falcot network
      ip route add 192.168.0.0/24 dev $1
    fi

en: The <filename>/etc/ppp/ip-down.d/falcot</filename> file
pt-BR: O arquivo <filename>/etc/ppp/ip-down.d/falcot</filename>

en: 
    # Delete the route to the Falcot network
    if [ "$6" = "falcot" ]; then
      # 192.168.0.0/24 is the (remote) Falcot network
      ip route del 192.168.0.0/24 dev $1
    fi
pt-BR: 
    # Deletar a rota para rede Falcot
    if [ "$6" = "falcot" ]; then
      # 192.168.0.0/24 is the (remote) Falcot network
      ip route del 192.168.0.0/24 dev $1
    fi

en: <emphasis>SECURITY</emphasis> MPPE
pt-BR: <emphasis>SEGURANÇA</emphasis> MPPE

en: Securing PPTP involves using the MPPE feature (<emphasis>Microsoft Point-to-Point Encryption</emphasis>), which is available in official Debian kernels as a module.
pt-BR: A segurança do PPTP envolve o uso do recurso MPPE (<emphasis>Microsoft Point-to-Point Encryption</emphasis>), o qual está disponível nos núcleos oficiais Debian como módulo.

en: Configuring the Server
pt-BR: Configurando o Servidor

en: <emphasis>CAUTION</emphasis> PPTP and firewalls
pt-BR: <emphasis>ATENÇÃO</emphasis> PPTP e firewalls

en: Intermediate firewalls need to be configured to let through IP packets using protocol 47 (GRE). Moreover, the PPTP server's port 1723 needs to be open so that the communication channel can happen.
pt-BR: Firewalls intermediários precisam ser configurados para deixar passar pacotes IP que usam protocolo 47 (GRE). Além do mais, a porta do servidor PPTP 1723 precisa estar aberta para que a comunicação pelo canal possa acontecer.

en: <command>pptpd</command> is the PPTP server for Linux. Its main configuration file, <filename>/etc/pptpd.conf</filename>, requires very few changes: <emphasis>localip</emphasis> (local IP address) and <emphasis>remoteip</emphasis> (remote IP address). In the example below, the PPTP server always uses the <literal>192.168.0.199</literal> address, and PPTP clients receive IP addresses from <literal>192.168.0.200</literal> to <literal>192.168.0.250</literal>.
pt-BR: <command>pptpd</command> é o servidor PPTP para Linux. Seu principal arquivo de configuração, <filename>/etc/pptpd.conf</filename>, requer muito poucas alterações: <emphasis>localip</emphasis> (endereço IP local) e <emphasis>remoteip</emphasis> (endereço IP remoto). No exemplo abaixo, o servidor PPTP sempre usa o endereço <literal>192.168.0.199</literal>, e os clientes PPTP recebem endereços IP entre <literal>192.168.0.200</literal> e <literal>192.168.0.250</literal>.

en: The <filename>/etc/pptpd.conf</filename> file
pt-BR: O arquivo <filename>/etc/pptpd.conf</filename>

en: The PPP configuration used by the PPTP server also requires a few changes in <filename>/etc/ppp/pptpd-options</filename>. The important parameters are the server name (<literal>pptp</literal>), the domain name (<literal>falcot.com</literal>), and the IP addresses for DNS and WINS servers.
pt-BR: A configuração PPP usada pelo servidor PPTP também requer algumas mudanças em <filename>/etc/ppp/pptpd-options</filename>. Os parâmetros importantes são o nome do servidor (<literal>pptp</literal>), o nome de domínio (<literal>falcot.com</literal>), e o endereço IP para os servidores DNS e WINS.

en: The <filename>/etc/ppp/pptpd-options</filename> file
pt-BR: O arquivo <filename>/etc/ppp/pptpd-options</filename>

en: The last step involves registering the <literal>vpn</literal> user (and the associated password) in the <filename>/etc/ppp/chap-secrets</filename> file. Contrary to other instances where an asterisk (<literal>*</literal>) would work, the server name must be filled explicitly here. Furthermore, Windows PPTP clients identify themselves under the <literal><replaceable>DOMAIN</replaceable>\\<replaceable>USER</replaceable></literal> form, instead of only providing a user name. This explains why the file also mentions the <literal>FALCOT\\vpn</literal> user. It is also possible to specify individual IP addresses for users; an asterisk in this field specifies that dynamic addressing should be used.
pt-BR: O último passo envolve o registro do usuário <literal>vpn</literal> (e senha correspondente) no arquivo <filename>/etc/ppp/chap-secrets</filename>. Ao contrário de outras instâncias onde um asterisco (<literal>*</literal>) funcionaria, o nome do servidor tem que ser preenchido explicitamente aqui. Além do mais, clientes PPTP em Windows são identificados sob a forma <literal><replaceable>DOMÍNIO</replaceable>\\<replaceable>USUÁRIO</replaceable></literal>, ao invés de apenas fornecer um nome de usuário. Isso explica o porque do arquivo também mencionar o usuário <literal>FALCOT\\vpn</literal>. Também é possível especificar um endereço IP individual para usuários; um asterisco neste campo especifica que endereços dinâmicos devem ser usados.

en: The <filename>/etc/ppp/chap-secrets</filename> file
pt-BR: O arquivo <filename>/etc/ppp/chap-secrets</filename>

en: <emphasis>SECURITY</emphasis> PPTP vulnerabilities
pt-BR: <emphasis>SEGURANÇA</emphasis> Vulnerabilidades PPTP

en: Microsoft's first PPTP implementation drew severe criticism because it had many security vulnerabilities; most have since then been fixed in more recent versions. The configuration documented in this section uses the latest version of the protocol. Be aware though that removing some options (such as <literal>require-mppe-128</literal> and <literal>require-mschap-v2</literal>) would make the service vulnerable again.
pt-BR: A primeira implementação do PPTP da Microsoft atraiu severas críticas porque ela tinha várias vulnerabilidades de segurança; a maioria foi, desde então, consertada em versões mais recentes. A configuração documentada nestas seção usa a última versão do protocolo. Esteja ciente então de que removendo algumas das opções (como <literal>require-mppe-128</literal> e <literal>require-mschap-v2</literal>) fará com que o serviço fique vulnerável novamente.

en: Quality of Service
pt-BR: Qualidade do Serviço

en: Principle and Mechanism
pt-BR: Princípio e Mecanismo

en: <emphasis>Quality of Service</emphasis> (or <emphasis>QoS</emphasis> for short) refers to a set of techniques that guarantee or improve the quality of the service provided to applications. The most popular such technique involves classifying the network traffic into categories, and differentiating the handling of traffic according to which category it belongs to. The main application of this differentiated services concept is <emphasis>traffic shaping</emphasis>, which limits the data transmission rates for connections related to some services and/or hosts so as not to saturate the available bandwidth and starve important other services. Traffic shaping is a particularly good fit for TCP traffic, since this protocol automatically adapts to available bandwidth.
pt-BR: <emphasis>Quality of Service</emphasis> (ou <emphasis>QoS</emphasis> para abreviar) se refere a um conjunto de técnicas que garantem ou melhoram a qualidade do serviço fornecido às aplicações. A mais popular dessas técnicas envolve a classificação o tráfego de rede em categorias, e à diferenciação ao manejar esse tráfego de acordo com a categoria a qual ele pertence. A principal aplicação desse conceito de diferenciação de serviços é <emphasis>traffic shaping</emphasis>, o qual limita a taxa de transmissão de dados para conexões relacionadas a algum serviço e/ou máquinas (hosts) para que não haja saturação da largura de banda disponível e deixe outros importantes serviços sem nada. Traffic shaping se encaixa bem particularmente no tráfego TCP, já que esse protocolo se adapta automaticamente a largura de banda disponível.

en: <emphasis>CULTURE</emphasis> Net neutrality and QoS
pt-BR: <emphasis>CULTURA</emphasis> Neutralidade da rede e qualidade de serviço (QoS)

en: Network neutrality is achieved when Internet service providers treat all Internet communications equally, that is, without any access limitation based on content, user, website, destination address, etc.
pt-BR: Neutrailidade de rede é alcançada como os provedores de serviço de Internet tratão todas as comunicações na Internet de forma igualitária, isto é, sem nenhuma limitação de acesso baseado no conteúdo, usuário, página, endereço de destino, etc.

en: Quality of service can be implemented in a net neutral Internet, but only if Internet service providers can't charge a special fee for a higher-quality service.
pt-BR: Qualidade de serviĩço pode ser implementada em uma rede de Internet neutra, mas apenas se os provedores de serviço da Internet não cobrarem taxas especiais por um serviço de maior qualidade.

en: It is also possible to alter the priorities on traffic, which allows prioritizing packets related to interactive services (such as <command>ssh</command> and <command>telnet</command>) or to services that only deal with small blocks of data.
pt-BR: Também é possível alterar as prioridades do tráfego, o que permite priorizar pacotes relacionados a serviços de interação (como o <command>ssh</command> e o <command>telnet</command>) ou a serviços que lidam apenas com pequenos blocos de dados.

en: The Debian kernels include the features required for QoS along with their associated modules. These modules are many, and each of them provides a different service, most notably by way of special schedulers for the queues of IP packets; the wide range of available scheduler behaviors spans the whole range of possible requirements.
pt-BR: Os núcleos Debian incluem os recursos necessários para o QoS junto com seus módulos associados. Esses módulos são muitos, e cada um deles provê um serviço diferente, principalmente por meio de agendamentos especiais para as filas de pacotes IP; a ampla gama de comportamentos do agendador disponível abrange todos os possíveis requisitos.

en: <emphasis>CULTURE</emphasis> LARTC — <emphasis>Linux Advanced Routing &amp; Traffic Control</emphasis>
pt-BR: <emphasis>CULTURA</emphasis> LARTC — <emphasis>Roteamento avançado e controle de tráfego do Linux</emphasis>

en: <primary>routing</primary><secondary>advanced</secondary>
pt-BR: <primary>roteamento</primary><secondary>avançado</secondary>

en: <primary>traffic</primary><secondary>control</secondary>
pt-BR: <primary>tráfego</primary><secondary>controle</secondary>

en: <primary>control of traffic</primary>
pt-BR: <primary>controle de tráfego</primary>

en: The <emphasis>Linux Advanced Routing &amp; Traffic Control</emphasis> HOWTO is the reference document covering everything there is to know about network quality of service. <ulink type="block" url="https://www.lartc.org/howto/" />
pt-BR: O HOWTO <emphasis>Linux Advanced Routing &amp; Traffic Control</emphasis> é o documento de referencia que cobre tudo que se deve saber sobre serviço de qualidade de rede. <ulink type="block" url="https://www.lartc.org/howto/" />

en: Configuring and Implementing
pt-BR: Configurando e implementando

en: QoS parameters are set through the <command>tc</command> command (provided by the <emphasis role="pkg">iproute</emphasis> package). Since its interface is quite complex, using higher-level tools is recommended.
pt-BR: Os parâmetros do QoS são configurados através do comando <command>tc</command> (fornecido pelo pacote <emphasis role="pkg">iproute</emphasis>). Como sua interface é bem complexa, o uso de ferramentas de alto nível é recomendado.

en: Reducing Latencies: <command>wondershaper</command>
pt-BR: Reduzindo Latências: <command>wondershaper</command>

en: <primary>limitation of traffic</primary>
pt-BR: <primary>limitação de tráfego</primary>

en: <primary>traffic</primary><secondary>limitation</secondary>
pt-BR: <primary>tráfego</primary><secondary>limitando</secondary>

en: The main purpose of <command>wondershaper</command> (in the similarly-named package) is to minimize latencies independent of network load. This is achieved by limiting total traffic to a value that falls just short of the link saturation value.
pt-BR: O principal propósito do <command>wondershaper</command> (em pacote de nome similar) é minimizar latências independente da carga da rede. Isso é alcançado limitando o total de tráfego para um valor que seja pouco abaixo do valor de saturação do link.

en: Changes in the <filename>/etc/network/interfaces</filename> file
pt-BR: Mudanças no arquivo <filename>/etc/network/interfaces</filename>

en: <emphasis>GOING FURTHER</emphasis> Optimal configuration
pt-BR: <emphasis>INDO ALÉM</emphasis> Configuração ideal

en: The <filename>/usr/share/doc/wondershaper/README.Debian.gz</filename> file describes, in some detail, the configuration method recommended by the package maintainer. In particular, it advises measuring the download and upload speeds so as to best evaluate real limits.
pt-BR: O arquivo <filename>/usr/share/doc/wondershaper/README.Debian.gz</filename> descreve, com alguns detalhes, o método de configuração recomendado pelo mantenedor do pacote. Em particular, ele aconselha a medição da velocidade de download e upload a fim de melhor avaliar os limites reais.

en: Standard Configuration
pt-BR: Configuração Padrão

en: The DSCP field can be set by applications that generate IP packets, or modified on the fly by <emphasis>netfilter</emphasis>. The following rules are sufficient to increase responsiveness for a server's SSH service, note that the DSCP field must be set in hexadecimal:
pt-BR: O campo DSCP pode ser configurado por aplicações que geram pacotes IP, ou modificado em tempo de execução pelo <emphasis>netfilter</emphasis>. As regras a seguir são suficientes para aumentar a capacidade de resposta para o serviço de um servidor SSH, observe que o campo DSCP deve ser definido em hexadecimal:

en: Dynamic Routing
pt-BR: Roteamento Dinâmico

en: <emphasis>BACK TO BASICS</emphasis> Dynamic routing
pt-BR: <emphasis>DE VOLTA AO BÁSICO</emphasis> Roteamento dinâmico

en: Dynamic routing allows routers to adjust, in real time, the paths used for transmitting IP packets. Each protocol involves its own method of defining routes (shortest path, use routes advertised by peers, and so on).
pt-BR: O roteamento dinâmico permite que os roteadores ajustem, em tempo real, os caminhos usados para transmitir pacotes IP. Cada protocolo envolve um método próprio para definir rotas (caminhos mais curtos, usam rotas anunciadas pelos pares, e assim por diante).

en: In the Linux kernel, a route links a network device to a set of machines that can be reached through this device. The <command>ip</command> command, when <literal>route</literal> is used as the first argument, defines new routes and displays existing ones. The <command>route</command> command was used for that purpose, but it is deprecated in favor of <command>ip</command>.
pt-BR: No núcleo Linux, uma rota "liga" um dispositivo de rede a um conjunto de máquinas que podem ser alcançadas através desse dispositivo. O comando <command>ip</command>, quando <literal>route</literal> é utilizado como primeiro argumento, define novas rotas e exibe as existentes. O comando <command>route</command> era usado para esse propósito, mas foi descontinuado em favor do <command>ip</command>.

en: <emphasis>IN PRACTICE</emphasis> OSPF, BGP or RIP?
pt-BR: <emphasis>NA PRÁTICA</emphasis> OSPF, BGP ou RIP?

en: <acronym>OSPF</acronym> (Open Shortest Path First) is generally the best protocol to use for dynamic routing on private networks, but <acronym>BGP</acronym> (Border Gateway Protocol) is more common for Internet-wide routing. <acronym>RIP</acronym> (Routing Information Protocol) is rather ancient, and hardly used anymore.
pt-BR: <acronym>OSPF</acronym> (Open Shortest Path First) é geralmente o melhor protocolo a se usar para roteamento dinâmico em redes privadas, mas o <acronym>BGP</acronym> (Border Gateway Protocol) é mais comum para o amplo roteamento da Internet. <acronym>RIP</acronym> (Routing Information Protocol) é bem antigo, e raramente usado.

en: Debian kernels include IPv6 handling in the core kernel (with the exception of some architectures that have it compiled as a module named <literal>ipv6</literal>). Basic tools such as <command>ping</command> and <command>traceroute</command> have their IPv6 equivalents in <command>ping6</command> and <command>traceroute6</command>, available respectively in the <emphasis role="pkg">iputils-ping</emphasis> and <emphasis role="pkg">iputils-tracepath</emphasis> packages.
pt-BR: Os núcleos Debian incluem o manejo do IPv6 no "core" do núcleo (com exceção de algumas arquiteturas que tem esse suporte compilado como um módulo de nome <literal>ipv6</literal>). Ferramentas básicas como <command>ping</command> e <command>traceroute</command> tem seu equivalente IPv6 como <command>ping6</command> e <command>traceroute6</command>, disponíveis, respectivamente, nos pacotes <emphasis role="pkg">iputils-ping</emphasis> e <emphasis role="pkg">iputils-tracepath</emphasis>.

en: The IPv6 network is configured similarly to IPv4, in <filename>/etc/network/interfaces</filename>. But if you want that network to be globally available, you must ensure that you have an IPv6-capable router relaying traffic to the global IPv6 network.
pt-BR: A rede IPv6 é configurada de maneira similar a IPv4, em <filename>/etc/network/interfaces</filename>. Mas se você quer que a rede esteja disponível globalmente, você tem que garantir que você tenha um roteador de retransmissão de tráfego IPv6 com capacidade para a rede IPv6 global.

en: Example of IPv6 configuration
pt-BR: Exemplo de configuração IPv6

en: IPv6 subnets usually have a netmask of 64 bits. This means that 2<superscript>64</superscript> distinct addresses exist within the subnet. This allows Stateless Address Autoconfiguration (<acronym>SLAAC</acronym>) to pick an address based on the network interface's MAC address. By default, if <acronym>SLAAC</acronym> is activated in your network and IPv6 on your computer, the kernel will automatically find IPv6 routers and configure the network interfaces.
pt-BR: Sub-redes IPv6 geralmente tem uma máscara de rede de 64 bits. Isso significa que endereços distintos 2<superscript>64</superscript> existem dentro da sub-rede. Isso permite a "Stateless Address Autoconfiguration" (<acronym>SLAAC</acronym>) pegar um endereço baseando-se no endereço MAC da interface de rede. Por padrão, se <acronym>SLAAC</acronym> estiver ativada em sua rede e o IPv6 em seu computador, o núcleo irá automaticamente encontrar os roteadores IPv6 e configurar as interfaces de rede.

en: IPv6 privacy extensions
pt-BR: Extensões de privacidade IPv6

en: <emphasis>TIP</emphasis> Programs built with IPv6
pt-BR: <emphasis>DICA</emphasis> Programas construídos com IPv6

en: Many pieces of software need to be adapted to handle IPv6. Most of the packages in Debian have been adapted already, but not all. If your favorite package does not work with IPv6 yet, you can ask for help on the <emphasis>debian-ipv6</emphasis> mailing-list. They might know about an IPv6-aware replacement and could file a bug to get the issue properly tracked. <ulink type="block" url="https://lists.debian.org/debian-ipv6/" />
pt-BR: Muitas aplicações precisam ser adaptadas para lidar com IPv6. A maioria dos pacotes no Debian já foram adaptados, mas não todos. Se o seu pacote favorito ainda não funciona com IPv6, você pode pedir ajuda na lista de email <emphasis>debian-ipv6</emphasis>. Eles podem saber sobre a substituição IPv6 consciente e podem reportar um bug para ter o assunto rastreado de maneira apropriada. <ulink type="block" url="https://lists.debian.org/debian-ipv6/" />

en: IPv6 connections can be restricted, in the same fashion as for IPv4. <command>nft</command> can be used to create firewall rules for IPv4 and IPv6 (see <xref linkend="sect.nftables" />).
pt-BR: Conexões IPv6 podem ser restringidas de forma similar as IPv4. <command>nft</command>pode ser utilizado para criar regras de firewall para IPv4 e IPv6 (consulte <xref linkend="sect.nftables" />).

en: Tunneling
pt-BR: Túneis

en: <emphasis>CAUTION</emphasis> IPv6 tunneling and firewalls
pt-BR: <emphasis>ATENÇÃO</emphasis> Tunelamento IPv6 e firewalls

en: IPv6 tunneling over IPv4 (as opposed to native IPv6) requires the firewall to accept the traffic, which uses IPv4 protocol number 41.
pt-BR: O encapsulamento do IPv6 sobre o IPv4 (ao contrário do IPv6 nativo) requer que o firewall aceite o tráfego, o qual usa o protocolo número 41 do IPv4.

en: If a native IPv6 connection is not available, the fallback method is to use a tunnel over IPv4. Hurricane Electric is one (free) provider of such tunnels: <ulink type="block" url="https://tunnelbroker.net" />
pt-BR: Se uma conexão IPv6 nativa não está disponível, o método de recuperação (fallback) é usar o encapsulamento sobre o IPv4. Hurricane Electric é um fornecedor (livre) desses encapsulamentos: <ulink type="block" url="https://tunnelbroker.net" />

en: To use a Hurricane Electric tunnel, you need to register an account, login, select a free tunnel and edit the file <filename>/etc/network/interfaces</filename> with the generated code.
pt-BR: Para utilizar um túnel Hurricane Electric, você precisa registrar uma conta, acessá-la, selecionar um túnel livre e editar o arquivo<filename>/etc/network/interfaces</filename> com o código gerado.

en: You can install and configure the <command>radvd</command> daemon (from the similarly-named package) if you want to use the configured computer as a router for a local network. This IPv6 configuration daemon has a role similar to <command>dhcpd</command> in the IPv4 world.
pt-BR: Você pode instalar e configurar o daemon <command>radvd</command> (do pacote com nome similar) se você quiser usar o computador configurado como um roteador para uma rede local. Esse daemon de configuração IPv6 desempenha papel similar ao do <command>dhcpd</command> no mundo IPv4.

en: The <filename>/etc/radvd.conf</filename> configuration file must then be created (see <filename>/usr/share/doc/radvd/examples/simple-radvd.conf</filename> as a starting point). In our case, the only required change is the prefix, which needs to be replaced with the one provided by Hurricane Electric; it can be found in the output of the <command>ip a</command> command, in the block concerning the <literal>he-ipv6</literal> interface.
pt-BR: O arquivo de configuração <filename>/etc/radvd.conf</filename> deve então ser criado (veja <filename>/usr/share/doc/radvd/examples/simple-radvd.conf</filename> como um ponto de partida). No nosso caso, a única alteração necessária é o prefixo, o qual precisa se substituído pelo fornecido pela Hurricane Electric; ele pode ser encontrado na saída do comando <command>ip a</command> no bloco referente à interface <literal>he-ipv6</literal>.

en: Then run <command>systemctl start radvd</command>. The IPv6 network should now work.
pt-BR: Então execute <command>systemctl start radvd</command>. A rede IPv6 deve funcionar agora.

en: Domain Name Servers (DNS)
pt-BR: Servidores de Nomes de Domínio (DNS)

en: <primary>server</primary><secondary>name</secondary>
pt-BR: <primary>servidor</primary><secondary>nome</secondary>

en: DNS records are organized in zones; each zone matches either a domain (or a subdomain) or an IP address range (since IP addresses are generally allocated in consecutive ranges). A primary server is authoritative on the contents of a zone; secondary servers, usually hosted on separate machines, provide regularly refreshed copies of the primary zone.
pt-BR: O registros do DNS são organizados em zonas; cada zona coincide com um domínio (ou um subdomínio) ou um intervalo de endereço IP (já que endereços IP são geralmente alocados em intervalos consecutivos). Um servidor primário tem autoridade sobre o conteúdo de uma zona; servidores secundários, geralmente hospedados em máquinas separadas, fornecem regularmente cópias atualizadas da zona primária.

en: <primary>zone</primary><secondary>DNS</secondary>
pt-BR: <primary>zona</primary><secondary>DNS</secondary>

en: <primary>DNS</primary><secondary>zone</secondary>
pt-BR: <primary>DNS</primary><secondary>zona</secondary>

en: Each zone can contain records of various kinds (<emphasis>Resource Records</emphasis>), these are some of the most common:
pt-BR: Cada zona pode conter registros de vários tipos (<emphasis>Resource Records</emphasis>), estes são alguns dos mais comuns:

en: DNS software
pt-BR: Software DNS

en: Furthermore, Bind supports the DNSSEC standard for signing (and therefore authenticating) DNS records, which allows blocking any spoofing of this data during man-in-the-middle attacks.
pt-BR: Além do mais, o Bind suporta o padrão DNSSEC para assinar (e portanto autenticar) registros DNS, o que permite bloquear qualquer falsificação ("spoofing") de seus dados durante ataques "man-in-the-middle".

en: <emphasis>CULTURE</emphasis> DNSSEC
pt-BR: <emphasis>CULTURA</emphasis> DNSSEC

en: The DNSSEC norm is quite complex; this partly explains why it is not in widespread usage yet (even if it perfectly coexists with DNS servers unaware of DNSSEC). To understand all the ins and outs, you should check the following article. <ulink type="block" url="https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions" />
pt-BR: A norma DNSSEC é bem complexa; isso explica um pouco porque ela ainda não é amplamente usada (mesmo que ela coexista perfeitamente com servidores DNS que não estejam cientes da DNSSEC). Para entender todos os meandros, você deveria ver o seguinte artigo. <ulink type="block" url="https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions" />

en: Configuring bind
pt-BR: Configurando bind

en: Configuration files for <command>bind</command>, irrespective of version, have the same structure.
pt-BR: Arquivos de configuração para o <command>bind</command>, independente da versão, têm a mesma estrutura.

en: The Falcot administrators created a primary <literal>falcot.com</literal> zone to store information related to this domain, and a <literal>168.192.in-addr.arpa</literal> zone for reverse mapping of IP addresses in the local networks.
pt-BR: Os administradores da Falcot criaram uma zona primária <literal>falcot.com</literal> para armazenar informações relacionadas a este domínio, e uma zona <literal>168.192.in-addr.arpa</literal> para mapeamento reverso de endereços IP na rede local.

en: <emphasis>CAUTION</emphasis> Names of reverse zones
pt-BR: <emphasis>ATENÇÃO</emphasis> Nomes de zonas inversas

en: <primary>zone</primary><secondary>reverse</secondary>
pt-BR: <primary>zona</primary><secondary>reversa</secondary>

en: <primary>reverse zone</primary>
pt-BR: <primary>zona reversa</primary>

en: <primary>nibble format</primary>
pt-BR: <primary>formato nibble</primary>

en: Reverse zones have a particular name. The zone covering the <literal>192.168.0.0/16</literal> network needs to be named <literal>168.192.in-addr.arpa</literal>: the IP address components are reversed, and followed by the <literal>in-addr.arpa</literal> suffix.
pt-BR: Zonas reversas tem um nome particular. A zona que cobre a rede <literal>192.168.0.0/16</literal> precisa ser nomeada como <literal>168.192.in-addr.arpa</literal>: os componentes do endereço IP são invertidos, e seguidos pelo sufixo <literal>in-addr.arpa</literal>.

en: For IPv6 networks, the suffix is <literal>ip6.arpa</literal> and the IP address components which are reversed are each character in the full hexadecimal representation of the IP address. As such, the <literal>2001:0bc8:31a0::/48</literal> network would use a zone named <literal>0.a.1.3.8.c.b.0.1.0.0.2.ip6.arpa</literal>.
pt-BR: Para redes IPv6, o sufixo é <literal>ip6.arpa</literal> e os componentes do endereço IP os quais são invertidos são cada caractere de toda a representação hexadecimal do endereço IP. Como por exemplo, a rede <literal>2001:0bc8:31a0::/48</literal> iria usar uma zona de nome <literal>0.a.1.3.8.c.b.0.1.0.0.2.ip6.arpa</literal>.

en: <emphasis>TIP</emphasis> Testing the DNS server
pt-BR: <emphasis>DICA</emphasis> Testando o servidor DNS

en: The <command>host</command> command (in the <emphasis role="pkg">bind9-host</emphasis> package) queries a DNS server, and can be used to test the server configuration. For example, <command>host machine.falcot.com localhost</command> checks the local server's reply for the <literal>machine.falcot.com</literal> query. <command>host <replaceable>ipaddress</replaceable> localhost</command> tests the reverse resolution.
pt-BR: O comando <command>host</command> (do pacote <emphasis role="pkg">bind9-host</emphasis>) faz pesquisa em um servidor DNS, e pode ser usado para testar a configuração do servidor. Por exemplo, <command>host machine.falcot.com localhost</command> checa a resposta do servidor local para a pesquisa por <literal>machine.falcot.com</literal>. <command>host <replaceable>ipaddress</replaceable> localhost</command> testa a resolução reversa.

en: The following configuration excerpts, taken from the Falcot files, can serve as starting points to configure a DNS server:
pt-BR: Os seguintes trecho de configuração, tirados dos arquivos da Falcot, podem servir como ponto de partida para configurar um servidor DNS:

en: Excerpt of <filename>/etc/bind/named.conf.local</filename>
pt-BR: Trecho do <filename>/etc/bind/named.conf.local</filename>

en: Excerpt of <filename>/etc/bind/db.falcot.com</filename>
pt-BR: Trecho do <filename>/etc/bind/db.falcot.com</filename>

en: <emphasis>CAUTION</emphasis> Syntax of a name
pt-BR: <emphasis>ATENÇÃO</emphasis> Sintaxe de um nome

en: The syntax of machine names follows strict rules. For instance, <literal>machine</literal> implies <literal>machine.<replaceable>domain</replaceable></literal>. If the domain name should not be appended to a name, said name must be written as <literal>machine.</literal> (with a dot as suffix). Indicating a DNS name outside the current domain therefore requires a syntax such as <literal>machine.otherdomain.com.</literal> (with the final dot).
pt-BR: A sintaxe de nomes de máquina seguem regras rígidas. Por exemplo, <literal>machine</literal> tem que ser <literal>machine.<replaceable>domain</replaceable></literal>. Se o nome de domínio não deve ser anexado ao nome, o dito nome tem que ser escrito como <literal>machine.</literal> (com o ponto como sufixo). Indicar um nome DNS fora do domínio corrente entretanto requer uma sintaxe como <literal>machine.otherdomain.com.</literal> (com o ponto final).

en: Excerpt of <filename>/etc/bind/db.192.168</filename>
pt-BR: Trecho do <filename>/etc/bind/db.192.168</filename>

en: <primary>network</primary><secondary>DHCP configuration</secondary>
pt-BR: <primary>rede</primary><secondary>configuração DHCP</secondary>

en: DHCP (for <emphasis>Dynamic Host Configuration Protocol</emphasis>) is a protocol by which a machine can automatically get its network configuration when it boots. This allows centralizing the management of network configurations, and ensuring that all desktop machines get similar settings.
pt-BR: DHCP (para <emphasis>Dynamic Host Configuration Protocol</emphasis>) é um protocolo pelo qual uma máquina pode receber automaticamente sua configuração de rede no momento de inicialização. Isso permite centralizar o gerenciamento de configuração de uma rede, e garante que todas as máquinas recebam configurações similares.

en: A DHCP server provides many network-related parameters. The most common of these is an IP address and the network where the machine belongs, but it can also provide other information, such as DNS servers, WINS servers, NTP servers, and so on.
pt-BR: Um servidor DHCP provê muitos parâmetros relacionados a redes. O mais comum desses é um endereço IP e a rede a qual a máquina pertence, mas ele também pode prover outras informações, como servidores DNS, servidores WINS, servidores NTP, e assim por diante.

en: The Internet Software Consortium (also involved in developing <command>bind</command>) is the main author of the DHCP server. The matching Debian package is <emphasis role="pkg">isc-dhcp-server</emphasis>.
pt-BR: A Internet Software Consortium (também envolvida no desenvolvimento do <command>bind</command>) é a principal autora do servidor DHCP. O pacote Debian correspondente é o <emphasis role="pkg">isc-dhcp-server</emphasis>.

en: Configuring
pt-BR: Configurando

en: The first elements that need to be edited in the DHCP server configuration files (<filename>/etc/dhcp/dhcpd.conf</filename>, and <filename>/etc/dhcp/dhcpd6.conf</filename> for IPv6) are the domain name and the DNS servers. If this server is alone on the local network (as defined by the broadcast propagation), the <literal>authoritative</literal> directive must also be enabled (or uncommented). One also needs to create a <literal>subnet</literal> section describing the local network and the configuration information to be provided. The following example fits a <literal>192.168.0.0/24</literal> local network with a router at <literal>192.168.0.1</literal> serving as the gateway. Available IP addresses are in the range <literal>192.168.0.128</literal> to <literal>192.168.0.254</literal>.
pt-BR: Os primeiros elementos que precisam ser editados nos arquivos de configuração de um servidor DHCP (<filename>/etc/dhcp/dhcpd.conf</filename> e <filename>/etc/dhcp/dhcpd6.conf</filename> para IPv6) são o nome de domínio e os servidores DNS. Se esse servidor é o único na rede local (como definido pela propagação broadcast), a diretiva <literal>authoritative</literal> também tem que ser ativada (ou descomentada). Também é necessário criar uma seção <literal>subnet</literal> descrevendo a rede local e a informação de configuração a ser fornecida. O exemplo a seguir descreve uma rede local <literal>192.168.0.0/24</literal> com um roteador em <literal>192.168.0.1</literal> servindo de gateway. Endereços IP disponíveis estão no intervalo de <literal>192.168.0.128</literal> até <literal>192.168.0.254</literal>.

en: Excerpt of <filename>/etc/dhcp/dhcpd.conf</filename>
pt-BR: Trecho do <filename>/etc/dhcp/dhcpd.conf</filename>

en: DHCP and DNS
pt-BR: DHCP e DNS

en: <primary>DNS</primary><secondary>automated updates</secondary>
pt-BR: <primary>DNS</primary><secondary>atualizações automáticas</secondary>

en: A nice feature is the automated registering of DHCP clients in the DNS zone, so that each machine gets a significant name (rather than something impersonal such as <literal>machine-192-168-0-131.internal.falcot.com</literal>). Using this feature requires configuring the DNS server to accept updates to the <literal>internal.falcot.com</literal> DNS zone from the DHCP server, and configuring the latter to submit updates for each registration.
pt-BR: Um recurso legal é o registro automatizado de clientes DHCP em uma zona DNS, para que cada máquina receba um nome significativo (ao invés de alguma coisa impessoal como <literal>machine-192-168-0-131.internal.falcot.com</literal>). Usar esse recurso requer a configuração do servidor DNS para aceitar atualizações para a zona DNS <literal>internal.falcot.com</literal> a partir do servidor DHCP, e configurar esse último para submeter atualizações para cada registro.

en: In the <command>bind</command> case (see <xref linkend="sect.dns-software" />), the <literal>allow-update</literal> directive needs to be added to each of the zones that the DHCP server is to edit (the one for the <literal>internal.falcot.com</literal> domain, and the reverse zone). This directive lists the IP addresses allowed to perform these updates; it should therefore contain the possible addresses of the DHCP server (both the local address and the public address, if appropriate).
pt-BR: No caso do <command>bind</command> (veja <xref linkend="sect.dns-software" />), a diretiva <literal>allow-update</literal> precisa ser adicionada a cada uma das zonas que o servidor DHCP deve editar (uma para o domínio <literal>internal.falcot.com</literal>, e uma para a zona reversa). Essa diretiva lista o endereço IP que tem permissão para realizar essas atualizações; ela deve então conter os possíveis endereços do servidor DHCP (tanto o endereço local quanto o endereço público, se apropriado).

en: Beware! A zone that can be modified <emphasis>will</emphasis> be changed by <command>bind</command>, and the latter will overwrite its configuration files at regular intervals. Since this automated procedure produces files that are less human-readable than manually-written ones, the Falcot administrators handle the <literal>internal.falcot.com</literal> domain with a delegated DNS server; this means the <literal>falcot.com</literal> zone file stays firmly under their manual control.
pt-BR: Esteja atento! Uma zona que pode ser modificada <emphasis>será</emphasis> alterada pelo <command>bind</command>, e esse último irá sobrescrever seus arquivos de configuração em intervalos regulares. Como esse procedimento automatizado produz arquivos que são menos legíveis por humanos que os escritos manualmente, os administradores da Falcot lidam com o domínio <literal>internal.falcot.com</literal> com um servidor DNS delegado; isso significa que o arquivo de zona <literal>falcot.com</literal> continua firmemente sob controle manual.

en: The DHCP server configuration excerpt above already includes the directives required for DNS zone updates: they are the <literal>ddns-update-style interim;</literal> and <literal>ddns-domain-name "internal.falcot.com";</literal> lines.
pt-BR: O trecho da configuração do servidor DHCP acima inclui as diretivas necessárias para atualização da zona DNS: elas são as linhas <literal>ddns-update-style interim;</literal> e <literal>ddns-domain-name "internal.falcot.com";</literal>.

en: Network Diagnosis Tools
pt-BR: Ferramentas de Diagnóstico de Rede

en: Local Diagnosis: <command>netstat</command>
pt-BR: Diagnóstico Local: <command>netstat</command>

en: Let's first mention the <command>netstat</command> command (in the <emphasis role="pkg">net-tools</emphasis> package); it displays an instant summary of a machine's network activity. When invoked with no argument, this command lists all open connections; this list can be very verbose since it includes many Unix-domain sockets (widely used by daemons) which do not involve the network at all (for example, <literal>dbus</literal> communication, <literal>X11</literal> traffic, and communications between virtual filesystems and the desktop).
pt-BR: Vamos primeiro mencionar o comando <command>netstat</command> (do pacote <emphasis role="pkg">net-tools</emphasis>); ele exibe um sumário momentâneo da atividade de rede da máquina. Quando invocado sem argumentos, esse comando lista todas as conexões abertas; essa lista pode ser bem longa já que inclui muitos soquetes Unix-domain (amplamente usados por daemons) que não tem nada a ver com redes (por exemplo, comunicação <literal>dbus</literal>, tráfego <literal>X11</literal> e comunicações entre sistema de arquivos virtuais e o desktop).

en: Common invocations therefore use options that alter <command>netstat</command>'s behavior. The most frequently used options include:
pt-BR: Invocações comuns entretanto usam opções que alteram o comportamento do <command>netstat</command>. As opções mais comumente usadas são:

en: <literal>-t</literal>, which filters the results to only include TCP connections;
pt-BR: <literal>-t</literal>, que filtra os resultados para incluir apenas conexões TCP;

en: <literal>-u</literal>, which works similarly for UDP connections; these options are not mutually exclusive, and one of them is enough to stop displaying Unix-domain connections;
pt-BR: <literal>-u</literal>, que funciona de maneira similar para conexões UDP; essas opções não são mutuamente exclusivas, e uma delas é suficiente para parar de exibir conexões Unix-domain;

en: <literal>-a</literal>, to also list listening sockets (waiting for incoming connections);
pt-BR: <literal>-a</literal>, para também listar soquetes ativos (esperando por conexões de entrada);

en: <literal>-n</literal>, to display the results numerically: IP addresses (no DNS resolution), port numbers (no aliases as defined in <filename>/etc/services</filename>) and user ids (no login names);
pt-BR: <literal>-n</literal>, para exibir os resultados com números: endereço IP (sem resolução DNS), números de porta (sem as aliases como definidas em <filename>/etc/services</filename>) e ids de usuários (sem nomes de login);

en: <literal>-p</literal>, to list the processes involved; this option is only useful when <command>netstat</command> is run as root, since normal users will only see their own processes;
pt-BR: <literal>-p</literal>, para listar os processos envolvidos; essa opção só é útil quando o <command>netstat</command> é executado como root, já que usuários normais apenas verão seus próprios processos;

en: <literal>-c</literal>, to continuously refresh the list of connections.
pt-BR: <literal>-c</literal>, para atualizar continuamente a lista de conexões.

en: Other options, documented in the <citerefentry><refentrytitle>netstat</refentrytitle> <manvolnum>8</manvolnum></citerefentry> manual page, provide an even finer control over the displayed results. In practice, the first five options are so often used together that systems and network administrators practically acquired <command>netstat -tupan</command> as a reflex. Typical results, on a lightly loaded machine, may look like the following:
pt-BR: Outras opções, documentadas na página de manual <citerefentry><refentrytitle>netstat</refentrytitle> <manvolnum>8</manvolnum></citerefentry>, fornecem um controle ainda mais apurado sobre os resultados exibidos. Na prática, as cinco primeiras opções são tão comumente usadas em conjunto que administradores de sistemas e de redes praticamente usam <command>netstat -tupan</command> como um reflexo. Resultados típicos em uma máquina levemente carregada devem se parecer com o seguinte:

en: As expected, this lists established connections, two SSH connections in this case, and applications waiting for incoming connections (listed as <literal>LISTEN</literal>), notably the Exim4 email server listening on port 25.
pt-BR: Como esperado, isso lista conexões estabelecidas, duas conexões SSH neste caso, e aplicações esperando por conexões de entrada (listadas como <literal>LISTEN</literal>), notavelmente o servidor de email Exim4 ouvindo na porta 25.

en: Remote Diagnosis: <command>nmap</command>
pt-BR: Diagnóstico Remoto: <command>nmap</command>

en: <command>nmap</command> (in the similarly-named package) is, in a way, the remote equivalent for <command>netstat</command>. It can scan a set of “well-known” ports for one or several remote servers, and list the ports where an application is found to answer to incoming connections. Furthermore, <command>nmap</command> is able to identify some of these applications, sometimes even their version number. The counterpart of this tool is that, since it runs remotely, it cannot provide information on processes or users; however, it can operate on several targets at once.
pt-BR: <command>nmap</command> (em pacote de nome similar) é, de certa forma, o equivalente remoto do <command>netstat</command>. ele pode escanear um conjunto de portas conhecidas em um ou mais servidores remotos, e listar as portas aonde uma aplicação se encontra para responder a conexões de entrada. Além do mais, o <command>nmap</command> é capaz de identificar algumas dessas aplicações, algumas vezes até seu número de versão. A contrapartida dessa ferramenta é que, como ela é executada remotamente, ela não pode fornecer informações sobre processos ou usuários; contudo, ela pode operar em vários alvos de uma vez.

en: A typical <command>nmap</command> invocation only uses the <literal>-A</literal> option (so that <command>nmap</command> attempts to identify the versions of the server software it finds) followed by one or more IP addresses or DNS names of machines to scan. Again, many more options exist to finely control the behavior of <command>nmap</command>; please refer to the documentation in the <citerefentry> <refentrytitle>nmap</refentrytitle> <manvolnum>1</manvolnum> </citerefentry> manual page.
pt-BR: Uma invocação típica do <command>nmap</command> usa apenas a opção <literal>-A</literal> (para que o <command>nmap</command> tente identificar as versões dos softwares no servidor que ele encontrar) seguido de um ou mais endereços IP ou nomes DNS das máquinas a escanear. Novamente, existem muitas outras opções para refinar o comportamento do <command>nmap</command>; por favor veja a documentação na página de manual <citerefentry> <refentrytitle>nmap</refentrytitle> <manvolnum>1</manvolnum> </citerefentry>.

en: Sniffers: <command>tcpdump</command> and <command>wireshark</command>
pt-BR: Sniffers: <command>tcpdump</command> e <command>wireshark</command>

en: Sometimes, one needs to look at what actually goes on the wire, packet by packet. These cases call for a “frame analyzer”, more widely known as a <emphasis>sniffer</emphasis>. Such a tool observes all the packets that reach a given network interface, and displays them in a user-friendly way.
pt-BR: Às vezes, é preciso olhar o que realmente acontece no fio, pacote a pacote. Nesses casos é necessário invocar um “analisador de quadro”, mais comumente conhecido como <emphasis>sniffer</emphasis>. Uma ferramenta dessas observa todos os pacotes que chegam em uma determinada interface de rede, e os exibe de uma maneira amigável.

en: The venerable tool in this domain is <command>tcpdump</command>, available as a standard tool on a wide range of platforms. It allows many kinds of network traffic capture, but the representation of this traffic stays rather obscure. We will therefore not describe it in further detail.
pt-BR: A venerável ferramenta neste domínio é o <command>tcpdump</command>, disponível como ferramenta padrão em uma grande variedade de plataformas. Ela permite muitos tipos de captura de tráfego de rede, mas a representação desse tráfego se mantém obscura. Nós então não iremos descrevê-la muito detalhadamente.

en: A more recent (and more modern) tool, <command>wireshark</command> (in the <emphasis role="pkg">wireshark</emphasis> package), has become the new reference in network traffic analysis due to its many decoding modules that allow for a simplified analysis of the captured packets. The packets are displayed graphically with an organization based on the protocol layers. This allows a user to visualize all protocols involved in a packet. For example, given a packet containing an HTTP request, <command>wireshark</command> displays, separately, the information concerning the physical layer, the Ethernet layer, the IP packet information, the TCP connection parameters, and finally the HTTP request itself.
pt-BR: Uma ferramenta mais recente (e mais moderna), <command>wireshark</command> (do pacote <emphasis role="pkg">wireshark</emphasis>), se tornou a nova referência em análise de tráfego de rede devido a seus vários módulos de "decoding" que permitem uma análise simplificada dos pacotes capturados. Os pacotes são exibidos graficamente organizados com base nas camadas de protocolo. Isso permite ao usuário visualizar todos os protocolos envolvidos em um pacote. Por exemplo, dado um pacote contendo uma requisição HTTP, o <command>wireshark</command> exibe, separadamente, a informação referente a camada física, camada Ethernet, informação do pacote IP, parâmetros de conexão TCP, e finalmente a própria requisição HTTP.

en: The <command>wireshark</command> network traffic analyzer
pt-BR: O analisador de tráfego de rede <command>wireshark</command>

en: In our example, the packets traveling over SSH are filtered out (with the <literal>!tcp.port == 22</literal> filter). The packet currently displayed was developed at the transport layer of the SSHv2 protocol.
pt-BR: Em nosso exemplo, os pacotes que viajam pelo SSH são filtrados (pelo filtro <literal>!tcp.port == 22</literal>). O pacote exibido no momento foi desenvolvido na camada de transporte do protocolo SSHv2.

en: <emphasis>TIP</emphasis> <command>wireshark</command> with no graphical interface: <command>tshark</command>
pt-BR: <emphasis>DICA</emphasis> <command>wireshark</command> sem interface gráfica: <command>tshark</command>

en: When one cannot run a graphical interface, or does not wish to do so for whatever reason, a text-only version of <command>wireshark</command> also exists under the name <command>tshark</command> (in a separate <emphasis role="pkg">tshark</emphasis> package). Most of the capture and decoding features are still available, but the lack of a graphical interface necessarily limits the interactions with the program (filtering packets after they've been captured, tracking of a given TCP connection, and so on). It can still be used as a first approach. If further manipulations are intended and require the graphical interface, the packets can be saved to a file and this file can be loaded into a graphical <command>wireshark</command> running on another machine.
pt-BR: Se não for possível executar a interface gráfica, ou se não se quer fazer isso por uma razão qualquer, uma versão modo texto do <command>wireshark</command> também existe sob o nome de <command>tshark</command> (em um pacote separado <emphasis role="pkg">tshark</emphasis>). A maioria dos recursos de captura e "decoding" ainda estão disponíveis, mas a ausência da interface gráfica necessariamente limita as interações com o programa (a filtragem de pacotes depois de terem sido capturados, rastreio de uma dada conexão TCP, e assim por diante). Mas ele ainda pode ser usado como primeira abordagem. Se manipulações mais profundas forem pretendidas e requererem a interface gráfica, os pacotes podem ser salvos em um arquivo e esse arquivo pode ser carregado no <command>wireshark</command> gráfico que está sendo executado em outra máquina.
