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

<channel>
	<title>Arquivos Linux - Remontti</title>
	<atom:link href="https://blog.remontti.com.br/tag/linux/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.remontti.com.br/tag/linux</link>
	<description>rudimar@remontti</description>
	<lastBuildDate>Sun, 10 Aug 2025 22:29:25 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://blog.remontti.com.br/wp-content/uploads/2024/09/icone-rr-80x80.png</url>
	<title>Arquivos Linux - Remontti</title>
	<link>https://blog.remontti.com.br/tag/linux</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Como Aumentar o Disco de uma VM no Proxmox e Redimensionar a Partição no Debian</title>
		<link>https://blog.remontti.com.br/8164</link>
					<comments>https://blog.remontti.com.br/8164#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Tue, 03 Dec 2024 15:22:25 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[e2fsck]]></category>
		<category><![CDATA[Expandir Disco Virtual]]></category>
		<category><![CDATA[Expandir Partição]]></category>
		<category><![CDATA[Gestão de Servidores]]></category>
		<category><![CDATA[Linux VM]]></category>
		<category><![CDATA[Parted]]></category>
		<category><![CDATA[Partição Linux]]></category>
		<category><![CDATA[Proxmox]]></category>
		<category><![CDATA[Redimensionar Disco]]></category>
		<category><![CDATA[Resize Disk]]></category>
		<category><![CDATA[Resize Filesystem]]></category>
		<category><![CDATA[resize2fs]]></category>
		<category><![CDATA[Sistemas Operacionais]]></category>
		<category><![CDATA[Tamanho do Disco]]></category>
		<category><![CDATA[Tutorial Proxmox]]></category>
		<category><![CDATA[virtualização]]></category>
		<category><![CDATA[VM]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=8164</guid>

					<description><![CDATA[<p>Muitas pessoas já me procuraram para esclarecer dúvidas sobre esse procedimento, e percebo que, por falta de conhecimento, algumas acabam optando por formatar o servidor, o que não é necessário. Com este tutorial, espero&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/8164">Como Aumentar o Disco de uma VM no Proxmox e Redimensionar a Partição no Debian</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img fetchpriority="high" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/12/Como-Aumentar-o-Disco-de-uma-VM-no-Proxmox-e-Redimensionar-a-Particao-no-Debian.webp" alt="" width="1792" height="1024" class="alignnone size-full wp-image-8175" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/12/Como-Aumentar-o-Disco-de-uma-VM-no-Proxmox-e-Redimensionar-a-Particao-no-Debian.webp 1792w, https://blog.remontti.com.br/wp-content/uploads/2024/12/Como-Aumentar-o-Disco-de-uma-VM-no-Proxmox-e-Redimensionar-a-Particao-no-Debian-300x171.webp 300w, https://blog.remontti.com.br/wp-content/uploads/2024/12/Como-Aumentar-o-Disco-de-uma-VM-no-Proxmox-e-Redimensionar-a-Particao-no-Debian-1024x585.webp 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/12/Como-Aumentar-o-Disco-de-uma-VM-no-Proxmox-e-Redimensionar-a-Particao-no-Debian-768x439.webp 768w, https://blog.remontti.com.br/wp-content/uploads/2024/12/Como-Aumentar-o-Disco-de-uma-VM-no-Proxmox-e-Redimensionar-a-Particao-no-Debian-1536x878.webp 1536w" sizes="(max-width: 1792px) 100vw, 1792px" /></p>
<p>Muitas pessoas já me procuraram para esclarecer dúvidas sobre esse procedimento, e percebo que, por falta de conhecimento, algumas acabam optando por formatar o servidor, o que não é necessário. Com este tutorial, espero simplificar o processo e mostrar que, com as ferramentas certas, é algo fácil de ser realizado.</p>
<p>Este guia mostra como aumentar o tamanho de um disco virtual no <strong>Proxmox</strong> e redimensionar a partição correspondente em uma VM com <strong>Debian</strong>.<br />
Todo o processo é realizado sem perda de dados e sem a necessidade de reinstalar o sistema operacional.</p>
<h3>1. Aumentando o Disco no Proxmox</h3>
<p> &#8211; Acesse o Proxmox pela interface web.<br />
 &#8211; Pare a VM que você deseja ajustar por segurança.<br />
 &#8211; Navegue até a aba <strong>Hardware</strong>.<br />
 &#8211; Selecione o disco que deseja redimensionar e clique em <strong>Disk Action >> Resize</strong>.<br />
 &#8211; Insira o tamanho em GB que deseja acrescentar.<br />
 &#8211; Confirme a operação e inicie a VM.</p>
<p><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/12/resize.png" alt="" width="1033" height="391" class="alignnone size-full wp-image-8166" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/12/resize.png 1033w, https://blog.remontti.com.br/wp-content/uploads/2024/12/resize-300x114.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/12/resize-1024x388.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/12/resize-768x291.png 768w" sizes="(max-width: 1033px) 100vw, 1033px" /></p>
<h3>2. Verificando o Novo Tamanho do Disco na VM</h3>
<p>Após iniciar a VM, conecte-se ao terminal (via console ou SSH) e verifique o novo tamanho do disco:</p>
<pre class="remontti-code"># fdisk -l</pre>
<p>O disco agora deve mostrar o tamanho atualizado, mas a partição ainda estará com o tamanho antigo. O próximo passo é redimensioná-la. Exemplo:</p>
<pre class="remontti-code-blue">
Disco /dev/sda: 920 GiB, 987842478080 bytes, 1929379840 setores
Modelo de disco: QEMU HARDDISK   
Unidades: setor de 1 * 512 = 512 bytes
Tamanho de setor (lógico/físico): 512 bytes / 512 bytes
Tamanho E/S (mínimo/ótimo): 512 bytes / 512 bytes
Tipo de rótulo do disco: dos
Identificador do disco: 0xfebc1b65

Dispositivo Inicializar  Início       Fim   Setores Tamanho Id Tipo
/dev/sda1                  2046   7813119   7811074    3,7G  5 Estendida
/dev/sda2   *           7813120 251656191 243843072  116,3G 83 Linux
/dev/sda5                  2048   7813119   7811072    3,7G 82 Linux swap / Solaris
</pre>
<h3>3. Redimensionando a Partição</h3>
<p>Instale o <strong>parted</strong></p>
<pre class="remontti-code"># apt install parted</pre>
<p>Inicie o parted para editar o disco, no nosso caso é /dev/sda e a partição é a /dev/sda2 que está com 116,3G que queremos expandir para o total do disco.</p>
<pre class="remontti-code"># parted /dev/sda</pre>
<p>Dentro do parted, liste as partições:</p>
<pre class="remontti-code-green">print</pre>
<p>Redimensione a partição:</p>
<pre class="remontti-code-green">resizepart 2 100%</pre>
<p>Quando aparecer a mensagem de aviso, digite <strong>yes</strong>.<br />
Saia do parted:</p>
<pre class="remontti-code-green">quit</pre>
<p>Exemplo:</p>
<pre class="remontti-code-blue">
GNU Parted 3.5
Using /dev/sda
Welcome to GNU Parted! Type &#039;help&#039; to view a list of commands.
(parted) resizepart 2 100% <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f448.png" alt="👈" class="wp-smiley" style="height: 1em; max-height: 1em;" />
Warning: Partition /dev/sda2 is being used. Are you sure you want to continue?
Yes/No? yes <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f448.png" alt="👈" class="wp-smiley" style="height: 1em; max-height: 1em;" /> 
(parted)
(parted) quit
Information: You may need to update /etc/fstab.</pre>
<h3>4. Expandindo o Sistema de Arquivos</h3>
<p>Após redimensionar a partição, você precisa expandir o sistema de arquivos para usar o novo espaço.</p>
<p>Verifique o sistema de arquivos</p>
<pre class="remontti-code"># e2fsck -f /dev/sda2</pre>
<p>Se a partição estiver montada, você verá uma mensagem de erro. Isso é esperado, pois /dev/sda2 geralmente é a partição raiz.</p>
<pre class="remontti-code-blue">e2fsck 1.47.0 (5-Feb-2023)
/dev/sda2 is mounted.
e2fsck: Cannot continue, aborting.</pre>
<p>Expanda o sistema de arquivos</p>
<pre class="remontti-code"># resize2fs /dev/sda2</pre>
<p>Após a execução, o sistema de arquivos será ajustado para usar todo o espaço disponível na partição.</p>
<pre class="remontti-code-blue">resize2fs 1.47.0 (5-Feb-2023)
Filesystem at /dev/sda2 is mounted on /; on-line resizing required
old_desc_blocks = 15, new_desc_blocks = 115
The filesystem on /dev/sda2 is now 240195840 (4k) blocks long.</pre>
<h3>5. Verifique o Novo Tamanho</h3>
<p>Após concluir o redimensionamento, confirme o espaço disponível.</p>
<p>Verifique a partição:</p>
<pre class="remontti-code"># fdisk -l</pre>
<pre class="remontti-code-blue">Disco /dev/sda: 920 GiB, 987842478080 bytes, 1929379840 setores
Modelo de disco: QEMU HARDDISK   
Unidades: setor de 1 * 512 = 512 bytes
Tamanho de setor (lógico/físico): 512 bytes / 512 bytes
Tamanho E/S (mínimo/ótimo): 512 bytes / 512 bytes
Tipo de rótulo do disco: dos
Identificador do disco: 0xfebc1b65

Dispositivo Inicializar  Início        Fim    Setores Tamanho Id Tipo
/dev/sda1                  2046    7813119    7811074    3,7G  5 Estendida
/dev/sda2   *           7813120 1929379839 1921566720  916,3G 83 Linux
/dev/sda5                  2048    7813119    7811072    3,7G 82 Linux swap / Solaris</pre>
<p>Confirme o sistema de arquivos:</p>
<pre class="remontti-code"># df -h /dev/sda2</pre>
<p>A saída mostrará o novo tamanho da partição e o espaço disponível:</p>
<pre class="remontti-code-blue">
Sist. Arq.      Tam. Usado Disp. Uso% Montado em
/dev/sda2       902G  3,8G  860G   1% /
</pre>
<h3>Conclusão</h3>
<p>Este método é uma solução prática e eficiente para expandir o espaço de disco de uma VM no Proxmox e redimensionar sua partição no Debian, tudo de forma segura e sem perda de dados, eliminando a necessidade de reinstalar o sistema operacional.</p>
<p>Se este guia foi útil para você, fico feliz em ter contribuído! </p>
<p>O post <a href="https://blog.remontti.com.br/8164">Como Aumentar o Disco de uma VM no Proxmox e Redimensionar a Partição no Debian</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/8164/feed</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Guia Passo a Passo para Instalar o Typebot em seu servidor próprio</title>
		<link>https://blog.remontti.com.br/7656</link>
					<comments>https://blog.remontti.com.br/7656#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Fri, 22 Sep 2023 15:32:29 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[automação]]></category>
		<category><![CDATA[banco de dados]]></category>
		<category><![CDATA[bookworm]]></category>
		<category><![CDATA[Certbot]]></category>
		<category><![CDATA[Chatbot]]></category>
		<category><![CDATA[Configuração]]></category>
		<category><![CDATA[Debian 12]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[instalaçao]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[Node.js]]></category>
		<category><![CDATA[passo a passo]]></category>
		<category><![CDATA[PM2]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[Prisma]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[Servidor]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Typebot]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7656</guid>

					<description><![CDATA[<p>O Typebot é uma ferramenta de código aberto que permite criar aplicativos ou formulários conversacionais de forma simples e eficaz. Ele oferece uma alternativa robusta a outras plataformas como o Landbot. Com o Typebot,&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7656">Guia Passo a Passo para Instalar o Typebot em seu servidor próprio</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot.jpeg" alt="" width="1024" height="640" class="alignnone size-full wp-image-7666" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot.jpeg 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot-300x188.jpeg 300w, https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot-768x480.jpeg 768w" sizes="(max-width: 1024px) 100vw, 1024px" /></p>
<p>O <a href="https://typebot.io" rel="noopener" target="_blank"><strong>Typebot</strong></a> é uma ferramenta de código aberto que permite criar aplicativos ou formulários conversacionais de forma simples e eficaz. Ele oferece uma alternativa robusta a outras plataformas como o Landbot. Com o Typebot, você pode criar diferentes tipos de aplicativos conversacionais, como:</p>
<p>&#8211; Qualificação de leads<br />
&#8211; Lançamento de produtos<br />
&#8211; Integração de usuários<br />
&#8211; Suporte ao cliente</p>
<p>O Typebot é amado por equipes e criadores em todo o mundo e oferece uma experiência de construção fácil. Você pode arrastar e soltar blocos para criar seu aplicativo e integrá-lo facilmente em qualquer plataforma. Além disso, ele permite coletar resultados em tempo real, o que é uma grande vantagem.</p>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/09/builder-screenshot-scaled.webp" alt="" width="2560" height="1465" class="alignnone size-full wp-image-7664" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/09/builder-screenshot-scaled.webp 2560w, https://blog.remontti.com.br/wp-content/uploads/2023/09/builder-screenshot-300x172.webp 300w, https://blog.remontti.com.br/wp-content/uploads/2023/09/builder-screenshot-1024x586.webp 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/09/builder-screenshot-768x439.webp 768w, https://blog.remontti.com.br/wp-content/uploads/2023/09/builder-screenshot-1536x879.webp 1536w, https://blog.remontti.com.br/wp-content/uploads/2023/09/builder-screenshot-2048x1172.webp 2048w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /></p>
<h4>Exemplos de Uso</h4>
<p><strong>&#8211; Coleta de Informações de Contato:</strong> Substitua seus formulários tradicionais por um chatbot que pode coletar nomes, e-mails e outros detalhes de forma interativa.<br />
<strong>&#8211; Suporte ao Cliente:</strong> Use o Typebot para responder automaticamente a perguntas frequentes e fornecer suporte em tempo real.<br />
<strong>&#8211; Integração de Usuários:</strong> Facilite o processo de integração, fornecendo aos novos usuários um guia passo a passo interativo.<br />
&#8211; Campanhas de Marketing: Utilize o Typebot em suas landing pages para aumentar as taxas de conversão e engajamento.<br />
<strong>&#8211; Pesquisas e Feedback:</strong> Colete feedback do usuário ou conduza pesquisas de forma mais envolvente e interativa.</p>
<h4>Requesitos</h4>
<p><a href="https://blog.remontti.com.br/7236" rel="noopener" target="_blank">Debian 12 bookworm (Instalação Limpa)</a></p>
<h4>DNS</h4>
<p>Crie duas entradas em seu DNS exemplo:<br />
&#8211; typebot.remontti.cum.br apontando para os IPs do servidor<br />
&#8211; typebotapi.remontti.cum.br apontando para os IPs do servidor</p>
<p>Se você<a href="https://blog.remontti.com.br/5958" rel="noopener" target="_blank"> já é da turma do blog</a> vai entender o que temos a baixo la no amigo bind9:</p>
<pre class="remontti-code-plain">typebot       A       192.168.0.100
              AAAA    2001:db8:bebe:cafe::100

typebotapi    A       192.168.0.100
              AAAA    2001:db8:bebe:cafe::100</pre>
<h4>Atualização e Instalação de Pacotes</h4>
<pre class="remontti-code"># apt update; apt upgrade -y</pre>
<p>Instale os pacotes necessários para o projeto</p>
<pre class="remontti-code"># apt install -y nodejs npm git nginx postgresql postgresql-contrib</pre>
<p>Instala globalmente os pacotes pm2 e pnpm usando npm</p>
<pre class="remontti-code"># npm install -g pm2 pnpm</pre>
<h4>Configuração do PostgreSQL</h4>
<p>Alterne para o usuário postgres</p>
<pre class="remontti-code"># su - postgres</pre>
<p>Crie um novo usuário chamado &#8216;typebot&#8217; em seguida inserira uma senha.</p>
<pre class="remontti-code">$ createuser --pwprompt typebot</pre>
<p>Crie um novo banco de dados &#8216;typebot&#8217; e define &#8216;typebot&#8217; como o proprietário</p>
<pre class="remontti-code">$ createdb -O typebot typebot</pre>
<p>Sai do usuário postgres</p>
<pre class="remontti-code">$ exit</pre>
<h4>Preparando formas de autenticação</h4>
<p>Vou deixar 3 formas que são as mais fáceis, você pode optar em usar apenas uma.</p>
<h4>Email</h4>
<p>A mais fácil de todas, basta você utilizar um email, assim toda vez que você for logar ele ira lhe mandar um e-mail com o link. </p>
<h4>Google</h4>
<p>Crie um novo projeto em <a href="https://console.developers.google.com/apis/credentials" rel="noopener" target="_blank">https://console.developers.google.com/apis/credentials</a></p>
<pre class="remontti-code-plain">
Cria um novo projeto
&gt; OAuth consent screen
	&gt; externo 
	Nome: Typebot
	User support email: seu!
	Developer contact information: seu!
	 SAVE

	 ADD OR REMOVE SCOPES
	   	.../auth/userinfo.email
	   	.../auth/userinfo.profile
	   	 SAVE

	   	 SAVE

	   	 BACK TO DASH
&gt; Credentials 
	+ CREATE CREDENTALS
	  &gt; Create OAuth client ID 
		Application type: Web application
		Name: Typebot

		Authorized redirect URIs
		https://typebot.remontti.cum.br/api/auth/callback/google

	Client ID
	Anote

	Client secret
	Anote</pre>
<p>Será usado em:</p>
<pre class="remontti-code-plain">GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=</pre>
<h4>Github</h4>
<p>Acesse <a href="https://github.com/settings/developers" rel="noopener" target="_blank">https://github.com/settings/developers</a> e clique em <strong>New OAuth Apps</strong></p>
<pre class="remontti-code-plain">Application name: Typebot
Homepage URL: https://typebot.remontti.cum.br
Application description: Typebot Auth
Authorization callback URL: https://typebot.remontti.cum.br/api/auth/callback/github</pre>
<p>Anote o <strong>Client ID</strong> e clique em <strong>Generate a new client secret</strong> anote os dois para ser usado em </p>
<pre class="remontti-code-plain">GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=</pre>
<h4>Configuração do Projeto Typebot no Servidor</h4>
<p>Vamos armazenar o projeto mo diretório /opt. </p>
<pre class="remontti-code"># cd /opt/
# git clone https://github.com/baptisteArno/typebot.io.git</pre>
<p>Entre no diretório do projeto<br />
cd typebot.io</p>
<p>Crie arquivo <strong>.env</strong> onde irá ficar as <a href="https://docs.typebot.io/self-hosting/configuration" rel="noopener" target="_blank">variáveis de ambiente</a>.</p>
<pre class="remontti-code"># vim /opt/typebot.io/.env</pre>
<p>Faça os ajustes:</p>
<pre class="remontti-code-plain"># Define a chave de criptografia (Gere aqui https://senhasegura.remontti.cum.br/)
ENCRYPTION_SECRET=i9eRecwVJQeKENqdcrQeizOXFHzQdwAp

# Define a URL de conexão com o banco de dados PostgreSQL
DATABASE_URL=postgresql://typebot:minhasupersenha@localhost:5432/typebot

# Define as URLs para autenticação e API
NEXTAUTH_URL=https://typebot.remontti.cum.br
NEXT_PUBLIC_VIEWER_URL=https://typebotapi.remontti.cum.br

# Define o e-mail do administrador
ADMIN_EMAIL=typebot@remontti.cum.br

# Define as configurações para o servidor SMTP
SMTP_USERNAME=typebot@remontti.cum.br
SMTP_PASSWORD=minhasenha
SMTP_HOST=mail.remontti.cum.br
SMTP_PORT=25
NEXT_PUBLIC_SMTP_FROM=typebot@remontti.cum.br
SMTP_SECURE=false
SMTP_AUTH_DISABLED=false

# Configurações para autenticação via Google e GitHub (opcional)
# Google
GOOGLE_CLIENT_ID=98916e5d5dd1-e3lfmixxuditlz2egexp0n8bfwf3oie3.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=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

# GitHub
GITHUB_CLIENT_ID=6ewyvfeumndg2ve5kve1
GITHUB_CLIENT_SECRET=7r78f2vpmihgriebkp7p4b0ervd4qc7ufu1uu5nx

# Permite ou desabilita o cadastro de novas contas
DISABLE_SIGNUP=false</pre>
<p>Instale todas as dependências do projeto</p>
<pre class="remontti-code"># cd /opt/typebot.io/
# pnpm install</pre>
<p>Saída:</p>
<pre class="remontti-code-plain">Scope: all 19 workspace projects
Lockfile is up to date, resolution step is skipped
Packages: +2398
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Downloading registry.npmjs.org/next/13.4.3: 12,32 MB/12,32 MB, done
[...]
[...]
[...]
devDependencies:
+ cross-env 7.0.3
+ cz-emoji 1.3.2-canary.2
+ husky 8.0.3
+ prettier 2.8.8
+ turbo 1.10.12

. prepare$ husky install
│ husky - Git hooks installed
└─ Done in 288ms
Done in 2m 12.5s</pre>
<p>Compile os aplicativos</p>
<pre class="remontti-code"># cd /opt/typebot.io/
# pnpm run build:apps</pre>
<p>Saída</p>
<pre class="remontti-code-plain">&gt; typebot-os@2.17.2 build:apps /root/typebot.io
&gt; turbo run build --filter=builder... --filter=viewer...
[...]
[...]
[...]
[...]
builder:build: ○  (Static)  automatically rendered as static HTML (uses no initial props)
builder:build: 

 Tasks:    9 successful, 9 total
Cached:    0 cached, 9 total
  Time:    5m28.928s 

⠋ ...writing to cache...  [1s] 

─────────┴──────────┴──────────┘</pre>
<p>Copie o arquivo .env para os diretórios dos aplicativos</p>
<pre class="remontti-code"># cp /opt/typebot.io/.env /opt/typebot.io/apps/builder/
# cp /opt/typebot.io/.env /opt/typebot.io/apps/viewer/</pre>
<p>Configuração e migrações do banco de dados</p>
<pre class="remontti-code"># cd /opt/typebot.io/
# pnpm prisma generate &amp;&amp; pnpm db:migrate</pre>
<p>Saída:</p>
<pre class="remontti-code-plain">Environment variables loaded from .env
prisma:warn We could not find your Prisma schema at `prisma/schema.prisma`.
If you have a Prisma schema file in a custom path, you will need to run
`prisma generate --schema=./path/to/your/schema.prisma` to generate Prisma Client.
If you do not have a Prisma schema file yet, you can ignore this message.


&gt; typebot-os@2.17.2 db:migrate /opt/typebot.io
&gt; cd packages/prisma &amp;&amp; pnpm run db:migrate


&gt; @typebot.io/prisma@0.1.0 db:migrate /opt/typebot.io/packages/prisma
&gt; pnpm migrate:deploy


&gt; @typebot.io/prisma@0.1.0 migrate:deploy /opt/typebot.io/packages/prisma
&gt; dotenv -e ./.env -e ../../.env -- tsx scripts/migrate-deploy.ts

Executing for PostgreSQL schema
┌─────────────────────────────────────────────────────────┐
│  Update available 5.0.0 -&gt; 5.3.1                        │
│  Run the following to update                            │
│    npm i --save-dev prisma@latest                       │
│    npm i @prisma/client@latest                          │
└─────────────────────────────────────────────────────────┘</pre>
<p>Inicia os aplicativos com o PM2</p>
<pre class="remontti-code"># pm2 start --name=typebotwww --cwd /opt/typebot.io/apps/builder/ &quot;pnpm -- next start -p 54001&quot;
# pm2 start --name=typebotapi --cwd /opt/typebot.io/apps/viewer/ &quot;pnpm -- next start -p 54002&quot;</pre>
<pre class="remontti-code-plain">┌────┬───────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name          │ namespace   │ version │ mode    │ pid      │ uptime │ ↺    │ status    │ cpu      │ mem      │ user     │ watching │
├────┼───────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 1  │ typebotapi    │ default     │ N/A     │ fork    │ 819      │ 0s     │ 0    │ online    │ 0%       │ 10.8mb   │ root     │ disabled │
│ 0  │ typebotwww    │ default     │ N/A     │ fork    │ 760      │ 19s    │ 0    │ online    │ 0%       │ 97.2mb   │ root     │ disabled │
└────┴───────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘</pre>
<p>Salva a configuração atual do PM2 e configura para iniciar com o sistema</p>
<pre class="remontti-code"># pm2 save
# pm2 startup</pre>
<h5>Configuração do Nginx</h5>
<p>Cria os arquivos de configuração do Nginx para os subdomínios</p>
<pre class="remontti-code"># vim /etc/nginx/sites-available/typebot.remontti.cum.br.conf</pre>
<pre class="remontti-code-plain">
server {
    listen 80;
    listen [::]:80;
 
    server_name typebot.remontti.cum.br;

    location / {
        proxy_pass http://localhost:54001;
        proxy_set_header Host $host;
    }
}

</pre>
<pre class="remontti-code"># vim /etc/nginx/sites-available/typebotapi.remontti.cum.br.conf</pre>
<pre class="remontti-code-plain">
server {
    listen 80;
    listen [::]:80;
 
    server_name typebotapi.remontti.cum.br;
 
    location / {
        proxy_pass http://localhost:54002;
        proxy_set_header Host $host;
    }
}
</pre>
<p>Ativa os sites no Nginx</p>
<pre class="remontti-code"># ln -s /etc/nginx/sites-available/typebot.remontti.cum.br.conf /etc/nginx/sites-enabled/
# ln -s /etc/nginx/sites-available/typebotapi.remontti.cum.br.conf /etc/nginx/sites-enabled/
# rm /etc/nginx/sites-enabled/default</pre>
<p>Verifica a sintaxe e reinicia o Nginx</p>
<pre class="remontti-code"># nginx -t
# systemctl restart nginx</pre>
<h5>Configuração do Certbot/Let&#8217;s Encrypt para HTTPS</h5>
<p>Instala o Certbot e o plugin do Nginx</p>
<pre class="remontti-code"># apt install certbot python3-certbot-nginx</pre>
<p>Executa o Certbot para obter os certificados SSL</p>
<pre class="remontti-code">certbot</pre>
<p>Responda: </p>
<pre class="remontti-code-plain">Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
 (Enter &#039;c&#039; to cancel): noc@remontti.cum.br

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y &lt;&lt;&lt;&lt;&lt;

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let&#039;s Encrypt project and the non-profit organization that
develops Certbot? We&#039;d like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N &lt;&lt;&lt;&lt;
Account registered.

Which names would you like to activate HTTPS for?
We recommend selecting either all domains, or all domains in a VirtualHost/server block.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: typebotapi.remontti.cum.br
2: typebot.remontti.cum.br
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter &#039;c&#039; to cancel):  &lt;&lt;&lt;&lt;
Requesting a certificate for typebotapi.remontti.cum.br and typebot.remontti.cum.br

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/typebotapi.remontti.cum.br/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/typebotapi.remontti.cum.br/privkey.pem
This certificate expires on 2023-12-20.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Deploying certificate
Successfully deployed certificate for typebotapi.remontti.cum.br to /etc/nginx/sites-enabled/typebotapi.remontti.cum.br.conf
Successfully deployed certificate for typebot.remontti.cum.br to /etc/nginx/sites-enabled/typebot.remontti.cum.br.conf
Congratulations! You have successfully enabled HTTPS on https://typebotapi.remontti.cum.br and https://typebot.remontti.cum.br

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let&#039;s Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</pre>
<h5>Configuração do Cron para Renovação Automática do Certificado SSL.</h5>
<p>Adicione uma tarefa cron para renovar automaticamente o certificado SSL todo dia 1 de cada mês à meia-noite, e reinicie o cron.</p>
<pre class="remontti-code"># echo &#039;00 00   1 * *   root    /usr/bin/certbot renew -q&#039; &gt;&gt; /etc/crontab
# systemctl restart cron.service</pre>
<h5>Acessando a aplicação</h5>
<p>Abra seu navegador e acesse: https://typebot.remontti.cum.br<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.cum.br/wp-content/uploads/2023/09/typebot-remontti.png" alt="" width="900" height="403" class="alignnone size-full wp-image-7661" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot-remontti.png 900w, https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot-remontti-300x134.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot-remontti-768x344.png 768w" sizes="auto, (max-width: 900px) 100vw, 900px" /></p>
<p>Clique em <strong>Registre-se gratuitamente</strong><br />
Escolha a forma desejada.</p>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2757.png" alt="❗" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2757.png" alt="❗" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2757.png" alt="❗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </h4>
<p>Os registros <strong>ficam aberto</strong>, então registre toda sua equipe e em seguida desativa a possibilidade de novos registros nos arquivos .env (<strong>DISABLE_SIGNUP=true</strong>)<br />
Com o comando sed</p>
<pre class="remontti-code"># sed -i &#039;s/DISABLE_SIGNUP=false/DISABLE_SIGNUP=true/&#039; /opt/typebot.io/.env
# sed -i &#039;s/DISABLE_SIGNUP=false/DISABLE_SIGNUP=true/&#039; /opt/typebot.io/apps/viewer/.env
# sed -i &#039;s/DISABLE_SIGNUP=false/DISABLE_SIGNUP=true/&#039; /opt/typebot.io/apps/builder/.env</pre>
<p>Reinicie o pm2 </p>
<pre class="remontti-code"># systemctl restart pm2-root.service</pre>
<p>Se deseja realizar novos cadastros basta alterar <strong>DISABLE_SIGNUP=true</strong> para <strong>DISABLE_SIGNUP=false</strong> e reiniciar novamente.</p>
<pre class="remontti-code"># sed -i &#039;s/DISABLE_SIGNUP=true/DISABLE_SIGNUP=false/&#039; /opt/typebot.io/.env
# sed -i &#039;s/DISABLE_SIGNUP=true/DISABLE_SIGNUP=false/&#039; /opt/typebot.io/apps/viewer/.env
# sed -i &#039;s/DISABLE_SIGNUP=true/DISABLE_SIGNUP=false/&#039; /opt/typebot.io/apps/builder/.env</pre>
<p>Reinicie o pm2 </p>
<pre class="remontti-code"># systemctl restart pm2-root.service</pre>
<p>Se desejar fazer alterações faça os arquivos:</p>
<pre class="remontti-code-plain">/opt/typebot.io/.env
/opt/typebot.io/apps/viewer/.env
/opt/typebot.io/apps/builder/.env</pre>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.cum.br/wp-content/uploads/2023/09/typebot-remontti-1.png" alt="" width="1050" height="411" class="alignnone size-full wp-image-7662" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot-remontti-1.png 1050w, https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot-remontti-1-300x117.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot-remontti-1-1024x401.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/09/typebot-remontti-1-768x301.png 768w" sizes="auto, (max-width: 1050px) 100vw, 1050px" /></p>
<p>A parte mais complicada está feita!<br />
Existe vários videos no <a href="https://www.youtube.com/results?search_query=typebot" rel="noopener" target="_blank">YouTube</a> sobre como mexer nessa criança. Inclusive no <a href="https://www.youtube.com/@typebot4666" rel="noopener" target="_blank">canal oficial </a>dos desenvolvedores. <em>Dica ative a legenda e selecione traduzir!</em></p>
<p><iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/jp3ggg_42-M?si=xPi09hAm6AqyZfcU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe></p>
<p>Gostou e quer me ajudar manter o blog sem a inconveniência de anúncios intrusivos ou a imposição de taxas? <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.cum.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.cum.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p><strong>Fonte:</strong><br />
<a href="https://docs.typebot.io/" rel="noopener" target="_blank">https://docs.typebot.io/</a></p>
<p>O post <a href="https://blog.remontti.com.br/7656">Guia Passo a Passo para Instalar o Typebot em seu servidor próprio</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7656/feed</wfw:commentRss>
			<slash:comments>17</slash:comments>
		
		
			</item>
		<item>
		<title>Um pouco do meu ambiente de trabalho com Debian 12 Bookworm e Gnome 43</title>
		<link>https://blog.remontti.com.br/7512</link>
					<comments>https://blog.remontti.com.br/7512#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Mon, 19 Jun 2023 23:13:31 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[AmbienteDeTrabalho]]></category>
		<category><![CDATA[Aplicativos]]></category>
		<category><![CDATA[Artigo]]></category>
		<category><![CDATA[bookworm]]></category>
		<category><![CDATA[Comunidade.]]></category>
		<category><![CDATA[Configuração]]></category>
		<category><![CDATA[ConfiguraçõesAvançadas]]></category>
		<category><![CDATA[Customização]]></category>
		<category><![CDATA[Debian12]]></category>
		<category><![CDATA[Desempenho]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[Estabilidade]]></category>
		<category><![CDATA[Experiência]]></category>
		<category><![CDATA[Extensões]]></category>
		<category><![CDATA[GerenciadorDeArquivos]]></category>
		<category><![CDATA[Gnome43]]></category>
		<category><![CDATA[Inovação]]></category>
		<category><![CDATA[Interface]]></category>
		<category><![CDATA[Multitarefa]]></category>
		<category><![CDATA[NavegadorWeb]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Personalização]]></category>
		<category><![CDATA[produtividade]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[SistemaOperacional]]></category>
		<category><![CDATA[SoftwareLivre]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[tema]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[Usabilidade]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7512</guid>

					<description><![CDATA[<p>Voltando ao Debian ❤️ Desde o tempo que a distribuição Kurumin era &#8220;gente&#8221; (minha primeira experiência com linux) tenho um grande apreço por este mundo. Acabei de sair do Ubuntu 22, que não deixa&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7512">Um pouco do meu ambiente de trabalho com Debian 12 Bookworm e Gnome 43</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/remontti_debian_12.jpg" alt="" width="720" height="340" class="alignnone size-full wp-image-7529" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/remontti_debian_12.jpg 720w, https://blog.remontti.com.br/wp-content/uploads/2023/06/remontti_debian_12-300x142.jpg 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/remontti_debian_12-520x245.jpg 520w" sizes="auto, (max-width: 720px) 100vw, 720px" /></p>
<p>Voltando ao Debian <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2764.png" alt="❤" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </p>
<p>Desde o tempo que a distribuição Kurumin era &#8220;gente&#8221; (minha primeira experiência com linux) tenho um grande apreço por este mundo. Acabei de <a href="https://blog.remontti.com.br/6853" rel="noopener" target="_blank">sair do Ubuntu 22</a>, que não deixa de ser um &#8220;Debian 12&#8221;, pois ele é totalmente baseado nele. Já comentei sobre os motivos que acabei utilizando ubuntu no artigo <em><a href="https://blog.remontti.com.br/6853" rel="noopener" target="_blank">Como é meu desktop de trabalho com Ubuntu</a></em>. </p>
<p>Eu não utilizo o PC para jogar e o intuito aqui é para meus amigos e colegas da área mais de telecom que utilizam mais para trabalho. Como tenho acesso a muitos servidores e roteador eu me sinto inseguro em realizar um acesso a partir de um Windows, e me sinto em paz ao usar Linux. Mas se você gosta de jogos instalar em dual boot pode ser uma boa alternativa. Vai jogar entra no windows, vai trabalhar da uma chance pro Linux:-) além do mais o GNOME te deixa com uma pegada mais produtiva!</p>
<p>Faça download neste link: <strong> <a href="https://cdimage.debian.org/mirror/cdimage/archive/12.0.0-live/amd64/iso-hybrid/" rel="noopener" target="_blank">Debian 12 Live Desktop (amd64) Gnome</a></strong> localize por <strong>debian-live-12.x.x-amd64-gnome.iso</strong>, você irá baixar a ISO com o Gnome, mas se deseja outra interface fica a seu critério, mas estarei utilizando o Gnome.</p>
<p><strong>INICIANDO LIVE CD</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live.png" alt="" width="640" height="480" class="alignnone size-full wp-image-7513" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live.png 640w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-300x225.png 300w" sizes="auto, (max-width: 640px) 100vw, 640px" /></a></p>
<p>Ao entrar no live, ao clicar em instalar irá solicitar uma <strong>senha</strong>, é <strong>live</strong>. Prossiga com a instalação ao seu gosto.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-password-installer.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-password-installer.png" alt="" width="1364" height="765" class="alignnone size-full wp-image-7514" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-password-installer.png 1364w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-password-installer-300x168.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-password-installer-1024x574.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-password-installer-768x431.png 768w" sizes="auto, (max-width: 1364px) 100vw, 1364px" /></a></p>
<p><strong>APÓS INSTALAÇÃO</strong><br />
Ao logar pela primeira vez (ou não) ao clicar no campo para digita a senha, clique sobre a engrenagem no canto direito inferior e selecione: <strong>GNOME sobre Xorg</strong> (você só precisa fazer 1x), o padrão utiliza o Wayland, no entanto alguma aplicações como Anydesk, TeamViewer entre outras e uso de cabo HDMI, infelizmente o Wayland não está preparado para tudo ainda, então vamos de motor gráfico Xorg!<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/debian_xorg.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/debian_xorg.png" alt="" width="1334" height="786" class="alignnone size-full wp-image-7540" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/debian_xorg.png 1334w, https://blog.remontti.com.br/wp-content/uploads/2023/06/debian_xorg-300x177.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/debian_xorg-1024x603.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/debian_xorg-768x453.png 768w" sizes="auto, (max-width: 1334px) 100vw, 1334px" /></a></p>
<p>Como a pegada Debian é mais hardcore já sabe, vamos começar abrindo o terminal, de cara vamos remover toda a cacetada de idiomas que o firefox vem instalado e deixar só pt-br.</p>
<pre class="remontti-code">$ sudo apt purge firefox-esr-l10n-* -y 
$ sudo apt install firefox-esr-l10n-pt-br -y </pre>
<p>certifique-se de estar tudo atualizado, antes de começar</p>
<pre class="remontti-code">$ sudo apt update; sudo apt upgrade -y</pre>
<p><strong>REPOSITÓRIO</strong><br />
Por mais que agora contamos também com non-free-firmware, vamos adicionar o <strong>contrib e o non-free </strong>, </p>
<pre class="remontti-code">$ sudo nano /etc/apt/sources.list</pre>
<p>Ficando assim:</p>
<pre class="remontti-code-plain"># See https://wiki.debian.org/SourcesList for more information.
deb http://deb.debian.org/debian bookworm main non-free-firmware contrib non-free
deb-src http://deb.debian.org/debian bookworm main non-free-firmware contrib non-free

deb http://deb.debian.org/debian bookworm-updates main non-free-firmware contrib non-free
deb-src http://deb.debian.org/debian bookworm-updates main non-free-firmware contrib non-free

deb http://security.debian.org/debian-security/ bookworm-security main non-free-firmware contrib non-free
deb-src http://security.debian.org/debian-security/ bookworm-security main non-free-firmware contrib non-free

# Backports allow you to install newer versions of software made available for this release
deb http://deb.debian.org/debian bookworm-backports main non-free-firmware contrib non-free
deb-src http://deb.debian.org/debian bookworm-backports main non-free-firmware contrib non-free

</pre>
<p>Agora instale o firmware-linux</p>
<pre class="remontti-code">$ sudo apt update
$ sudo apt install firmware-linux</pre>
<p><strong>PLACA DE VÍDEO</strong><br />
O terror da maioria das pessoas!<br />
<strong><a href="https://wiki.debian.org/NvidiaGraphicsDrivers#Debian_12_.22Bookworm.22" rel="noopener" target="_blank">Nvidia</a></strong></p>
<pre class="remontti-code">$ apt install nvidia-driver firmware-misc-nonfree</pre>
<p>Dificuldades? <a href="https://wiki.debian.org/NVIDIA%20Optimus" rel="noopener" target="_blank">Esse link</a> pode lhe ajudar.</p>
<p><strong><a href="https://wiki.debian.org/AtiHowTo" rel="noopener" target="_blank">AMD/ATI</a></strong></p>
<pre class="remontti-code">$ apt installfirmware-amd-graphics</pre>
<p><strong>GRUB + KERNEL</strong><br />
Eu desativo algumas proteções do kernel (Nuca faça essa M** em um servidor) pois se tratando de desktop sei que não terei exemplo um serviço web rodando para o mundo, então para ganhar performance vou colocar <strong>mitigations</strong> em <strong>off</strong>, se você gosta do nome das interfaces de rede como eth0 wlan0 use o <strong>net.ifnames</strong> e <strong>biosdevname</strong> em <strong>0</strong>, se você quiser <strong>ver tudo </strong>que esta sendo carregado no sistema também<strong> pode remover quiet splash</strong> se desejar. Se não sabe o que ta fazendo pule essa parte! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<pre class="remontti-code">$ sudo nano /etc/default/grub</pre>
<p>Adicione ao <strong>GRUB_CMDLINE_LINUX_DEFAULT</strong> , vai ficar assim, porem resume= é sei UID!</p>
<pre class="remontti-code-plain">GRUB_CMDLINE_LINUX_DEFAULT=&quot;mitigations=off net.ifnames=0 biosdevname=0 quiet splash resume=UUID=7c3fc737-...&quot;
</pre>
<pre class="remontti-code">$ sudo update-grub</pre>
<p>Mais ajustes</p>
<pre class="remontti-code">$ sudo su -</pre>
<p>Se você tem SSD/NVME e execute os 2 comandos</p>
<pre class="remontti-code"># echo &quot;vm.vfs_cache_pressure=50&quot; &gt;&gt; /etc/sysctl.conf
# echo &quot;vm.dirty_background_ratio = 5&quot; &gt;&gt; /etc/sysctl.conf</pre>
<p>Se tiver mais que 4GB de memória ram.</p>
<pre class="remontti-code"># echo &quot;vm.swappiness=10&quot; &gt;&gt; /etc/sysctl.conf</pre>
<p>Carregue e reinicie</p>
<pre class="remontti-code"># sysctl -p
# exit
$ sudo reboot</pre>
<p><strong>ZSH + POWERLEVEL10K</strong><br />
Já que nosso &#8220;negócio&#8221; é terminal que tal dar uma tunada com ZSH, primeiramente baixa as fontes MesloLGS</p>
<pre class="remontti-code">$ sudo apt install wget -y
$ cd /usr/local/share/fonts
$ sudo wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf
$ sudo wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf
$ sudo wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf
$ sudo wget https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf</pre>
<p>Configure o terminal com a fonte MesloLGS NF<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-1.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-1.png" alt="" width="867" height="470" class="alignnone size-full wp-image-7516" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-1.png 867w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-1-300x163.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-1-768x416.png 768w" sizes="auto, (max-width: 867px) 100vw, 867px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-2.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-2.png" alt="" width="896" height="591" class="alignnone size-full wp-image-7517" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-2.png 896w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-2-300x198.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-2-768x507.png 768w" sizes="auto, (max-width: 896px) 100vw, 896px" /></a></p>
<p>Se deseja alter a cor do terminal:<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-3.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-3.png" alt="" width="1267" height="709" class="alignnone size-full wp-image-7518" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-3.png 1267w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-3-300x168.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-3-1024x573.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-3-768x430.png 768w" sizes="auto, (max-width: 1267px) 100vw, 1267px" /></a></p>
<p>Instale os pacotes necessários:</p>
<pre class="remontti-code">$ sudo apt install git zsh zsh-autosuggestions zsh-syntax-highlighting fzf -y
$ git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/.powerlevel10k
$ echo &#039;source ~/.powerlevel10k/powerlevel10k.zsh-theme&#039; &gt;&gt;~/.zshrc
$ zsh</pre>
<p>Várias perguntas serão feitas, para chegar ao resultado a baixo respondi com:<br />
<strong>y y y y 3 1 n 1 1 1 1 2 2 2 n 1 y</strong>, mas ajuste ao seu gosto.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-4.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-4.png" alt="" width="933" height="187" class="alignnone size-full wp-image-7519" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-4.png 933w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-4-300x60.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-terminal-zsh-4-768x154.png 768w" sizes="auto, (max-width: 933px) 100vw, 933px" /></a></p>
<p>Para reconfigurar novamente execute:</p>
<pre class="remontti-code">$ p10k configure</pre>
<p>Vai ser necessário colocar algumas entradas em nosso ~/.zshrc</p>
<pre class="remontti-code">$ nano ~/.zshrc</pre>
<p>Deixe assim:</p>
<pre class="remontti-code-plain">
# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ -r &quot;${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh&quot; ]]; then
  source &quot;${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh&quot;
fi

source ~/.powerlevel10k/powerlevel10k.zsh-theme

# share history across multiple zsh sessions
setopt SHARE_HISTORY
# append to history
setopt APPEND_HISTORY
# adds commands as they are typed, not at shell exit
setopt INC_APPEND_HISTORY
# do not store duplications
setopt HIST_IGNORE_DUPS
# ignore duplicates when searching
setopt HIST_FIND_NO_DUPS
# removes blank lines from history
setopt HIST_REDUCE_BLANKS

# setup autocompletion
autoload -Uz compinit &amp;&amp; compinit
zstyle &#039;:completion:*&#039; matcher-list &#039;m:{a-z}={A-Za-z}&#039;
# autocompletion using arrow keys (based on history)
bindkey &#039;\e[A&#039; history-search-backward
bindkey &#039;\e[B&#039; history-search-forward

setopt prompt_subst
autoload -U colors &amp;&amp; colors
local resetColor=&quot;%{$reset_color%}&quot;
PS1=&quot;&quot;
PS1=&quot;%F{cyan}&quot;&#039;($(basename &quot;$CONDA_DEFAULT_ENV&quot;)) &#039;&quot;$resetColor&quot;
PS1+=&#039;%n%{$reset_color%}@$(scutil --get ComputerName):&#039;&quot;$resetColor&quot;
PS1+=$&#039;\e[38;5;211m$(short_cwd) &#039;;
PS1+=$&#039;\e[38;5;48m[$(git_repo):$(git_branch)] &#039;;
PS1+=&#039;$resetColor$ &#039;;

bindkey &quot;^[[1;5D&quot; backward-word
bindkey &quot;^[[1;5C&quot; forward-word

source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh
source /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source /usr/share/doc/fzf/examples/key-bindings.zsh

export LS_OPTIONS=&#039;--color=auto&#039;
eval &quot;`dircolors`&quot;
alias ls=&#039;ls $LS_OPTIONS&#039;
alias ll=&#039;ls $LS_OPTIONS -l&#039;
alias l=&#039;ls $LS_OPTIONS -lha&#039;

alias grep=&#039;grep --color&#039;
alias egrep=&#039;egrep --color&#039;
alias ip=&#039;ip -c&#039;
alias diff=&#039;diff --color&#039;
alias meuip=&#039;curl ifconfig.me; echo;&#039;
alias tail=&#039;grc tail&#039;
alias ping=&#039;grc ping&#039;
alias ps=&#039;grc ps&#039;
alias netstat=&#039;grc netstat&#039;
alias dig=&#039;grc dig&#039;
alias traceroute=&#039;grc traceroute&#039;
alias apt=&#039;sudo apt&#039;
alias l=&#039;ls -lh&#039;
alias la=&#039;ls -lha&#039;

HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
setopt appendhistory

# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh

</pre>
<p>Adicione comando personalizado em preferencias para sempre que abrir o terminal carregar o zsh<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh_terminal.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh_terminal.png" alt="" width="1132" height="709" class="alignnone size-full wp-image-6940" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh_terminal.png 1132w, https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh_terminal-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh_terminal-1024x641.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh_terminal-768x481.png 768w" sizes="auto, (max-width: 1132px) 100vw, 1132px" /></a></p>
<p><strong>FERRAMENTAS &#038; UTILITÁRIO</strong><br />
Como utilizo muito o vim no meu dia a dia faço alguns ajustes.</p>
<pre class="remontti-code">$ apt install vim
$ cat &lt;&lt;EOF &gt;~/.vimrc
set showmatch &quot; Mostrar colchetes correspondentes
set ts=4 &quot; Ajuste tab
set sts=4 &quot; Ajuste tab
set sw=4 &quot; Ajuste tab
set autoindent &quot; Ajuste tab
set smartindent &quot; Ajuste tab
set smarttab &quot; Ajuste tab
set expandtab &quot; Ajuste tab
&quot;set number &quot; Mostra numero da linhas
EOF
$ sudo sed -i &#039;s/&quot;syntax on/syntax on/&#039; /etc/vim/vimrc
$ sudo sed -i &#039;s/&quot;set background=dark/set background=dark/&#039; /etc/vim/vimrc
</pre>
<p>Sou amante do terminal e muitas da ferramentas de terminal ajudam a debugar problemas, recomendo uma leitura do artigo: <a href="https://blog.remontti.com.br/5867" rel="noopener" target="_blank">Como melhorar a produtividade</a>. Tem alguns aplicações extras ai no meio também como filezilla, mas garanto tudo é útil!</p>
<pre class="remontti-code">$ sudo apt install htop iotop iftop hdparm locate traceroute tree \
  ipcalc sipcalc mtr-tiny whois dnsutils net-tools ncdu apt-transport-https \
  neofetch breeze bash-completion fzf curl grc bgpq4 nmap lm-sensors ncal \
  rtorrent links arping bmon tcpdump ethtool iptraf-ng mutter qbittorrent \
  filezilla vinagre rdesktop icedtea-netx default-jre kolourpaint -y
</pre>
<p>Provavelmente você utiliza VPNs então os pacotes a baixo não podem falar:</p>
<pre class="remontti-code">$ sudo apt install network-manager-gnome \
 network-manager-pptp-gnome \
 network-manager-vpnc-gnome \
 network-manager-ssh-gnome \
 network-manager-openvpn-gnome \
 network-manager-l2tp-gnome 
</pre>
<p>Eu gosto de dar uma personalizada no GNOME, vou deixar aqui algumas extensões que curto. (Use se te agradar).</p>
<pre class="remontti-code">$ sudo apt install gnome-shell-extension-manager gnome-tweaks  -y</pre>
<p>Abra a aplicação: <strong>Gereciador de Extensões</strong> e clique em <strong>Navegar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao1.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao1.png" alt="" width="862" height="654" class="alignnone size-full wp-image-7520" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao1.png 862w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao1-300x228.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao1-768x583.png 768w" sizes="auto, (max-width: 862px) 100vw, 862px" /></a></p>
<p>Na buscar pesquise por:<br />
<a href="https://extensions.gnome.org/extension/3193/blur-my-shell/" rel="noopener" target="_blank"><strong>Blur my Shell</strong></a> ela vai deixar acompanhado o papel de parede.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao2.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao2.png" alt="" width="1280" height="800" class="alignnone size-full wp-image-7521" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao2.png 1280w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao2-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao2-1024x640.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao2-768x480.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></a></p>
<p><a href="https://extensions.gnome.org/extension/4158/gnome-40-ui-improvements/" rel="noopener" target="_blank"><strong>Gnome 4x UI Improvements</strong></a> irá exibir as áreas de trabalho, inclusive você pode arrastar uma aplicação para dentro dela.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao3.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao3.png" alt="" width="1280" height="800" class="alignnone size-full wp-image-7522" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao3.png 1280w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao3-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao3-1024x640.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/06/Debian-12-Live-extensao3-768x480.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></a></p>
<p><a href="https://extensions.gnome.org/extension/2890/tray-icons-reloaded/" rel="noopener" target="_blank"><strong>Tray Icons: Reloaded</strong></a> caso você tem problema com algum ícones que não é exibido na barra, pode tentar usa-lo.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/tray-icon.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/tray-icon.png" alt="" width="400" height="200" class="alignnone size-full wp-image-6887" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/tray-icon.png 400w, https://blog.remontti.com.br/wp-content/uploads/2022/11/tray-icon-300x150.png 300w" sizes="auto, (max-width: 400px) 100vw, 400px" /></a></p>
<p><a href="https://extensions.gnome.org/extension/4679/burn-my-windows/" rel="noopener" target="_blank"><strong>Burn My Windows</strong></a> se você é das antigas e lembra do compiz vai gostar desse, janelinha explodindo, pegando fogo, e muitas animações. Nas configurações dessa extensão você encontra muita frescura rsrsrs<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/firulagem.gif" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/firulagem.gif" alt="" width="320" height="200" class="alignnone size-full wp-image-6888" /></a></p>
<p><a href="https://extensions.gnome.org/extension/4648/desktop-cube/" rel="noopener" target="_blank"><strong>Desktop Cube</strong></a> vai tornar suas áreas de trabalho em um cubo.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/cube.gif" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/cube.gif" alt="" width="320" height="180" class="alignnone size-full wp-image-6889" /></a></p>
<p><a href="https://extensions.gnome.org/extension/3724/net-speed-simplified/" rel="noopener" target="_blank"><strong>Net speed Simplified</strong></a> se você quiser acompanhar o trafego da sua interface de rede.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/trafego.gif" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/trafego.gif" alt="" width="356" height="64" class="alignnone size-full wp-image-6891" /></a></p>
<p><a href="https://extensions.gnome.org/extension/3396/color-picker/" rel="noopener" target="_blank"><strong>Color Picker</strong></a> se você precisa descobrir uma cor de qualquer objeto do seu desktop essa é uma ótima extensão.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/colorpicker.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/colorpicker.png" alt="" width="454" height="345" class="alignnone size-full wp-image-6892" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/colorpicker.png 454w, https://blog.remontti.com.br/wp-content/uploads/2022/11/colorpicker-300x228.png 300w" sizes="auto, (max-width: 454px) 100vw, 454px" /></a></p>
<p><a href="https://extensions.gnome.org/extension/750/openweather/" rel="noopener" target="_blank"><strong>OpenWeather</strong></a> informações de clima.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/clima.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/clima.png" alt="" width="606" height="302" class="alignnone size-full wp-image-6894" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/clima.png 606w, https://blog.remontti.com.br/wp-content/uploads/2022/11/clima-300x150.png 300w" sizes="auto, (max-width: 606px) 100vw, 606px" /></a></p>
<p><a href="https://extensions.gnome.org/extension/2458/bubblemail/" rel="noopener" target="_blank">Bubblemail</a> se você precisa acompanhar seus e-mails esse cara pode lhe ajudar bastante. é necessário a instalação do <a href="http://bubblemail.free.fr/downloads" rel="noopener" target="_blank">bubblemail</a>.</p>
<pre class="remontti-code">$ cd /tmp; wget http://bubblemail.free.fr/releases/debian/bubblemail_1.8-1_all.deb 
sudo apt install ./bubblemail_1.8-1_all.deb</pre>
<p>Agora basta configurar sua conta na extensão.</p>
<p>Existe muita personalização possíveis, para icones novos e themas crie dois diretórios. </p>
<pre class="remontti-code">$ mkdir ~/.themes
$ mkdir ~/.icons</pre>
<p>Vamos supor que queira alterar o cursor para um novo, vou baixar o <a href="https://www.gnome-look.org/p/999927/" rel="noopener" target="_blank">Cursor Breeze</a> que eu gosto (herança do KDE) faça download do mesmo. <em>(Ignore meus prints do ubuntu, reaproveitei)</em><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/breeze.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/breeze.png" alt="" width="625" height="71" class="alignnone size-full wp-image-6896" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/breeze.png 625w, https://blog.remontti.com.br/wp-content/uploads/2022/11/breeze-300x34.png 300w" sizes="auto, (max-width: 625px) 100vw, 625px" /></a><br />
<strong>Extraia</strong> o mesmo e mova para a pasta breeze para dentro de <strong>.icons</strong> que esta dentro da sua<strong> Pasta Pessoal</strong>, no linux tudo que começa com ponto é oculto, para exibi-los pressione <strong>CRTL+H</strong>.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor.png" alt="" width="1281" height="799" class="alignnone size-full wp-image-6897" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor.png 1281w, https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor-300x187.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor-1024x639.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor-768x479.png 768w" sizes="auto, (max-width: 1281px) 100vw, 1281px" /></a><br />
Em seguida abra <strong>Ajustes</strong>, em <strong>Aparência</strong>, <strong>Cursor</strong> selecione <strong>Breeze</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor2.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor2.png" alt="" width="1281" height="791" class="alignnone size-full wp-image-6898" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor2.png 1281w, https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor2-300x185.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor2-1024x632.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/cursor2-768x474.png 768w" sizes="auto, (max-width: 1281px) 100vw, 1281px" /></a></p>
<p>Alguns pacotes de icones/themas você encontra no repositório também. Um bem bonito é o Papirus.</p>
<pre class="remontti-code">$ sudo apt install papirus-icon-theme</pre>
<p>Vou deixar alguns Icones/Temas que acho bonito para os temas basta colocar eles na pasta  ~/.themes<br />
<a href="https://www.gnome-look.org/p/1477945" rel="noopener" target="_blank">https://www.gnome-look.org/p/1477945</a><br />
<a href="https://www.gnome-look.org/p/1201366" rel="noopener" target="_blank">https://www.gnome-look.org/p/1201366</a><br />
<a href="https://www.gnome-look.org/p/1357889" rel="noopener" target="_blank">https://www.gnome-look.org/p/1357889</a><br />
<a href="https://www.gnome-look.org/p/1013030" rel="noopener" target="_blank">https://www.gnome-look.org/p/1013030</a><br />
<a href="https://www.gnome-look.org/p/1661983" rel="noopener" target="_blank">https://www.gnome-look.org/p/1661983</a><br />
<a href="https://www.gnome-look.org/p/1678986" rel="noopener" target="_blank">https://www.gnome-look.org/p/1678986</a><br />
<a href="https://www.gnome-look.org/p/1348081" rel="noopener" target="_blank">https://www.gnome-look.org/p/1348081</a><br />
<a href="https://www.pling.com/p/1280977" rel="noopener" target="_blank">https://www.pling.com/p/1280977</a></p>
<p><strong>GOOGLE CHROME</strong><br />
Você pode manipular as extensões pelo Google Chrome também. Primeiramente vamos instala-lo.</p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
$ sudo apt install ./google-chrome-stable_current_amd64.deb chrome-gnome-shell -y</pre>
<p>Acesse no Google Chrome: <a href="https://chrome.google.com/webstore/detail/gnome-shell-integration/gphhapmejobijbbhgpjhcjognlahblep" rel="noopener" target="_blank">Integração com GNOME Shell</a> Clique em Usar no Chrome. Agora com a extensão instalada você pode administrar acessando: <a href="https://extensions.gnome.org/local/" rel="noopener" target="_blank">https://extensions.gnome.org/local/</a></p>
<p><strong>TELEGRAM</strong><br />
Telegram até esta no repositório porem recebe atualizações sempre atrasadas, etão vamos fazer a instalação manual, abra seu terminal:</p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://telegram.org/dl/desktop/linux -O tsetup.tar.xz
$ tar xvf tsetup.tar.xz
$ sudo mv Telegram/ /opt/
$ sudo chown $USER: /opt/Telegram/ -R
$ sudo ln -sf /opt/Telegram/Telegram /usr/bin/telegram
$ telegram &amp;</pre>
<p><strong>VIRTUALBOX 7</strong><br />
Vamos atualizar o repositório oficial do <a href="https://www.virtualbox.org/wiki/Linux_Downloads" rel="noopener" target="_blank">Vbox</a>.</p>
<pre class="remontti-code">$ wget -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo \
   gpg --dearmor --yes --output /usr/share/keyrings/oracle-virtualbox-2016.gpg</pre>
<pre class="remontti-code">$ sudo nano /etc/apt/sources.list.d/virtualbox.list </pre>
<pre class="remontti-code-plain">deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg]  https://download.virtualbox.org/virtualbox/debian bookworm contrib</pre>
<p>Salve e feche.</p>
<pre class="remontti-code">$ sudo apt update
$ sudo apt install virtualbox-7.0 -y
$ sudo usermod -a -G vboxusers $USER
$ cd /tmp
$ wget https://download.virtualbox.org/virtualbox/7.0.12/Oracle_VM_VirtualBox_Extension_Pack-7.0.12.vbox-extpack
$ VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-7.0.12.vbox-extpack</pre>
<p>Uma extensão do GNOME que você pode gostar é a <a href="https://extensions.gnome.org/extension/1415/virtualbox-applet/" rel="noopener" target="_blank"><strong>Virtualbox Applet</strong></a></p>
<p><strong>DROPBOX</strong></p>
<pre class="remontti-code">$ cd /tmp/
$ sudo apt install python3-gpg -y
$ wget &quot;https://www.dropbox.com/download?dl=packages/ubuntu/dropbox_2022.12.05_amd64.deb&quot; \
  -O dropbox.deb
$ sudo apt install ./dropbox.deb -y
$ apt update
$ apt upgrade
</pre>
<p>Não achei solução ainda para o erro apt-key, então comenti a linha do repositorio.</p>
<pre class="remontti-code">$ sudo nano /etc/apt/sources.list.d/dropbox.list</pre>
<p><strong>SUBLIME-TEXT</strong></p>
<pre class="remontti-code">$ wget -O- https://download.sublimetext.com/sublimehq-pub.gpg \
  | gpg --dearmor | sudo tee /usr/share/keyrings/sublimehq-archive-keyring.gpg &amp;&gt;/dev/null
$ echo &quot;deb [signed-by=/usr/share/keyrings/sublimehq-archive-keyring.gpg] \
  https://download.sublimetext.com/ apt/stable/&quot; | \
  sudo tee /etc/apt/sources.list.d/sublime-text.list
$ sudo apt update ; sudo apt install sublime-text -y</pre>
<p><strong>VSCODE</strong></p>
<pre class="remontti-code">$ cd /tmp
$ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor &gt; packages.microsoft.gpg
$ sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
$ sudo sh -c &#039;echo &quot;deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main&quot; &gt; /etc/apt/sources.list.d/vscode.list&#039;
$ sudo apt update ; sudo apt install code -y</pre>
<p><strong>TEAMVIEWER</strong></p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb
$ sudo apt install ./teamviewer_amd64.deb -y</pre>
<p><strong>ANYDESK</strong></p>
<pre class="remontti-code">$ wget -qO - https://keys.anydesk.com/repos/DEB-GPG-KEY \
  | sudo tee /usr/share/keyrings/anydesk.asc
$ echo &quot;deb [signed-by=/usr/share/keyrings/anydesk.asc] \
  http://deb.anydesk.com/ all main&quot; \
  |sudo tee /etc/apt/sources.list.d/anydesk-stable.list
$ sudo apt update
$ cd /tmp 
$ wget http://ftp.br.debian.org/debian/pool/main/p/pangox-compat/libpangox-1.0-0_0.0.2-5+b2_amd64.deb
$ sudo apt install ./libpangox-1.0-0_0.0.2-5+b2_amd64.deb -y
$ sudo apt install anydesk -y
$ sudo systemctl disable anydesk</pre>
<p><strong>SKYPE</strong><br />
Para os mais idosos (e olha que eu já abandonei ele :-D)</p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://repo.skype.com/latest/skypeforlinux-64.deb
$ sudo apt install ./skypeforlinux-64.deb -y</pre>
<p>Vai precisar ajustar o repositório para nao ter erro, como não uso não pesquisei. Mas remove do repositório que esta resolvido, se precisar atualizar baixe e instale novamente.</p>
<pre class="remontti-code">$ sudo rm /etc/apt/sources.list.d/skype-stable.list</pre>
<p><strong>ONLYOFFICE</strong><br />
Melhor pacote office na minha opnião.</p>
<pre class="remontti-code">$ cd /tmp
$ wget https://download.onlyoffice.com/install/desktop/editors/linux/onlyoffice-desktopeditors_amd64.deb 
$ sudo apt install ./onlyoffice-desktopeditors_amd64.deb -y</pre>
<p><strong>GOOGLE EARTH</strong></p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://dl.google.com/dl/earth/client/current/google-earth-pro-stable_current_amd64.deb
$ sudo apt install ./google-earth-pro-stable_current_amd64.deb -y</pre>
<p><strong>CALCULADORA IPV6</strong></p>
<pre class="remontti-code">$ sudo apt install python3-pip
$ pip install --break-system-packages ipaddr
$ sudo wget https://blog.remontti.com.br/arquivos/ip6calc_py3 -O /bin/ip6calc
$ sudo chmod a+x /bin/ip6calc
$ ip6calc 2804:f123::/32</pre>
<p><strong>AJUSTES INICIALIZAÇÃO</strong><br />
Você pode estranhar o NumLock não vir ativado na inicialização para resolver isso:</p>
<pre class="remontti-code">$ sudo apt install numlockx -y
$ mkdir ~/.config/autostart/ &amp;&gt;/dev/null
$ nano ~/.config/autostart/numlockx.desktop</pre>
<p>Adicione:</p>
<pre class="remontti-code">[Desktop Entry]
Type=Application
Exec=/usr/bin/numlockx on
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[pt_BR]=Inicia NumLock Ativo
Name=Inicia NumLock Ativo
Comment[pt_BR]=Inicia NumLock Ativo
Comment=Inicia NumLock Ativo
</pre>
<p>Outro problema que você pode encontrar dependendo do seu teclado, é que o ponto no teclado numérico ao usar algum aplicativo que esteja sendo executado pelo wine/playonlinux saia uma virgula. Abra seu winbox ai e teste. Se for seu caso abra o terminal e execute:</p>
<pre class="remontti-code">$ /usr/bin/xmodmap -e &#039;keycode 129 = period</pre>
<p>Resolveu, crie uma entrada na inicialização!<br />
$ nano ~/.config/autostart/pontowine.desktop<br />
Adicione:</p>
<pre class="remontti-code">[Desktop Entry]
Type=Application
Exec=/usr/bin/xmodmap -e &#039;keycode 129 = period&#039;
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[pt_BR]=Ponto Wine
Name=Ponto Wine
Comment[pt_BR]=Ponto Wine
Comment=Ponto Wine
</pre>
<p><strong>PRINT COM FLAMESHOT</strong><br />
Gnome melhorou bastante o print nas ultimas versões mais ainda gosto mais do flameshot</p>
<pre class="remontti-code">$ sudo apt install flameshot -y</pre>
<p>Para criar um atalho abra <strong>Configurações</strong> &#8211; <strong>Teclado</strong> > <strong>Atalhos de teclado</strong> > <strong>Veja e personalize atalhos</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho.png" alt="" width="1033" height="785" class="alignnone size-full wp-image-6930" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho.png 1033w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho-300x228.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho-1024x778.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho-768x584.png 768w" sizes="auto, (max-width: 1033px) 100vw, 1033px" /></a></p>
<p>Clique em <strong>Atalhos personalizados</strong> e Adicione um novo<br />
Nome: <strong>Print Flame</strong><br />
Comando: <strong>/usr/bin/flameshot gui</strong><br />
Associar a tecla Print (Meu exemplo vou usar CTRL+Print)<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho2.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho2.png" alt="" width="997" height="636" class="alignnone size-full wp-image-6931" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho2.png 997w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho2-300x191.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho2-768x490.png 768w" sizes="auto, (max-width: 997px) 100vw, 997px" /></a></p>
<pre class="remontti-code">$ flameshot config </pre>
<p>Faça os ajustes de configurações com as suas necessidades, eu desativo as notificações e uso Enter para copiar para área de transferência. </p>
<p><strong>GIMP</strong><br />
Se você precisa editar algumas imagens (É o concorrente do photoshop)</p>
<pre class="remontti-code"> sudo apt install gimp</pre>
<p><strong>SPOTIFY</strong></p>
<pre class="remontti-code">$ curl -sS https://download.spotify.com/debian/pubkey_7A3A762FAFD4A51F.gpg \
 | sudo gpg --dearmor --yes -o /etc/apt/trusted.gpg.d/spotify.gpg
$ echo &quot;deb http://repository.spotify.com stable non-free&quot; | sudo \
 tee /etc/apt/sources.list.d/spotify.list
$ sudo apt update; sudo apt install spotify-client -y</pre>
<p><strong>PLAYONLINUX</strong><br />
Para executar algumas aplicações <strong>.exe</strong> Exemplo um Winbox, The Dude (Os que mais me perguntam)&#8230; </p>
<pre class="remontti-code">$ sudo dpkg --add-architecture i386 ; sudo apt update ; sudo apt upgrade
$ sudo apt install playonlinux msttcorefonts</pre>
<p>Vou demonstrar como instalar o Dude e Winbox com o playonlinux, faça download dos mesmo, vamos te terminal né!</p>
<pre class="remontti-code">$ $ cd ~/Downloads
$ wget https://download.mikrotik.com/routeros/6.48.7/dude-install-6.48.7.exe
$ wget https://download.mikrotik.com/winbox/3.38/winbox.exe</pre>
<p>Abra o Playonlinux e clique em <strong>Instalar um program</strong> e em seguida <strong>Instalar um programa não listado</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_1.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_1.png" alt="" width="946" height="619" class="alignnone size-full wp-image-6901" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_1.png 946w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_1-300x196.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_1-768x503.png 768w" sizes="auto, (max-width: 946px) 100vw, 946px" /></a></p>
<p><strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_2.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_2.png" alt="" width="847" height="566" class="alignnone size-full wp-image-6902" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_2.png 847w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_2-300x200.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_2-768x513.png 768w" sizes="auto, (max-width: 847px) 100vw, 847px" /></a></p>
<p><strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_3.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_3.png" alt="" width="857" height="570" class="alignnone size-full wp-image-6903" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_3.png 857w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_3-300x200.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_3-768x511.png 768w" sizes="auto, (max-width: 857px) 100vw, 857px" /></a></p>
<p><strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_4.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_4.png" alt="" width="850" height="563" class="alignnone size-full wp-image-6904" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_4.png 850w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_4-300x199.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_4-768x509.png 768w" sizes="auto, (max-width: 850px) 100vw, 850px" /></a><br />
Selecione <strong>Editar ou atualizar um aplicativo existente </strong>e <strong>Avançar</strong></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_5.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_5.png" alt="" width="869" height="567" class="alignnone size-full wp-image-6905" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_5.png 869w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_5-300x196.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_5-768x501.png 768w" sizes="auto, (max-width: 869px) 100vw, 869px" /></a></p>
<p>Marque <strong>Exibir unidade virtuais</strong> selecione <strong>default</strong> e <strong>Avançar</strong>.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_6.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_6.png" alt="" width="862" height="561" class="alignnone size-full wp-image-6906" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_6.png 862w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_6-300x195.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_6-768x500.png 768w" sizes="auto, (max-width: 862px) 100vw, 862px" /></a></p>
<p><strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_7.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_7.png" alt="" width="838" height="550" class="alignnone size-full wp-image-6907" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_7.png 838w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_7-300x197.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_7-768x504.png 768w" sizes="auto, (max-width: 838px) 100vw, 838px" /></a></p>
<p>Selecione <strong>32bits </strong>e <strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_8.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_8.png" alt="" width="847" height="556" class="alignnone size-full wp-image-6908" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_8.png 847w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_8-300x197.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_8-768x504.png 768w" sizes="auto, (max-width: 847px) 100vw, 847px" /></a></p>
<p>Clique em <strong>Navegar</strong>, e procure o <em>dude-install-6.xx.x.exe</em> em Downloads e clique em <strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_9.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_9.png" alt="" width="848" height="553" class="alignnone size-full wp-image-6909" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_9.png 848w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_9-300x196.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_9-768x501.png 768w" sizes="auto, (max-width: 848px) 100vw, 848px" /></a></p>
<p>Instalador será iniciado, então clique em <strong>I Agree, Next, Next</strong>, mas <font color="red">não em <strong>Close</strong></font><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_10.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_10.png" alt="" width="867" height="569" class="alignnone size-full wp-image-6912" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_10.png 867w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_10-300x197.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_10-768x504.png 768w" sizes="auto, (max-width: 867px) 100vw, 867px" /></a></p>
<p><font color="red">Não clique em <strong>Close</strong></font> ainda!<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_13.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_13.png" alt="" width="887" height="577" class="alignnone size-full wp-image-6910" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_13.png 887w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_13-300x195.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_13-768x500.png 768w" sizes="auto, (max-width: 887px) 100vw, 887px" /></a></p>
<p>Abra o explore entre na pasta Download e copie o <strong>winbox.exe </strong>para<strong> PlayOnLinux&#8217;s virtual drives/default/drive_c/Program Files/Dude</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_14.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_14.png" alt="" width="1280" height="778" class="alignnone size-full wp-image-6913" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_14.png 1280w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_14-300x182.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_14-1024x622.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_14-768x467.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></a><br />
Se preferir pelo terminal:</p>
<pre class="remontti-code">$ cp ~/Downloads/winbox.exe \
   ~/PlayOnLinux\&#039;s\ virtual\ drives/default/drive_c/Program\ Files/Dude/</pre>
<p>Feito isso agora sim pode clicar em <strong>Close</strong>, desta forma todos os .exe do diretório da instalação irão aparecer para criar um atalho.</p>
<p>Selecione <strong>winbox.exe</strong> e clique em <strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_15.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_15.png" alt="" width="847" height="554" class="alignnone size-full wp-image-6914" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_15.png 847w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_15-300x196.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_15-768x502.png 768w" sizes="auto, (max-width: 847px) 100vw, 847px" /></a></p>
<p>De o nome <strong>Winbox </strong>para aplicação, e clique em <strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_16.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_16.png" alt="" width="847" height="547" class="alignnone size-full wp-image-6915" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_16.png 847w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_16-300x194.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_16-768x496.png 768w" sizes="auto, (max-width: 847px) 100vw, 847px" /></a></p>
<p>Faça o mesmo para o dude.exe<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_17.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_17.png" alt="" width="855" height="562" class="alignnone size-full wp-image-6917" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_17.png 855w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_17-300x197.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_17-768x505.png 768w" sizes="auto, (max-width: 855px) 100vw, 855px" /></a></p>
<p>Agora para finalizar escolha:<strong> Eu não quero criar outro atalho</strong>, e clique em <strong>Avançar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_18.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_18.png" alt="" width="842" height="554" class="alignnone size-full wp-image-6918" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_18.png 842w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_18-300x197.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_18-768x505.png 768w" sizes="auto, (max-width: 842px) 100vw, 842px" /></a></p>
<p>Pode fechar o PlayOnLinux<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_19.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_19.png" alt="" width="841" height="552" class="alignnone size-full wp-image-6919" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_19.png 841w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_19-300x197.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_19-768x504.png 768w" sizes="auto, (max-width: 841px) 100vw, 841px" /></a></p>
<p>Dois atalhos/arquivos [Dude.desktop Winbox.desktop] foram criado na Área de trabalho, porém você não irá ver nada nela, pois por ao logarmos no sistema com Gnome, a extensão Desktop con NG foi desativada (Caso queira ativar) eu não gosto ehehehe. Eu irei mover eles para o menu de aplicações do sistema, para isso basta mover esses atalhos para ~/.local/share/applications, vou fazer por comando que é menos print para esse tutorial hehehe.</p>
<pre class="remontti-code">$ mv ~/Área\ de\ trabalho/*.desktop ~/.local/share/applications</pre>
<p>Pronto você pode clicar com o direito e Fixar aos favoritos.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_20.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_20.png" alt="" width="1274" height="796" class="alignnone size-full wp-image-6920" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_20.png 1274w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_20-300x187.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_20-1024x640.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_20-768x480.png 768w" sizes="auto, (max-width: 1274px) 100vw, 1274px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_21.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_21.png" alt="" width="1266" height="790" class="alignnone size-full wp-image-6921" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_21.png 1266w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_21-300x187.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_21-1024x639.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_play_21-768x479.png 768w" sizes="auto, (max-width: 1266px) 100vw, 1266px" /></a></p>
<p>Um dia também interessante é copiar as fontes da MS para a unidade virtal, assim as aplicações não ficam bugadas.</p>
<pre class="remontti-code">$ cp /usr/share/fonts/truetype/msttcorefonts/* \
   ~/PlayOnLinux\&#039;s\ virtual\ drives/default/drive_c/windows/Fonts/</pre>
<p><strong>CLIENTE SSH</strong><br />
Meu cliente SSH é o próprio terminal, porém você deve usar um desses programinhas de fresco que tem salvo joão, josé e maria&#8230; <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f61b.png" alt="😛" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Como sou das antigas acabei que criando um Shell Script (usando dialog) para ir &#8220;catalogando&#8221; todos os servidores/roteadores que tenho acesso. Veja um exemplo simples:</p>
<pre class="remontti-code">$ sudo apt install dialog</pre>
<p>Crie um arquivo com:</p>
<pre class="remontti-code">$ nano vaiplaneta</pre>
<pre class="remontti-code-plain">#!/bin/bash
# Requer dialog
while : ; do
    resposta=$(
      dialog --stdout               \
             --title &#039;Acesso SSH&#039;  \
             --menu &#039;Selecione o Servidor:&#039; \
            0 0 0                   \
            1 &#039;IDENTIFICA - LALALA&#039; \
            2 &#039;IDENTIFICA - LALALA&#039; \
            3 &#039;IDENTIFICA - LALALA&#039; \
            4 &#039;IDENTIFICA - LALALA&#039; \
            5 &#039;IDENTIFICA - LALALA&#039; \
            6 &#039;IDENTIFICA - LALALA&#039; \
            7 &#039;IDENTIFICA - LALALA&#039; \
            8 &#039;IDENTIFICA - LALALA&#039; \
            9 &#039;IDENTIFICA - LALALA&#039; \
            0 &#039;Sair&#039; )

    [ $? -ne 0 ] &amp;&amp; break

    case &quot;$resposta&quot; in
         1) ssh -p 12345 usuario@10.10.10.10 ;;
         2) ssh -p 12345 usuario@10.10.10.10 ;;
         3) ssh -p 12345 usuario@10.10.10.10 ;;
         4) ssh -p 12345 usuario@10.10.10.10 ;;
         5) ssh -p 12345 usuario@10.10.10.10 ;;
         6) ssh -p 12345 usuario@10.10.10.10 ;;
         7) ssh -p 12345 usuario@10.10.10.10 ;;
         8) ssh -p 12345 usuario@10.10.10.10 ;;
         9) ssh -p 12345 usuario@10.10.10.10 ;;
         0) break ;;
    esac
done</pre>
<pre class="remontti-code">$ chmod +x vaiplaneta
$ ./vaiplaneta
</pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/dialog.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/dialog.png" alt="" width="845" height="569" class="alignnone size-full wp-image-6943" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/dialog.png 845w, https://blog.remontti.com.br/wp-content/uploads/2022/11/dialog-300x202.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/dialog-768x517.png 768w" sizes="auto, (max-width: 845px) 100vw, 845px" /></a></p>
<p>Outro modelinho mais elaborado sub seleção&#8230;</p>
<pre class="remontti-code">$ nano gogo</pre>
<pre class="remontti-code-plain">#!/bin/bash
# Requer dialog

janela=inicial

while : ; do

    case &quot;$janela&quot; in
        inicial)
            grupo=$(
                dialog --stdout \
                    --backtitle &#039;Acessos Remoto&#039; \
                    --title &#039;ACESSO&#039; \
                    --menu &#039;Selecione o Grupo:&#039;\
                    0 0 0 \
                    1 &#039;Selecionou 1&#039; \
                    2 &#039;Selecionou 2&#039; \
            )
            [ $? -ne 0 ] &amp;&amp; break
            case &quot;$grupo&quot; in
                1) janela=selecionou_1 ;;
                2) janela=selecionou_2 ;;
            esac
        ;;

        #####

        selecionou_1)
            anterior=inicial
            selecionou_1=$(
              dialog --stdout               \
                     --title &#039;Acesso SSH&#039;  \
                     --menu &#039;Selecione o Servidor:&#039; \
                    0 0 0                   \
                    1 &#039;IDENTIFICA 1a - LALALA&#039; \
                    2 &#039;IDENTIFICA 1b - LALALA&#039; \
                    3 &#039;IDENTIFICA 1c - LALALA&#039; \
                    0 &#039;Sair&#039; )

            [ $? -ne 0 ] &amp;&amp; janela=$anterio

            case &quot;$selecionou_1&quot; in
                 1) clear; echo &quot;IDENTIFICA 1a&quot;; ssh -p 12345 usuario@10.10.10.10 ;;
                 2) clear; echo &quot;IDENTIFICA 1b&quot;; ssh -p 12345 usuario@10.10.10.10 ;;
                 3) clear; echo &quot;IDENTIFICA 1c&quot;; ssh -p 12345 usuario@10.10.10.10 ;;
                 0) break ;;
            esac
        ;;

       #####

        selecionou_2)
            anterior=inicial
            selecionou_2=$(
              dialog --stdout               \
                     --title &#039;Acesso SSH&#039;  \
                     --menu &#039;Selecione o Servidor:&#039; \
                    0 0 0                   \
                    1 &#039;IDENTIFICA 2a - LALALA&#039; \
                    2 &#039;IDENTIFICA 2b - LALALA&#039; \
                    3 &#039;IDENTIFICA 2c - LALALA&#039; \
                    0 &#039;Sair&#039; )

            [ $? -ne 0 ] &amp;&amp; janela=$anterio

            case &quot;$selecionou_2&quot; in
                 1) clear; echo &quot;IDENTIFICA 2a&quot;; ssh -p 12345 usuario@10.10.10.10 ;;
                 2) clear; echo &quot;IDENTIFICA 2b&quot;;ssh -p 12345 usuario@10.10.10.10 ;;
                 3) clear; echo &quot;IDENTIFICA 2c&quot;;ssh -p 12345 usuario@10.10.10.10 ;;
                 0) break ;;
            esac
        ;;

        #####

        *)
            echo Abortado...
            exit

        #####

    esac

    retorno=$?
    [ $retorno -eq 1   ] &amp;&amp; janela=$anterior   # cancelar
    [ $retorno -eq 255 ] &amp;&amp; break              # Esc

done</pre>
<pre class="remontti-code">$ chmod +x gogo
$ ./gogo
</pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo1.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo1-300x161.png" alt="" width="300" height="161" class="alignnone size-medium wp-image-7585" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo1-300x161.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo1-768x411.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo1.png 848w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo2.png" data-rel="lightbox-gallery-jfERLAfy" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo2-300x166.png" alt="" width="300" height="166" class="alignnone size-medium wp-image-7584" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo2-300x166.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo2-768x426.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/06/gogo2.png 856w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>No meu caso utilizo Dropbox como nuvem, salvo meus script lá, então crio uma alias, assim em todos meus desktops ficam sincronizados os mesmo atalhos.<br />
No ZSH</p>
<pre class="remontti-code">$ nano ~/.zshrc</pre>
<p>No Bash</p>
<pre class="remontti-code">$ nano ~/.bashrc</pre>
<p>Adicione </p>
<pre class="remontti-code-plain">alias vaiplaneta=&#039;~/Dropbox/scripts/vaiplaneta&#039;
alias gogo=&#039;~/Dropbox/scripts/gogo&#039;</pre>
<p>Vou deixar aqui um manual para manualzinho do <a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/Dialog.manual.zip">Dialog para download</a>.</p>
<p>Um outro problema que tive foi com alguns equipamentos antigos (KexAlgorithms) algumas OLTs por exemplo, nete caso editei /etc/ssh/ssh_config e fiz as entradas de acordos com os prefixos, como no meu caso todas estão na classe 172.18.0.0/24</p>
<pre class="remontti-code">$ sudo nano /etc/ssh/ssh_config</pre>
<p>Adicionei ao final do arquivo:</p>
<pre class="remontti-code-plain">Host 172.18.0.*
    HostKeyAlgorithms ssh-dss
    KexAlgorithms diffie-hellman-group1-sha1</pre>
<p><strong>CHAVES SSH </strong><br />
Gerando as chaves</p>
<pre class="remontti-code">$ ssh-keygen -t rsa
$ nautilus ~/.ssh</pre>
<p>Salve suas chaves: id_rsa  id_rsa.pub<br />
Para instalar a chave em um servidor use o comando:</p>
<pre class="remontti-code">$ ssh-copy-id -p 22 remontti@xxx.xxx.xxx.xxx</pre>
<p>Se um dia precisar recuperando chaves do backup</p>
<pre class="remontti-code">$ cd /onde/vc/salvou/as/chaves/
$ cp id_rsa* /home/$USER/.ssh
$ chmod 600 /home/$USER/.ssh/id_rsa
$ chmod 644 /home/$USER/.ssh/id_rsa.pub</pre>
<p>Se quiser remover os jogos que vem nele (Gosto só do gnome-chess)</p>
<pre class="remontti-code">$ sudo apt purge \
 gnome-2048 \
 aisleriot \
 atomix \
 gnome-chess \
 five-or-more \
 hitori \
 iagno \
 gnome-klotski \
 lightsoff \
 gnome-mahjongg \
 gnome-mines \
 gnome-nibbles \
 quadrapassel \
 four-in-a-row \
 gnome-robots \
 gnome-sudoku \
 swell-foop \
 tali \
 gnome-taquin \
 gnome-tetravex
$ sudo apt autoremove
</pre>
<p>Uma coisa que estava acostumado era usar o botão Backspace para voltar um diretório, que atualmente é Alt + seta para esqueda. Para contornar isso:</p>
<pre class="remontti-code">$ sudo apt install python3-nautilus
$ nano ~/.local/share/nautilus-python/extensions/BackspaceBack.py</pre>
<p>Adicione:</p>
<pre class="remontti-code-plain"># Nautilus Backspace Back Extension
#
# Place me in ~/.local/share/nautilus-python/extensions/,
# ensure you have python-nautilus package, restrart Nautilus, and enjoy :)
#
# This script was written by molaeiali and is released to the public domain

import os, gi
gi.require_version(&#039;Nautilus&#039;, &#039;4.0&#039;)
from gi.repository import GObject, Nautilus, Gtk, Gio, GLib

def back():
                app = Gtk.Application.get_default()
                if not app.get_actions_for_accel(&quot;BackSpace&quot;):
                        app.set_accels_for_action( &quot;win.up&quot;, [&quot;BackSpace&quot;] )


class BackspaceBack(GObject.GObject, Nautilus.InfoProvider):
                def __init__(self):
                        pass

                def update_file_info(self, file):
                        back()
                        return None

</pre>
<p><strong>Cliente PPPoE</strong><br />
Crie o arquivo de configuração do PPPoE</p>
<pre class="remontti-code">$ sudo vim /etc/ppp/peers/meu-pppoe</pre>
<p>Adicione as linhas alterando eth0 pelo nome da sua interface de rede e user e password</p>
<pre class="remontti-code-plain">
# Interface de rede para a conexão PPPoE
plugin rp-pppoe.so eth0

# Nome de usuário e senha
user &quot;usuario&quot;
password &quot;senha&quot;

# Use o protocolo PAP para autenticação
noauth

# Persiste tentando a conexão em caso de falha
persist

# Use as opções padrão do pppd
usepeerdns
defaultroute

# Configurações para IPv6
+ipv6
ipv6cp-use-ipaddr
ipv6cp-accept-local
ipv6cp-accept-remote
</pre>
<p>Conectar PPPoE (Não esqueça de desativar a conexão cabeada pois ela vence o pppoe)</p>
<pre class="remontti-code">$ sudo pon meu-pppoe</pre>
<p>Para desativar a conexão PPPoE</p>
<pre class="remontti-code">$ sudo poff meu-pppoe</pre>
<h4>Firewall</h4>
<p>Para quem sai com seu computador por ai, que tal deixar um firewall de verdade!</p>
<pre class="remontti-code">$ sudo vim /etc/nftables.conf</pre>
<p>Ajuste para:</p>
<pre class="remontti-code-plain">
#!/usr/sbin/nft -f
flush ruleset

table inet filter {

    set ALLOWED_MACS {
        type ether_addr
        elements = {
            00:11:22:33:44:AA,
            00:11:22:33:44:BB,
        }
    }
    chain input {
        type filter hook input priority 0; policy drop;
        iif lo accept
        ct state established,related accept

        # Mikrotik Neigbor
        udp dport 5678 ct state new accept
        # Mikrotik permite os MAC
        meta l4proto udp meta pkttype { unicast } ether saddr @ALLOWED_MACS accept
    }
    chain forward {
        type filter hook forward priority 0;
    }
    chain output {
        type filter hook output priority 0;
    }
}</pre>
<p>Se você utiliza mikrotik, para que o Neigbor funcione precisa liberar a porta 5678 udp, e cadastrar os MAC do dispositivo que ira acessar (eu falei firewall de verdade!)</p>
<pre class="remontti-code">$ sudo systemctl enable nftables
$ sudo systemctl restart nftables</pre>
<p>Formata esse Windows ai p***** <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br />
Abraço!</p>
<p><strong>Gostou? Se quiser apoiar o blog e fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>O post <a href="https://blog.remontti.com.br/7512">Um pouco do meu ambiente de trabalho com Debian 12 Bookworm e Gnome 43</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7512/feed</wfw:commentRss>
			<slash:comments>20</slash:comments>
		
		
			</item>
		<item>
		<title>Instalação do Zabbix 6 LTS + NGINX + PostgreSQL + Debian 12 Bookworm</title>
		<link>https://blog.remontti.com.br/7411</link>
					<comments>https://blog.remontti.com.br/7411#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Wed, 14 Jun 2023 18:23:53 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[administração]]></category>
		<category><![CDATA[automação]]></category>
		<category><![CDATA[banco de dados]]></category>
		<category><![CDATA[Configuração]]></category>
		<category><![CDATA[configuração do NGINX]]></category>
		<category><![CDATA[Debian 12 Bookworm]]></category>
		<category><![CDATA[escalabilidade]]></category>
		<category><![CDATA[ferramenta]]></category>
		<category><![CDATA[gerenciamento]]></category>
		<category><![CDATA[infraestrutura]]></category>
		<category><![CDATA[instalaçao]]></category>
		<category><![CDATA[instalação do Zabbix]]></category>
		<category><![CDATA[integração com o PostgreSQL]]></category>
		<category><![CDATA[monitoramento]]></category>
		<category><![CDATA[monitoramento de rede]]></category>
		<category><![CDATA[monitoramento de servidores]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[redes]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[Servidor]]></category>
		<category><![CDATA[servidores web]]></category>
		<category><![CDATA[setup]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[TI]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[tutorial Debian 12 Bookworm]]></category>
		<category><![CDATA[tutorial NGINX]]></category>
		<category><![CDATA[tutorial passo a passo]]></category>
		<category><![CDATA[tutorial PostgreSQL]]></category>
		<category><![CDATA[tutorial Zabbix 6 LTS]]></category>
		<category><![CDATA[Zabbix 6 LTS]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7411</guid>

					<description><![CDATA[<p>O Zabbix é uma solução de nível enterprise, de código aberto. O Zabbix é um software que monitora vários parâmetros da rede, dos servidores e da saúde dos serviços. Utiliza-se de um mecanismo flexível&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7411">Instalação do Zabbix 6 LTS + NGINX + PostgreSQL + Debian 12 Bookworm</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/06/zabbix_6_debian_12.jpg" alt="" width="720" height="340" class="alignnone size-full wp-image-7421" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/06/zabbix_6_debian_12.jpg 720w, https://blog.remontti.com.br/wp-content/uploads/2023/06/zabbix_6_debian_12-300x142.jpg 300w, https://blog.remontti.com.br/wp-content/uploads/2023/06/zabbix_6_debian_12-520x245.jpg 520w" sizes="auto, (max-width: 720px) 100vw, 720px" /></p>
<p>O <strong>Zabbix</strong> é uma solução de nível enterprise, de código aberto. O Zabbix é um software que monitora vários parâmetros da rede, dos servidores e da saúde dos serviços. Utiliza-se de um mecanismo flexível de notificação que permite configurar alertas por e-mail entre outros como Telegram, para praticamente qualquer evento. As notificações permitem que se reaja rapidamente à problemas no ambiente. O Zabbix oferece excelentes recursos de relatórios e visualização de dados armazenados. Isso faz com que o Zabbix seja a ferramenta ideal para planejamento de capacidade.</p>
<h4>Requisitos Debian 12 Bookworm </h4>
<p>&#8211; <a href="https://blog.remontti.com.br/7236" rel="noopener" target="_blank">Instalação do Debian 12 Bookworm limpa passo-a-passo</a><br />
&#8211; <a href="https://blog.remontti.com.br/7413" rel="noopener" target="_blank">Servidor WEB NGINX + PHP 8.2 + PostgreSQL +Let’s Encrypt Debian 12 Bookworm (LNP)</a></p>
<h1>Instalação do Zabbix 6 LTS </h1>
<p>Para instalação do Zabbix vamos incluir o repositório do oficial do Zabbix Versão 6 LTS.</p>
<pre class="remontti-code"># su -
# cd /tmp
# apt install wget</pre>
<p><strong>Repositório  Debian 12</strong></p>
<pre class="remontti-code"># cd /tmp/
# wget https://repo.zabbix.com/zabbix/6.0/debian/pool/main/z/zabbix-release/zabbix-release_6.0-5+debian12_all.deb
# apt install ./zabbix-release_6.0-5+debian12_all.deb
# apt update; apt upgrade -y; apt update</pre>
<pre class="remontti-code"># apt install zabbix-server-pgsql zabbix-frontend-php php-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent</pre>
<p>Vamos criar uma base de dados chamada <strong>zabbix</strong> e um usuário também chamado de zabbix no PostgreSQL.<br />
Não esqueça de alterar a senha: Use o gerador de senha: <a href="https://senhasegura.remontti.com.br/" rel="noopener noreferrer" target="_blank">https://senhasegura.remontti.com.br/</a></p>
<pre class="remontti-code"># su - postgres
$ createuser --pwprompt zabbix
Digite a senha para a nova role:  &lt;SENHA ZABBIX&gt;
Digite-a novamente: &lt;SENHA ZABBIX&gt;
Senha: &lt;SENHA POSTGRES CASO TENHA DEFINIDO NA INSTALAÇÃO DO MESMO&gt;

$ createdb -O zabbix zabbix
Senha: &lt;SENHA POSTGRES&gt;</pre>
<p>Importe o esquema inicial e os dados. Você será solicitado a inserir a senha que foi criada anteriormente.</p>
<pre class="remontti-code">$ zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | psql -U zabbix -d zabbix &amp;&gt;/dev/null
Senha para usuário zabbix: : &lt;SENHA ZABBIX&gt;
$ exit</pre>
<p>Edite o arquivo zabbix_server.conf para informar os dados para conexão com do PostgreSQL.</p>
<pre class="remontti-code"># vim /etc/zabbix/zabbix_server.conf</pre>
<p>Procure por <strong># DBPassword=</strong> descomente e sete sua senha.</p>
<pre class="remontti-code">#...
DBPassword=&lt;SENHA ZABBIX&gt;
#...</pre>
<p>Ajuste o arquivo /etc/zabbix/php-fpm.conf, descomente e defina o fuso horário correto. <a href="https://secure.php.net/manual/pt_BR/timezones.america.php" rel="noopener noreferrer" target="_blank">timezone</a> Sua região</a>.</p>
<pre class="remontti-code"># vim /etc/zabbix/php-fpm.conf</pre>
<p>Adicione:</p>
<pre class="remontti-code">php_value[date.timezone] = America/Sao_Paulo</pre>
<p>Ajuste as configurações do nginx.</p>
<pre class="remontti-code"># vim /etc/nginx/conf.d/zabbix.conf </pre>
<p>Deixei algumas linhas comentadas como exemplo, faça de acordo com sua necessidade.</p>
<pre class="remontti-code">server {
        listen 80;
        listen [::]:80;
        server_name    zabbix.remontti.com.br localhost;
        #server_name   OU_SEU_IP;

        # Metodo simples para quem quer rodar em uma determinada porta
        #listen 8181;
        #listen [::]:8181;
        #server_name     _;

        root    /usr/share/zabbix;
        index   index.php;

        # Desmomente para deixar restringido apenas para determinados prefixos
        #allow  192.168.87.0/24;
        #allow  127.0.0.1;
        #allow  2001:0db8::/32;
        #allow  ::1;
        #deny   all;
        #error_page  403   http://www.remontti.com.br;

        client_max_body_size 100M;
 
        location = /favicon.ico {
                log_not_found   off;
        }

        location / {
                try_files       $uri $uri/ =404;
        }

        location /assets {
                access_log      off;
                expires         10d;
        }

        location ~ /\.ht {
                deny            all;
        }

        location ~ /(api\/|conf[^\.]|include|locale) {
                deny            all;
                return          404;
        }

        location ~ [^/]\.php(/|$) {
                fastcgi_pass    unix:/var/run/php/zabbix.sock;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_index   index.php;

                fastcgi_param   DOCUMENT_ROOT   /usr/share/zabbix;
                fastcgi_param   SCRIPT_FILENAME /usr/share/zabbix$fastcgi_script_name;
                fastcgi_param   PATH_TRANSLATED /usr/share/zabbix$fastcgi_script_name;

                include fastcgi_params;
                fastcgi_param   QUERY_STRING    $query_string;
                fastcgi_param   REQUEST_METHOD  $request_method;
                fastcgi_param   CONTENT_TYPE    $content_type;
                fastcgi_param   CONTENT_LENGTH  $content_length;

                fastcgi_intercept_errors        on;
                fastcgi_ignore_client_abort     off;
                fastcgi_connect_timeout         60;
                fastcgi_send_timeout            180;
                fastcgi_read_timeout            180;
                fastcgi_buffer_size             128k;
                fastcgi_buffers                 4 256k;
                fastcgi_busy_buffers_size       256k;
                fastcgi_temp_file_write_size    256k;
        }
}
</pre>
<p>Inicie o servidor Zabbix e os processos do agente e configure-os para que sejam iniciados durante o boot do sistema.</p>
<pre class="remontti-code"># systemctl enable zabbix-server zabbix-agent</pre>
<pre class="remontti-code"># vim /etc/php/8.2/fpm/php.ini</pre>
<p>Localize <strong>max_execution_time</strong> e altere de 30 para 600</p>
<pre class="remontti-code">max_execution_time = 600</pre>
<pre class="remontti-code"># systemctl restart zabbix-server zabbix-agent nginx php8.2-fpm</pre>
<p>Acesse em seu navegador <strong>http://seu_ip:porta</strong> ou <strong>http://zabbix.seudominio.com.br</strong></p>
<p><strong>Selecione o Edioma, e Próximo passo</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_1.png" alt="" width="1562" height="827" class="alignnone size-full wp-image-6360" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_1.png 1562w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_1-300x159.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_1-1024x542.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_1-768x407.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_1-1536x813.png 1536w" sizes="auto, (max-width: 1562px) 100vw, 1562px" /></p>
<p>Se tudo estiver ok: <strong>Próximo passo</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_2.png" alt="" width="1562" height="1275" class="alignnone size-full wp-image-6361" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_2.png 1562w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_2-300x245.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_2-1024x836.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_2-768x627.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_2-1536x1254.png 1536w" sizes="auto, (max-width: 1562px) 100vw, 1562px" /></p>
<p>Selecione <strong>PostgreSQL</strong> e informe a <strong>senha do usuário zabbix </strong>criada anteriormente, clique em <strong>Próximo passo</strong>.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_3.png" alt="" width="1562" height="804" class="alignnone size-full wp-image-6362" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_3.png 1562w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_3-300x154.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_3-1024x527.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_3-768x395.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_3-1536x791.png 1536w" sizes="auto, (max-width: 1562px) 100vw, 1562px" /></p>
<p><strong>Defina um nome, e selecione o Tema padrão e clique em Próximo passo</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_4.png" alt="" width="1562" height="766" class="alignnone size-full wp-image-6363" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_4.png 1562w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_4-300x147.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_4-1024x502.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_4-768x377.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_4-1536x753.png 1536w" sizes="auto, (max-width: 1562px) 100vw, 1562px" /></p>
<p><strong>Se tudo estiver ok, Próximo passo</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_5.png" alt="" width="1562" height="766" class="alignnone size-full wp-image-6364" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_5.png 1562w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_5-300x147.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_5-1024x502.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_5-768x377.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_5-1536x753.png 1536w" sizes="auto, (max-width: 1562px) 100vw, 1562px" /></p>
<p><strong>Fim</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_6.png" alt="" width="1562" height="766" class="alignnone size-full wp-image-6365" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_6.png 1562w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_6-300x147.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_6-1024x502.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_6-768x377.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_6-1536x753.png 1536w" sizes="auto, (max-width: 1562px) 100vw, 1562px" /></p>
<p>Entre com Usuário <strong>Admin</strong> e senha <strong>zabbix</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_7.png" alt="" width="1562" height="766" class="alignnone size-full wp-image-6366" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_7.png 1562w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_7-300x147.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_7-1024x502.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_7-768x377.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_7-1536x753.png 1536w" sizes="auto, (max-width: 1562px) 100vw, 1562px" /></p>
<p><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_8.png" alt="" width="1562" height="1151" class="alignnone size-full wp-image-6367" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_8.png 1562w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_8-300x221.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_8-1024x755.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_8-768x566.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/02/zabbix_6_install_8-1536x1132.png 1536w" sizes="auto, (max-width: 1562px) 100vw, 1562px" /></p>
<p>Simples né? Gostou e quer me ajudar? <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p>Fontes:<br />
<a href="https://www.zabbix.com/documentation/" rel="noopener" target="_blank">https://www.zabbix.com/documentation/</a></p>
<p>O post <a href="https://blog.remontti.com.br/7411">Instalação do Zabbix 6 LTS + NGINX + PostgreSQL + Debian 12 Bookworm</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7411/feed</wfw:commentRss>
			<slash:comments>11</slash:comments>
		
		
			</item>
		<item>
		<title>Conheça o Cockpit, uma poderosa ferramenta para administração de servidores através do seu navegador.</title>
		<link>https://blog.remontti.com.br/6591</link>
					<comments>https://blog.remontti.com.br/6591#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Sun, 19 Jun 2022 21:50:52 +0000</pubDate>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Bullseye]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[cockpit]]></category>
		<category><![CDATA[containers]]></category>
		<category><![CDATA[debian 11]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[libvirt]]></category>
		<category><![CDATA[libvirt-bin]]></category>
		<category><![CDATA[podman]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[virtualbox]]></category>
		<category><![CDATA[virtualização]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=6591</guid>

					<description><![CDATA[<p>Cockpit é uma interface de administração de servidor interativa. É fácil de usar e muito leve. O Cockpit interage diretamente com o sistema operacional a partir de uma sessão real do Linux em um&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/6591">Conheça o Cockpit, uma poderosa ferramenta para administração de servidores através do seu navegador.</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_cover.png" alt="" width="720" height="340" class="alignnone size-full wp-image-6622" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_cover.png 720w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_cover-300x142.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_cover-520x245.png 520w" sizes="auto, (max-width: 720px) 100vw, 720px" /><br />
Cockpit é uma interface de administração de servidor interativa. É fácil de usar e muito leve. O Cockpit interage diretamente com o sistema operacional a partir de uma sessão real do Linux em um navegador. Pode ser instalado em muitos sistemas operacionais Linux, incluindo Debian, Fedora e RHEL.</p>
<p>O Cockpit permite que os administradores de sistema executem facilmente tarefas como iniciar contêineres, virtualização, administração de armazenamento, configuração de rede, inspeção de logs e assim por diante.</p>
<p><strong>Distribuição utilizada neste tutorial:</strong><br />
Debian 11 (Bullseye) 64 bits <a href="https://blog.remontti.com.br/5792" rel="noopener" target="_blank">instalação mínima</a><br />
<a href="https://blog.remontti.com.br/5867" rel="noopener" target="_blank">Como melhorar a produtividade no seu Debian após instalação</a> (Recomendado)</p>
<h4>Ativando repositório Backports</h4>
<p>Usarei o repositório <a href="https://backports.debian.org/" rel="noopener" target="_blank">backports</a> para obter os pacotes mais recentes do Cockpit (tem mais recursos)</p>
<pre class="remontti-code"># . /etc/os-release 
# echo &quot;deb http://deb.debian.org/debian ${VERSION_CODENAME}-backports main&quot; &gt; /etc/apt/sources.list.d/backports.list
# apt update</pre>
<h4>Instalação Cockpit</h4>
<p>Iremos instalar o cockpit com algumas &#8220;extensões&#8221; básicas. </p>
<pre class="remontti-code"># apt install -t ${VERSION_CODENAME}-backports cockpit \
 cockpit-storaged cockpit-networkmanager cockpit-packagekit cockpit-doc lm-sensors </pre>
<p>Cockpit é executado utilizando a porta 9090, para verificar se a mesta esta aberta execute:</p>
<pre class="remontti-code"># ss -pnltu | grep 9090</pre>
<p>Abra em seu navegador <strong>http://HOST:9090/</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_login.png" alt="" width="1920" height="947" class="alignnone size-full wp-image-6593" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_login.png 1920w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_login-300x148.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_login-1024x505.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_login-768x379.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_login-1536x758.png 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /><br />
Entre com usuário e senha do sistema operacional. Todos usuários irão logar, sistemas como Ubuntu você pode entrar com seu usuário comum e solicitar permissões, mas neste caso como é um debian entrarei diretamente com <strong>root</strong>.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_1.png" alt="" width="1920" height="885" class="alignnone size-full wp-image-6594" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_1.png 1920w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_1-300x138.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_1-1024x472.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_1-768x354.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_1-1536x708.png 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_2.png" data-rel="lightbox-gallery-B7E21LWF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_2.png" alt="" width="1911" height="729" class="alignnone size-full wp-image-6601" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_2.png 1911w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_2-300x114.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_2-1024x391.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_2-768x293.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_2-1536x586.png 1536w" sizes="auto, (max-width: 1911px) 100vw, 1911px" /></a><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_3.png" data-rel="lightbox-gallery-B7E21LWF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_3.png" alt="" width="1919" height="839" class="alignnone size-full wp-image-6600" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_3.png 1919w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_3-300x131.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_3-1024x448.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_3-768x336.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_3-1536x672.png 1536w" sizes="auto, (max-width: 1919px) 100vw, 1919px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_4.png" data-rel="lightbox-gallery-B7E21LWF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_4.png" alt="" width="1920" height="1181" class="alignnone size-full wp-image-6599" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_4.png 1920w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_4-300x185.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_4-1024x630.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_4-768x472.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_4-1536x945.png 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_5.png" data-rel="lightbox-gallery-B7E21LWF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_5.png" alt="" width="1920" height="885" class="alignnone size-full wp-image-6598" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_5.png 1920w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_5-300x138.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_5-1024x472.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_5-768x354.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_5-1536x708.png 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_6.png" data-rel="lightbox-gallery-B7E21LWF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_6.png" alt="" width="1920" height="837" class="alignnone size-full wp-image-6597" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_6.png 1920w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_6-300x131.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_6-1024x446.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_6-768x335.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_6-1536x670.png 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_7.png" data-rel="lightbox-gallery-B7E21LWF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_7.png" alt="" width="1920" height="885" class="alignnone size-full wp-image-6596" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_7.png 1920w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_7-300x138.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_7-1024x472.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_7-768x354.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_7-1536x708.png 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_8.png" data-rel="lightbox-gallery-B7E21LWF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_8.png" alt="" width="1920" height="885" class="alignnone size-full wp-image-6595" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_8.png 1920w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_8-300x138.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_8-1024x472.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_8-768x354.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_8-1536x708.png 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>Umas das coisar que não gosto que durante a instalação do cockpit ganhamos um brinde um serviço de e-mail exim4, como nõ tenho menos interesse em ter ele rodando irei desativa-lo. </p>
<pre class="remontti-code"># systemctl stop exim4 
# systemctl disable exim4</pre>
<h3>Gerenciando Máquinas virtuais</h3>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/06/Libvirt_logo.svg_.png" data-rel="lightbox-gallery-B7E21LWF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/Libvirt_logo.svg_-300x134.png" alt="" width="300" height="134" class="alignnone size-medium wp-image-6605" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/Libvirt_logo.svg_-300x134.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/Libvirt_logo.svg_-1024x457.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/06/Libvirt_logo.svg_-768x343.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/06/Libvirt_logo.svg_.png 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><br />
Que tal subir VMs sem um sistema como VMware, Proxmox, Xen, Virtualbox, entre outros?<br />
&#8211; <a href="https://libvirt.org/dbus.html" rel="noopener" target="_blank">libvirt-dbus</a> para enumerar máquinas, obter notificações de atualização de status e operações como iniciar/parar/excluir<br />
&#8211; <a href="https://manpages.org/virt-install" rel="noopener" target="_blank">virt-install</a> e <a href="https://manpages.org/virt-xml" rel="noopener" target="_blank">virt-xml</a> para criar e modificar definições de máquina; ambos fazem parte do projeto <a href="https://virt-manager.org/" rel="noopener" target="_blank">virt-manager</a><br />
Instale os pacotes:</p>
<pre class="remontti-code"># . /etc/os-release
# apt install -t ${VERSION_CODENAME}-backports cockpit-machines \
 libvirt-daemon-driver-storage-gluster libvirt-daemon-driver-storage-iscsi-direct \
 libvirt-daemon-driver-storage-rbd libvirt-daemon-driver-storage-zfs libvirt-login-shell</pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_libvirt_1.png" data-rel="lightbox-gallery-B7E21LWF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_libvirt_1.png" alt="" width="1920" height="885" class="alignnone size-full wp-image-6603" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_libvirt_1.png 1920w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_libvirt_1-300x138.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_libvirt_1-1024x472.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_libvirt_1-768x354.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_libvirt_1-1536x708.png 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_libvirt_2.png" data-rel="lightbox-gallery-B7E21LWF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_libvirt_2.png" alt="" width="1920" height="885" class="alignnone size-full wp-image-6604" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_libvirt_2.png 1920w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_libvirt_2-300x138.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_libvirt_2-1024x472.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_libvirt_2-768x354.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_libvirt_2-1536x708.png 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/06/libvirt.png" data-rel="lightbox-gallery-B7E21LWF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/libvirt.png" alt="" width="1680" height="1837" class="alignnone size-full wp-image-6624" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/libvirt.png 1680w, https://blog.remontti.com.br/wp-content/uploads/2022/06/libvirt-274x300.png 274w, https://blog.remontti.com.br/wp-content/uploads/2022/06/libvirt-936x1024.png 936w, https://blog.remontti.com.br/wp-content/uploads/2022/06/libvirt-768x840.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/06/libvirt-1405x1536.png 1405w" sizes="auto, (max-width: 1680px) 100vw, 1680px" /></a></p>
<p>A imagens (discos) das VMs ficam em <strong>/var/lib/libvirt/images</strong></p>
<h2>Gerenciando Containers</h2>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/podman_logo-300x77.png" alt="" width="300" height="77" class="alignnone size-medium wp-image-6609" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/podman_logo-300x77.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/podman_logo-768x197.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/06/podman_logo.png 867w" sizes="auto, (max-width: 300px) 100vw, 300px" /><br />
Ativa no Cockpit interface para containers <strong><a href="https://podman.io/" rel="noopener" target="_blank">Podman</a></strong> que é uma ferramenta multiplataforma de linha de comando, Open-Source que permite criar e gerenciar imagens de contêiner diretamente.</p>
<p>Um dos maiores diferenciais do Podman é que ele não precisa de um serviço (daemon-less) rodando em background para funcionar, e é totalmente Gratuito e Open-Source. É uma alternativa amigável para quem já esta acostumado com Docker, já que é baseado na CLI do Docker, tendo compatibilidade com as imagens Docker e suportando tambem Dockerfile’s e sendo possível ate rodar docker-compose.yml com podman-compose.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/06/docker_vs_podman.png" data-rel="lightbox-gallery-B7E21LWF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/docker_vs_podman.png" alt="" width="567" height="347" class="alignnone size-full wp-image-6607" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/docker_vs_podman.png 567w, https://blog.remontti.com.br/wp-content/uploads/2022/06/docker_vs_podman-300x184.png 300w" sizes="auto, (max-width: 567px) 100vw, 567px" /></a><br />
Instale o pacote <a href="https://github.com/cockpit-project/cockpit-podman" rel="noopener" target="_blank"><strong>cockpit-podman</strong></a></p>
<pre class="remontti-code"># . /etc/os-release
# apt install -t ${VERSION_CODENAME}-backports cockpit-podman</pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_podman_1.png" data-rel="lightbox-gallery-B7E21LWF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_podman_1.png" alt="" width="1920" height="947" class="alignnone size-full wp-image-6618" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_podman_1.png 1920w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_podman_1-300x148.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_podman_1-1024x505.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_podman_1-768x379.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_podman_1-1536x758.png 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_podman_2.png" data-rel="lightbox-gallery-B7E21LWF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_podman_2.png" alt="" width="1918" height="885" class="alignnone size-full wp-image-6617" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_podman_2.png 1918w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_podman_2-300x138.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_podman_2-1024x472.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_podman_2-768x354.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_podman_2-1536x709.png 1536w" sizes="auto, (max-width: 1918px) 100vw, 1918px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_podman_3.png" data-rel="lightbox-gallery-B7E21LWF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_podman_3.png" alt="" width="1920" height="920" class="alignnone size-full wp-image-6616" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_podman_3.png 1920w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_podman_3-300x144.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_podman_3-1024x491.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_podman_3-768x368.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/06/debian_cockpit_podman_3-1536x736.png 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>Por segurança recomendo você aplicar um firewall com nftables (Já instalado no Debain 11) protegendo a porta 9090 apenas para sua rede local.</p>
<p><strong>Gostou? Se quiser apoiar o blog e fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p><em>Fontes</em>:<br />
<a href="https://cockpit-project.org/" rel="noopener" target="_blank">https://cockpit-project.org/</a><br />
<a href="https://github.com/cockpit-project/cockpit" rel="noopener" target="_blank">https://github.com/cockpit-project/cockpit</a>https://github.com/cockpit-project/cockpit-machines<br />
<a href="https://github.com/cockpit-project/cockpit-podman" rel="noopener" target="_blank">https://github.com/cockpit-project/cockpit-podman</a></p>
<p>O post <a href="https://blog.remontti.com.br/6591">Conheça o Cockpit, uma poderosa ferramenta para administração de servidores através do seu navegador.</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/6591/feed</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Monitorando no Zabbix as sessões BGP do RouterOS/Mikrotik (Script Python)</title>
		<link>https://blog.remontti.com.br/6075</link>
					<comments>https://blog.remontti.com.br/6075#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Wed, 17 Nov 2021 00:03:50 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mikrotik]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[bgp]]></category>
		<category><![CDATA[grafana]]></category>
		<category><![CDATA[monitoramenteo]]></category>
		<category><![CDATA[peer]]></category>
		<category><![CDATA[routeros]]></category>
		<category><![CDATA[zabbix]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=6075</guid>

					<description><![CDATA[<p>Neste tutorial vamos aprender a monitorar o status da sessão BGP no RouterOS/Mikrotik, bem como receber notificações se a sessão cair ou reconectar. PARA PARA PARA&#8230;. Quando escrevi este tutorial não existia esse tutorial&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/6075">Monitorando no Zabbix as sessões BGP do RouterOS/Mikrotik (Script Python)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/11/mikrotik_bgp_zabbix.png" alt="" width="750" height="375" class="alignnone size-full wp-image-6091" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/11/mikrotik_bgp_zabbix.png 750w, https://blog.remontti.com.br/wp-content/uploads/2021/11/mikrotik_bgp_zabbix-300x150.png 300w" sizes="auto, (max-width: 750px) 100vw, 750px" /></p>
<p>Neste tutorial vamos aprender a monitorar o status da sessão BGP no RouterOS/Mikrotik, bem como receber notificações se a sessão cair ou reconectar.</p>
<p><font color="red">PARA PARA PARA&#8230;.</font> Quando escrevi este tutorial não existia esse <a href="https://blog.remontti.com.br/6175" rel="noopener" target="_blank">tutorial aqui</a>, recomendo você lêr ele, pois descobrimos outra forma mais simples.</p>
<p>Como a mikrotik não disponibiliza essas informações via SNMP (até o momento, esperaça de pobre é a ultima que morre) teremos que usar das artimanhas, então nosso amigo <a target="_blank" href="https://github.com/gtkpad" rel="noopener">Gabriel Vargas Padilha</a> fez um script em python <a target="_blank" href="https://github.com/gtkpad/mikrotikBgpZabbixScript" rel="noopener">mikrotikBgpZabbixScript</b></a> para buscar as informações, eu montei a parte do <a target="_blank" href="https://github.com/remontti/Zabbix-Templates/edit/main/Mikrotik/BGP_ROUTEROS/" rel="noopener">Zabbix</b></a>. </p>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/11/dados.png" alt="" width="1305" height="272" class="alignnone size-full wp-image-6077" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/11/dados.png 1305w, https://blog.remontti.com.br/wp-content/uploads/2021/11/dados-300x63.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/11/dados-1024x213.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/11/dados-768x160.png 768w" sizes="auto, (max-width: 1305px) 100vw, 1305px" /></p>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/11/graficos_bgp.png" alt="" width="1666" height="724" class="alignnone size-full wp-image-6078" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/11/graficos_bgp.png 1666w, https://blog.remontti.com.br/wp-content/uploads/2021/11/graficos_bgp-300x130.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/11/graficos_bgp-1024x445.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/11/graficos_bgp-768x334.png 768w, https://blog.remontti.com.br/wp-content/uploads/2021/11/graficos_bgp-1536x668.png 1536w" sizes="auto, (max-width: 1666px) 100vw, 1666px" /></p>
<p>Se aida não tem o Zabbix instalado siga: <a target="_blank" href="https://blog.remontti.com.br/5517" rel="noopener">Instalação do Zabbix 5 LTS + Grafana + NGINX + PostgreSQL + Telegram</a></p>
<h1>Configuração</h2>
<p><strong>Requisitos: </strong><br />
&#8211; RouterOS 6.48 ou maior<br />
&#8211; Zabbix Server 5.x<br />
&#8211; Distribuição: Debian 10/11</p>
<h4>Configuração no RouterOS/Mikrotik</h4>
<p>Será necessário criar um usuário com permissões somente de leitura bem como restringindo o acesso para somente o IP do Zabbix, para fazer a conexão para coletas de dados.</p>
<pre class="remontti-code">/user add group=read address=IP_ZABBIX name=SEU_USUARIO password=SUA_SENHA</pre>
<p>Se desejar desativar as infomação de login. Isso fará com que você não veja mais nenhum login feito no router.</p>
<pre class="remontti-code">/system logging set 0 topics=info,!account</pre>
<p>OBS: Não use espaço e caracter especial nos nomes dos Peer&#8217;s e tenha nomes diferentes para cada Peer.</p>
<h4>Zabbix Serve/Linux</h4>
<p>Pacotes necessários:</p>
<pre class="remontti-code-plain"># apt install python3-pip
# pip3 install librouteros</pre>
<p>Acesse o diretório externalscripts e faça download.</p>
<pre class="remontti-code"># cd /usr/lib/zabbix/externalscripts/</pre>
<p>Faça download dos scripts </p>
<pre class="remontti-code"># apt install wget 
# wget https://raw.githubusercontent.com/gtkpad/mikrotikBgpZabbixScript/main/main.py -O mikrotikBgp.py
# wget https://raw.githubusercontent.com/gtkpad/mikrotikBgpZabbixScript/main/Mikrotik.py</pre>
<p>De permissão para os arquivos para execução e altere o dono para o usuário zabbix.</p>
<pre class="remontti-code"># touch mikrotikBgp.log 
# chmod +x mikrotikBgp.py 
# chown zabbix. mikrotikBgp.py Mikrotik.py mikrotikBgp.log 
# systemctl  restart zabbix-server</pre>
<p>Informações de uso do script:</p>
<pre class="remontti-code"># ./mikrotikBgp.py &lt;IP&gt; &lt;USER&gt; &lt;PASS&gt; &lt;API_PORT&gt; &lt;METHOD&gt;
# ./mikrotikBgp.py &lt;IP&gt; &lt;USER&gt; &lt;PASS&gt; &lt;API_PORT&gt; &lt;METHOD&gt; &lt;PEER_NAME&gt;
# ./mikrotikBgp.py &lt;IP&gt; &lt;USER&gt; &lt;PASS&gt; &lt;API_PORT&gt; &lt;METHOD&gt; &lt;PEER_NAME&gt; &lt;PEER_INFO&gt;</pre>
<p><strong>METHOD&#8217;s</strong><br />
<strong>getPeer</strong> &#8211; Retorna todos os peerings em formato json.<br />
<strong>getPeerInfo</strong> &#8211; Retorna o valor especifico de um peer.</p>
<p>Exemplos de uso:</p>
<pre class="remontti-code"># cd /usr/lib/zabbix/externalscripts
# ./mikrotikBgp.py 10.20.30.40 usuario senha 8728 getPeers</pre>
<pre class="remontti-code-plain">{
   &quot;data&quot;:[
      {
         &quot;{#PEER_NAME}&quot;:&quot;VS_BORDA_IPV4&quot;,
         &quot;{#PEER_AS}&quot;:12345,
         &quot;{#PEER_ADDR}&quot;:&quot;10.20.30.5&quot;
      },
      {
         &quot;{#PEER_NAME}&quot;:&quot;VS_BORDA_IPV6&quot;,
         &quot;{#PEER_AS}&quot;:12345,
         &quot;{#PEER_ADDR}&quot;:&quot;fd00:bacb:20:30::1&quot;
      },
      {
         &quot;{#PEER_NAME}&quot;:&quot;NAT_PPPOES_IPV4&quot;,
         &quot;{#PEER_AS}&quot;:65530,
         &quot;{#PEER_ADDR}&quot;:&quot;10.20.30.14&quot;
      }
   ]
}</pre>
<pre class="remontti-code">
# ./mikrotikBgp.py 10.20.30.40 usuario senha 8728 getPeerInfo VS_BORDA_IPV4
# ./mikrotikBgp.py 10.20.30.40 usuario senha 8728 getPeerInfo VS_BORDA_IPV4 name
# ./mikrotikBgp.py 10.20.30.40 usuario senha 8728 getPeerInfo VS_BORDA_IPV4 instance
# ./mikrotikBgp.py 10.20.30.40 usuario senha 8728 getPeerInfo VS_BORDA_IPV4 remote-address
# ./mikrotikBgp.py 10.20.30.40 usuario senha 8728 getPeerInfo VS_BORDA_IPV4 remote-as
# ./mikrotikBgp.py 10.20.30.40 usuario senha 8728 getPeerInfo VS_BORDA_IPV4 uptime
# ./mikrotikBgp.py 10.20.30.40 usuario senha 8728 getPeerInfo VS_BORDA_IPV4 established
# ./mikrotikBgp.py 10.20.30.40 usuario senha 8728 getPeerInfo VS_BORDA_IPV4 prefix-count
# ./mikrotikBgp.py 10.20.30.40 usuario senha 8728 getPeerInfo VS_BORDA_IPV4 advertisements</pre>
<p>Agora acesse seu Zabbix, e importe o Template:<br />
Faça download do template <a href="https://raw.githubusercontent.com/remontti/Zabbix-Templates/main/Mikrotik/BGP_ROUTEROS/RR%20Mikrotik%20-%20BGP%20-%20Script%20Python.xml" rel="noopener" target="_blank"><strong>RR Mikrotik &#8211; BGP &#8211; Script Python.xml</strong></a> e importe.</p>
<p>Crie um novo host, ou inclua o agent.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/11/zb1.png" alt="" width="1283" height="673" class="alignnone size-full wp-image-6081" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/11/zb1.png 1283w, https://blog.remontti.com.br/wp-content/uploads/2021/11/zb1-300x157.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/11/zb1-1024x537.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/11/zb1-768x403.png 768w" sizes="auto, (max-width: 1283px) 100vw, 1283px" /></p>
<p>Selecione o Template RR Mikrotik &#8211; BGP &#8211; Script. Você encontra <a href="https://github.com/remontti/Zabbix-Templates/tree/main/Mikrotik" rel="noopener" target="_blank">outros templates aqui</a> também.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/11/zb2.png" alt="" width="1016" height="237" class="alignnone size-full wp-image-6082" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/11/zb2.png 1016w, https://blog.remontti.com.br/wp-content/uploads/2021/11/zb2-300x70.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/11/zb2-768x179.png 768w" sizes="auto, (max-width: 1016px) 100vw, 1016px" /></p>
<p>Por fim, herde os macros do template, e clique em modificar para informar os seus dados em seguida clique em salvar<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/11/zb3.png" alt="" width="1200" height="596" class="alignnone size-full wp-image-6083" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/11/zb3.png 1200w, https://blog.remontti.com.br/wp-content/uploads/2021/11/zb3-300x149.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/11/zb3-1024x509.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/11/zb3-768x381.png 768w" sizes="auto, (max-width: 1200px) 100vw, 1200px" /></p>
<p>OBS: A descoberta esta ajustada para 6h, se desejar que seja mais rápido execute manualmente, para realizar esse procedimento faça:<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/11/zb4.png" alt="" width="1618" height="484" class="alignnone size-full wp-image-6085" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/11/zb4.png 1618w, https://blog.remontti.com.br/wp-content/uploads/2021/11/zb4-300x90.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/11/zb4-1024x306.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/11/zb4-768x230.png 768w, https://blog.remontti.com.br/wp-content/uploads/2021/11/zb4-1536x459.png 1536w" sizes="auto, (max-width: 1618px) 100vw, 1618px" /></p>
<h4>Grafana Modelo</h4>
<p>Apenas uma idéia para você montar uma dash bacaninha:<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/11/zb5.png" alt="" width="1779" height="288" class="alignnone size-full wp-image-6086" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/11/zb5.png 1779w, https://blog.remontti.com.br/wp-content/uploads/2021/11/zb5-300x49.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/11/zb5-1024x166.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/11/zb5-768x124.png 768w, https://blog.remontti.com.br/wp-content/uploads/2021/11/zb5-1536x249.png 1536w" sizes="auto, (max-width: 1779px) 100vw, 1779px" /></p>
<p>Vou deixar aqui <a href="https://raw.githubusercontent.com/remontti/Zabbix-Templates/main/Mikrotik/BGP_ROUTEROS/Grafana_Modelo.json">dash Modelo</a><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/11/grafana.png" alt="" width="1090" height="218" class="alignnone size-full wp-image-6087" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/11/grafana.png 1090w, https://blog.remontti.com.br/wp-content/uploads/2021/11/grafana-300x60.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/11/grafana-1024x205.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/11/grafana-768x154.png 768w" sizes="auto, (max-width: 1090px) 100vw, 1090px" /></p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a><br />
Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>O post <a href="https://blog.remontti.com.br/6075">Monitorando no Zabbix as sessões BGP do RouterOS/Mikrotik (Script Python)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/6075/feed</wfw:commentRss>
			<slash:comments>15</slash:comments>
		
		
			</item>
		<item>
		<title>Como instalar Netbox, ferramenta grátis para documentar sua rede</title>
		<link>https://blog.remontti.com.br/5412</link>
					<comments>https://blog.remontti.com.br/5412#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Fri, 19 Mar 2021 20:06:22 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[buster]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[documentação]]></category>
		<category><![CDATA[netbox]]></category>
		<category><![CDATA[nginx]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=5412</guid>

					<description><![CDATA[<p>Netbox é um aplicativo web de código aberto projetado para ajudar a gerenciar e documentar redes de computadores. Concebido inicialmente pela equipe de engenharia de rede da DigitalOcean , o NetBox foi desenvolvido especificamente&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/5412">Como instalar Netbox, ferramenta grátis para documentar sua rede</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/03/netbox.png" alt="" width="416" height="121" class="alignnone size-full wp-image-5421" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/03/netbox.png 416w, https://blog.remontti.com.br/wp-content/uploads/2021/03/netbox-300x87.png 300w" sizes="auto, (max-width: 416px) 100vw, 416px" /><br />
<a href="https://netbox.readthedocs.io/en/stable/" rel="noopener" target="_blank">Netbox</a> é um aplicativo web de código aberto projetado para ajudar a gerenciar e documentar redes de computadores. Concebido inicialmente pela equipe de engenharia de rede da DigitalOcean , o NetBox foi desenvolvido especificamente para atender às necessidades dos engenheiros de rede e infraestrutura. Abrange os seguintes aspectos de gerenciamento de rede:</p>
<p>Gerenciamento de endereço IP (IPAM) &#8211; redes e endereços IP, VRFs e VLANs</p>
<ul>
<li><strong>Racks de equipamentos</strong> &#8211; organizados por grupo e local</li>
<li><strong>Dispositivos</strong> &#8211; Tipos de dispositivos e onde estão instalados</li>
<li><strong>Conexões</strong> &#8211; Rede, console e conexões de energia entre dispositivos</li>
<li><strong>Virtualização</strong> &#8211; máquinas virtuais e clusters</li>
<li><strong>Circuitos de dados</strong> &#8211; circuitos e provedores de comunicações de longa distância</li>
<li><strong>Segredos</strong> &#8211; armazenamento criptografado de credenciais confidenciais</li>
</ul>
<p><strong>Requisitos:</strong><br />
Como de costume vou realizar a <a href="https://blog.remontti.com.br/2966" rel="noopener" target="_blank">instalação no<strong> Debian 10</strong> limpo </a>(sem pacotes extras)<br />
Vire root da forma correta, colocando após os su o &#8220;-&#8220;. </p>
<pre class="remontti-code">su -</pre>
<p>Instale os pacotes que serão requisitos.</p>
<pre class="remontti-code"># apt install vim net-tools wget redis-server supervisor\
  postgresql-contrib postgresql libpq-dev gcc\
  python-minimal python3 python3-pip python3-venv\
  python3-dev build-essential libxml2-dev libxslt1-dev\
  libffi-dev libssl-dev zlib1g-dev graphviz\
  nginx redis python3-setuptools</pre>
<p>Vire o usuário postgres, para poder criar nosso banco de dados.</p>
<pre class="remontti-code"># su - postgres</pre>
<p>Entre no terminal de comandos do postgres</p>
<pre class="remontti-code">$ psql</pre>
<p>Não esqueça de alterar a <strong>senha</strong>.</p>
<pre class="remontti-code">postgres=# CREATE DATABASE netboxdb;
postgres=# CREATE USER netboxuser WITH PASSWORD &#039;senha&#039;;
postgres=# GRANT ALL PRIVILEGES ON DATABASE netboxdb TO netboxuser;
postgres=# exit</pre>
<p> Verifique ser o serviço redis esta respondendo.</p>
<pre class="remontti-code">$ redis-cli ping</pre>
<p>Deve retornar : <strong>PONG</strong><br />
Retorne ao usuario root</p>
<pre class="remontti-code">exit</pre>
<p>Atualize o pip</p>
<pre class="remontti-code"># pip3 install --upgrade pip</pre>
<p>Agora vamos baixar o projeto NetBox. Verifique em <a href="https://github.com/netbox-community/netbox/releases" rel="noopener" target="_blank">https://github.com/netbox-community/netbox/releases</a> não existe uma nova versão.<br />
Entre em tmp (diretório temporário do linux que após um reboot é apagado) em seguida fizemos o download, extraímos, movemos para o diretório correto bem como ajustamos permissões do diretório que faremos upload de arquivos.</p>
<pre class="remontti-code"># cd /tmp
# wget https://github.com/netbox-community/netbox/archive/refs/tags/v2.10.8.tar.gz
# tar vxf v2.10.8.tar.gz
# mv netbox*/ /opt/netbox
# cd /opt/netbox/
# chown www-data. /opt/netbox/netbox/media/ -R</pre>
<p>Execute o comando abaixo para gerar nossa SECRET KEY que iremos usar em seguida.</p>
<pre class="remontti-code"># /opt/netbox/netbox/generate_secret_key.py </pre>
<p>Ex.:</p>
<pre class="remontti-code-plain">T7TE07O$j^Jqf9(*20q8M5kG4%NBIci#gEEn0$wuw*qodT7Lfo</pre>
<p>Copie o arquivo de configuração exemplo para ajustar com suas infomações</p>
<pre class="remontti-code"># cp /opt/netbox/netbox/netbox/configuration.example.py /opt/netbox/netbox/netbox/configuration.py
# vim /opt/netbox/netbox/netbox/configuration.py</pre>
<p>Localize as linhas como exemplo abaixo e altere os valores.</p>
<pre class="remontti-code">ALLOWED_HOSTS = [&#039;localhost&#039;,&#039;netbox.remontti.com.br&#039;]

DATABASE = {
    &#039;NAME&#039;: &#039;netboxdb&#039;,       # Database name
    &#039;USER&#039;: &#039;netboxuser&#039;,     # PostgreSQL username
    &#039;PASSWORD&#039;: &#039;senha&#039;,      # PostgreSQL password
    &#039;HOST&#039;: &#039;localhost&#039;,      # Database server
    &#039;PORT&#039;: &#039;&#039;,               # Database port (leave blank for default)
    &#039;CONN_MAX_AGE&#039;: 300,      # Max database connection age
}
# Gerado com o comando /opt/netbox/netbox/generate_secret_key.py
SECRET_KEY = &#039;T7TE07O$j^Jqf9(*20q8M5kG4%NBIci#gEEn0$wuw*qodT7Lfo&#039;

LOGIN_REQUIRED = True</pre>
<p>Instalaremos os pacotes do py requeiridos.</p>
<pre class="remontti-code"># pip3 install -r /opt/netbox/requirements.txt</pre>
<p>Vamos a instalção do bichão!</p>
<pre class="remontti-code"># cd /opt/netbox/netbox/
# python3 manage.py migrate</pre>
<pre class="remontti-code-plain">Operations to perform:
  Apply all migrations: admin, auth, circuits, contenttypes, dcim, extras, ipam, secrets, sessions, taggit, tenancy, users, virtualization
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying admin.0003_logentry_add_action_flag_choices... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying auth.0009_alter_user_last_name_max_length... OK
  Applying auth.0010_alter_group_name_max_length... OK
  Applying auth.0011_update_proxy_permissions... OK
  Applying auth.0012_alter_user_first_name_max_length... OK
  Applying tenancy.0001_initial... OK
  Applying tenancy.0002_tenant_group_optional... OK
  Applying tenancy.0003_unicode_literals... OK
  Applying taggit.0001_initial... OK
  Applying taggit.0002_auto_20150616_2121... OK
  Applying tenancy.0004_tags... OK
  Applying tenancy.0005_change_logging... OK
  Applying dcim.0001_initial... OK
  Applying ipam.0001_initial... OK
  Applying dcim.0002_auto_20160622_1821... OK
  Applying extras.0001_initial... OK
  Applying extras.0002_custom_fields... OK
  Applying extras.0003_exporttemplate_add_description... OK
  Applying extras.0004_topologymap_change_comma_to_semicolon... OK
  Applying extras.0005_useraction_add_bulk_create... OK
  Applying extras.0006_add_imageattachments... OK
  Applying extras.0007_unicode_literals... OK
  Applying extras.0008_reports... OK
  Applying extras.0009_topologymap_type... OK
  Applying extras.0010_customfield_filter_logic... OK
  Applying extras.0011_django2... OK
  Applying extras.0012_webhooks... OK
  Applying extras.0013_objectchange... OK
  Applying ipam.0002_vrf_add_enforce_unique... OK
  Applying dcim.0003_auto_20160628_1721... OK
  Applying dcim.0004_auto_20160701_2049... OK
  Applying dcim.0005_auto_20160706_1722... OK
  Applying dcim.0006_add_device_primary_ip4_ip6... OK
  Applying dcim.0007_device_copy_primary_ip... OK
  Applying dcim.0008_device_remove_primary_ip... OK
  Applying dcim.0009_site_32bit_asn_support... OK
  Applying dcim.0010_devicebay_installed_device_set_null... OK
  Applying ipam.0003_ipam_add_vlangroups... OK
  Applying ipam.0004_ipam_vlangroup_uniqueness... OK
  Applying ipam.0005_auto_20160725_1842... OK
  Applying ipam.0006_vrf_vlan_add_tenant... OK
  Applying ipam.0007_prefix_ipaddress_add_tenant... OK
  Applying ipam.0008_prefix_change_order... OK
  Applying ipam.0009_ipaddress_add_status... OK
  Applying ipam.0010_ipaddress_help_texts... OK
  Applying ipam.0011_rir_add_is_private... OK
  Applying dcim.0011_devicetype_part_number... OK
  Applying dcim.0012_site_rack_device_add_tenant... OK
  Applying dcim.0013_add_interface_form_factors... OK
  Applying dcim.0014_rack_add_type_width... OK
  Applying dcim.0015_rack_add_u_height_validator... OK
  Applying dcim.0016_module_add_manufacturer... OK
  Applying dcim.0017_rack_add_role... OK
  Applying dcim.0018_device_add_asset_tag... OK
  Applying dcim.0019_new_iface_form_factors... OK
  Applying dcim.0020_rack_desc_units... OK
  Applying dcim.0021_add_ff_flexstack... OK
  Applying dcim.0022_color_names_to_rgb... OK
  Applying ipam.0012_services... OK
  Applying ipam.0013_prefix_add_is_pool... OK
  Applying ipam.0014_ipaddress_status_add_deprecated... OK
  Applying ipam.0015_global_vlans... OK
  Applying ipam.0016_unicode_literals... OK
  Applying ipam.0017_ipaddress_roles... OK
  Applying ipam.0018_remove_service_uniqueness_constraint... OK
  Applying dcim.0023_devicetype_comments... OK
  Applying dcim.0024_site_add_contact_fields... OK
  Applying dcim.0025_devicetype_add_interface_ordering... OK
  Applying dcim.0026_add_rack_reservations... OK
  Applying dcim.0027_device_add_site... OK
  Applying dcim.0028_device_copy_rack_to_site... OK
  Applying dcim.0029_allow_rackless_devices... OK
  Applying dcim.0030_interface_add_lag... OK
  Applying dcim.0031_regions... OK
  Applying dcim.0032_device_increase_name_length... OK
  Applying dcim.0033_rackreservation_rack_editable... OK
  Applying dcim.0034_rename_module_to_inventoryitem... OK
  Applying dcim.0035_device_expand_status_choices... OK
  Applying dcim.0036_add_ff_juniper_vcp... OK
  Applying dcim.0037_unicode_literals... OK
  Applying dcim.0038_wireless_interfaces... OK
  Applying dcim.0039_interface_add_enabled_mtu... OK
  Applying dcim.0040_inventoryitem_add_asset_tag_description... OK
  Applying dcim.0041_napalm_integration... OK
  Applying dcim.0042_interface_ff_10ge_cx4... OK
  Applying dcim.0043_device_component_name_lengths... OK
  Applying virtualization.0001_virtualization... OK
  Applying ipam.0019_virtualization... OK
  Applying ipam.0020_ipaddress_add_role_carp... OK
  Applying dcim.0044_virtualization... OK
  Applying dcim.0045_devicerole_vm_role... OK
  Applying dcim.0046_rack_lengthen_facility_id... OK
  Applying dcim.0047_more_100ge_form_factors... OK
  Applying dcim.0048_rack_serial... OK
  Applying dcim.0049_rackreservation_change_user... OK
  Applying dcim.0050_interface_vlan_tagging... OK
  Applying dcim.0051_rackreservation_tenant... OK
  Applying dcim.0052_virtual_chassis... OK
  Applying dcim.0053_platform_manufacturer... OK
  Applying dcim.0054_site_status_timezone_description... OK
  Applying dcim.0055_virtualchassis_ordering... OK
  Applying dcim.0056_django2... OK
  Applying dcim.0057_tags... OK
  Applying dcim.0058_relax_rack_naming_constraints... OK
  Applying dcim.0059_site_latitude_longitude... OK
  Applying dcim.0060_change_logging... OK
  Applying dcim.0061_platform_napalm_args... OK
  Applying extras.0014_configcontexts... OK
  Applying extras.0015_remove_useraction... OK
  Applying extras.0016_exporttemplate_add_cable... OK
  Applying extras.0017_exporttemplate_mime_type_length... OK
  Applying extras.0018_exporttemplate_add_jinja2... OK
  Applying extras.0019_tag_taggeditem... OK
  Applying dcim.0062_interface_mtu... OK
  Applying dcim.0063_device_local_context_data... OK
  Applying dcim.0064_remove_platform_rpc_client... OK
  Applying dcim.0065_front_rear_ports... OK
  Applying circuits.0001_initial... OK
  Applying circuits.0002_auto_20160622_1821... OK
  Applying circuits.0003_provider_32bit_asn_support... OK
  Applying circuits.0004_circuit_add_tenant... OK
  Applying circuits.0005_circuit_add_upstream_speed... OK
  Applying circuits.0006_terminations... OK
  Applying dcim.0066_cables...
    Adding console connections... 0 cables created
    Adding power connections... 0 cables created
    Adding interface connections... 0 cables created
 OK
  Applying circuits.0007_circuit_add_description... OK
  Applying circuits.0008_circuittermination_interface_protect_on_delete... OK
  Applying circuits.0009_unicode_literals... OK
  Applying circuits.0010_circuit_status... OK
  Applying circuits.0011_tags... OK
  Applying circuits.0012_change_logging... OK
  Applying circuits.0013_cables...
    Adding circuit terminations... 0 cables created
 OK
  Applying circuits.0014_circuittermination_description... OK
  Applying circuits.0015_custom_tag_models... OK
  Applying circuits.0016_3569_circuit_fields... OK
  Applying circuits.0017_circuittype_description... OK
  Applying circuits.0018_standardize_description... OK
  Applying circuits.0019_nullbooleanfield_to_booleanfield... OK
  Applying virtualization.0002_virtualmachine_add_status... OK
  Applying virtualization.0003_cluster_add_site... OK
  Applying virtualization.0004_virtualmachine_add_role... OK
  Applying virtualization.0005_django2... OK
  Applying virtualization.0006_tags... OK
  Applying virtualization.0007_change_logging... OK
  Applying virtualization.0008_virtualmachine_local_context_data... OK
  Applying virtualization.0009_custom_tag_models... OK
  Applying virtualization.0010_cluster_add_tenant... OK
  Applying virtualization.0011_3569_virtualmachine_fields... OK
  Applying tenancy.0006_custom_tag_models... OK
  Applying virtualization.0012_vm_name_nonunique... OK
  Applying virtualization.0013_deterministic_ordering... OK
  Applying virtualization.0014_standardize_description... OK
  Applying ipam.0021_vrf_ordering... OK
  Applying ipam.0022_tags... OK
  Applying ipam.0023_change_logging... OK
  Applying ipam.0024_vrf_allow_null_rd... OK
  Applying ipam.0025_custom_tag_models... OK
  Applying ipam.0026_prefix_ordering_vrf_nulls_first... OK
  Applying ipam.0027_ipaddress_add_dns_name... OK
  Applying ipam.0028_3569_prefix_fields... OK
  Applying ipam.0029_3569_ipaddress_fields... OK
  Applying ipam.0030_3569_vlan_fields... OK
  Applying ipam.0031_3569_service_fields... OK
  Applying ipam.0032_role_description... OK
  Applying ipam.0033_deterministic_ordering... OK
  Applying ipam.0034_fix_ipaddress_status_dhcp... OK
  Applying ipam.0035_drop_ip_family... OK
  Applying ipam.0036_standardize_description... OK
  Applying secrets.0001_initial... OK
  Applying secrets.0002_userkey_add_session_key... OK
  Applying secrets.0003_unicode_literals... OK
  Applying secrets.0004_tags... OK
  Applying secrets.0005_change_logging... OK
  Applying secrets.0006_custom_tag_models... OK
  Applying dcim.0067_device_type_remove_qualifiers... OK
  Applying dcim.0068_rack_new_fields... OK
  Applying dcim.0069_deprecate_nullablecharfield... OK
  Applying dcim.0070_custom_tag_models... OK
  Applying extras.0020_tag_data... OK
  Applying extras.0021_add_color_comments_changelog_to_tag... OK
  Applying extras.0022_custom_links... OK
  Applying extras.0023_fix_tag_sequences... OK
  Applying extras.0024_scripts... OK
  Applying extras.0025_objectchange_time_index... OK
  Applying extras.0026_webhook_ca_file_path... OK
  Applying extras.0027_webhook_additional_headers... OK
  Applying extras.0028_remove_topology_maps... OK
  Applying extras.0029_3569_customfield_fields... OK
  Applying extras.0030_3569_objectchange_fields... OK
  Applying extras.0031_3569_exporttemplate_fields... OK
  Applying extras.0032_3569_webhook_fields... OK
  Applying extras.0033_graph_type_template_language... OK
  Applying extras.0034_configcontext_tags... OK
  Applying extras.0035_deterministic_ordering... OK
  Applying extras.0036_contenttype_filters_to_q_objects... OK
  Applying extras.0037_configcontexts_clusters... OK
  Applying extras.0038_webhook_template_support... OK
  Applying extras.0039_update_features_content_types... OK
  Applying extras.0040_standardize_description... OK
  Applying extras.0041_tag_description... OK
  Applying extras.0042_customfield_manager... OK
  Applying virtualization.0015_vminterface... OK
  Applying ipam.0037_ipaddress_assignment... OK
  Applying dcim.0071_device_components_add_description... OK
  Applying dcim.0072_powerfeeds... OK
  Applying dcim.0073_interface_form_factor_to_type... OK
  Applying dcim.0074_increase_field_length_platform_name_slug... OK
  Applying dcim.0075_cable_devices...
Updating cable device terminations...
 OK
  Applying dcim.0076_console_port_types... OK
  Applying dcim.0077_power_types... OK
  Applying dcim.0078_3569_site_fields... OK
  Applying dcim.0079_3569_rack_fields... OK
  Applying dcim.0080_3569_devicetype_fields... OK
  Applying dcim.0081_3569_device_fields... OK
  Applying dcim.0082_3569_interface_fields... OK
  Applying virtualization.0016_replicate_interfaces...
    Replicating 0 VM interfaces...
    Replicating assigned objects...
 OK
  Applying dcim.0082_3569_port_fields... OK
  Applying dcim.0083_3569_cable_fields... OK
  Applying dcim.0084_3569_powerfeed_fields... OK
  Applying dcim.0085_3569_poweroutlet_fields... OK
  Applying dcim.0086_device_name_nonunique... OK
  Applying dcim.0087_role_descriptions... OK
  Applying dcim.0088_powerfeed_available_power... OK
  Applying dcim.0089_deterministic_ordering... OK
  Applying dcim.0090_cable_termination_models... OK
  Applying dcim.0091_interface_type_other... OK
  Applying dcim.0092_fix_rack_outer_unit... OK
  Applying dcim.0093_device_component_ordering... OK
  Applying dcim.0094_device_component_template_ordering... OK
  Applying dcim.0095_primary_model_ordering... OK
  Applying dcim.0096_interface_ordering... OK
  Applying dcim.0097_interfacetemplate_type_other... OK
  Applying dcim.0098_devicetype_images... OK
  Applying dcim.0099_powerfeed_negative_voltage... OK
  Applying dcim.0100_mptt_remove_indexes... OK
  Applying dcim.0101_nested_rackgroups... OK
  Applying dcim.0102_nested_rackgroups_rebuild... OK
  Applying dcim.0103_standardize_description... OK
  Applying dcim.0104_correct_infiniband_types... OK
  Applying dcim.0105_interface_name_collation... OK
  Applying dcim.0106_role_default_color... OK
  Applying dcim.0107_component_labels... OK
  Applying dcim.0108_add_tags... OK
  Applying dcim.0109_interface_remove_vm... OK
  Applying dcim.0110_virtualchassis_name... OK
  Applying dcim.0111_component_template_description... OK
  Applying dcim.0112_standardize_components... OK
  Applying dcim.0113_nullbooleanfield_to_booleanfield... OK
  Applying dcim.0114_update_jsonfield... OK
  Applying dcim.0115_rackreservation_order... OK
  Applying dcim.0116_rearport_max_positions... OK
  Applying extras.0043_report... OK
  Applying extras.0044_jobresult... OK
  Applying extras.0045_configcontext_changelog... OK
  Applying extras.0046_update_jsonfield... OK
  Applying extras.0047_tag_ordering... OK
  Applying users.0001_api_tokens... OK
  Applying users.0002_unicode_literals... OK
  Applying users.0003_token_permissions... OK
  Applying users.0004_standardize_description... OK
  Applying users.0005_userconfig... OK
  Applying users.0006_create_userconfigs... OK
  Applying users.0007_proxy_group_user... OK
  Applying users.0008_objectpermission... OK
  Applying users.0009_replicate_permissions... OK
  Applying secrets.0007_secretrole_description... OK
  Applying secrets.0008_standardize_description... OK
  Applying secrets.0009_secretrole_drop_users_groups... OK
  Applying sessions.0001_initial... OK
  Applying taggit.0003_taggeditem_add_unique_index... OK
  Applying tenancy.0007_nested_tenantgroups... OK
  Applying tenancy.0008_nested_tenantgroups_rebuild... OK
  Applying tenancy.0009_standardize_description... OK
  Applying users.0010_update_jsonfield... OK
  Applying virtualization.0017_update_jsonfield... OK</pre>
<p>Crie seu usuário para o acesso web:</p>
<pre class="remontti-code"># python3 manage.py createsuperuser </pre>
<pre class="remontti-code-plain">Username (leave blank to use &#039;root&#039;): remontti
Email address: noc@remontti.com.br
Password: sua_senha
Password (again): sua_senha
Superuser created successfully</pre>
<pre class="remontti-code"># python3 manage.py collectstatic</pre>
<pre class="remontti-code-plain">979 static files copied to &#039;/opt/netbox/netbox/static&#039;.</pre>
<p>Vamos preparar nosso serviço web</p>
<pre class="remontti-code"># pip3 install gunicorn

# cat &lt;&lt;EOF | tee /opt/netbox/gunicorn_config.py
command = &#039;/usr/local/bin/gunicorn&#039;
pythonpath = &#039;/opt/netbox/netbox&#039;
bind = &#039;127.0.0.1:8001&#039;
workers = 3
user = &#039;www-data&#039;
EOF

# cat &lt;&lt;EOF | tee /etc/supervisor/conf.d/netbox.conf
[program:netbox]
command = gunicorn -c /opt/netbox/gunicorn_config.py netbox.wsgi
directory = /opt/netbox/netbox/
user = www-data
EOF

# systemctl restart supervisor</pre>
<p>Caso você não queira ter certificado e nem vai usar um domínio pode pular esta parte...<br />
Vou instalar o letsencrypt para gerar nosso certificado (pode preencher como quiser as perguntas). Caso queira instalar com um certificado "privado/invalido" <a href="https://netbox.readthedocs.io/en/stable/installation/5-http-server/" rel="noopener" target="_blank">veja aqui</a>.</p>
<pre class="remontti-code"># apt install letsencrypt python-certbot-nginx
# systemctl stop nginx
# letsencrypt --authenticator standalone --installer nginx -d netbox.remontti.com.br</pre>
<p>Crie um script para renomar o certificado automaticamente</p>
<pre class="remontti-code"># vim  /etc/renovassl.sh</pre>
<p>Adicione:</p>
<pre class="remontti-code">#!/bin/bash
# Para o nginx 
/usr/bin/systemctl stop nginx
# Aguarda 10 seg (tempo do nginx parar) 
sleep 10
# Renova o certificado
/usr/bin/certbot -q renew
# Aguarda o certificado renovar
sleep 30
# Restarta o nginx 
/usr/bin/systemctl restart nginx</pre>
<p>Altere as permissões para executa-lo e adicione o scrip ao cron para ser rodado todo dia 1º do mês. </p>
<pre class="remontti-code"># chmod +x /etc/renovassl.sh
# echo &#039;00 00   1 * *   root    /etc/renovassl.sh&#039; &gt;&gt; /etc/crontab
# systemctl restart cron</pre>
<p>Removemos o arquivo defautl do nosso servidor web (nginx), e iremos criar um novo, estou usando um domínio, caso esteja utilizando com IP privado apenas coloque um underline ou sei próprio IP. </p>
<pre class="remontti-code"># rm /etc/nginx/sites-enabled/default
# vim /etc/nginx/sites-available/netbox.conf</pre>
<p>Ajuste o diretório do seu certificado.  </p>
<pre class="remontti-code">server {
    listen 443 ssl;
    # Quiser limitar o acesso apenas a seus IPs
    #allow  192.168.1.0/24;
    #allow  2001:0db8::/32;
    #deny   all;
    #error_page  403   http://www.remontti.com.br;

    server_name netbox.remontti.com.br;

    ssl_certificate /etc/letsencrypt/live/netbox.remontti.com.br/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/netbox.remontti.com.br/privkey.pem;
    include /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

    client_max_body_size 25m;

    location /static/ {
        alias /opt/netbox/netbox/static/;
    }

    location / {
        proxy_pass http://localhost:8001;
        proxy_set_header X-Forwarded-Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

server {
    listen 80;
    server_name netbox.remontti.com.br;
    return 301 https://$host$request_uri;
}</pre>
<p>Ou a versão simplificada sem certificado, usando o seu endereço IP, se ainda assim deseja só usar o domínios basta colocar no lugar no IP.</p>
<pre class="remontti-code">server {
    listen 80;
    server_name 192.168.0.2;
    client_max_body_size 25m;

    location /static/ {
        alias /opt/netbox/netbox/static/;
    }

    location / {
        proxy_pass http://localhost:8001;
    }
}</pre>
<p>Remova assinatura do nginx (ninguém precisa saber a versão!)</p>
<pre class="remontti-code"># sed -i &#039;s/# server_tokens/server_tokens/&#039; /etc/nginx/nginx.conf</pre>
<p>Verifique se seu arquivo de configuração do nginx está correto:</p>
<pre class="remontti-code"># nginx -t</pre>
<pre class="remontti-code-plain">nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful</pre>
<p>Crie o atalho do arquivo de configuração dentro do diretório enabled para que o mesmo seja carregado ao restart o nginx.</p>
<pre class="remontti-code"># ln -s /etc/nginx/sites-available/netbox.conf /etc/nginx/sites-enabled/
# systemctl restart nginx</pre>
<p>Agora acesse seu domínios <em>"https://netbox.remontti.com.br/"</em> ou <em>"https://ip/"</em> e entre com sua senha criada anteriormente.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/03/netbox-2.png" alt="" width="1680" height="914" class="alignnone size-full wp-image-5418" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/03/netbox-2.png 1680w, https://blog.remontti.com.br/wp-content/uploads/2021/03/netbox-2-300x163.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/03/netbox-2-1024x557.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/03/netbox-2-768x418.png 768w, https://blog.remontti.com.br/wp-content/uploads/2021/03/netbox-2-1536x836.png 1536w" sizes="auto, (max-width: 1680px) 100vw, 1680px" /><br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/03/netbox-3.png" alt="" width="1680" height="982" class="alignnone size-full wp-image-5419" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/03/netbox-3.png 1680w, https://blog.remontti.com.br/wp-content/uploads/2021/03/netbox-3-300x175.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/03/netbox-3-1024x599.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/03/netbox-3-768x449.png 768w, https://blog.remontti.com.br/wp-content/uploads/2021/03/netbox-3-1536x898.png 1536w" sizes="auto, (max-width: 1680px) 100vw, 1680px" /></p>
<h3>PLUGINs</h3>
<p><strong>Netbox Topology Views</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2021/03/Netbox-Topology-Views.png" data-rel="lightbox-gallery-EBQkzcAF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/03/Netbox-Topology-Views-300x149.png" alt="" width="300" height="149" class="alignnone size-medium wp-image-5446" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/03/Netbox-Topology-Views-300x149.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/03/Netbox-Topology-Views-1024x510.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/03/Netbox-Topology-Views-768x382.png 768w, https://blog.remontti.com.br/wp-content/uploads/2021/03/Netbox-Topology-Views-1536x764.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2021/03/Netbox-Topology-Views.png 1903w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><br />
<a href="https://github.com/mattieserver/netbox-topology-views" rel="noopener" target="_blank">https://github.com/mattieserver/netbox-topology-views</a></p>
<p><strong>Netbox QR Code</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2021/03/Netbox-QR-Code.png" data-rel="lightbox-gallery-EBQkzcAF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/03/Netbox-QR-Code-300x146.png" alt="" width="300" height="146" class="alignnone size-medium wp-image-5451" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/03/Netbox-QR-Code-300x146.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/03/Netbox-QR-Code-1024x497.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/03/Netbox-QR-Code-768x373.png 768w, https://blog.remontti.com.br/wp-content/uploads/2021/03/Netbox-QR-Code-1536x745.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2021/03/Netbox-QR-Code-2048x994.png 2048w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><br />
<a href="https://github.com/k01ek/netbox-qrcode" rel="noopener" target="_blank">https://github.com/k01ek/netbox-qrcode</a></p>
<pre class="remontti-code"># pip install netbox-topology-views
# pip install netbox-qrcode
# echo netbox-topology-views &gt;&gt; /opt/netbox/local_requirements.txt
# echo netbox-qrcode &gt;&gt; /opt/netbox/local_requirements.txt
# vim /opt/netbox/netbox/netbox/configuration.py</pre>
<p>Adicione:</p>
<pre class="remontti-code">PLUGINS = [&#039;netbox_topology_views&#039;,&#039;netbox_qrcode&#039;]

PLUGINS_CONFIG = {
  &#039;netbox_topology_views&#039;: {
    &#039;device_img&#039;: &#039;router,switch,firewall&#039;,
    &#039;preselected_device_roles&#039;: &#039;Router, Firewall&#039;,
    &#039;allow_coordinates_saving&#039;: False,
    &#039;ignore_cable_type&#039;: &#039;&#039;,
  },
  &#039;netbox_qrcode&#039;: {
    &#039;with_text&#039;: True,
    &#039;text_fields&#039;: [&#039;name&#039;, &#039;serial&#039;],
    &#039;font&#039;: &#039;ArialMT&#039;,
    &#039;custom_text&#039;: &#039;Remontti\ntel.00-000-000-000&#039;,
    &#039;qr_version&#039;: 1,
    &#039;qr_error_correction&#039;: 0,
    &#039;qr_box_size&#039;: 4,
    &#039;qr_border&#039;: 4,
    &#039;cable&#039;: None,
    &#039;rack&#039;: {
      &#039;text_fields&#039;: [
        &#039;site&#039;,
        &#039;name&#039;,
        &#039;tenant&#039;
      ]
    },
    &#039;device&#039;: {
      &#039;text_fields&#039;: [
        &#039;name&#039;,
        &#039;serial&#039;,
        &#039;tenant&#039;,
        &#039;primary_ip&#039;
      ]
    }
  }
}
</pre>
<p>Copiamos os arquivos empacotados estáticos e reiniciamos o supervisor (netbox).</p>
<pre class="remontti-code"># python3 /opt/netbox/netbox/manage.py collectstatic --no-input
# systemctl restart supervisor</pre>
<h3>COMO ATUALIZAR PARA FUTURAS VERSÕES</h3>
<p>Procure pela ultima atualização: <a href="https://github.com/netbox-community/netbox/releases" rel="noopener" target="_blank">https://github.com/netbox-community/netbox/releases</a>, e copie a url da versão tar.gz, no exemplo estou atualizando para versão 2.10.8, então preste atenção no nome dos diretórios.<br />
Vou baixar e extrair:</p>
<pre class="remontti-code"># cd /tmp/
# wget https://github.com/netbox-community/netbox/archive/refs/tags/v2.10.8.tar.gz
# tar -xzf v2.10.8.tar.gz</pre>
<p>Copie os arquivos de configuração para a versão mais nova, preste atenção nos nomes de diretórios que contém a versãi no ex. "2.10.8" para a versão que esteja atualizando.</p>
<pre class="remontti-code"># cp /opt/netbox/netbox/netbox/configuration.py /tmp/netbox-2.10.8/netbox/netbox/
# cp /opt/netbox/local_requirements.txt /tmp/netbox-2.10.8/
# cp /opt/netbox/gunicorn_config.py /tmp/netbox-2.10.8/</pre>
<p>Copie os arquivos que você enviou, exemplo fotos etc.</p>
<pre class="remontti-code"># cp -pr /opt/netbox/netbox/media/ /tmp/netbox-2.10.8/netbox/</pre>
<p>Além disso, certifique-se de copiar ou vincular quaisquer scripts e relatórios personalizados que você fez.</p>
<pre class="remontti-code"># cp -r /opt/netbox/netbox/scripts /opt/netbox/netbox/
# cp -r /opt/netbox/netbox/reports /opt/netbox/netbox/</pre>
<p>Renomeia o antigo diretório (Não vamos remover, pois se der ruim basta volta-lo)</p>
<pre class="remontti-code"># mv /opt/netbox /opt/netbox_`date +%Y%m%d`</pre>
<p>Movemos nosso diretório atualizado para /opt/netbox.</p>
<pre class="remontti-code"># mv /tmp/netbox-2.10.8/ /opt/netbox</pre>
<p>Finalizamos copiando os arquivos empacotados estáticos e reiniciamos o supervisor (netbox).</p>
<pre class="remontti-code"># python3 /opt/netbox/netbox/manage.py collectstatic --no-input
# systemctl restart supervisor</pre>
<p>Espero que tenha gostado!</p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Participe do canal no <a href="https://t.me/blogremontti" rel="noopener noreferrer" target="_blank">telegram</a> para ficar atualizado sempre que publicar um novo tutorial. </p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Fonte:<br />
<a href="https://netbox.readthedocs.io/en/stable/installation" rel="noopener" target="_blank">https://netbox.readthedocs.io/en/stable/installation</a></p>
<p>O post <a href="https://blog.remontti.com.br/5412">Como instalar Netbox, ferramenta grátis para documentar sua rede</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/5412/feed</wfw:commentRss>
			<slash:comments>14</slash:comments>
		
		
			</item>
		<item>
		<title>Port knocking, aprenda a melhorar as política de segurança de seu firewall Linux e Mikrotik</title>
		<link>https://blog.remontti.com.br/5390</link>
					<comments>https://blog.remontti.com.br/5390#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Sat, 13 Mar 2021 21:23:34 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mikrotik]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[knocking]]></category>
		<category><![CDATA[port]]></category>
		<category><![CDATA[pptp]]></category>
		<category><![CDATA[proteção]]></category>
		<category><![CDATA[routeros]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[vpn]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=5390</guid>

					<description><![CDATA[<p>Port knocking é um método de abrir portas externamente em um firewall, realizando tentativas de conexões em uma sequemcia de portas fechadas pré-especificadas, e depois que esta sequência estiver correta as regras de firewall&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/5390">Port knocking, aprenda a melhorar as política de segurança de seu firewall Linux e Mikrotik</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Port knocking é um método de abrir portas externamente em um firewall, realizando tentativas de conexões em uma sequemcia de portas fechadas pré-especificadas, e depois que esta sequência estiver correta as regras de firewall são modificadas temporariamente para permitir que o host que &#8220;bateu&#8221; nas portas tenha acesso. </p>
<p>Vou ensinar realizar Port knocking no Linux com <strong>nftables</strong> e <strong>iptables</strong> e <strong>Mikrotik</strong> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Primeiramente precisamos escolher 4 portas que iremos bater para ganhar acesso.<br />
No meu exemplo irei usar as portas: <strong>52341, 28001, 60541, 30951</strong></p>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/03/toctoc.png" alt="" width="651" height="182" class="alignnone size-full wp-image-5392" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/03/toctoc.png 651w, https://blog.remontti.com.br/wp-content/uploads/2021/03/toctoc-300x84.png 300w" sizes="auto, (max-width: 651px) 100vw, 651px" /></p>
<p>Neste exemplo vou estar liberando as portas 22 e 23 após &#8220;batermos&#8221; nas portas 52341, 28001, 60541, 30951, e por 1min após bater nas portas teremos acesso as portas 22 e 23. </p>
<p>Se você é amante de linux, e seu desktop é um lindo linux instale o &#8220;batedor&#8221; knockd, não vamos usa-lo ainda, mas já podemos instala-lo!</p>
<pre class="remontti-code">$ sudo apt install knockd
$ knock -h
  -u, --udp       make all ports hits use UDP (default is TCP)
  -d, --delay &lt;t&gt;      wait &lt;t&gt; milliseconds between port hits
  -v, --verbose   be verbose
  -V, --version   display version
  -h, --help      this help</pre>
<p>Ele funciona assim:</p>
<pre class="remontti-code">$ knock -d 500 -v 192.168.1.1 52341 28001 60541 30951
hitting tcp 192.168.1.1:52341
hitting tcp 192.168.1.1:28001
hitting tcp 192.168.1.1:60541
hitting tcp 192.168.1.1:30951</pre>
<h3>Linux Nftables</h3>
<p>Primeiramente tenha o nftables instalado. Para distribuição baseadas em Debian use:</p>
<pre class="remontti-code"># apt install nftables
# systemctl enable nftables.service</pre>
<p>O arquivo de configuração padrão do nftables fica em /etc/nftables.conf, então vamos edita-lo:</p>
<pre class="remontti-code"># vim /etc/nftables.conf</pre>
<p>Lembre-se de criar o seu padrão de sequencia e portas, e adicione ao final do arquivo:</p>
<pre class="remontti-code">define protege_portas = {22,23}

table inet portknock {
   set clientes_ipv4 {
      type ipv4_addr
      flags timeout
   }

   set clientes_ipv6 {
      type ipv6_addr
      flags timeout
   }

   set toctoc_aberta_ipv4 {
      type ipv4_addr . inet_service
      flags timeout
   }

   set toctoc_aberta_ipv6 {
      type ipv6_addr . inet_service
      flags timeout
   }

   chain input {
      type filter hook input priority -10; policy accept;

      iifname &quot;lo&quot; return

      tcp dport 52341 add @toctoc_aberta_ipv4 {ip  saddr . 28001 timeout 60s}
      tcp dport 52341 add @toctoc_aberta_ipv6 {ip6 saddr . 28001 timeout 60s}
      tcp dport 28001 ip  saddr . tcp dport @toctoc_aberta_ipv4 add @toctoc_aberta_ipv4 {ip  saddr . 60541 timeout 60s}
      tcp dport 28001 ip6 saddr . tcp dport @toctoc_aberta_ipv6 add @toctoc_aberta_ipv6 {ip6 saddr . 60541 timeout 60s}
      tcp dport 60541 ip  saddr . tcp dport @toctoc_aberta_ipv4 add @toctoc_aberta_ipv4 {ip  saddr . 30951 timeout 60s}
      tcp dport 60541 ip6 saddr . tcp dport @toctoc_aberta_ipv6 add @toctoc_aberta_ipv6 {ip6 saddr . 30951 timeout 60s}
      tcp dport 30951 ip  saddr . tcp dport @toctoc_aberta_ipv4 add @clientes_ipv4 {ip  saddr timeout 10s} log prefix &quot;Portknock bem-sucedido: &quot;
      tcp dport 30951 ip6 saddr . tcp dport @toctoc_aberta_ipv6 add @clientes_ipv6 {ip6 saddr timeout 10s} log prefix &quot;Portknock bem-sucedido: &quot;

      tcp dport { $protege_portas } ip  saddr @clientes_ipv4 counter accept
      tcp dport { $protege_portas } ip6 saddr @clientes_ipv6 counter accept
      tcp dport { $protege_portas } ct state established,related counter accept
      tcp dport { $protege_portas } counter reject with tcp reset
   }
}
</pre>
<p>Restarte o nftables</p>
<pre class="remontti-code"># systemctl enable nftables.service</pre>
<p>Se você não usa linux em seu deskop <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f641.png" alt="🙁" class="wp-smiley" style="height: 1em; max-height: 1em;" /> para usar o knock, basta você jogar no seu navegador ip:porta, ex 192.168.1.1:52341 192.168.1.1:28001 192.168.1.1:60541 192.168.1.1:30951, lembre-se que você tem 1 minuto para bater nas portas e realizar sua conexão. Já já ensino como ter um servido web e liberar a porta em um click!</p>
<pre class="remontti-code">$ knock -d 500 -v 192.168.1.1 52341 28001 60541 30951</pre>
<p>Para acompanhar os logs:</p>
<pre class="remontti-code">#  tail -f /var/log/messages</pre>
<p>Realize o SSH (ou acesse o a porta que tenha protegido para testar)</p>
<h3>Linux Iptables</h3>
<p>Vou deixar um modelo com iptables, mas recomendo você ir migrando para nftables que em um futuro sera seu sucessor. Não esqueça de alterar as portas para sua realidade, em seu arquivo de firewall tenha:</p>
<pre class="remontti-code">#!/bin/bash
iptables -F
iptables -X
iptables -Z

iptables -N INTO-TOCTOC2
iptables -A INTO-TOCTOC2 -m recent --name TOCTOC1 --remove
iptables -A INTO-TOCTOC2 -m recent --name TOCTOC2 --set

iptables -N INTO-TOCTOC3
iptables -A INTO-TOCTOC3 -m recent --name TOCTOC2 --remove
iptables -A INTO-TOCTOC3 -m recent --name TOCTOC3 --set

iptables -N INTO-TOCTOC4
iptables -A INTO-TOCTOC4 -m recent --name TOCTOC3 --remove
iptables -A INTO-TOCTOC4 -m recent --name TOCTOC4 --set
iptables -A INTO-TOCTOC4 -j LOG --log-prefix &quot;Portknock bem-sucedido: &quot;

iptables -A INPUT -m recent --update --name TOCTOC1

iptables -A INPUT -p tcp --dport 52341 -m recent --set --name TOCTOC1
iptables -A INPUT -p tcp --dport 28001 -m recent --rcheck --seconds 30 --name TOCTOC1 -j INTO-TOCTOC2
iptables -A INPUT -p tcp --dport 60541 -m recent --rcheck --seconds 30 --name TOCTOC2 -j INTO-TOCTOC3
iptables -A INPUT -p tcp --dport 30951 -m recent --rcheck --seconds 60 --name TOCTOC3 -j INTO-TOCTOC4

# Para uma unica porta
#iptables -A INPUT -p tcp --dport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT
#iptables -A INPUT -p tcp --dport 22 -m recent --rcheck --seconds 60 --name TOCTOC4 -j ACCEPT
#iptables -A INPUT -p tcp --dport 22 -j DROP

# Multiplas portas
iptables -A INPUT -p tcp -m multiport --dport 22,23 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dport 22,23 -m recent --rcheck --seconds 60 --name TOCTOC4 -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dport 22,23 -j DROP</pre>
<p>Pode realizar os mesmo procedimento anteriores</p>
<h3>Mikrotik</h3>
<p>Aqui vai uma observação muito importante para quem usa routerOS, FIREWALL TEM LUGAR PARA SER FEITO, então não sai aplicando Port Knocking em todo o lugar. Por exemplo, muitos provedores tem o costume de deixar na sua borda routerOS o serviço PPTP ativo para fazer uma conexão quando esta fora da sua rede, este é um bom exemplo de NÃO se seguir, routerOS tem q ter muito cuidado quando se cria firewall, recomendo que para esse tipo de serviço como PPTP Server, seja rodado em um router paralelo (pode ser uma hAP lite, uma VM com o routerOS mas nunca em uma borda) até por que é muito fácil de quebrar o PPTP, então para não deixar a porta 1723/PPTP aberta iremos realizar o Port Knocking, aproveitei e inclui a porta 22, altere de acordo com suas necessidades. </p>
<pre class="remontti-code">/ip firewall filter
add action=add-src-to-address-list address-list=toc_toc_1  \
    address-list-timeout=30s chain=input comment=&quot;Port Knocking&quot;  \
    connection-state=new dst-port=52341 protocol=tcp
add action=add-src-to-address-list address-list=toc_toc_2  \
    address-list-timeout=30s chain=input connection-state=new dst-port=28001  \
    protocol=tcp src-address-list=toc_toc_1
add action=add-src-to-address-list address-list=toc_toc_3  \
    address-list-timeout=30s chain=input connection-state=new dst-port=60541  \
    protocol=tcp src-address-list=toc_toc_2
add action=add-src-to-address-list address-list=toc_toc_4 address-list-timeout=2m  \
    chain=input connection-state=new dst-port=30951 log=yes log-prefix=&quot;Portknock bem-sucedido&quot;  \
    protocol=tcp src-address-list=toc_toc_3
add action=drop chain=input connection-state=new dst-port=1723,22  \
    protocol=tcp src-address-list=!toc_toc_4</pre>
<p>Se você não usa linux em seu deskop <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f641.png" alt="🙁" class="wp-smiley" style="height: 1em; max-height: 1em;" /> para usar o knock, basta você jogar no seu navegador ip:porta, ex 192.168.1.1:52341 192.168.1.1:28001 192.168.1.1:60541 192.168.1.1:30951, lembre-se que você tem 1 minuto para bater nas portas e realizar sua conexão. Já já ensino como ter um servido web e liberar a porta em um click!</p>
<pre class="remontti-code">$ knock -d 500 -v 192.168.1.1 52341 28001 60541 30951</pre>
<p>para acompanhar, abra os <strong>Log</strong> sempre que um host acertar as sequencias de porta um log com <strong>Portknock bem-sucedido</strong> será exibido. Verifique também em IP-> Firewall -> Address List.</p>
<p>Realize o sua conexão PPTP ou SSH (ou acesse o a porta que tenha protegido para testar)</p>
<h3>Que tal uma central &#8220;toc toc&#8221; para nosso Port knocking <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f61b.png" alt="😛" class="wp-smiley" style="height: 1em; max-height: 1em;" /></h3>
<p>Leituras recomendadas:<br />
<strong><a href="https://blog.remontti.com.br/3464" rel="noopener" target="_blank">Como ter diversos sub/domínios no mesmo servidor?</a></strong><br />
<strong><a href="https://blog.remontti.com.br/3006" rel="noopener" target="_blank">Passo-a-passo como criar um servidor WEB</a></strong><br />
<strong><a href="https://blog.remontti.com.br/3086" rel="noopener" target="_blank">Servidor DNS seguro com Bind9</a></strong><br />
Crie um subdomínio em exemplo toctoc em seu servidor DNS apontando para algum servidor web que você tenha rodando.<br />
Ajustes o subdomíno em seu servidor web, neste ex com apache estou estarei incluído uma senha para acesso.</p>
<pre class="remontti-code"># mkdir /var/www/toctoc/
# htpasswd -c /var/www/toctoc/.htpasswd admin</pre>
<p>E defina a senha para seu acesso.</p>
<pre class="remontti-code"># vim /etc/apache2/sites-available/toctoc.conf</pre>
<pre class="remontti-code">&lt;virtualhost *:80&gt;
   ServerName toctoc.remontti.com.br
   ServerAdmin noc@remontti.com.br
   DocumentRoot /var/www/toctoc
   &lt;Directory /var/www/toctoc/&gt;
      Options FollowSymLinks
      AllowOverride All
      Require all denied
      &lt;RequireAll&gt;
          Require valid-user
          AuthBasicProvider file
          AuthType Basic
          AuthName &quot;Login&quot;
          AuthUserFile /var/www/toctoc/.htpasswd
      &lt;/RequireAll&gt;
   &lt;/Directory&gt; 
   ErrorLog ${APACHE_LOG_DIR}/error_toctoc.log
   CustomLog ${APACHE_LOG_DIR}/access_toctoc.log combined
&lt;/VirtualHost&gt;</pre>
<p>Criei uma paginazinha com php + javascript para executar nosso trabalho para não precisar decorar portas, sinta-se a vontade para melhorar o código: <a href="https://github.com/remontti/PortKnockingPHP" rel="noopener" target="_blank">https://github.com/remontti/PortKnockingPHP</a><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/03/toctoc-pork-knocking.png" alt="" width="1366" height="793" class="alignnone size-full wp-image-5402" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/03/toctoc-pork-knocking.png 1366w, https://blog.remontti.com.br/wp-content/uploads/2021/03/toctoc-pork-knocking-300x174.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/03/toctoc-pork-knocking-1024x594.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/03/toctoc-pork-knocking-768x446.png 768w" sizes="auto, (max-width: 1366px) 100vw, 1366px" /></p>
<pre class="remontti-code"># cd /var/www/toctoc/
# wget https://raw.githubusercontent.com/remontti/PortKnockingPHP/main/index.php</pre>
<p>Edite o arquivo index.php e altere a lista de seus servidores&#8230;</p>
<pre class="remontti-code"> # Nome - IP - Porta 1 - Porta 2 - Porta 3 - Porta 4 #
$array = [
    [&quot;RouterOS PPTP&quot;,&quot;192.168.1.1&quot;,&quot;1000&quot;,&quot;2000&quot;,&quot;3000&quot;,&quot;4000&quot;],
    [&quot;Servicor 2&quot;,&quot;192.168.2.1&quot;,&quot;111&quot;,&quot;222&quot;,&quot;333&quot;,&quot;4444&quot;],
    [&quot;Servicor 3&quot;,&quot;192.168.3.1&quot;,&quot;1000&quot;,&quot;2000&quot;,&quot;3000&quot;,&quot;4000&quot;],
    [&quot;Servicor 4&quot;,&quot;192.168.4.1&quot;,&quot;1000&quot;,&quot;2000&quot;,&quot;3000&quot;,&quot;4000&quot;],
];</pre>
<p>Agora acesse seu &#8220;<em><strong>toctoc.remontti.com.br</strong></em>&#8221; e seja feliz, e não se preocupe em estar decorando portas, basta você clicar em <strong>Toc Toc</strong>.</p>
<h4>Aplicativos para Celular/PC Windows</h4>
<p><em>Dica dos leitores</em><br />
<strong>Para iPhone:</strong> <a href="https://apps.apple.com/us/app/knockond/id333206277" rel="noopener" target="_blank">https://apps.apple.com/us/app/knockond/id333206277</a><br />
<strong>Para Android:</strong> <a href="https://play.google.com/store/apps/details?id=com.xargsgrep.portknocker&#038;hl=pt_BR&#038;gl=US" rel="noopener" target="_blank">https://play.google.com/store/apps/details?id=com.xargsgrep.portknocker&#038;hl=pt_BR&#038;gl=US</a><br />
<strong>Para PC Win.:</strong> <a href="http://gregsowell.com/?p=2020" rel="noopener" target="_blank">http://gregsowell.com/?p=2020</a></p>
<p>Espero que tenha gostado! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Participe do canal no <a href="https://t.me/blogremontti" rel="noopener noreferrer" target="_blank">telegram</a> para ficar atualizado sempre que publicar um novo tutorial. </p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>O post <a href="https://blog.remontti.com.br/5390">Port knocking, aprenda a melhorar as política de segurança de seu firewall Linux e Mikrotik</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/5390/feed</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Instalação do FRRouting (FRR) &#8211; Roteamento dinâmico no seu linux +Bônus iBGP</title>
		<link>https://blog.remontti.com.br/4771</link>
					<comments>https://blog.remontti.com.br/4771#respond</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Sun, 20 Sep 2020 18:20:40 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mikrotik]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[babel]]></category>
		<category><![CDATA[bgp]]></category>
		<category><![CDATA[frr]]></category>
		<category><![CDATA[frrouting]]></category>
		<category><![CDATA[ipv4]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[ospf]]></category>
		<category><![CDATA[ospf6]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[routing]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=4771</guid>

					<description><![CDATA[<p>FRRouting (FRR) é um conjunto de protocolos de roteamento IP para plataformas Linux e Unix que inclui daemons de protocolo para BGP, IS-IS, LDP, OSPF, PIM e RIP. A integração perfeita do FRR com&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/4771">Instalação do FRRouting (FRR) &#8211; Roteamento dinâmico no seu linux +Bônus iBGP</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a href="http://frrouting.org/" target="_blank" rel="noopener noreferrer">FRRouting</a> (FRR) é um conjunto de protocolos de roteamento IP para plataformas Linux e Unix que inclui daemons de protocolo para BGP, IS-IS, LDP, OSPF, PIM e RIP.</p>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/09/frr-remontti.png" alt="" width="700" height="274" class="alignnone size-full wp-image-5085" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/09/frr-remontti.png 700w, https://blog.remontti.com.br/wp-content/uploads/2020/09/frr-remontti-300x117.png 300w" sizes="auto, (max-width: 700px) 100vw, 700px" /></p>
<p>A integração perfeita do FRR com as pilhas de rede IP Linux/Unix nativas o torna aplicável a uma ampla variedade de casos de uso.</p>
<p>FRR tem suas raízes no projeto Quagga (Fork do Quagga). Na verdade, ele foi iniciado por muitos desenvolvedores de Quagga de longa data que combinaram seus esforços para melhorar a base bem estabelecida do Quagga para criar a melhor pilha de protocolo de roteamento disponível.</p>
<p>Uma ótima apresentação foi feita pelo <a href="https://www.linkedin.com/in/jrcorazza/" target="_blank" rel="noopener noreferrer">Junior Corazza</a>. no GTER 46.<br />
<strong><a href="https://www.youtube.com/watch?v=4-77r2PGKB4" target="_blank" rel="noopener noreferrer">BSDRP &#8211; Uma opção de softrouter com FRR</a></strong><br />
<iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/4-77r2PGKB4" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="allowfullscreen"></iframe><br />
Apresentação: <a href="ftp://ftp.registro.br/pub/gter/gter46/11-BSDRP.pdf" target="_blank" rel="noopener noreferrer">ftp://ftp.registro.br/pub/gter/gter46/11-BSDRP.pdf</a></p>
<p><strong>Requesitos</strong>:<br />
<a href="https://blog.remontti.com.br/2966" target="_blank" rel="noopener noreferrer">Debian 10 Stretch – Instalação Limpa</a><br />
<a href="https://blog.remontti.com.br/5792" target="_blank" rel="noopener noreferrer">Debian 11 Bullseye – Instalação Limpa</a></p>
<p>Antes de começar não esqueça de virar root da forma correta e atualizar os pacotes, e instalar alguns pacotes que serão necessários.</p>
<pre class="remontti-code"># su -
# apt update
# apt upgrade
# apt install curl apt-transport-https gnupg2 lsb-release tree net-tools</pre>
<h4>Instalação do Free Range Routing</h4>
<p>Pacotes presente do FRR no repositório do Debian 10 estão na versão 6.x.x, e Debian 11 na 7.5.x vou ir além e usar o repositório mais atualizado do FRR disponíveis em <a href="https://deb.frrouting.org" target="_blank" rel="noopener noreferrer">https://deb.frrouting.org</a>, mas fica a seu critério se desejar usar o repositório &#8220;default&#8221;.</p>
<p>Para usar pacotes do <a href="https://deb.frrouting.org/" rel="noopener" target="_blank">repositório FFR</a> faça:</p>
<pre class="remontti-code"># curl -s https://deb.frrouting.org/frr/keys.asc | apt-key add -</pre>
<p>Iremos usar a versão estável oficial mais recente &#8220;<strong>frr-stable</strong>&#8221; na variável &#8220;FRRVER&#8221;, mas é possíveis para também: <strong>frr-6 frr-7 frr-8 frr-stable</strong>.</p>
<pre class="remontti-code"># FRRVER=&quot;frr-stable&quot;
# echo deb https://deb.frrouting.org/frr $(lsb_release -s -c) $FRRVER | tee -a /etc/apt/sources.list.d/frr.list
# apt update</pre>
<p>Podemos entrar agora em nosso respositório varios pacores FRR:</p>
<pre class="remontti-code"># apt search frr</pre>
<p><strong>frr</strong> &#8211; FRRouting suite<br />
<strong>frr-doc</strong> &#8211; Manual<br />
<strong>frr-rpki-rtrlib</strong> &#8211; Suporte BGP RPKI<br />
<strong>frr-rpki-rtrlib-dbgsym</strong> &#8211; Debug do pacote frr-rpki-rtrlib<br />
<strong>frr-snmp </strong>&#8211; Suporte SNMP<br />
<strong>frr-snmp-dbgsym</strong> &#8211; Debug do pacote frr-snmp<br />
<strong>frr-pythontools</strong> &#8211; Python tools</p>
<p>Instalarei alguns mas fique a seu critério/necessidade.</p>
<pre class="remontti-code"># apt install frr frr-doc frr-pythontools frr-rpki-rtrlib frr-snmp</pre>
<p>Após instalação o diretorio /etc/ffr/ será criado juntamente com seus arquivos de configuração. Arquitetura do diretório:</p>
<pre class="remontti-code"># tree /etc/frr/</pre>
<pre class="remontti-code-plain">/etc/frr/
├── daemons
├── frr.conf
├── support_bundle_commands.conf
└── vtysh.conf</pre>
<p>Como de costume vamos fazer um backup dos arquivos originais caso cometermos alguma &#8220;cagada&#8221; <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f600.png" alt="😀" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<pre class="remontti-code"># mkdir /etc/frr/backups
# cp /etc/frr/daemons /etc/frr/backups/
# cp /etc/frr/frr.conf /etc/frr/backups/
# cp /etc/frr/vtysh.conf /etc/frr/backups/
# cp /etc/frr/support_bundle_commands.conf /etc/frr/backups/</pre>
<p>Antes de mais nada vamos entender um pouco como a aplicação funciona.</p>
<p>No FRR o roteamento é diferente de um roteamento tradicional, ele tem um conjunto de daemons que trabalham juntos para construir a tabela de roteamento.</p>
<p>Cada protocolo principal é implementado em seu próprio daemon, e esses daemons se comunicam com um daemon intermediário (zebra), que é responsável por coordenar as decisões de roteamento.</p>
<p>Esta arquitetura permite alta resiliência, uma vez que um erro, travamento ou exploração em um daemon de protocolo geralmente não afetará os outros. Também é flexível e extensível, uma vez que a modularidade torna mais fácil implementar novos protocolos e vinculá-los ao conjunto. Além disso, cada daemon implementa um sistema de plug-in permitindo que novas funcionalidades sejam carregadas em tempo de execução.</p>
<p>Ilustração da arquitetura em grande escala:</p>
<pre class="remontti-code-plain">+----+  +----+  +-----+  +----+  +----+  +----+  +-----+
|bgpd|  |ripd|  |ospfd|  |ldpd|  |pbrd|  |pimd|  |.....|
+----+  +----+  +-----+  +----+  +----+  +----+  +-----+
     |       |        |       |       |       |        |
+----v-------v--------v-------v-------v-------v--------v
|                                                      |
|                         Zebra                        |
|                                                      |
+------------------------------------------------------+
       |                    |                   |
       |                    |                   |
+------v------+   +---------v--------+   +------v------+
|             |   |                  |   |             |
| *NIX Kernel |   | Remote dataplane |   | ........... |
|             |   |                  |   |             |
+-------------+   +------------------+   +-------------+</pre>
<p>Todos os daemons FRR podem ser gerenciados por meio de um único shell de interface de usuário integrado chamado vtysh. O vtysh se conecta a cada daemon através de um soquete de domínio UNIX e então funciona como um proxy para a entrada do usuário. Além de um front-end unificado, o vtysh também oferece a capacidade de configurar todos os daemons usando um único arquivo de configuração por meio do modo de configuração integrado. Isso evita a sobrecarga de manter um arquivo de configuração separado para cada daemon.</p>
<p>Você encontra mais informações em: <a href="http://docs.frrouting.org/en/latest/overview.html" target="_blank" rel="noopener noreferrer">http://docs.frrouting.org/en/latest/overview.html</a></p>
<h4>Módulos do kernel</h4>
<p>Na <a href="http://docs.frrouting.org/en/latest/installation.html#linux-notes" target="_blank" rel="noopener noreferrer">documentação oficial de instalação</a> é recomendado fazer alguns ajustes nas configurações de sysctl do Linux, caso para sua realidade não seja necessário pule esta parte.</p>
<p>Os itens a seguir são definidos para habilitar o encaminhamento de IP no kernel:</p>
<p><strong>Encaminhamento IPv4 e IPv6</strong></p>
<pre class="remontti-code"># vim /etc/sysctl.conf</pre>
<p>Descomente:</p>
<pre class="remontti-code">net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1</pre>
<p><strong>Encaminhamento MPLS</strong> <em>(Ative se achar necessário)</em><br />
O suporte MPLS básico foi introduzido no kernel na versão 4.1 e recursos adicionais foram introduzidos na 4.3 e 4.5.</p>
<pre class="remontti-code"># vim /etc/modules-load.d/modules.conf</pre>
<p>Adicione</p>
<pre class="remontti-code"># Load MPLS Kernel Modules
mpls_router
mpls_iptunnel</pre>
<p>Veja quais o(s) nome(s) de sua(s) interface(s) e adicione:</p>
<pre class="remontti-code"># ip -br link |grep -v lo |awk &#039;{print $1}&#039;
# vim /etc/sysctl.conf</pre>
<p>Adicione ao final do arquivo (Anteção para o nome das interfaces: net.mpls.conf.[INTERFACE].input)</p>
<pre class="remontti-code"># Habilite o processamento de rótulo MPLS em todas as interfaces
net.mpls.conf.enp0s3.input=1
net.mpls.platform_labels=100000</pre>
<p><strong>Encaminhamento VRF </strong> (Ative se achar necessário)<br />
O seguinte impacta como os soquetes BGP TCP são gerenciados em VRFs:</p>
<pre class="remontti-code">net.ipv4.tcp_l3mdev_accept=0</pre>
<p>Com essa configuração, um soquete BGP TCP é aberto por VRF. Essa configuração garante que outros serviços TCP, como SSH, fornecidos para fins não VRF, sejam bloqueados nas interfaces Linux associadas a VRF.</p>
<pre class="remontti-code">net.ipv4.tcp_l3mdev_accept=1</pre>
<p>Reinicie seu servidor para carregar as novas configurações de kernel.</p>
<pre class="remontti-code"># reboot</pre>
<p>Acesse novamente seu servidor, não esqueça de virar root com o comando &#8220;su -&#8221;</p>
<p>Após instalado o FRR não fará nada. Isso ocorre porque os daemons devem ser ativados e até o momento não temos nenhum, para ativar edite o arquivo /etc/frr/daemons e determine quais daemons serão ativados colocando um <strong>yes</strong> no daemon desejado. No meu exemplo vou ativar o bgpd qual deixarei uma &#8220;brincadeira&#8221; de exemplo ao final.</p>
<pre class="remontti-code"># vim /etc/frr/daemons</pre>
<pre class="remontti-code-plain"># Para habilitar um daemon específico, simplesmente altere o &#039;no&#039; correspondente para &#039;yes&#039;, e será necessário reiniciar o serviço.
bgpd=yes 	# BGP
ospfd=no 	# OSPFD (OSPFv2 - IPv4)
ospf6d=no 	# OSPF6D (OSPFv3 - IPv6)
ripd=no 	# RIPD (RIPv2 - IPv4)
ripngd=no 	# RIPNGD (RIPv3 - IPv6)
isisd=no 	# ISISD (IS-IS - Protocolo igp Cisco)
pimd=no 	# PIMD (PIM - Roteamento Multicast)
ldpd=no 	# LDPD (LDP - Labels MPLS para rotas igp)
nhrpd=no 	# NHRPD (NHRP - roteamento entre tuneis)
eigrpd=no 	# EIGRPD (EIGRP - protocolo igp Cisco)
babeld=no 	# BABELD (BABEL - protocolo igp dual-stack)
sharpd=no 	# SHARPD (SHARP - protocolo exemplo zclient)
pbrd=no 	# PBRD (PBR - gestao de regras para Police Based Routing)
bfdd=no 	# BFDD (BFD - protocolo de adjacencia instantanea)
fabricd=no 	# FABRICD (OpenFabric)
vrrpd=no 	# VRRPD (Virtual Router Redundancy Protocol Deamon)

# Como o nome diz, isso faz com que o VTYSH aplique a configuração ao iniciar aos daemons. 
vtysh_enable=yes 

# O próximo conjunto de linhas controla quais opções são passadas aos daemons quando iniciados. 
zebra_options=&quot;  -A 127.0.0.1 -s 90000000&quot;
bgpd_options=&quot;   -A 127.0.0.1&quot;
ospfd_options=&quot;  -A 127.0.0.1&quot;
ospf6d_options=&quot; -A ::1&quot;
ripd_options=&quot;   -A 127.0.0.1&quot;
ripngd_options=&quot; -A ::1&quot;
isisd_options=&quot;  -A 127.0.0.1&quot;
pimd_options=&quot;   -A 127.0.0.1&quot;
ldpd_options=&quot;   -A 127.0.0.1&quot;
nhrpd_options=&quot;  -A 127.0.0.1&quot;
eigrpd_options=&quot; -A 127.0.0.1&quot;
babeld_options=&quot; -A 127.0.0.1&quot;
sharpd_options=&quot; -A 127.0.0.1&quot;
pbrd_options=&quot;   -A 127.0.0.1&quot;
staticd_options=&quot;-A 127.0.0.1&quot;
bfdd_options=&quot;   -A 127.0.0.1&quot;
fabricd_options=&quot;-A 127.0.0.1&quot;
vrrpd_options=&quot;  -A 127.0.0.1&quot;</pre>
<p>Como este tutorial é um laboratório irei ativar os daemons <strong>OSPFv2, OSPFv3, BABEL e BGP</strong>, (em produção ative somente o necessário) pois em seguida teremos alguns exemplos contribuídos pelo <a href="http://www.patrickbrandao.com/" target="_blank" rel="noopener noreferrer">Patrick Brandão</a>.</p>
<p>Alterações feitas no /etc/frr/daemons vamos reiniciar o FRR</p>
<pre class="remontti-code"># systemctl restart frr</pre>
<p>Verifique se o mesmo está ok</p>
<pre class="remontti-code"># systemctl status frr</pre>
<pre class="remontti-code-plain">● frr.service - FRRouting
   Loaded: loaded (/lib/systemd/system/frr.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2020-08-11 14:00:29 -03; 41s ago
     Docs: https://frrouting.readthedocs.io/en/latest/setup.html
  Process: 665 ExecStart=/usr/lib/frr/frrinit.sh start (code=exited, status=0/SUCCESS)
   Status: &quot;FRR Operational&quot;
    Tasks: 18 (limit: 1150)
   Memory: 24.2M
   CGroup: /system.slice/frr.service
           ├─674 /usr/lib/frr/watchfrr -d -F traditional zebra bgpd ospfd ospf6d babeld staticd
           ├─699 /usr/lib/frr/zebra -d -F traditional -A 127.0.0.1 -s 90000000
           ├─704 /usr/lib/frr/bgpd -d -F traditional -A 127.0.0.1
           ├─712 /usr/lib/frr/ospfd -d -F traditional -A 127.0.0.1
           ├─716 /usr/lib/frr/ospf6d -d -F traditional -A ::1
           ├─720 /usr/lib/frr/babeld -d -F traditional -A 127.0.0.1
           └─724 /usr/lib/frr/staticd -d -F traditional -A 127.0.0.1

ago 11 14:00:29 frr zebra[699]: client 47 says hello and bids fair to announce only static routes vrf=0
set 23 15:44:11 accel watchfrr[1220]: zebra state -&gt; up : connect succeeded
set 23 15:44:11 accel watchfrr[1220]: bgpd state -&gt; up : connect succeeded
set 23 15:44:11 accel watchfrr[1220]: ospfd state -&gt; up : connect succeeded
set 23 15:44:11 accel watchfrr[1220]: ospf6d state -&gt; up : connect succeeded
set 23 15:44:11 accel watchfrr[1220]: staticd state -&gt; up : connect succeeded
set 23 15:44:11 accel watchfrr[1220]: all daemons up, doing startup-complete notify
ago 11 14:00:29 frr frrinit.sh[665]: Started watchfrr.
ago 11 14:00:29 frr systemd[1]: Started FRRouting.</pre>
<p>Pode também conferir se o serviço de cada daemons ativos foi iniciado:</p>
<pre class="remontti-code"># netstat -putan</pre>
<pre class="remontti-code-plain">Proto Recv-Q Send-Q Endereço Local          Endereço Remoto         Estado      PID/Program name    
tcp        0      0 127.0.0.1:2601          0.0.0.0:*               OUÇA       699/zebra           
tcp        0      0 127.0.0.1:2604          0.0.0.0:*               OUÇA       712/ospfd           
tcp        0      0 127.0.0.1:2605          0.0.0.0:*               OUÇA       704/bgpd            
tcp        0      0 127.0.0.1:2616          0.0.0.0:*               OUÇA       724/staticd         
tcp6       0      0 ::1:2606                :::*                    OUÇA       716/ospf6d</pre>
<p>Lista completa das portas:</p>
<pre class="remontti-code-plain">zebrasrv      2600/tcp    # zebra service
zebra         2601/tcp    # zebra vty
ripd          2602/tcp    # RIPd vty
ripngd        2603/tcp    # RIPngd vty
ospfd         2604/tcp    # OSPFd vty
bgpd          2605/tcp    # BGPd vty
ospf6d        2606/tcp    # OSPF6d vty
ospfapi       2607/tcp    # ospfapi
isisd         2608/tcp    # ISISd vty
babeld        2609/tcp    # BABELd vty
nhrpd         2610/tcp    # nhrpd vty
pimd          2611/tcp    # PIMd vty
ldpd          2612/tcp    # LDPd vty
eigprd        2613/tcp    # EIGRPd vty
bfdd          2617/tcp    # bfdd vty
fabricd       2618/tcp    # fabricd vty
vrrpd         2619/tcp    # vrrpd vty</pre>
<h4>Entrado no Shell VTY</h4>
<p>Vtysh fornece um frontend combinado para todos os daemons FRR em uma única sessão combinada.</p>
<pre class="remontti-code"># vtysh</pre>
<pre class="remontti-code-plain">Hello, this is FRRouting (version 7.3.1).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

frr# show running-config
Building configuration...

Current configuration:
!
frr version 7.3.1
frr defaults traditional
hostname frr
log syslog informational
service integrated-vtysh-config
!
line vty
!
end
frr# exit</pre>
<p>vtysh tem um arquivo de configuração /etc/frr/vtysh.conf que contém opções que controlam o comportamento da autenticação. Este arquivo também não será escrito por comandos de salvamento de configuração, ele deve ser atualizado manualmente.</p>
<p>Isso também significa que os comandos hostname e (que têm efeito para vtysh) precisam ser atualizados manualmente no vtysh.conf</p>
<p>Todas as configurações salvas (<strong>write</strong>) no terminal do vtysh são escritas no arquivo <strong>frr.conf</strong>. </p>
<p>A documentação também ressalta que é possível salvar os arquivos separados por daemons, para alterar esse comportamento é precisamos editar o /etc/frr/vtysh.conf <em>(Fica a seu critério também, eu particularmente não altero)</em></p>
<pre class="remontti-code"># vim /etc/frr/vtysh.conf</pre>
<p>Estão o que isso faz?<br />
<strong>service integrated-vtysh-config </strong><br />
&#8211; O vtysh sempre salvará no frr.conf.</p>
<p><strong>no service integrated-vtysh-config </strong><br />
&#8211; vtysh nunca vai salvar no frr.conf, em vez disso, ele pedirá aos daemons que escrevam/crie seus arquivos de configuração individuais.</p>
<p>Se fizer a altração reinicie a aplicação</p>
<pre class="remontti-code"># systemctl restart frr</pre>
<p>Mais sobre vtysh: <a href="http://docs.frrouting.org/en/latest/vtysh.html" target="_blank" rel="noopener noreferrer">http://docs.frrouting.org/en/latest/vtysh.html</a></p>
<p>Acessamos o terminal do vtysh e usamos o comando write (salvar).</p>
<pre class="remontti-code"># vtysh</pre>
<pre class="remontti-code-plain">Hello, this is FRRouting (version 7.3.1).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

frr# write 
Note: this version of vtysh never writes vtysh.conf
Building Configuration...
Warning: /etc/frr/frr.conf.sav unlink failed
Building Configuration...
Integrated configuration saved to /etc/frr/frr.conf
[OK]
frr# exit</pre>
<p>Na próxima vez que salvar (write) um &#8220;____.<strong>conf.sav</strong>&#8221; será criado também preservando a configuração posterior.</p>
<p>Você também pode acessar o terminal vtysh (zebra) por telnet, lembra que vimos as porta que cada serviço estava rodando, logo o zebra roda na porta 2601(tcp), porém responde apenas localmente (localhost/127.0.0.1) caso você deseje abrir esse acesso externamente (restringi-lo por firewall o acesso a determinados IPs é uma boa prática) faça e alteração no arquivo daemons.</p>
<pre class="remontti-code"># vim /etc/frr/daemons</pre>
<p>Encontre:</p>
<pre class="remontti-code">zebra_options=&quot;  -A 127.0.0.1 -s 90000000&quot;</pre>
<p>E altere por:</p>
<pre class="remontti-code">zebra_options=&quot;  -A 0.0.0.0 -s 90000000&quot;</pre>
<p>Se você desejar alterar esta porta basta incluir &#8220;-P porta&#8221;</p>
<pre class="remontti-code">zebra_options=&quot;  -A 0.0.0.0 -s 90000000 -P 40023&quot;</pre>
<p>Salve e reinicie o FRR</p>
<pre class="remontti-code"># systemctl restart frr</pre>
<p>Porém se você tentar acessar mesmo que localmente não será possível, pois uma senha não foi definida.</p>
<pre class="remontti-code-plain"># telnet localhost 40023
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is &#039;^]&#039;.
Vty password is not set.
Connection closed by foreign host.</pre>
<p>Para configura as senha de login e de enable:</p>
<pre class="remontti-code"># vtysh</pre>
<pre class="remontti-code"># configure terminal 
# password senha_de_login
# enable password senha_para_enable
# service password-encryption
# line vty 
# login 
# end 
# write
# exit</pre>
<p>Ex.:</p>
<pre class="remontti-code-plain">frr# configure terminal 
frr(config)# password remontti
frr(config)# enable password remontti
frr(config)# service password-encryption
frr(config)# line vty 
frr(config-line)# login 
frr(config-line)# end 
frr# write 
Note: this version of vtysh never writes vtysh.conf
Note: this version of vtysh never writes vtysh.conf
Building Configuration...
Integrated configuration saved to /etc/frr/frr.conf
[OK]
frr# exit</pre>
<p>Faça um teste localmente ou externamente caso tenha liberado o acesso:</p>
<pre class="remontti-code"># telnet localhost 40023</pre>
<pre class="remontti-code-plain">Trying 127.0.0.1...
Connected to localhost.
Escape character is &#039;^]&#039;.

Hello, this is FRRouting (version 7.3.1).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

User Access Verification

Password: 
frr&gt; enable 
Password: 
frr# exit</pre>
<p>Por mais inseguro que seja o uso do telnet, em alguns casos é comum o acesso de servidores Looking Glass publicamente. Para tornar o acesso telnet público (não vai exigir senha) apenas leitura, basta remove a senha. (Ainda assim é possível ter poderes com em enable+senha)</p>
<p>Removendo senha:</p>
<pre class="remontti-code"># configure terminal
# no password
# line vty
# no login
# end
# write
# exit
</pre>
<pre class="remontti-code-plain">Hello, this is FRRouting (version 7.3.1).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

frr# configure terminal
frr(config)# no password
Please be aware that removing the password is a security risk and you should think twice about this command.
frr(config)# line vty
frr(config-line)# no login
frr(config-line)# end
frr# write 
Note: this version of vtysh never writes vtysh.conf
Building Configuration...
Building Configuration...
Integrated configuration saved to /etc/frr/frr.conf
[OK]
frr# exit</pre>
<h4>Zerando as configurações</h4>
<p>Caso você queira começar tudo do zero, basta remover todos os .conf e copiar os arquivos originais que estão na pasta backup, e dar suas devidas permissões!<br />
Ex.:</p>
<pre class="remontti-code"># rm /etc/frr/*.conf
# rm /etc/frr/*.sav
# rm /etc/frr/daemons
# cp /etc/frr/backups/* /etc/frr/
# chown frr. /etc/frr/ -R</pre>
<h3>Modelos de configurações:</h3>
<p>Alguns exemplos de configurações para os daemons podem ser encontrados em:</p>
<pre class="remontti-code-plain"># tree /usr/share/doc/frr/examples/
├── babeld.conf.sample
├── bfdd.conf.sample
├── bgpd.conf.sample
├── bgpd.conf.sample2
├── bgpd.conf.vnc.sample
├── eigrpd.conf.sample
├── isisd.conf.sample
├── ldpd.conf.sample
├── ospf6d.conf.sample
├── ospfd.conf.sample
├── pbrd.conf.sample
├── pimd.conf.sample
├── ripd.conf.sample
├── ripngd.conf.sample
├── staticd.conf.sample
├── vtysh.conf.sample
└── zebra.conf.sample</pre>
<p>Em <a href="http://docs.frrouting.org/en/latest/" rel="noopener noreferrer" target="_blank">http://docs.frrouting.org/en/latest/</a> você encontra uma ampla documentação com muitos exemplos. </p>
<h4>Bônus iBGP</h4>
<p>Vou deixar aqui um modelo simples iBGP entre um servidor Linux vs Mikrotik.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/09/frr-bgp-mikrotik-1.png" alt="" width="706" height="261" class="alignnone size-full wp-image-5076" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/09/frr-bgp-mikrotik-1.png 706w, https://blog.remontti.com.br/wp-content/uploads/2020/09/frr-bgp-mikrotik-1-300x111.png 300w" sizes="auto, (max-width: 706px) 100vw, 706px" /></p>
<p>Exemplo para iBGP para um DNS Anycast distribuído, usando os IPs do DNS Google, <strong>mas não estou incentivando a fazer isso</strong> é apenas um exemplo! </p>
<p><strong>Configuração Linux DNS</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/09/a.png" alt="" width="225" height="121" class="alignnone size-full wp-image-5090" /></p>
<pre class="remontti-code"># vtysh</pre>
<p>Nesta configuração vamos adicionar os IPs de loopbacks em seguida fechar os peers IPv4 e IPv6, e finalizando configurando os filtros para receber rota default (Logo no RouterOS será necessário envia) e ensinar apenas as IPs de lo. Este é apenas um exemplo para você começar a brincar e estudar mais sobre o assunto.</p>
<pre class="remontti-code">configure terminal
!
interface lo
 ip address 8.8.8.8/32
 ipv6 address 2001:4860:4860::8888/128
!
router bgp 65530
 bgp router-id 10.1.0.2
 neighbor 10.1.0.1 remote-as 65530
 neighbor 10.1.0.1 description &quot;iBGP_DNS_IPv4&quot;
 neighbor 2001:db8:1::1 remote-as 65530
 neighbor 2001:db8:1::1 description &quot;iBGP_DNS_IPv6&quot;
 !
 address-family ipv4 unicast
  redistribute kernel
  redistribute connected
  redistribute static
  neighbor 10.1.0.1 prefix-list RR-IPV4-IN in
  neighbor 10.1.0.1 prefix-list RR-IPV4-OUT out
 exit-address-family
 !
 address-family ipv6 unicast
  redistribute kernel
  redistribute connected
  redistribute static
  neighbor 2001:db8:1::1 activate
  neighbor 2001:db8:1::1 prefix-list RR-IPV6-IN in
  neighbor 2001:db8:1::1 prefix-list RR-IPV6-OUT out
 exit-address-family
!
ip prefix-list RR-IPV4-IN seq 5 permit 0.0.0.0/0
ip prefix-list RR-IPV4-OUT seq 5 permit 8.8.8.8/32
!
ipv6 prefix-list RR-IPV6-IN seq 5 permit ::/0
ipv6 prefix-list RR-IPV6-OUT seq 5 permit 2001:4860:4860::8888/128
!
line vty
!
end
write</pre>
<p><strong>Configuração no Mikrotik/RouterOS (Gateway DNS)</strong></p>
<pre class="remontti-code">/routing bgp instance
add client-to-client-reflection=no name=iBGP-DNS router-id=10.1.0.1

/routing bgp peer
add default-originate=always instance=iBGP-DNS name=DNS-FRR-IPv4 remote-address=10.1.0.2 remote-as=65530
add default-originate=always instance=iBGP-DNS name=DNS-FRR-IPv6 remote-address=2001:db8:1::2 remote-as=65530 address-families=ipv6
</pre>
<p><strong>Configuração Linux Accel-PPP</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/09/b.png" alt="" width="258" height="154" class="alignnone size-full wp-image-5089" /></p>
<pre class="remontti-code"># vtysh</pre>
<p>Nesta configuração vamos fechar os peers IPv4 e IPv6, e configurar os filtros para receber rota default (Logo no RouterOS será necessário envia) e ensinar apenas as IPs possíveis ips dinâmicos desta rede (45.0.0.0/22, 100.64.0.0/10). Lembrando que este é apenas um exemplo simples para você começar a brincar e estudar mais sobre o assunto.</p>
<pre class="remontti-code">configure terminal
!
router bgp 65530
 bgp router-id 10.1.0.2
 neighbor 10.2.0.1 remote-as 65530
 neighbor 10.2.0.1 description &quot;iBGP_ACCEL_IPv4&quot;
 neighbor 2001:db8:2::1 remote-as 65530
 neighbor 2001:db8:2::1 description &quot;iBGP_ACCEL_IPv6&quot;
 !
 address-family ipv4 unicast
  redistribute kernel
  redistribute connected
  redistribute static
  neighbor 10.2.0.1 prefix-list FILTRO-RR-IPV4-IN in
  neighbor 10.2.0.1 prefix-list FILTRO-RR-IPV4-OUT out
 exit-address-family
 !
 address-family ipv6 unicast
  redistribute kernel
  redistribute connected
  redistribute static
  neighbor 2001:db8:2::1 activate
  neighbor 2001:db8:2::1 prefix-list FILTRO-RR-IPV6-IN in
  neighbor 2001:db8:2::1 prefix-list FILTRO-RR-IPV6-OUT out
 exit-address-family
!
ip prefix-list FILTRO-RR-IPV4-IN seq 5 permit 0.0.0.0/0
ip prefix-list FILTRO-RR-IPV4-OUT seq 5 permit 100.64.0.0/10 le 32
ip prefix-list FILTRO-RR-IPV4-OUT seq 10 permit 45.0.0.0/22 le 32
ip prefix-list FILTRO-RR-IPV4-OUT seq 15 permit 10.0.0.0/8 le 32
!
ipv6 prefix-list FILTRO-RR-IPV6-IN seq 5 permit ::/0
ipv6 prefix-list FILTRO-RR-IPV6-OUT seq 10 permit 2001:db8::/32 le 128
!
line vty
!
end
write</pre>
<p><strong>Configuração no Mikrotik/RouterOS (Gateway Accel-PPP)</strong></p>
<pre class="remontti-code">/routing bgp instance
add client-to-client-reflection=no name=iBGP-Accel router-id=10.2.0.2

/routing bgp peer
add default-originate=always instance=iBGP-Accel name=DNS-FRR-IPv4 remote-address=10.2.0.2 remote-as=65530
add default-originate=always instance=iBGP-Accel name=DNS-FRR-IPv6 remote-address=2001:db8:2::2 remote-as=65530 address-families=ipv6
</pre>
<p>Espero que tenha lhe instigado a buscar mais sobre o FRR.</p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Participe do canal no <a href="https://t.me/blogremontti" rel="noopener noreferrer" target="_blank">telegram</a> para ficar atualizado sempre que publicar um novo tutorial. </p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Deixo aqui agradecimento ao Patrick Brandão que está elaborando um belo <a href="http://www.patrickbrandao.com/?p=artigos&#038;a=frr#frr" rel="noopener noreferrer" target="_blank">tutorial com muitos exemplos</a>. </p>
<p>Fontes:<br />
<a href="https://frrouting.org/" rel="noopener noreferrer" target="_blank">https://frrouting.org/</a><br />
<a href="http://docs.frrouting.org/" rel="noopener noreferrer" target="_blank">http://docs.frrouting.org/</a></p>
<p>O post <a href="https://blog.remontti.com.br/4771">Instalação do FRRouting (FRR) &#8211; Roteamento dinâmico no seu linux +Bônus iBGP</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/4771/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Como configurar o RPKI de forma simples, instalação do Krill</title>
		<link>https://blog.remontti.com.br/4848</link>
					<comments>https://blog.remontti.com.br/4848#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Fri, 21 Aug 2020 21:59:02 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[bgp]]></category>
		<category><![CDATA[Bullseye]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[debian 10]]></category>
		<category><![CDATA[krill]]></category>
		<category><![CDATA[registro.br]]></category>
		<category><![CDATA[rpki]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=4848</guid>

					<description><![CDATA[<p>RPKI é a especificação de uma tecnologia discutida e proposta pelo IETF (Internet Engeenering Task Force), RFC 6480, que permite a validação de anúncios de rotas via protocolo BGP. Essa tecnologia faz uso de&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/4848">Como configurar o RPKI de forma simples, instalação do Krill</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-capa-remontti.png" alt="" width="1792" height="1024" class="alignnone size-full wp-image-7757" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-capa-remontti.png 1792w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-capa-remontti-300x171.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-capa-remontti-1024x585.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-capa-remontti-768x439.png 768w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-capa-remontti-1536x878.png 1536w" sizes="auto, (max-width: 1792px) 100vw, 1792px" /></p>
<p>RPKI é a especificação de uma tecnologia discutida e proposta pelo IETF (Internet Engeenering Task Force), RFC 6480, que permite a validação de anúncios de rotas via protocolo BGP.</p>
<p>Essa tecnologia faz uso de Certificados Digitais (PKI), e de uma cadeia de certificação para validar a alocação de um conjunto de Recursos de Numeração Internet feita por um RIR/NIR a uma organização.</p>
<p>Um dos objetos a ser assinado com a referida chave privada se chama ROA (Route Origin Authorization), e que contém uma lista de blocos IPv4 e/ou IPv6 e um ASN que está autorizado a originar rotas para os referidos blocos.</p>
<p>As ROAs são então publicadas em repositórios e poderão ser utilizadas para validar que uma determinada rota para um bloco IP, recebida através do protocolo BGP, está sendo originada pelo ASN autorizado pelo detentor da alocação do bloco IP em questão.</p>
<p>Dessa forma cria-se um mecanismo para evitar uso indevido de blocos de endereços IP ou &#8220;sequestros&#8221;, que é quando através de um ASN se origina rotas para blocos IP alocados para outras organizações que não aquela responsável pelo ASN.</p>
<p>Vídeo recomendado que pode lhe ajudar esclarecer a importância do RPKI.<br />
<strong>RPKI: Uma proteção para roubo de prefixos no BGP</strong><br />
<iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/wBpyhVuq8dw" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
<p>Está instalação tem como base o projeto <strong><a href="https://github.com/NLnetLabs/krill" rel="noopener noreferrer" target="_blank">Krill</a></strong>. Krill é um daemon de Resource RPKI, apresentando uma Autoridade de Certificação (CA) e um servidor de publicação, escrito em Rust. </p>
<p><strong>Distribuição recomendada</strong>:<br />
<a href="https://blog.remontti.com.br/7236" rel="noopener noreferrer" target="_blank">Instalação do Debian 12 Bookworm limpa passo-a-passo<br />
</a></p>
<p>A base desta instalação foi com informações na <a href="https://krill.docs.nlnetlabs.nl/" rel="noopener noreferrer" target="_blank">documentação oficial</a>.</p>
<p>Não esqueça de virar root da forma correta e atualizar os pacotes, e instalar alguns pacotes que serão necessários. </p>
<pre class="remontti-code"># su - 
# apt update 
# apt install curl wget gnupg2 apt-transport-https net-tools ca-certificates lsb-release</pre>
<p>Adicionaremos ao repositório Debian para os pacotes da nlnetlabs:</p>
<p>Importe a chave do repositório.</p>
<pre class="remontti-code"># curl -fsSL https://packages.nlnetlabs.nl/aptkey.asc | gpg --dearmor -o /usr/share/keyrings/nlnetlabs-archive-keyring.gpg</pre>
<pre class="remontti-code"># echo \
&quot;deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/nlnetlabs-archive-keyring.gpg] https://packages.nlnetlabs.nl/linux/debian \
$(lsb_release -cs) main&quot; | tee /etc/apt/sources.list.d/nlnetlabs.list &gt; /dev/null
</pre>
<p>Atualize o repositório</p>
<pre class="remontti-code"># apt update</pre>
<p>Instale o krill</p>
<pre class="remontti-code"># apt install krill krillup krillta</pre>
<p>Após a instalação será criado no sistema um usuário chamado krill que é dono do diretório /var/lib/krill/ (que até o momento não existe nada nele).</p>
<p>Por segurança criaremos um backp original do krill.conf o arquivo de configuração. </p>
<pre class="remontti-code"># cp /etc/krill.conf /etc/krill.conf.orig</pre>
<p>Por padrão o krill roda em localhost porta 3000. Mas para nós acessar posteriormente sua interface web (lagosta) será necessário ter acesso a mesma, tornado aberta para todos. <em>(Veremos também como aplicar um firewall, para não deixar acessível à todos)</em></p>
<pre class="remontti-code"># vim /etc/krill.conf</pre>
<p>Adicione como no print:</p>
<pre class="remontti-code">ip = &quot;0.0.0.0&quot;</pre>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill_3000_port.png" alt="" width="948" height="268" class="alignnone size-full wp-image-4857" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill_3000_port.png 948w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill_3000_port-300x85.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill_3000_port-768x217.png 768w" sizes="auto, (max-width: 948px) 100vw, 948px" /></p>
<p>Por padrão o mesmo não vem habilitado na inicialização, para isso vamos habilita-lo.</p>
<pre class="remontti-code"># systemctl enable krill</pre>
<p>Agora inicie o serviço </p>
<pre class="remontti-code"># systemctl start krill</pre>
<p>Verifique se o mesmo está rodando sem nenhum erro.</p>
<pre class="remontti-code"># systemctl status krill</pre>
<p>Com o comando netstat você pode se certificar que agora o krill está aberto para qualquer IP &#8220;0.0.0.0&#8221;</p>
<pre class="remontti-code"># netstat -putan |grep krill</pre>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill_service-1.png" alt="" width="1225" height="88" class="alignnone size-full wp-image-4858" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill_service-1.png 1225w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill_service-1-300x22.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill_service-1-1024x74.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill_service-1-768x55.png 768w" sizes="auto, (max-width: 1225px) 100vw, 1225px" /></p>
<p>Tudo certo até aqui, será necessário pegarmos o Token que ele gerou na instalação, ele se encontra no arquivo /etc/krill.conf, para pega-ló pode executar este comando:</p>
<pre class="remontti-code"># cat /etc/krill.conf |grep &quot;token =&quot; | cut -d&#039;&quot;&#039; -s -f 2</pre>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill_token.png" alt="" width="940" height="130" class="alignnone size-full wp-image-4855" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill_token.png 940w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill_token-300x41.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill_token-768x106.png 768w" sizes="auto, (max-width: 940px) 100vw, 940px" /><br />
Neste caso meu token é <em>38d8ffbe35eaa2391b01681662037600</em>, salve isso com 7 chaves!</p>
<p>E a instalação é só isso! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> </p>
<p>Agora basta acessar em seu navegador <strong>https://IP:3000</strong> e nos depararemos com interface web do krill &#8220;lagosta&#8221;. <strong>(User o Firefox)</strong> É necessário aceitar o certificado inválido.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-0.png" alt="" width="1285" height="582" class="alignnone size-full wp-image-7755" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-0.png 1285w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-0-300x136.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-0-1024x464.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-0-768x348.png 768w" sizes="auto, (max-width: 1285px) 100vw, 1285px" /></p>
<p>Informe o seu <strong>token</strong> em senha, no meu ex.: <em>&#8220;38d8ffbe35eaa2391b01681662037600&#8221;</em></p>
<p>Ao entrar pela primera vez será necessário informar um nome de autoridade, adotarei como nome &#8220;meu AS&#8221;<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill_ca_name.png" alt="" width="1381" height="790" class="alignnone size-full wp-image-4861" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill_ca_name.png 1381w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill_ca_name-300x172.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill_ca_name-1024x586.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill_ca_name-768x439.png 768w" sizes="auto, (max-width: 1381px) 100vw, 1381px" /></p>
<p>Hora de acessarmos nossa conta no <a href="https://registro.br/login/" rel="noopener noreferrer" target="_blank">Registro.br</a></p>
<p>Clique em titularidade, em seguida &#8220;1 ASN&#8221;<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/registrobr_titulariade.png" alt="" width="1160" height="401" class="alignnone size-full wp-image-4862" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/registrobr_titulariade.png 1160w, https://blog.remontti.com.br/wp-content/uploads/2020/08/registrobr_titulariade-300x104.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/registrobr_titulariade-1024x354.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/08/registrobr_titulariade-768x265.png 768w" sizes="auto, (max-width: 1160px) 100vw, 1160px" /></p>
<p>Role a página ate o final e <strong>clique em Configurar RPKI</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/registrobr_rpki.png" alt="" width="1150" height="403" class="alignnone size-full wp-image-4863" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/registrobr_rpki.png 1150w, https://blog.remontti.com.br/wp-content/uploads/2020/08/registrobr_rpki-300x105.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/registrobr_rpki-1024x359.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/08/registrobr_rpki-768x269.png 768w" sizes="auto, (max-width: 1150px) 100vw, 1150px" /></p>
<p>Volte a tela do Krill, e clique em <strong>Parents</strong> e copie o conteúdo do <strong>Child Request</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-1.png" data-rel="lightbox-gallery-3Y38s1uH" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-1.png" alt="" width="1283" height="934" class="alignnone size-full wp-image-7744" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-1.png 1283w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-1-300x218.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-1-1024x745.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-1-768x559.png 768w" sizes="auto, (max-width: 1283px) 100vw, 1283px" /></a></p>
<p>Retorne ao Registro.BR e cole o conteúdo no campo <strong>Child Request</strong> e <strong>Habilitar RPKI</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/rpki_registrobr_child_request.png" alt="" width="1159" height="563" class="alignnone size-full wp-image-4866" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/rpki_registrobr_child_request.png 1159w, https://blog.remontti.com.br/wp-content/uploads/2020/08/rpki_registrobr_child_request-300x146.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/rpki_registrobr_child_request-1024x497.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/08/rpki_registrobr_child_request-768x373.png 768w" sizes="auto, (max-width: 1159px) 100vw, 1159px" /></p>
<p>Copie o conteúdo do <strong>Parent Response</strong> que o RegistroBR gerou<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/rpki_registrobr_parent_response.png" alt="" width="1151" height="847" class="alignnone size-full wp-image-4868" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/rpki_registrobr_parent_response.png 1151w, https://blog.remontti.com.br/wp-content/uploads/2020/08/rpki_registrobr_parent_response-300x221.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/rpki_registrobr_parent_response-1024x754.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/08/rpki_registrobr_parent_response-768x565.png 768w" sizes="auto, (max-width: 1151px) 100vw, 1151px" /></p>
<p>Cole o mesmo no Krill campo <strong>Parent Response</strong> e clique em confirmar.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-2.png" data-rel="lightbox-gallery-3Y38s1uH" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-2.png" alt="" width="1285" height="941" class="alignnone size-full wp-image-7745" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-2.png 1285w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-2-300x220.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-2-1024x750.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-2-768x562.png 768w" sizes="auto, (max-width: 1285px) 100vw, 1285px" /></a></p>
<p>Deve retornar uma mensagem de sucesso.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/su.png" alt="" width="380" height="100" class="alignnone size-full wp-image-4870" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/su.png 380w, https://blog.remontti.com.br/wp-content/uploads/2020/08/su-300x79.png 300w" sizes="auto, (max-width: 380px) 100vw, 380px" /></p>
<p>Você será já direcionado para o <strong>Repository</strong>, então copie a <strong>Publisher Request</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-3.png" data-rel="lightbox-gallery-3Y38s1uH" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-3.png" alt="" width="1285" height="854" class="alignnone size-full wp-image-7746" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-3.png 1285w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-3-300x199.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-3-1024x681.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-3-768x510.png 768w" sizes="auto, (max-width: 1285px) 100vw, 1285px" /></a></p>
<p>Vá ao registroBR e logo a baixo de parent response clique em <strong>Configurar publicação remota</strong> irá abrir um campo <strong>Publisher Request</strong>, agora cole e clique em <strong>Habilitar Publicação Remota</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/registrobr_publisher_request.png" alt="" width="1161" height="769" class="alignnone size-full wp-image-4872" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/registrobr_publisher_request.png 1161w, https://blog.remontti.com.br/wp-content/uploads/2020/08/registrobr_publisher_request-300x199.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/registrobr_publisher_request-1024x678.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/08/registrobr_publisher_request-768x509.png 768w" sizes="auto, (max-width: 1161px) 100vw, 1161px" /></p>
<p>Role um pouco a paixa para baixo e veja que temos agora o <strong>Repository Response</strong> copie o mesmo e volte ao Krill<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/rpki_registrobr_repository_response.png" alt="" width="1154" height="759" class="alignnone size-full wp-image-4873" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/rpki_registrobr_repository_response.png 1154w, https://blog.remontti.com.br/wp-content/uploads/2020/08/rpki_registrobr_repository_response-300x197.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/rpki_registrobr_repository_response-1024x673.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/08/rpki_registrobr_repository_response-768x505.png 768w" sizes="auto, (max-width: 1154px) 100vw, 1154px" /></p>
<p>Cole no campo <strong>Repository Response</strong> e clique em <strong>Confirmar</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-4.png" data-rel="lightbox-gallery-3Y38s1uH" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-4.png" alt="" width="1277" height="857" class="alignnone size-full wp-image-7747" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-4.png 1277w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-4-300x201.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-4-1024x687.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-4-768x515.png 768w" sizes="auto, (max-width: 1277px) 100vw, 1277px" /></a></p>
<p>Novamente deve retornar uma mensagem de sucesso.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/su.png" alt="" width="380" height="100" class="alignnone size-full wp-image-4870" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/su.png 380w, https://blog.remontti.com.br/wp-content/uploads/2020/08/su-300x79.png 300w" sizes="auto, (max-width: 380px) 100vw, 380px" /></p>
<p>Clique em ROAs. Você verá seus prefixos anunciados. (Se não aparecer atualize a página, pode levar uns minutos)<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-5.png" alt="" width="1283" height="734" class="alignnone size-full wp-image-7749" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-5.png 1283w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-5-300x172.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-5-1024x586.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-5-768x439.png 768w" sizes="auto, (max-width: 1283px) 100vw, 1283px" /></p>
<p>Agora precisamos adicionar nossos ROAs, clique em <strong>Add ROA/Adicionar ROA</strong><br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-7.png" alt="" width="1279" height="681" class="alignnone size-full wp-image-7751" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-7.png 1279w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-7-300x160.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-7-1024x545.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-7-768x409.png 768w" sizes="auto, (max-width: 1279px) 100vw, 1279px" /></p>
<p>Adicione todos seus prefixos<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-6.png" alt="" width="1275" height="661" class="alignnone size-full wp-image-7752" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-6.png 1275w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-6-300x156.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-6-1024x531.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-6-768x398.png 768w" sizes="auto, (max-width: 1275px) 100vw, 1275px" /></p>
<p>ROAs adicionados com sucesso! Nosso RPKI está finalizado!<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-8.png" alt="" width="1280" height="556" class="alignnone size-full wp-image-7753" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-8.png 1280w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-8-300x130.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-8-1024x445.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill-8-768x334.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></p>
<p>Para validar você pode acessar os Routinator da ripe.net (<a href="https://blog.remontti.com.br/5720" rel="noopener" target="_blank">ou crie o seu</a>), mas <strong>tenha paciência, aguarde pelo menos 1 hora antes de arrancar os cabelos</strong> se não validar. <strong><a href="https://rpki-validator.ripe.net" rel="noopener" target="_blank">https://rpki-validator.ripe.net</a>/</strong></p>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/routnator.png" alt="" width="1258" height="698" class="alignnone size-full wp-image-7311" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/routnator.png 1258w, https://blog.remontti.com.br/wp-content/uploads/2020/08/routnator-300x166.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/routnator-1024x568.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/08/routnator-768x426.png 768w" sizes="auto, (max-width: 1258px) 100vw, 1258px" /></p>
<p>Não podemos esquecer o firewall, usarei o nftables</p>
<p>Instale e ative-o para iniciar com o sistema. (No <strong>Debian 11</strong> nftables já é o subistituto do iptables, não é necessários instalar, mas é necessário dar um enable)</p>
<pre class="remontti-code"># apt install nftables 
# systemctl enable nftables</pre>
<p>Edite as regras</p>
<pre class="remontti-code"># vim /etc/nftables.conf </pre>
<p>Neste exemplo eu acessível apenas deixo apenas aberto para 200.200.200.0/22 e 192.168.0.0/24</p>
<pre class="remontti-code">#!/usr/sbin/nft -f
  
flush ruleset

table inet filter {
        chain input {
                type filter hook input priority 0;
                # Krill
                ip saddr 127.0.0.1 tcp dport 3000 counter accept
                ip6 saddr ::1 tcp dport 3000 counter accept
                ip saddr 192.168.0.0/24 tcp dport 3000 counter accept
                ip saddr 200.200.200.0/22 tcp dport 3000 counter accept
                # Drop 
                tcp dport 3000 counter drop
        }
        chain forward {
                type filter hook forward priority 0;
        }
        chain output {
                type filter hook output priority 0;
        }
}
</pre>
<p>Reinicie o serviço</p>
<pre class="remontti-code"># systemctl restart nftables</pre>
<p>Verificar as regras:</p>
<pre class="remontti-code"># nft list ruleset</pre>
<h5>Backup</h5>
<p>Não esqueça de colocar o diretório em suas políticas de backups: <strong>/var/lib/krill/</strong>. Uma dica é o tutorial: <a href="https://blog.remontti.com.br/4791" rel="noopener noreferrer" target="_blank">Criando backups de forma simples e enviando para o Telegram ou servidor via SSH</a></p>
<h5>Bônus &#8211; Múltiplos CA</h5>
<p>Se quiser hospedar as CA de outros provedores ou é responsável por mais de um AS, basta adicionar nova CA pelo cliente do terminal, e assim será possível gerenciar pela interface web (lagosta) </p>
<pre class="remontti-code"># krillc add --token seutoken --ca NOME_CA</pre>
<p>Ex:</p>
<pre class="remontti-code"># krillc add --token 38d8ffbe35eaa2391b01681662037600 --ca AS4321</pre>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill_multipos_ca.png" alt="" width="691" height="262" class="alignnone size-full wp-image-4909" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/krill_multipos_ca.png 691w, https://blog.remontti.com.br/wp-content/uploads/2020/08/krill_multipos_ca-300x114.png 300w" sizes="auto, (max-width: 691px) 100vw, 691px" /><br />
<em>Deixou meu agradecimento ao amigo <a href="https://t.me/GlauberMattar" rel="noopener noreferrer" target="_blank">@GlauberMattar</a> por essa dica.</em></p>
<h5>Monitoramento</h5>
<p>Template<strong> Zabbix 5 e 4.4</strong> para monitorar se a porta 3000 está respondendo. <a href="https://blog.remontti.com.br/wp-content/uploads/2020/08/RR_Krill.zip"><strong>RR Krill Zabbix 5</strong></a> / <a href="https://blog.remontti.com.br/wp-content/uploads/2020/08/RR_Krill_zbx4.4.zip"><strong>RR Krill Zabbix 4.4</strong></a></p>
<h5>Leitura recomendada:</h5>
<p><a href="https://blog.remontti.com.br/5720" rel="noopener" target="_blank">Instalação do Routinator 3000, um software para validação RPKI</a></p>
<h3>Erros:</h3>
<p>Verifique se a hora do servidor está correta!</p>
<pre class="remontti-code"># apt install ntpdate
# ntpdate a.ntp.br</pre>
<p>Se desejar garantir coloque no cron para acertar a hora todos dia a meia noite, ex:</p>
<pre class="remontti-code"># cronta -e </pre>
<p>Adicione</p>
<pre class="remontti-code-plain"># m h  dom mon dow   command
00 00  *   *   *     ntpdate a.ntp.br</pre>
<p>Curtiu o conteúdo? Quer me ajudar manter essa p*** ? <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Participe do canal no <a href="https://t.me/blogremontti" rel="noopener noreferrer" target="_blank">telegram</a> para ficar atualizado sempre que publicar um novo tutorial. </p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p>Fontes:<br />
<em>https://github.com/NLnetLabs/krill<br />
https://rpki.readthedocs.io/en/latest/krill/get-started.html<br />
https://registro.br/tecnologia/numeracao/rpki/</em></p>
<p>O post <a href="https://blog.remontti.com.br/4848">Como configurar o RPKI de forma simples, instalação do Krill</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/4848/feed</wfw:commentRss>
			<slash:comments>44</slash:comments>
		
		
			</item>
		<item>
		<title>Criando backups de forma simples e enviando para o Telegram ou servidor via SSH</title>
		<link>https://blog.remontti.com.br/4791</link>
					<comments>https://blog.remontti.com.br/4791#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Thu, 13 Aug 2020 22:29:03 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[shell script]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[sshpass]]></category>
		<category><![CDATA[telegram]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=4791</guid>

					<description><![CDATA[<p>Vamos aprender a criar scripts simples para fazer backups que podem ser úteis no nosso dia dia, vamos enviar eles para um servidor ou no telegram que aceita arquivos de até 2Gb #chupawhatsapp Criando&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/4791">Criando backups de forma simples e enviando para o Telegram ou servidor via SSH</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/capa-backup-shell-script.png" alt="" width="720" height="340" class="alignnone size-full wp-image-4833" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/capa-backup-shell-script.png 720w, https://blog.remontti.com.br/wp-content/uploads/2020/08/capa-backup-shell-script-300x142.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/08/capa-backup-shell-script-520x245.png 520w" sizes="auto, (max-width: 720px) 100vw, 720px" /><br />
Vamos aprender a criar scripts simples para fazer backups que podem ser úteis no nosso dia dia, vamos enviar eles para um servidor ou no telegram que aceita arquivos de até 2Gb #chupawhatsapp</p>
<p><strong>Criando Bot no telegram</strong></p>
<p>Abra o Telegram e procure por <a href="https://t.me/BotFather" rel="noopener noreferrer" target="_blank"><strong>@BotFather</strong></a>.<br />
Inicie a conversa com ele.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram1.jpg" data-rel="lightbox-gallery-hcY0WvlD" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram1-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-2823" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram1-169x300.jpg 169w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram1-576x1024.jpg 576w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram1.jpg 720w" sizes="auto, (max-width: 169px) 100vw, 169px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram2.jpg" data-rel="lightbox-gallery-hcY0WvlD" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram2-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-2826" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram2-169x300.jpg 169w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram2-576x1024.jpg 576w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram2.jpg 720w" sizes="auto, (max-width: 169px) 100vw, 169px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram3.jpg" data-rel="lightbox-gallery-hcY0WvlD" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram3-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-2827" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram3-169x300.jpg 169w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram3-576x1024.jpg 576w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram3.jpg 720w" sizes="auto, (max-width: 169px) 100vw, 169px" /></a></p>
<p>&#8211; Digite o comando <strong>/newbot</strong> para iniciar a criação de um novo bot.<br />
&#8211; Após o comando você vai dar um nome para seu bot. Ex.: <em>&#8220;Bot Legal RR&#8221;</em>.<br />
&#8211; Em seguida é necessário digitar o nome de usuário para o bot, sendo obrigatório terminar com <strong>bot</strong>. Ex.: <em>&#8220;legallrr_bot&#8221;</em>.<br />
&#8211; Ao finalizar você receber informações com seu TOKEN, que vamos utilizar em seguida.</p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram4.jpg" data-rel="lightbox-gallery-hcY0WvlD" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram4-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-2830" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram4-169x300.jpg 169w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram4-576x1024.jpg 576w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram4.jpg 720w" sizes="auto, (max-width: 169px) 100vw, 169px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram5.jpg" data-rel="lightbox-gallery-hcY0WvlD" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram5-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-2833" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram5-169x300.jpg 169w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram5-576x1024.jpg 576w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram5.jpg 720w" sizes="auto, (max-width: 169px) 100vw, 169px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram6.jpg" data-rel="lightbox-gallery-hcY0WvlD" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram6-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-2835" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram6-169x300.jpg 169w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram6-576x1024.jpg 576w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram6.jpg 720w" sizes="auto, (max-width: 169px) 100vw, 169px" /></a></p>
<p>Neste exemplo nosso token para acessar a API HTTP ficou:<br />
<strong>757396508:AAHpaoyVN-95maOCax1vDPDQBnSaZd9P5r0</strong></p>
<p>Procure pelo seu bot e comece uma conversa com ele e envie uma mensagem de teste para o mesmo, pois vamos precisar descobrir o ID do seu usuário, para que ele possa lhe enviar as mensagens.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram7.jpg" data-rel="lightbox-gallery-hcY0WvlD" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram7-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-2837" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram7-169x300.jpg 169w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram7-576x1024.jpg 576w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram7.jpg 720w" sizes="auto, (max-width: 169px) 100vw, 169px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram8.jpg" data-rel="lightbox-gallery-hcY0WvlD" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram8-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-2838" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram8-169x300.jpg 169w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram8-576x1024.jpg 576w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram8.jpg 720w" sizes="auto, (max-width: 169px) 100vw, 169px" /></a></p>
<p>Abra em seu seu navegador a seguinte URL <em>https://api.telegram.org/bot<strong>TOKEN</strong>/getUpdates</em> para descobrir o ID do usuário que enviou a mensagem ou de um grupo.<br />
Ex.: <font size="2"><em>https://api.telegram.org/bot<strong><font color="red">757396508:AAHpaoyVN-95maOCax1vDPDQBnSaZd9P5r0</font></strong>/getUpdates</em></font></p>
<p><strong>:: Chat privado ::</strong></p>
<pre class="remontti-code">{&quot;ok&quot;:true,&quot;result&quot;:[{
	&quot;update_id&quot;:649208620,&quot;message&quot;:{
		&quot;message_id&quot;:2,&quot;from&quot;:{&quot;id&quot;:221122111,&quot;is_bot&quot;:false,&quot;first_name&quot;:&quot;Rudimar&quot;,&quot;last_name&quot;:&quot;Remontti&quot;,&quot;username&quot;:&quot;remontti&quot;,&quot;language_code&quot;:&quot;pt-br&quot;},
		&quot;chat&quot;:{&quot;id&quot;:999999999,&quot;first_name&quot;:&quot;Rudimar&quot;,&quot;last_name&quot;:&quot;Remontti&quot;,&quot;username&quot;:&quot;remontti&quot;,&quot;type&quot;:&quot;private&quot;},
		&quot;date&quot;:1541210279,&quot;text&quot;:&quot;Testando&quot;
	}
}]}</pre>
<p>ID do chat privado: <strong>999999999</strong></p>
<p>Se desejar criar um grupo também, basta adicionar seu bot a ele, após adiciona-lo envia uma mensagem como <strong>/teste</strong> para que possamos coletar o ID do grupo.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram9.jpg" data-rel="lightbox-gallery-hcY0WvlD" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram9-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-2843" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram9-169x300.jpg 169w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram9-576x1024.jpg 576w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram9.jpg 720w" sizes="auto, (max-width: 169px) 100vw, 169px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram10.jpg" data-rel="lightbox-gallery-hcY0WvlD" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram10-169x300.jpg" alt="" width="169" height="300" class="alignnone size-medium wp-image-2844" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram10-169x300.jpg 169w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram10-576x1024.jpg 576w, https://blog.remontti.com.br/wp-content/uploads/2018/11/zabbix_bot_telegram10.jpg 720w" sizes="auto, (max-width: 169px) 100vw, 169px" /></a></p>
<p><strong>:: Chat em Grupo ::</strong></p>
<pre class="remontti-code">{&quot;ok&quot;:true,&quot;result&quot;:[{
	&quot;update_id&quot;:649208622,&quot;message&quot;:{&quot;message_id&quot;:4,&quot;from&quot;:{
		&quot;id&quot;:221122111,&quot;is_bot&quot;:false,&quot;first_name&quot;:&quot;Rudimar&quot;,&quot;last_name&quot;:&quot;Remontti&quot;,&quot;username&quot;:&quot;remontti&quot;,&quot;language_code&quot;:&quot;pt-br&quot;},
		&quot;chat&quot;:{&quot;id&quot;:-1000000000000,&quot;title&quot;:&quot;Grupo Legal&quot;,&quot;type&quot;:&quot;group&quot;,&quot;all_members_are_administrators&quot;:true
	},&quot;date&quot;:1541210975,&quot;text&quot;:&quot;/teste&quot;,&quot;entities&quot;:[{&quot;offset&quot;:0,&quot;length&quot;:6,&quot;type&quot;:&quot;bot_command&quot;}
}]}</pre>
<p>ID do chat grupo: <strong>-1000000000000</strong></p>
<p>Agora que já temos o Token e o ID do chat/grupo vamos ao script de backup. Se ainda estiver com dificuldade no <a href="https://www.youtube.com/watch?v=-ylbrUyNRZE" rel="noopener noreferrer" target="_blank">vídeo onde ensino integrar com o zabbix</a> aos 52 min explico como criar o bot.</p>
<p>Não esqueça q para o bot enviar algo para você é necessários iniciar uma conversa com o mesmo.<br />
Antes faça um teste abrindo no seu navegador <em>https://api.telegram.org/botTOKEN/sendMessage?chat_id=ID&#038;text=Mensagem</em> ou diretamente pelo terminal com curl.</p>
<pre class="remontti-code"># apt install curl </pre>
<p>Ex.: Enviando mensagem para um usuário</p>
<pre class="remontti-code"># curl --silent -X POST \
 --data-urlencode &quot;chat_id=8888888&quot; \
 --data-urlencode &quot;text=Enviando para usuário&quot; \
 &quot;https://api.telegram.org/bot757396508:AAHpaoyVN-95maOCax1vDPDQBnSaZd9P5r0/sendMessage&quot;</pre>
<p>Ex.: Enviando mensagem para um grupo (Não torne o grupo público para sua segurança)</p>
<pre class="remontti-code"># curl --silent -X POST \
 --data-urlencode &quot;chat_id=-1000000000000&quot; \
 --data-urlencode &quot;text=Enviando para o Grupo&quot; \
 &quot;https://api.telegram.org/bot757396508:AAHpaoyVN-95maOCax1vDPDQBnSaZd9P5r0/sendMessage&quot;</pre>
<p>Se as mensagens chegaram estamos preparados para fazer nossos backups com o telegram.</p>
<hr>
<h3>Scripts</h3>
<p>Pacotes requeridos:</p>
<pre class="remontti-code"># apt install curl wget zip unzip</pre>
<p>Para ficar algo organizado vou criar uma pasta onde colocarei todos os scripts</p>
<pre class="remontti-code"># mkdir /etc/backups/</pre>
<p>Como normalmente eu uso o telegram mesmo que seja apenas para notificar que um backup foi feto, vou criar uma pasta chamada para fazer toda a configuração do bot nela, criei um novo script com base no <a href="https://github.com/remontti/TelegramCMD" target="_blank" rel="noopener noreferrer">código</a> que utilizei no tutorial do <a href="https://blog.remontti.com.br/3981" rel="noopener noreferrer" target="_blank">Fastnetmon</a>, assim toda vez que for chamar telegram para enviar mensagem ou arquivo basta executa-lo sem sofrimero e varias linhas. Bora prepara-ló! </p>
<h3>Preparando o script do telegram (bot)</h3>
<pre class="remontti-code"># wget https://raw.githubusercontent.com/remontti/telegramBotShell/master/telegram -O /bin/telegram
# chmod +x /bin/telegram</pre>
<p>Alterando o TOKEN:</p>
<pre class="remontti-code"># vim /bin/telegram</pre>
<p>Altere o TOKEN e o formato da compactação (zip ou tar)<br />
Altere o token:</p>
<pre class="remontti-code">TOKEN=&quot;000000000:0000000000000-0000000000000000000000000000000&quot;</pre>
<p>Escolha o metodo de compactação tar/zip</p>
<pre class="remontti-code">COMPAC=&#039;tar&#039;</pre>
<p><strong>Como usar?</strong></p>
<p><strong>-m:</strong> Para enviar uma mensagem</p>
<pre class="remontti-code"># telegram -m &quot;-ID Chat&quot; &quot;Mensagem linha 1&quot; &quot;Mensagem linha 2&quot; &quot;Mensagem linha 3&quot;
# telegram -m &quot;ID Usuário&quot; &quot;Mensagem linha 1&quot; &quot;Mensagem linha 2&quot; &quot;Mensagem linha 3&quot;</pre>
<p><strong>-f:</strong> Para enviar um arquivo</p>
<pre class="remontti-code"># telegram -f &quot;-100000000&quot; &quot;/diretorio/arquivo&quot; &quot;nome do arquivo compactado&quot; &quot;Comentário&quot;
# telegram -f &quot;12345689&quot; &quot;/var/log/syslog&quot; &quot;syslog&quot; &quot;Logs do sistema&quot;</pre>
<p>Faça seu testes! Vale lembrar que toda vez que o script do telegram envia um arquivo ele irá compactar e remover este arquivo do servidor após envio.</p>
<h3>Preparando o script para envido do backup via SSH</h3>
<pre class="remontti-code">
# apt install sshpass
# wget https://raw.githubusercontent.com/remontti/backupSSH/master/backup -O /bin/backup
# chmod +x /bin/backup</pre>
<p><strong>Como usar?</strong><br />
Ex.:</p>
<pre class="remontti-code"># backup &quot;nome para o arquivo&quot; &quot;diretório ou diretórios a salvar&quot;  &quot;usuário ssh&quot; &quot;senha ssh&quot; &quot;IP Serv&quot; &quot;Porta ssh&quot; &quot;diretorio de destino&quot;
# backup &quot;etc&quot; &quot;/etc/*&quot;  &quot;jose&quot; &quot;123456&quot; &quot;192.168.0.200&quot; &quot;22&quot; &quot;/home/jose/backup&quot;</pre>
<hr>
<h3>Backups Telegram</h3>
<hr>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2665.png" alt="♥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backup de um diretório</h4>
<p>Vamos imaginar que gostaríamos de salvar o diretório /etc/frr/*</p>
<pre class="remontti-code"># vim /etc/backups/backup_frr_telegram.sh</pre>
<p>Adicionaremos apenas o ID usuário ou grupo (lembre-se que grupo sempre tem um &#8220;-&#8221; antes do ID) ex:</p>
<pre class="remontti-code">#!/bin/bash
/bin/telegram -f &quot;200000000&quot; &quot;/etc/frr/*&quot; &quot;frr&quot; &quot;Backup FRR&quot;</pre>
<p>De permissão para execução: </p>
<pre class="remontti-code"># chmod +x /etc/backups/backup_frr_telegram.sh</pre>
<p>Basta rodar agora o script </p>
<pre class="remontti-code"># /etc/backups/backup_frr_telegram.sh</pre>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/08/backup_frr_telegram.png" alt="" width="329" height="106" class="alignnone size-full wp-image-4812" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/08/backup_frr_telegram.png 329w, https://blog.remontti.com.br/wp-content/uploads/2020/08/backup_frr_telegram-300x97.png 300w" sizes="auto, (max-width: 329px) 100vw, 329px" /></p>
<p>Já já vamos ver como adiciona-lo no CRON (Agenda) para tornar isso automático. </p>
<hr>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2665.png" alt="♥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backup de múltiplos diretórios</h4>
<p>Vamos imaginar que gostaríamos de salvar todos os diretórios do bind9, para isso basta adicionar todos os diretórios/arquivos entre aspas <em>&#8220;/etc/bind/* /usr/share/dns/* /var/cache/bind/*&#8221; </em></p>
<pre class="remontti-code"># vim /etc/backups/backup_bind_telegram.sh</pre>
<p>Altere o ID usuário/grupo (lembre-se que grupo sempre tem um &#8220;-&#8221; antes do ID) ex:</p>
<pre class="remontti-code">#!/bin/bash
/bin/telegram -f &quot;200000000&quot; &quot;/etc/bind/* /usr/share/dns/* /var/cache/bind/*&quot; &quot;ns1&quot; &quot;Backup Bind&quot;</pre>
<p>De permissão para execução: </p>
<pre class="remontti-code"># chmod +x /etc/backups/backup_bind_telegram.sh</pre>
<p>Basta rodar agora o script </p>
<pre class="remontti-code"># /etc/backups/backup_bind_telegram.sh</pre>
<hr>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2665.png" alt="♥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backup de um banco de dados Mysql/MariaDB</h4>
<p>Neste exemplo vamos fazer backup do banco de dados <strong>&#8220;radius&#8221;</strong>. Altere as variáveis informando usuário/senha do seu banco de dados bem como nome do banco e ID do telegram.</p>
<pre class="remontti-code">#!/bin/bash
# Autor: remontti.com.br
# --------------------------------------
# USUARIO  DO BANCO DE DADOS
USER_DB=&#039;root&#039;
# SENHA DO BANCO DE DADOS
SENHA_DB=&#039;senha&#039;
# NOME DO BANCO DE DADOS
NOME_BANCO=&#039;radius&#039;
# NOME PARA O BACKUP
NOME_DO_BKP=&#039;Freeradius&#039;
# ID TELEGRAM
ID_TELEGRAM=&#039;-123456789000&#039;
# --------------------------------------
DATABKP=`date +%Y-%m-%d`
NOME_BD=&quot;/tmp/${NOME_BANCO}.${DATABKP}.tar.gz&quot;
mysqldump -h 127.0.0.1 -u ${USER_DB} -p${SENHA_DB} -B ${NOME_BANCO} &gt; /tmp/${NOME_BANCO}.${DATABKP}.sql 
/bin/telegram -f &quot;${ID_TELEGRAM}&quot; &quot;/tmp/${NOME_BANCO}.${DATABKP}.sql&quot; &quot;${NOME_DO_BKP}&quot; &quot;${NOME_BANCO}&quot; &amp;&gt;/dev/null
rm -f /tmp/*.sql &amp;&gt;/dev/null</pre>
<hr>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2665.png" alt="♥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backup de &#8220;todos&#8221; os banco de dados Mysql/MariaDB</h4>
<p>Neste exemplo vamos fazer backup de &#8220;todos&#8221; os bancos de dados do servidor.<br />
Perceba que o comando: </p>
<pre class="remontti-code"># ls -d /var/lib/mysql/*/ |cut -d / -f 5</pre>
<p>Listará todas as bases, porém o com &#8220;grep -v&#8221; ignoro alguns bancos que não acho necessário.</p>
<pre class="remontti-code"># ls -d /var/lib/mysql/*/ |cut -d / -f 5 |grep -v mysql |grep -v performance_schema</pre>
<p>Altere as variáveis informando usuário/senha do seu banco de dados bem como ID do telegram.</p>
<pre class="remontti-code">#!/bin/bash
# Autor: remontti.com.br
# --------------------------------------
# USUARIO  DO BANCO DE DADOS
USER_DB=&#039;root&#039;
# SENHA DO BANCO DE DADOS
SENHA_DB=&#039;senha&#039;
# NOME PARA O BACKUP
NOME_DO_BKP=&#039;ServidorWeb&#039;
# ID TELEGRAM
ID_TELEGRAM=&#039;-123456789000&#039;
# --------------------------------------

for BANCO in `ls -d /var/lib/mysql/*/ |cut -d / -f 5 |grep -v mysql |grep -v performance_schema`
do
    DATABKP=`date +%Y-%m-%d`
    NOME_BD=&quot;/tmp/${BANCO}.${DATABKP}.tar.gz&quot;
    mysqldump -h 127.0.0.1 -u ${USER_DB} -p${SENHA_DB} -B ${BANCO} &gt; /tmp/${BANCO}.${DATABKP}.sql 
done;
/bin/telegram -f &quot;${ID_TELEGRAM}&quot; &quot;/tmp/*.sql&quot; &quot;${NOME_DO_BKP}&quot; &quot;Backup BDs&quot; 
rm -f /tmp/*.sql &amp;&gt;/dev/null</pre>
<hr>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2665.png" alt="♥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backup do Zabbix-Server (Apenas do que interessa)</h4>
<p>Para o backup do zabbix utilizo um script do <a href="https://github.com/maxhq/zabbix-backup">maxhq</a> que faz um dump apenas da parte da base que nos interessa, isso significa que você não terá salvo o historio das &#8220;coisa&#8221;! Porém realizei um <a href="https://github.com/remontti/zabbix-backup" rel="noopener" target="_blank">fork</a> do projeto qual fiz alguns ajustes para dar suporte ao zabbix 5.<br />
Vamos baixa-lo em nosso diretório:</p>
<pre class="remontti-code"># cd /etc/backups/ 
# wget https://raw.githubusercontent.com/remontti/zabbix-backup/master/zabbix-dump
# chmod +x /etc/backups/zabbix-dump</pre>
<p>Crie seu script</p>
<pre class="remontti-code"># vim /etc/backups/backup_zbx.sh</pre>
<pre class="remontti-code">#!/bin/bash
# ----Config ----
ID_TELEGRAM=&#039;-123456789000&#039;
# ---------------
/etc/backups/zabbix-dump -o /tmp &amp;&gt;/dev/null
/bin/telegram -f &quot;${ID_TELEGRAM}&quot; &quot;/tmp/zabbix_cfg*.gz&quot; &quot;zabbix&quot; &quot;Backup Bind&quot;
rm -f /tmp/*.gz</pre>
<p>Permissões:</p>
<pre class="remontti-code"># chmod +x /etc/backups/backup_zbx.sh</pre>
<p>Execute:</p>
<pre class="remontti-code"># /etc/backups/backup_zbx.sh</pre>
<hr>
<h3>Backups SSH</h3>
<hr>
<p>Neste caso tenho o um servidor que irá receber nossos backups, sendo:</p>
<pre class="remontti-code-plain">IP: 172.16.0.100 
Porta SSH: 60321
Usuários: jose
Senha: 123456
Diretório onde ficará os backups: /home/jose/backup/</pre>
<hr>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2665.png" alt="♥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backup de um diretório</h4>
<p>Vamos fazer o mesmo backup que fizemos anterior do &#8220;/etc/frr/*&#8221;.</p>
<pre class="remontti-code"># vim /etc/backups/backup_frr_ssh.sh</pre>
<pre class="remontti-code">#!/bin/bash
# /bin/backup &quot;todo_etc&quot; &quot;/etc/*&quot; &quot;jose&quot; &quot;123456&quot; &quot;172.16.0.100&quot; &quot;60321&quot; &quot;/home/jose/backup&quot;</pre>
<p>Permissão: </p>
<pre class="remontti-code"># chmod +x /etc/backups/backup_frr_ssh.sh</pre>
<p>Execute:</p>
<pre class="remontti-code"># /etc/backups/backup_frr_ssh.sh</pre>
<hr>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2665.png" alt="♥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backup de múltiplos diretórios</h4>
<p>Ex backup DNS bind9</p>
<pre class="remontti-code"># vim /etc/backups/backup_bind_ssh.sh</pre>
<pre class="remontti-code">#!/bin/bash
# /bin/backup &quot;ns1_dns&quot; &quot;/etc/bind/* /usr/share/dns/* /var/cache/bind/*&quot; &quot;jose&quot; &quot;123456&quot; &quot;172.16.0.100&quot; &quot;60321&quot; &quot;/home/jose/backup&quot;</pre>
<p>Permissão: </p>
<pre class="remontti-code"># chmod +x /etc/backups/backup_bind_ssh.sh</pre>
<p>Execute:</p>
<pre class="remontti-code"># /etc/backups/backup_bind_ssh.sh</pre>
<hr>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2665.png" alt="♥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backup de um banco de dados Mysql/MariaDB</h4>
<pre class="remontti-code"># vim /etc/backups/backup_bd_ssh.sh</pre>
<pre class="remontti-code">#!/bin/bash
# Autor: remontti.com.br
# --------------------------------------
# USUARIO  DO BANCO DE DADOS
USER_DB=&#039;root&#039;
# SENHA DO BANCO DE DADOS
SENHA_DB=&#039;senha&#039;
# NOME DO BANCO DE DADOS
NOME_BANCO=&#039;radius&#039;
# NOME PARA O BACKUP
NOME_DO_BKP=&#039;Freeradius&#039;
# ID TELEGRAM
ID_TELEGRAM=&#039;-123456789000&#039;
#----Servidor que recebe o Backup ------
# Usuários SSH
USER_SSH=&#039;jose&#039;
# Senha SSH
PASS_SSH=&#039;senha&#039;
# Porta SSH
PORT_SSH=&#039;22&#039;
# Diretório onde ira salvar
DIR_SSH=&#039;/home/jose/backup&#039;
# IP do servidor 
IP_SSH=&#039;172.16.0.100&#039;
# --------------------------------------
DATABKP=`date +%Y-%m-%d`
NOME_BD=&quot;/tmp/${NOME_BANCO}.${DATABKP}.tar.gz&quot;
mysqldump -h 127.0.0.1 -u ${USER_DB} -p${SENHA_DB} -B ${NOME_BANCO} &gt; /tmp/${NOME_BANCO}.${DATABKP}.sql 
backup &quot;${NOME_DO_BKP}&quot; &quot;/tmp/${NOME_BANCO}.${DATABKP}.sql&quot; &quot;${USER_SSH}&quot; &quot;${PASS_SSH}&quot; &quot;${IP_SSH}&quot; &quot;${PORT_SSH}&quot; &quot;${DIR_SSH}&quot;
rm -f /tmp/*.sql &amp;&gt;/dev/null</pre>
<p>Permissão: </p>
<pre class="remontti-code"># chmod +x /etc/backups/backup_bd_ssh.sh</pre>
<p>Execute:</p>
<pre class="remontti-code"># /etc/backups/backup_bd_ssh.sh</pre>
<hr>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2665.png" alt="♥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backup de &#8220;todos&#8221; os banco de dados Mysql/MariaDB</h4>
<pre class="remontti-code"># vim /etc/backups/backup_bdall_ssh.sh</pre>
<pre class="remontti-code">#!/bin/bash
# Autor: remontti.com.br
# --------------------------------------
# USUARIO  DO BANCO DE DADOS
USER_DB=&#039;root&#039;
# SENHA DO BANCO DE DADOS
SENHA_DB=&#039;senha&#039;
# NOME PARA O BACKUP
NOME_DO_BKP=&#039;ServidorWeb&#039;
# ID TELEGRAM
ID_TELEGRAM=&#039;-123456789000&#039;
#----Servidor que recebe o Backup ------
# Usuários SSH
USER_SSH=&#039;jose&#039;
# Senha SSH
PASS_SSH=&#039;senha&#039;
# Porta SSH
PORT_SSH=&#039;22&#039;
# Diretório onde ira salvar
DIR_SSH=&#039;/home/jose/backup&#039;
# IP do servidor 
IP_SSH=&#039;172.16.0.100&#039;
# --------------------------------------
 
for BANCO in `ls -d /var/lib/mysql/*/ |cut -d / -f 5 |grep -v mysql |grep -v performance_schema`
do
    DATABKP=`date +%Y-%m-%d`
    NOME_BD=&quot;/tmp/${BANCO}.${DATABKP}.tar.gz&quot;
    mysqldump -h 127.0.0.1 -u ${USER_DB} -p${SENHA_DB} -B ${BANCO} &gt; /tmp/${BANCO}.${DATABKP}.sql 
done;
backup &quot;${NOME_DO_BKP}&quot; &quot;/tmp/*.sql&quot; &quot;${USER_SSH}&quot; &quot;${PASS_SSH}&quot; &quot;${IP_SSH}&quot; &quot;${PORT_SSH}&quot; &quot;${DIR_SSH}&quot;
rm -f /tmp/*.sql &amp;&gt;/dev/null</pre>
<p>Permissão: </p>
<pre class="remontti-code"># chmod +x /etc/backups/backup_bdall_ssh.sh</pre>
<p>Execute:</p>
<pre class="remontti-code"># /etc/backups/backup_bdall_ssh.sh</pre>
<hr>
<h4><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2665.png" alt="♥" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Backup do Zabbix-Server (Apenas do que interessa)</h4>
<p>Para o backup do zabbix utilizo um script do <a href="https://github.com/maxhq/zabbix-backup">maxhq</a> que faz um dump apenas da parte da base que nos interessa, isso significa que você não terá salvo o historio das &#8220;coisa&#8221;! Porém realizei um <a href="https://github.com/remontti/zabbix-backup" rel="noopener" target="_blank">fork</a> do projeto qual fiz alguns ajustes para dar suporte ao zabbix 5.<br />
Vamos baixa-lo em nosso diretório:</p>
<pre class="remontti-code"># cd /etc/backups/ 
# wget https://raw.githubusercontent.com/remontti/zabbix-backup/master/zabbix-dump
chmod +x /etc/backups/zabbix-dump</pre>
<p>Crie seu script</p>
<pre class="remontti-code"># vim /etc/backups/backup_zbx_ssh.sh</pre>
<pre class="remontti-code">#!/bin/bash
# Autor: remontti.com.br
#----Servidor que recebe o Backup ------
# Usuários SSH
USER_SSH=&#039;jose&#039;
# Senha SSH
PASS_SSH=&#039;senha&#039;
# Porta SSH
PORT_SSH=&#039;22&#039;
# Diretório onde ira salvar
DIR_SSH=&#039;/home/jose/backup&#039;
# IP do servidor 
IP_SSH=&#039;172.16.0.100&#039;
# --------------------------------------
/etc/backups/zabbix-dump  -o /tmp &amp;&gt;/dev/null
backup &quot;zabbix&quot; &quot;/tmp/zabbix_cfg*.gz&quot; &quot;${USER_SSH}&quot; &quot;${PASS_SSH}&quot; &quot;${IP_SSH}&quot; &quot;${PORT_SSH}&quot; &quot;${DIR_SSH}&quot;
rm -f /tmp/*.gz</pre>
<p>Permissões:</p>
<pre class="remontti-code"># chmod +x /etc/backups/backup_zbx_ssh.sh</pre>
<p>Execute:</p>
<pre class="remontti-code"># /etc/backups/backup_zbx_ssh.sh</pre>
<hr>
<p>Bom com base nesses scripts e um pouco de imaginação acredito que você vai conseguir fazer muita coisa, mas como automatizar? Veremos isso agora!</p>
<h3>Agendando o backup (Cron)</h3>
<p>Vamos agendar nosso(s) scripts para serem feitos em algumas situações:</p>
<p>Execute o comando crontab -e.</p>
<pre class="remontti-code"># crontab -e</pre>
<p>A primeira vez que você rodar o comando será solicitado qual editor você deseja, vou selecionar o nano &#8220;1&#8221; (ou apenas de Enter) por ser o mais fácil. Vale a leitura também: <a href="https://blog.remontti.com.br/90" rel="noopener noreferrer" target="_blank">Agendamento CRON / CRONTAB</a> e <a href="https://help.ubuntu.com/community/CronHowto" rel="noopener noreferrer" target="_blank">CronHowto</a></p>
<pre class="remontti-code">Select an editor.  To change later, run &#039;select-editor&#039;.
  1. /bin/nano        &lt;---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny

Choose 1-3 [1]: 1 [ENTER]</pre>
<p>Você precisa entender a ordem dos valores interpretado pelo cron:</p>
<pre class="remontti-code"># m h  dom mon dow   command
# * *  *   *   *     comando
# | |  |   |   |     |_ _ _ _ Comando a ser executado
# | |  |   |   |_ _ _ _ _ _ _ Semana (0-7 - domingo à domingo)
# | |  |   |_ _ _ _ _ _ _ _ _ Mês (01-12)
# | |  |_ _ _ _ _ _ _ _ _ _ _ Dia (01-31)
# | |_ _ _ _ _ _ _ _ _ _ _ _ _Hora (00-23)
# |_ _ _ _ _ _ _ _ _ _ _ _ _ _Minuto (00-59)
</pre>
<h5>Alguns exemplos</h5>
<p>Executar um backup todos os dias às 20h e 30min:</p>
<pre class="remontti-code">30 20  *   *   *     /etc/backups/backup_script.sh</pre>
<p>Todo dia primeiro do mês às 00h e 45min:</p>
<pre class="remontti-code">45 00  1   *   *     /etc/backups/backup_script.sh</pre>
<p>Toda segunda-feira às 04h:</p>
<pre class="remontti-code">00 04  *   1   *     /etc/backups/backup_script.sh</pre>
<p>Curtiu o conteúdo? Quer me ajudar? <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Participe do canal no <a href="https://t.me/blogremontti" rel="noopener noreferrer" target="_blank">telegram</a> para ficar atualizado sempre que publicar um novo tutorial. </p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p>O post <a href="https://blog.remontti.com.br/4791">Criando backups de forma simples e enviando para o Telegram ou servidor via SSH</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/4791/feed</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title>Solução de backup completa Open Source: Bacula Community 9.6.x e Baculum 9.6.x</title>
		<link>https://blog.remontti.com.br/4460</link>
					<comments>https://blog.remontti.com.br/4460#comments</comments>
		
		<dc:creator><![CDATA[Lenon Correa]]></dc:creator>
		<pubDate>Wed, 10 Jun 2020 19:38:02 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[bacula]]></category>
		<category><![CDATA[baculum]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[passo a passo]]></category>
		<category><![CDATA[php]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=4460</guid>

					<description><![CDATA[<p>O Bacula é um software que permite você (ou o administrador de sistema) administrar backup, restauração e verificação dos dados de computadores em uma rede de sistemas mistos. Por ser tão flexível o Bacula&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/4460">Solução de backup completa Open Source: Bacula Community 9.6.x e Baculum 9.6.x</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="wp-image-4535" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-44-300x148.png" alt="" width="709" height="350" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-44-300x148.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-44-1024x505.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-44-768x379.png 768w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-44.png 1366w" sizes="auto, (max-width: 709px) 100vw, 709px" /></p>
<p>O <strong>Bacula</strong> é um software que permite você (ou o administrador de sistema) administrar backup, restauração e verificação dos dados de computadores em uma rede de sistemas mistos.<br />
Por ser tão flexível o Bacula é considerado um framework de backup, podendo ser implementado nas mais diferentes estruturas corporativas.</p>
<h3>Funcionalidades:</h3>
<ul>
<li>Geração de formato aberto (não proprietário) de gravação (pode ser lido pelo tar e dump do Unix) – adeus ao aprisionamento tecnológico;</li>
<li>Armazenamento do seu catálogo em banco de dados padrão SQL: SQLite,PostgreSQL ou MySQL;</li>
<li>Suporte a compressão dos backups nos algorítimos livres GZIP e LZO;</li>
<li>GPL – sem custos com licenças, conhecimento e possibilidade de customização da ferramenta na versão community.</li>
</ul>
<p>E de quebra, ainda vamos instalar o<strong> Baculum</strong>, que é  a Web Gui  (interface gráfica) Oficial do Bacula Community, permitindo que o administrador de backup altere configurações de backup sem precisar editar arquivos texto. Além disso uma API é disponibilizada, facilitando a integração com outros softwares, interfaces e consoles.</p>
<p>Primeiramente me chamo<strong> Lenon Corrêa</strong>, trabalho em uma empresa de Cloud Computing, a <a href="https://staybox.com.br">Staybox</a>, fornecemos serviços de hospedagem, máquinas virtuais, backup em nuvem, licenciamento de software e outros do nível (se precisar de algo, me chame kkkk). Já trabalhei com o Rudimar, assim veio a oportunidade deste post. Antes de mais nada, é o 1º post, então deem seus feedbacks sobre o conteúdo e tirem suas dúvidas, criticas construtivas sempre serão aceitas. Sem mais delongas, vamos ao que realmente interessa!</p>
<p>Requisitos:<br />
<a href="https://blog.remontti.com.br/2966" target="_blank" rel="noopener noreferrer">* Debian 10 (Buster) -&gt; Instalação Limpa</a></p>
<p><a href="https://blog.remontti.com.br/arquivos/Home/Scripts/tunning.bash.sh" target="_blank" rel="noopener noreferrer">* Tunning Bash -&gt; Bash colorido</a> (Este tique aprendi com o Rudimar kkk)</p>
<h2><strong>Instalação<br />
</strong></h2>
<p>Na primeira etapa, instalamos pacotes necessários para a compilação do <strong>Bacula</strong>, estas bibliotecas são indispensáveis para o bom funcionamento do software e andamento da instalação.</p>
<pre class="remontti-code"># su -
# apt install vim make gcc build-essential perl unp mc mtx libreadline7 \
  libreadline5-dbg libreadline-gplv2-dev zlib1g-dev lzop liblzo2-dev python-lzo sudo \
  gawk gdb libacl1 libacl1-dev libssl-dev lsscsi apt-transport-https qt4-dev-tools \
  qt4-qtconfig libqt4-dev libqwt5-qt4 libqwt5-qt4-dev pkg-config wget -y</pre>
<h2>:: Instalação do banco de dados ::</h2>
<p>Os banco de dados homologados pelo <strong>Bacula</strong> são: PostgreSQL, SQLite e MySQL. Então sinta-se livre para usar qualquer um deles, os passos que se alteram desta instalação são minímos.<br />
Já vi pessoas também instalando com o MariaDB, em suma ele é praticamente igual ao MySQL, então não deve acarretar inconsistências. Mas vamos seguir a risca as recomendações da comunidade e vamos instalar a versão 5.7 Community do MySQL (Também já fui orientado a usar PostgreSQL, pois o desempenho é superior, mas como meu conhecimento é relativamente baixo, prefiro ir de MySQL mesmo, que sei tratar erros, se acontecerem).</p>
<p>Primeiro, adicionamos a chave GPG do MySQL Community, em seguida adicionamos em nossa máquina para reconhecer o reposítório.</p>
<pre class="remontti-code"># wget -qO - https://repo.mysql.com/RPM-GPG-KEY-mysql --no-check-certificate | apt-key add -</pre>
<p>Agora, adicionamos os repositórios, em seguida update.</p>
<pre class="remontti-code"># cat &lt;&lt;EOF &gt;/etc/apt/sources.list.d/mysql.list 
deb http://repo.mysql.com/apt/debian/ buster mysql-apt-config
deb http://repo.mysql.com/apt/debian/ buster mysql-5.7
deb http://repo.mysql.com/apt/debian/ buster mysql-tools
deb http://repo.mysql.com/apt/debian/ buster mysql-tools-preview
deb-src http://repo.mysql.com/apt/debian/ buster mysql-5.7
EOF</pre>
<p>Atualize os repositórios.</p>
<pre class="remontti-code"># apt update</pre>
<p>Se tudo correu bem até aqui, vamos finalmente aos pacotes do MySQL:</p>
<pre class="remontti-code"># apt install mysql-community-server libmysqlclient-dev -y</pre>
<p>Durante a instalação, o MySQL oferta se você deseja adicionar uma senha ao <strong>root</strong> para acessar o banco, se sim, insira a senha, caso contrário apenas tecle enter e prossiga.</p>
<p><img loading="lazy" decoding="async" class=" wp-image-4519" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-42-38-300x152.png" alt="" width="718" height="364" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-42-38-300x152.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-42-38-1024x520.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-42-38-768x390.png 768w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-42-38.png 1366w" sizes="auto, (max-width: 718px) 100vw, 718px" /></p>
<p>Agora vamos criar um usuário para o <strong>Bacula</strong> no banco de dados, entre no banco com o comando a seguir:</p>
<pre class="remontti-code"># mysql</pre>
<p>Ou, caso você tenha inserido uma senha de <strong>root</strong> no banco:</p>
<pre class="remontti-code"># mysql -u root -p</pre>
<p style="text-align: left">Os comandos abaixo são executados dentro do banco de dados, por tanto cuidado. Gere uma hash de senha e faça a alteração na linha 3.<br />
O que estas linhas fazem são, simplesmente adicionar um usuário ao banco e dar os devidos privilégios para que ele possa inserir, deletar e alterar registros das tabelas que criaremos no futuro deste tutorial.</p>
<pre class="remontti-code">CREATE USER bacula;
GRANT ALL ON *.* TO &#039;bacula&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;SUA_SENHA_AQUI&#039; WITH GRANT OPTION;
GRANT SELECT ON mysql.proc TO &#039;bacula&#039;;
FLUSH PRIVILEGES;
QUIT</pre>
<p><img loading="lazy" decoding="async" class=" wp-image-4520" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-45-34-300x144.png" alt="" width="704" height="338" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-45-34-300x144.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-45-34-1024x490.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-45-34.png 1363w" sizes="auto, (max-width: 704px) 100vw, 704px" /></p>
<p>Para as alterações terem eficácia, restarte o serviço SQL.</p>
<pre class="remontti-code"># /etc/init.d/mysql restart</pre>
<p>Nos comandos seguintes, vamos entrar no diretório onde serão compilados os pacotes do <strong>Bacula</strong>. Na data de hoje 05/06 se encontra na versão 9.6.4, você pode conferir atualizar <a href="https://sourceforge.net/projects/bacula/files/bacula/" target="_blank" rel="noopener noreferrer">neste link</a>. Vamos baixar o fonte, descompactá-lo e entrar na pasta seguinte.</p>
<pre class="remontti-code"># cd /usr/src
# wget --no-check-certificate https://sourceforge.net/projects/bacula/files/bacula/9.6.4/bacula-9.6.4.tar.gz
# tar xvzf bacula-9.6.4.tar.gz
# cd bacula-9.6.4</pre>
<p><img loading="lazy" decoding="async" class="wp-image-4522" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-48-15-300x31.png" alt="" width="726" height="75" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-48-15-300x31.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-48-15-1024x107.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-48-15-768x80.png 768w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-48-15.png 1356w" sizes="auto, (max-width: 726px) 100vw, 726px" /></p>
<p>Dentro da pasta &#8216;bacula-9.6.4&#8217;, execute o comando abaixo, ele vai configurar algumas diretivas que interferem diretamente na compilação do <strong>Bacula</strong>, portanto altere usuário e senha do banco de dados, conforme criou anteriormente, em:<br />
&#8211;with-db-user=&#8217;usuario_do_banco&#8217;<br />
&#8211;with-db-password=&#8217;SENHA_DO_BANCO_AQUI&#8217;<br />
&#8211;with-hostname=&#8217;ip_da_sua_maquina&#8217;<br />
<strong> Qualquer outra alteração faça com cuidado.</strong></p>
<pre class="remontti-code"># ./configure \
 --enable-smartalloc \
 --with-mysql \
 --with-db-user=bacula \
 --with-db-password=&#039;SENHA_DO_BANCO_AQUI&#039; \
 --with-db-port=3306 \
 --with-openssl \
 --with-readline=/usr/include/readline \
 --sysconfdir=/etc/bacula \
 --bindir=/usr/bin \
 --sbindir=/usr/sbin \
 --with-scriptdir=/etc/bacula/scripts \
 --with-plugindir=/etc/bacula/plugins \
 --with-pid-dir=/var/run \
 --with-subsys-dir=/etc/bacula/working \
 --with-working-dir=/etc/bacula/working \
 --with-bsrdir=/etc/bacula/bootstrap \
 --with-basename=bacula \
 --with-hostname=10.246.247.90 \
 --with-systemd \
 --disable-conio \
 --disable-nls \
 --with-logdir=/var/log/bacula</pre>
<p>O retorno será conforme na imagem:<br />
<img loading="lazy" decoding="async" class="wp-image-4524" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-51-53-300x179.png" alt="" width="657" height="392" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-51-53-300x179.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-51-53-1024x610.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-51-53-768x457.png 768w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-51-53.png 1107w" sizes="auto, (max-width: 657px) 100vw, 657px" /></p>
<p>Chegamos na compilação dos pacotes, até aqui tudo certo, né?<br />
A seguir, temos os comandos que compilam o <strong>Bacula</strong>. Rode-os e aguarde!</p>
<pre class="remontti-code"># make -j 8
# make install
# make install-autostart</pre>
<p>Os próximos comandos alteram permissão de escrita e leitura da pasta onde fica o <strong>Bacula</strong>, e após entra na pasta.</p>
<pre class="remontti-code"># chmod -R 775 /etc/bacula
# cd /etc/bacula/scripts</pre>
<p>Agora vamos criar o banco de dados, tabelas e dar privilégios ao usuário do bacula. (Dependendo como você instalou o banco você usa o &#8216;-u root -p&#8217; ou não).</p>
<pre class="remontti-code"># /etc/bacula/scripts/create_mysql_database -u root -p
# /etc/bacula/scripts/make_mysql_tables -u root -p
# /etc/bacula/scripts/grant_mysql_privileges -u root -p</pre>
<p><img loading="lazy" decoding="async" class=" wp-image-4525" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-55-55-300x139.png" alt="" width="695" height="322" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-55-55-300x139.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-55-55-1024x475.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-55-55-768x356.png 768w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-55-55.png 1366w" sizes="auto, (max-width: 695px) 100vw, 695px" /></p>
<p>Para fazer atualização do bacula você repete o mesmo procedimento da instalação, porém execute: </p>
<pre class="remontti-code"># /etc/bacula/scripts/update_bacula_tables -u root -p
# /etc/bacula/scripts/update_mysql_tables -u root -p
# /etc/bacula/scripts/grant_mysql_privileges -u root -p</pre>
<p>Feito isso com sucesso, vamos restartar o bacula e checar o status com os comandos.</p>
<pre class="remontti-code"># bacula restart
# bacula status</pre>
<p>O retorno dos comandos deverá ser o seguinte:</p>
<p><img loading="lazy" decoding="async" class=" wp-image-4526" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-57-14-300x89.png" alt="" width="826" height="245" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-57-14-300x89.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-57-14-768x228.png 768w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-57-14.png 872w" sizes="auto, (max-width: 826px) 100vw, 826px" /></p>
<p>Agora vamos entrar no console do <strong>bacula</strong> com o comando:</p>
<pre class="remontti-code"># bconsole</pre>
<p>Se tudo correu bem, receberá o retorno de acordo com a imagem abaixo:</p>
<p><img loading="lazy" decoding="async" class=" wp-image-4527" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-58-16-300x58.png" alt="" width="699" height="135" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-58-16-300x58.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-58-16-768x147.png 768w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-20-58-16.png 844w" sizes="auto, (max-width: 699px) 100vw, 699px" /></p>
<p>Para sair do console:</p>
<pre class="remontti-code">* exit</pre>
<h2>:: Instalação do Baculum 9.6.x ::</h2>
<p>Antes de instalarmos o <strong>baculum</strong>, precisamos do <strong>Apache</strong> e do <strong>PHP</strong>, usaremos a versão 7.3. A versão recomendada é a 7.2, mas em meus testes a 7.3 funcionou bem, não apresentando falhas, (aqui saí das recomendações kkk), use a versão que desejar.<br />
Entre com os comandos abaixo pra instalar os pacotes citados anteriormente.</p>
<pre class="remontti-code"># apt install php7.3-{common,bcmath,bz2,intl,gd,mbstring,mysql,zip,curl} -y
# apt install apache2 libapache2-mod-php7.3 -y</pre>
<p>Vamos a instalação do <strong>Baculum</strong>, baixamos a chave e ativamos em nossa máquina.</p>
<pre class="remontti-code"># wget -qO - http://bacula.org/downloads/baculum/baculum.pub | apt-key add -</pre>
<p>Agora, adicionamos os repositórios, em seguida update.</p>
<pre class="remontti-code"># cat &lt;&lt;EOF &gt;/etc/apt/sources.list.d/baculum.list
deb [ arch=amd64 ] http://bacula.org/downloads/baculum/stable/debian buster main
deb-src http://bacula.org/downloads/baculum/stable/debian buster main
EOF</pre>
<pre class="remontti-code"># apt update</pre>
<p>Após, vamos verificar uma coisa, se o repositório encontrado foi da versão 9.6.&#8221;4&#8243;. O retorno deve ser como na imagem na sequência.</p>
<pre class="remontti-code"># apt info baculum-web</pre>
<p><img loading="lazy" decoding="async" class=" wp-image-4530" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-10-27-300x96.png" alt="" width="744" height="238" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-10-27-300x96.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-10-27-1024x329.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-10-27-768x247.png 768w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-10-27.png 1054w" sizes="auto, (max-width: 744px) 100vw, 744px" /></p>
<p>Agora sim, finalmente vamos instalar os pacotes do <strong>Baculum.</strong></p>
<pre class="remontti-code"># apt install baculum-api baculum-api-apache2 baculum-common bacula-console baculum-web baculum-web-apache2 -y</pre>
<p>Durante a instalação, vamos receber o questionamento como na imagem abaixo. Selecione &#8220;manter a versão local atualmente instalada&#8221;.</p>
<p><img loading="lazy" decoding="async" class=" wp-image-4531" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-11-59-300x154.png" alt="" width="781" height="401" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-11-59-300x154.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-11-59-1024x525.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-11-59-768x394.png 768w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-11-59.png 1366w" sizes="auto, (max-width: 781px) 100vw, 781px" /></p>
<p>Aqui damos algumas permissões necessárias para que o <strong>Baculum</strong> consiga rodar comando em nosso <strong>bconsole</strong>.</p>
<pre class="remontti-code"># cat &lt;&lt;EOF &gt;/etc/sudoers.d/baculum
www-data ALL=NOPASSWD: /usr/sbin/bconsole
www-data ALL=NOPASSWD: /etc/bacula/confapi
www-data ALL=NOPASSWD: /usr/sbin/bdirjson
www-data ALL=NOPASSWD: /usr/sbin/bbconsjson
www-data ALL=NOPASSWD: /usr/sbin/bfdjson
www-data ALL=NOPASSWD: /usr/sbin/bsdjson
www-data ALL=NOPASSWD: /usr/bin/systemctl
EOF</pre>
<p>Adicionamos o <strong>bacula</strong> ao grupo do apache e mudamos as permissões da pasta onde fica.<br />
Necessário para que o <strong>baculum</strong> consiga editar arquivos da pasta.</p>
<pre class="remontti-code"># usermod -aG bacula www-data 
# chown -R www-data:bacula /etc/bacula</pre>
<p>Aqui ativamos o modo rewrite do apache, as interfaces do <strong>baculum</strong> e da <strong>api</strong>. Em seguida restartamos o apache.</p>
<pre class="remontti-code"># a2enmod rewrite ldap
# a2ensite baculum-web baculum-api
# systemctl restart apache2</pre>
<p>Agora vamos a parte Web, acesse o ip da máquina e a porta 9096, no meu caso <strong>10.246.247.90:9096</strong>, faça login com usuário: admin. Senha: admin. E chegará na tela a seguir, selecione o idioma e avance, aqui nesta parte é tudo muito intuítivo.</p>
<p><img loading="lazy" decoding="async" width="1366" height="676" class="wp-image-4547" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-16-51.png" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-16-51.png 1366w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-16-51-300x148.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-16-51-1024x507.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-16-51-768x380.png 768w" sizes="auto, (max-width: 1366px) 100vw, 1366px" /></p>
<p>Selecione Sim, e insira a senha do dados do banco de dados (usuário bacula), Endereço IP informe 127.0.0.1, Teste e Prossiga.</p>
<p><img loading="lazy" decoding="async" width="1366" height="673" class=" wp-image-4548" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-17-17.png" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-17-17.png 1366w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-17-17-300x148.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-17-17-1024x505.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-17-17-768x378.png 768w" sizes="auto, (max-width: 1366px) 100vw, 1366px" /></p>
<p>Selecione sim e marque a opção &#8220;Obter configuração do sudo&#8221; teste e avance.</p>
<p><img loading="lazy" decoding="async" width="1366" height="672" class=" wp-image-4550" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-20-45-1.png" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-20-45-1.png 1366w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-20-45-1-300x148.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-20-45-1-1024x504.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-20-45-1-768x378.png 768w" sizes="auto, (max-width: 1366px) 100vw, 1366px" /></p>
<p>Selecione sim. Em &#8220;Diretório de trabalho do Baculum para a configuração do Bacula&#8221; insira &#8220;<strong>/etc/bacula/working</strong>&#8220;, marque &#8220;Obter configuração do sudo&#8221; teste as configurações e avance para a etapa seguinte.</p>
<p><img loading="lazy" decoding="async" width="1366" height="673" class="wp-image-4552" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-21-08.png" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-21-08.png 1366w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-21-08-300x148.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-21-08-1024x505.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-21-08-768x378.png 768w" sizes="auto, (max-width: 1366px) 100vw, 1366px" /></p>
<p>Selecione Sim, marque a opção &#8220;Obter configuração do sudo&#8221; e prossiga.</p>
<p><img loading="lazy" decoding="async" width="1366" height="675" class="wp-image-4553" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-25-44.png" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-25-44.png 1366w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-25-44-300x148.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-25-44-1024x506.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-25-44-768x380.png 768w" sizes="auto, (max-width: 1366px) 100vw, 1366px" /></p>
<p>Crie um usuário para acessar a interface da API, avance.</p>
<p><img loading="lazy" decoding="async" width="1366" height="668" class="wp-image-4554" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-26-01.png" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-26-01.png 1366w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-26-01-300x147.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-26-01-1024x501.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-26-01-768x376.png 768w" sizes="auto, (max-width: 1366px) 100vw, 1366px" /></p>
<p>Aqui você vera uma revisão das configurações criadas anteriomente, ao avançar esta etapa o login será solicitado. Realize-o com as credenciais criadas.</p>
<p><img loading="lazy" decoding="async" width="1366" height="674" class=" wp-image-4555" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-26-08.png" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-26-08.png 1366w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-26-08-300x148.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-26-08-1024x505.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-26-08-768x379.png 768w" sizes="auto, (max-width: 1366px) 100vw, 1366px" /></p>
<p>Eu optei por criar um usuário específico para usar a API. Clique em &#8220;Listar usuários HTTP Básico&#8221; e em &#8220;Novo usuário HTTP Básico&#8221;, informe os dados e clique em adicionar, conforme abaixo.</p>
<p><img loading="lazy" decoding="async" width="1366" height="656" class=" wp-image-4556" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-26-33.png" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-26-33.png 1366w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-26-33-300x144.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-26-33-1024x492.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-26-33-768x369.png 768w" sizes="auto, (max-width: 1366px) 100vw, 1366px" /></p>
<p>Acesse seus IP na na porta 9095, para finalmente configurarmos o Baculum. (Entre com admin/admin).</p>
<p>Selecione o idioma e avance.<br />
<img loading="lazy" decoding="async" width="1366" height="673" class=" wp-image-4557" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-26-52.png" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-26-52.png 1366w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-26-52-300x148.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-26-52-1024x505.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-26-52-768x378.png 768w" sizes="auto, (max-width: 1366px) 100vw, 1366px" /></p>
<p>Insira as credenciais criadas antes (no meu ex eu criei um usuário api), para que o baculum acesse a API, clique em testar e avance.</p>
<p><img loading="lazy" decoding="async" width="1366" height="671" class=" wp-image-4558" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-07.png" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-07.png 1366w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-07-300x147.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-07-1024x503.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-07-768x377.png 768w" sizes="auto, (max-width: 1366px) 100vw, 1366px" /></p>
<p>Ajuste o usuário para acessar o Baculum nesta etapa e prossiga.</p>
<p><img loading="lazy" decoding="async" width="1366" height="673" class=" wp-image-4559" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-25.png" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-25.png 1366w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-25-300x148.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-25-1024x505.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-25-768x378.png 768w" sizes="auto, (max-width: 1366px) 100vw, 1366px" /></p>
<p>Novamente uma revisão das informações, clique em &#8220;Salvar&#8221;.</p>
<p><img loading="lazy" decoding="async" width="1366" height="675" class=" wp-image-4560" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-33.png" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-33.png 1366w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-33-300x148.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-33-1024x506.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-33-768x380.png 768w" sizes="auto, (max-width: 1366px) 100vw, 1366px" /></p>
<p>E pronto, chegamos ao fim. Bacula com interface gráfica prontinho para uso.</p>
<p><img loading="lazy" decoding="async" width="1366" height="674" class=" wp-image-4561" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-44-1.png" alt="" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-44-1.png 1366w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-44-1-300x148.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-44-1-1024x505.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-04-21-27-44-1-768x379.png 768w" sizes="auto, (max-width: 1366px) 100vw, 1366px" /></p>
<p>Vamos conferir se o endereço IP (Address) está o IP de localhost, a alteraremos para o IP da interface do servidor.</p>
<pre class="remontti-code"># vim /etc/bacula/bacula-dir.conf</pre>
<p>Localize Storage {} e confira o parâmetro &#8216;Address&#8217;, altere o IP de localhost 127.0.0.1 para o IP da interface de rede da sua maquina. Se esses endereços ficarem incorretos, o bacula até consegue conversar com nosso cliente, porém nosso cliente não sabe para onde deve enviar os backup&#8217;s (a explicação é um pouco mais longa que isso, mas brevemente é o que acontece).</p>
<pre class="remontti-code">#...
Storage {
  Name = &quot;File1&quot;
  SdPort = 9103
  Address = &quot;SEU_IP_AQUI&quot; 
  Password = &quot;xxxxxxxxxxxxxxxxxx&quot;
  Device = &quot;FileChgr1&quot;
  MediaType = &quot;File1&quot;
  Autochanger = &quot;File1&quot;
  MaximumConcurrentJobs = 10
}
Storage {
  Name = &quot;File2&quot;
  SdPort = 9103
  Address = &quot;SEU_IP_AQUI&quot;
  Password = &quot;xxxxxxxxxxxxxxxxxxxxxxxx&quot;
  Device = &quot;FileChgr2&quot;
  MediaType = &quot;File2&quot;
  Autochanger = &quot;File2&quot;
  MaximumConcurrentJobs = 10
}
#...</pre>
<p>Feito essa alteração, vamos conferir, não é mesmo?</p>
<pre class="remontti-code"># bacula restart
# bconsole</pre>
<p>Dentro do console, você pode verificar um cliente (deixarei o exemplo já já):</p>
<pre class="remontti-code">* status network client=deb10-fd</pre>
<p>Agora você pode gerar seus backups de máquinas Linux, Windows, Banco de dados&#8230; As possibilidades são infinitas. Crie suas rotinas, escolha do que fazer backup e faça seus testes. PS: Ainda pode ser necessário atualizar algumas diretivas direto no terminal, nos arquivos de configuração, portanto recomendo que leia a documentação, <a href="https://www.bacula.org/documentation/documentation/" target="_blank" rel="noopener noreferrer">neste link</a>.</p>
<h3>:: Extras &#8211; Add um cliente::</h3>
<p>Aqui vou deixar ainda, um exemplo de configuração de um cliente Linux, para que você não fique tão perdido assim em meio a tanta informação.</p>
<h4>:: No lado do cliente ::</h4>
<p>Para isso instale bacula-fd</p>
<pre class="remontti-code"># apt install bacula-fd -y</pre>
<p>Ajuste as configurações em /etc/bacula/bacula-fd.conf</p>
<pre class="remontti-code"># vim /etc/bacula/bacula-fd.conf</pre>
<pre class="remontti-code">Director {
  Name = bacula-dir
  Password = &quot;4nyrNNFD1IyWlQNgjXorr4bdWx8_kgHCP&quot;
}
#Director {
#  Name = deb10-mon
#  Password = &quot;GjRiOZ1KxjAXw2_LVe2H4ruZShoZIdnCQ&quot;
#  Monitor = yes
#}
FileDaemon {                    
  Name = deb10-fd
  FDport = 9102                 
  WorkingDirectory = /var/lib/bacula
  Pid Directory = /run/bacula
  Maximum Concurrent Jobs = 20
  Plugin Directory = /usr/lib/bacula
  #FDAddress = 127.0.0.1
}
Messages {
  Name = Standard
  director = deb10-dir = all, !skipped, !restored
}</pre>
<p>O campo &#8216;Name&#8217;, em Director é o nome do nosso servidor, por padrão ele vem com &#8216;<strong>bacula-dir</strong>&#8216;, e em nosso servidor criamos assim então não precisamos alterar, o campo &#8216;Password&#8217; é a senha que o Bacula usará para se conectar em nossa máquina (precisaremos dela adiante). Em &#8216;FileDaemon&#8217; vamos pegar o &#8216;Name&#8217;, que vamos usar para criar nosso cliente na interface gráfica. Basicamente isso, existem outros parâmetros que podem ser usados, para ver quais são consulte a documentação, mas com essas informações básicas já faremos um backup funcionar!</p>
<p>Restarte o bacula-fd</p>
<pre class="remontti-code"># systemctl restart bacula-fd</pre>
<h4>:: No lado do servidor ::</h4>
<p>Agora voltamos ao Baculum, IP:9095.<br />
Na sidebar da esquerda clique em &#8216;Clientes&#8221;, em seguida na tela que vai aparecer, clique em &#8216;Adicionar cliente&#8217;.<br />
<img loading="lazy" decoding="async" width="1366" height="630" class="wp-image-4611 aligncenter" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-05-17-24-25.png" alt="" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-05-17-24-25.png 1366w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-05-17-24-25-300x138.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-05-17-24-25-1024x472.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-05-17-24-25-768x354.png 768w" sizes="auto, (max-width: 1366px) 100vw, 1366px" /></p>
<p>Agora vamos adicionar nosso 1º cliente de backup. Entre com as informações, &#8216;Name&#8217; insira o nome que estava na aba &#8216;FileDaemon&#8217; de nosso cliente, &#8216;Address&#8217; é o IP da máquina do cliente, &#8216;Password&#8217; é a senha, que também estava no cliente (como falei antes). Em &#8216;Catalog&#8217; selecione &#8216;MyCatalog&#8217;, clique em &#8216;Criar&#8217;, um pop-up se abrirá indicando sucesso na adição do cliente, clique em &#8216;Ok&#8217;.</p>
<p><img loading="lazy" decoding="async" width="1366" height="632" class="wp-image-4619 aligncenter" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-05-18-56-20.png" alt="" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-05-18-56-20.png 1366w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-05-18-56-20-300x139.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-05-18-56-20-1024x474.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-05-18-56-20-768x355.png 768w" sizes="auto, (max-width: 1366px) 100vw, 1366px" /></p>
<p>Agora, clique na flecha azul, ao lado do cliente que adicionamos e em seguida clique em &#8216;Detalhar&#8217;.</p>
<p><img loading="lazy" decoding="async" width="1366" height="628" class="wp-image-4613 aligncenter" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-05-17-28-11.png" alt="" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-05-17-28-11.png 1366w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-05-17-28-11-300x138.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-05-17-28-11-1024x471.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-05-17-28-11-768x353.png 768w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-05-17-28-11-980x450.png 980w" sizes="auto, (max-width: 1366px) 100vw, 1366px" /></p>
<p>Nesta aba, clique &#8216;Status do cliente&#8217;, e rapidamente será feita uma captura de informações sobre nosso cliente de backup. Tudo pronto para o backup.</p>
<p><img loading="lazy" decoding="async" width="1366" height="633" class="wp-image-4615 aligncenter" src="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-05-17-31-20.png" alt="" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-05-17-31-20.png 1366w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-05-17-31-20-300x139.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-05-17-31-20-1024x475.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/06/Captura-de-tela-de-2020-06-05-17-31-20-768x356.png 768w" sizes="auto, (max-width: 1366px) 100vw, 1366px" /></p>
<p>Confira também o GitHub do <a href="https://github.com/wanderleihuttel" target="_blank" rel="noopener noreferrer">Wanderlei Huttel</a>, a base deste tuto veio de lá, e também tem muito material complementar lá, como scripts de envio de dados para o Telegram e muito mais. Não trataremos aqui pra não ficar muito extenso.</p>
<p>Acompanhe a comunidade do Bacula no Telegram <a href="https://t.me/baculabr" target="_blank" rel="noopener noreferrer">neste link</a>, boa parte das suas dúvidas outras pessoas já tiveram, então é só pesquisar no grupo.</p>
<p>Se tiver qualquer pergunta deixe nos comentários. Espero que tenha ajudado você, qualquer dúvida você me encontra la no grupo <a href="https://t.me/remontticombr" target="_blank" rel="noopener noreferrer">https://t.me/remontticombr</a> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br />
Abraço!</p>
<p>Autor: Lenon Correa <a href="https://t.me/lenon_correa">https://t.me/lenon_correa</a></p>
<p><a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Fontes:</p>
<p>http://softwarelivre.org/heitorfaria/blog/baculum-9-configuracao-grafica-do-bacula-administracao-e-api<br />
https://github.com/wanderleihuttel/bacula-utils/blob/master/tutorial/bacula_install_debian10.txt<br />
https://github.com/wanderleihuttel/bacula-utils/blob/master/tutorial/baculum_install_debian9.sh</p>
<blockquote class="wp-embedded-content" data-secret="iSxcEGAs72"><p><a href="https://www.bacula.lat/o-que-e-o-bacula/">O que é o Bacula?</a></p></blockquote>
<p><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8220;O que é o Bacula?&#8221; &#8212; Bacula Brasil e América Latina" src="https://www.bacula.lat/o-que-e-o-bacula/embed/#?secret=iSxcEGAs72" data-secret="iSxcEGAs72" width="500" height="282" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<blockquote class="wp-embedded-content" data-secret="WKwPMUP69q"><p><a href="https://www.bacula.lat/">Página Inicial</a></p></blockquote>
<p><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8220;Página Inicial&#8221; &#8212; Bacula Brasil e América Latina" src="https://www.bacula.lat/embed/#?secret=WKwPMUP69q" data-secret="WKwPMUP69q" width="500" height="282" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<p>O post <a href="https://blog.remontti.com.br/4460">Solução de backup completa Open Source: Bacula Community 9.6.x e Baculum 9.6.x</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/4460/feed</wfw:commentRss>
			<slash:comments>19</slash:comments>
		
		
			</item>
		<item>
		<title>Proteja-se de ataques DoS/DDoS mitigando com FastNetMon e anuncie os prefixos atacados (blackholes) para sua operadora, usando Mikrotik :-)</title>
		<link>https://blog.remontti.com.br/3981</link>
					<comments>https://blog.remontti.com.br/3981#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Sat, 25 Jan 2020 02:28:33 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mikrotik]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[ataques]]></category>
		<category><![CDATA[bgp]]></category>
		<category><![CDATA[ddos]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[debina 10]]></category>
		<category><![CDATA[dos]]></category>
		<category><![CDATA[exabgp]]></category>
		<category><![CDATA[fastnetmon]]></category>
		<category><![CDATA[ibgp]]></category>
		<category><![CDATA[mitigação]]></category>
		<category><![CDATA[notificações]]></category>
		<category><![CDATA[proteção]]></category>
		<category><![CDATA[routeros]]></category>
		<category><![CDATA[telegram]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=3981</guid>

					<description><![CDATA[<p>Existe um tutorial mais atualizado acesse: Fortalecendo a Resiliência da Rede: Detecção de Ataques DDoS com FastNetMon, FRRouting, Grafana e Implementação em Debian 12 com Huawei &#038; RouterOS 👆 👆 👆 👆 👆 👆&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/3981">Proteja-se de ataques DoS/DDoS mitigando com FastNetMon e anuncie os prefixos atacados (blackholes) para sua operadora, usando Mikrotik :-)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2><font color="red">Existe um tutorial mais atualizado acesse:</font></h2>
<p><a href="https://blog.remontti.com.br/7322">Fortalecendo a Resiliência da Rede: Detecção de Ataques DDoS com FastNetMon, FRRouting, Grafana e Implementação em Debian 12 com Huawei &#038; RouterOS</a><br />
 <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f446.png" alt="👆" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f446.png" alt="👆" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f446.png" alt="👆" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f446.png" alt="👆" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f446.png" alt="👆" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f446.png" alt="👆" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f446.png" alt="👆" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f446.png" alt="👆" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f446.png" alt="👆" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f446.png" alt="👆" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f446.png" alt="👆" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<pre class="remontti-code">#
#
#
#
#
#
#
#
</pre>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/01/fastnetmon_mikrotik_bgp.jpg" alt="" width="720" height="340" class="alignnone size-full wp-image-3991" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/01/fastnetmon_mikrotik_bgp.jpg 720w, https://blog.remontti.com.br/wp-content/uploads/2020/01/fastnetmon_mikrotik_bgp-300x142.jpg 300w, https://blog.remontti.com.br/wp-content/uploads/2020/01/fastnetmon_mikrotik_bgp-520x245.jpg 520w" sizes="auto, (max-width: 720px) 100vw, 720px" /></p>
<p>Neste tutorial vamos aprender como identificar os ataques Dos/DDoS e anunciar os prefixo atacados (ou atacantes) <strong>de seu AS</strong> em envia-los para uma blackhole, e repassar os mesmo para sua operadora. (Acordo)</p>
<p>Vamos utilizar o <a href="https://github.com/pavel-odintsov/fastnetmon/" rel="noopener noreferrer" target="_blank">FastNetMon</a> que é um analisador de carga DoS/DDoS de alto desempenho, construído sobre vários mecanismos de captura de pacotes (NetFlow, IPFIX, sFlow, AF_PACKET, SnabbSwitch, netmap, PF_RING, PCAP). </p>
<p>Farei a instalação do FastNetMon no Debian 10 (Instalação Limpa)</p>
<p>Você irá precisar configurar o envido dos Flows em seu roteador de bora. Vou deixar aqui um exemplo de como configurar com o routerOS/Mikrotik.</p>
<p><strong>Cenário Ex.:</strong><br />
AS &#8211; 15169<br />
172.31.31.1/30 &#8211; RouterOS/Mikrotik<br />
172.31.31.2/30 &#8211; Servidor FastNetMon<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2020/01/fastnetmon_mikrotik_bgp.png" data-rel="lightbox-gallery-cyMwW5Mb" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/01/fastnetmon_mikrotik_bgp.png" alt="" width="1332" height="606" class="alignnone size-full wp-image-3984" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/01/fastnetmon_mikrotik_bgp.png 1332w, https://blog.remontti.com.br/wp-content/uploads/2020/01/fastnetmon_mikrotik_bgp-300x136.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/01/fastnetmon_mikrotik_bgp-1024x466.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/01/fastnetmon_mikrotik_bgp-768x349.png 768w" sizes="auto, (max-width: 1332px) 100vw, 1332px" /></a></p>
<p>Ative o envido dos flows em seu routerOS/Mikrotik, selecionando as interfaces de entrada (WAN) ex suas operadoras, PTTs (No exemplo sfp1,VLAN.1234-PTT) <em>observe que não irei usar a porta padrão 2055 e sim 62055.</em></p>
<pre class="remontti-code">/ip traffic-flow set active-flow-timeout=1m cache-entries=4k enabled=yes interfaces=&quot;sfp1,VLAN.1234-PTT&quot;
/ip traffic-flow target add dst-address=172.31.31.2 port=62055</pre>
<h3>Instalação FastNetMon</h3>
<p>Antes de iniciar a instalação do seu do seu servidor em nosso exemplo estou usando o IP 172.31.31.2/30, porém eu NUCA recomendaria você fazer NAT em seu roteador de borda ainda mais ele sendo um Mikrotik, a performasse estaria comprometida, quem tem NAT estude de uma pesquisada sobrem IPv4 Fast Path,  IPv4 Fasttrack, Connection Tracking. Quando você compreender esses &#8220;caras&#8221; e aplicar dentro de sua rede, vai descobrir que o mikrotik não é tão ruim quanto falam por ai kkkkk. (Quem sabe um dia escrevo algo sobre), mas voltando&#8230; Porque utilizar o IP 172.31.31.2 então? Primeiramente por que ele não é acessível pelo mundo, logo não pode ser atacado, mas por outro lado se ele não tiver internet você não poderá por exemplo configurar para receber uma notificação (que neste tutorial vou explicar como fazer para enviar alertas no telegram) então como proceder, se você manja já deve ter pensado em uma solução. No meu caso eu sempre divido a a rede, o que é borda é borda, nunca ligo um servidor nela! O ideal é termos um router apenas para os servidores, ou então ligado quem sabe no concentrador de NAT, então nesse caso você pode fazer uma NAT para seu servidor, na pior das hipóteses use um ip válido. Você pode também fechar uma sessão <strong>multihop</strong>. Bom de seus pulos, ai já é engenharia de redes! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f61b.png" alt="😛" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>O pacote do fastnetmon já se encontra no repositório do debian, juntamente algumas pacotes extras que vamos utilizar em seguida.</p>
<pre class="remontti-code"># apt install fastnetmon zip curl wget python-pip socat -y</pre>
<p>Adicione todos os prefixos de se AS, são esses os IPs que ele fará analise. </p>
<pre class="remontti-code"># vim /etc/networks_list</pre>
<p>Exemplo</p>
<pre class="remontti-code">216.58.192.0/22
2800:3f0::/32</pre>
<p>Ajustes as configurações</p>
<pre class="remontti-code"># vim /etc/fastnetmon.conf</pre>
<p>Exlplicarei nos comentários</p>
<pre class="remontti-code"># Quantos pacotes serão coletados do tráfego de ataque
# Aumentamos para ter um log com mais informações
ban_details_records_count = 1000

# Defina por quanto tempo você irá ficar anunciando seu IP atacado a blackhole 
ban_time = 600

# Ative o rastreamento de conexão
enable_connection_tracking = on

# Ativaremos a detecção de ataques, por pacotes por/s, por limite de banda e pro flows.
ban_for_pps = on
ban_for_bandwidth = on
ban_for_flows = on

# Limites de pacotes
threshold_pps = 20000
# Limite de banda (Pode pegar como base o cliente/ plano com mair trafego 
# cuidado com ips de cgnat, eles terão bem mais consumo. 
threshold_mbps = 1000
# Limite por flows
threshold_flows = 3500

# Você pode desativar o sflow (Já que com RouterOS não vamos utiliza-lo)
sflow = off

# Ative o netflow
netflow = on

# Ative o exabgp (É com ele que vamos fechamos nosso per com a borda)
exabgp = on
# Defina para 60 o mesmo tempo setado la no Router (active-flow-timeout=1m)
average_calculation_time = 60

# Altere a porta para mesma que configuramos no Router
netflow_port = 62055

# Informe o IP da sua interface do servidor
exabgp_next_hop = 172.31.31.2

# Script que será executado sempre quer um banir/desbanir
notify_script_path = /usr/local/bin/notify_about_attack.sh</pre>
<p>O fastnetmon sempre que identificar um ataque irá executar <strong>notify_script_path</strong>, identificando o IP da sua rede que está sofrendo <strong>(incoming)</strong> o ataque ou que está cometendo <strong>(outgoing)</strong> o ataque. Ele <strong>NÃO</strong> irá identificar os IPs de origem. Em um futuro quando tivermos mais testes elaborados eu juntamente com o Gabriel Vargas Padilha estamos estudando os logs e através desses com um script (python) analisarmos a fundo vamos armazena-los em uma base de dados bem como identificar (porem no momento ainda tem falsos positivos), mas a ideia e saber a origem e através de um outro script notificar os IPs de origens enviando os logs para o dono do IP para que ele tome suas providencias, e por que não anunciar também nas blackholes.  </p>
<p>Criaremos então nosso arquivo chamado pelo opção &#8220;notify_script_path&#8221;, mas antes vamos criar um script para enviar notificações (mensagens) e arquivos pelo Telegram. Vai ser necessário criar um bot do telegram para o uso do mesmo. Se você não sabe como criar um Bot para telegram veja como fazer o mesmo no início do tutorial que já postei de como enviar alertas pelo zabbix, <a href="https://blog.remontti.com.br/3053" rel="noopener noreferrer" target="_blank">Zabbix 4.2 enviando alertas no Telegram via Bot (Debian 10)</a>, lá no ínico do tutorial explica como criar o bot, pegar o token e como descobrir o ID de um usuário ou grupo. </p>
<pre class="remontti-code"># cd /tmp/
# wget https://github.com/remontti/TelegramCMD/archive/master.zip
# unzip /tmp/master.zip
# chmod a+x /tmp/TelegramCMD-master/telegram
# mv /tmp/TelegramCMD-master/telegram* /usr/local/bin/</pre>
<p>Não esqueça de alterar o TOKEN para o do seu bot.</p>
<pre class="remontti-code"># vim /usr/local/bin/telegram.conf/token.conf</pre>
<pre class="remontti-code">######################################
# Telegram bot                       #
# Create a new bot with @BotFather   #
# get TOKEN                          #
######################################

TOKEN=&quot;000000000:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF&quot;</pre>
<p>Como usar? É importante você saber que o IDs de grupos tem um &#8220;-&#8221; no inicio do ID, já usuários direto não.</p>
<pre class="remontti-code">Uso: telegram [Opções]
  -m: Para enviar uma mensagem
     ex: telegram -m &quot;ID Chat&quot; &quot;Meu assunto&quot; &quot;Minha mensagem...&quot;
     ex: telegram -m &quot;-123456789&quot; &quot;Notificação&quot; &quot;Mensagem para um grupo ID&quot;
     ex: telegram -m &quot;123456789&quot; &quot;Notificação&quot; &quot;Mensagem para direta/privado&quot;

  -f: Para enviar um arquivo
     ex: telegram -f &quot;ID Chat&quot; &quot;/diretorio/arquivo&quot; &quot;nome do arquivo zip&quot; &quot;Comentário&quot;
     ex: telegram -f &quot;12345689&quot; /var/log/syslog syslog &quot;Logs do sistema para user privado&quot;</pre>
<p>     ex: telegram -f &#8220;-12345689&#8221; /var/log/syslog syslog &#8220;Logs do sistema para um grupo&#8221;</p>
<p>Bot funcionando, criamos então uma pasta onde os logs de ataques que terminaram vão ser movidos, e o script que será executado sempre que um ataque for identificado (BAN/UNBAN).</p>
<pre class="remontti-code"># mkdir /var/log/fastnetmon_attacks/ataques
# vim /usr/local/bin/notify_about_attack.sh</pre>
<pre class="remontti-code">
#!/usr/bin/env bash

# This script will get following params:
#  $1 client_ip_as_string
#  $2 data_direction
#  $3 pps_as_string
#  $4 action (ban or unban)

# Desbanindo um IP
if [ &quot;$4&quot; = &quot;unban&quot; ]; then
    /usr/local/bin/telegram -m &quot;-12345678&quot; &quot;UNBAN: $2 Ataque&quot; &quot;&lt;code&gt;IP $1&lt;/code&gt; removido da blackhole&quot;
    # Movemos os logs para pasta ataques pois não queremos mais receber elas.
    mv /var/log/fastnetmon_attacks/$1* /var/log/fastnetmon_attacks/ataques
    # Unban actions if used
    exit 0
fi

# Banindo
if [ &quot;$4&quot; = &quot;ban&quot; ]; then
    /usr/local/bin/telegram -m &quot;-12345678&quot; &quot;BAN: $2 ataque&quot; &quot;&lt;code&gt;IP $1&lt;/code&gt; prefixo anunciado a blackhole&quot;
    /usr/local/bin/telegram -f &quot;-12345678&quot; /var/log/fastnetmon_attacks/$1* $1 &quot;Logs do ataque ao IP $1&quot;
    exit 0
fi

if [ &quot;$4&quot; == &quot;attack_details&quot; ]; then    
    #/usr/local/bin/telegram -m &quot;-12345678&quot; &quot;BAN&quot; &quot;&lt;code&gt;FastNetMon: IP $1 blocked because $2 attack with power $3 pps&lt;/code&gt;&quot;
    exit 0
fi</pre>
<pre class="remontti-code"># chmod a+x /usr/local/bin/notify_about_attack.sh</pre>
<p>Restarte o fastnetmon</p>
<pre class="remontti-code"># systemctl restart fastnetmon</pre>
<h3>Instalação do exaBGP</h3>
<p>Iremos utilizar o <a href="https://github.com/Exa-Networks/exabgp" rel="noopener noreferrer" target="_blank">exaBGP</a> fechar nossa conexão BGP para realizar os anúncios dos prefixos atacados.</p>
<pre class="remontti-code"># pip install exabgp==3.4.20</pre>
<p>Configure o arquivo para fechar o peer.</p>
<pre class="remontti-code"># vim /etc/exabgp.conf</pre>
<pre class="remontti-code">group RouterBorda {
    hold-time 180;
    # AS do nosso ExaBGP (Pode deixar 65001)
    local-as 65001;
    # AS Remoto (Seu AS pois você vai estar fechando com seu roteador de borda)
    peer-as 15169;
    # ID do ExaBGP router (use o mesmo IP da sua placa de rede)
    router-id 172.31.31.2;
    graceful-restart 1200;
    # Remote peer
    neighbor 172.31.31.1 {
        # Endereço IP da interface desse servidor
        local-address 172.31.31.2;
        description &quot;ExaBGP&quot;;
        family {
            ipv4 unicast;
            ipv6 unicast;
        }
    }
    # Processo que vai receber as linhas de comandos para adicionar ou excluir uma prefixo
    process service-dynamic {
        run /usr/bin/socat stdout pipe:/var/run/exabgp.cmd;
    }
}</pre>
<p>Antes de iniciar o exaBGP você precisa criar um peer e alguns filtros em seu roteador de borda, no nosso exemplo routerOS/Mikrotik.</p>
<p><strong>Filtros</strong>:<br />
Crie um filtro de entrada que todas as rotas aprendida do fastnetmon seja setadas como blackhole, e não ensine nada para ele.</p>
<pre class="remontti-code">/routing filter
add action=accept chain=FastNetMon-IN set-type=blackhole
add action=discard chain=FastNetMon-OUT</pre>
<p><strong>Peer</strong>:<br />
Atenção para a <strong>instance</strong> que deve estar selecionada corretamente (use a mesma que você usa com sua operadora). Caso seu servidor não esteja com um conexão direta a borda poe usar multihop=<strong>yes</strong>, como comentado anteriormente.</p>
<pre class="remontti-code">/routing bgp peer
add name=FastNetMon instance=default remote-as=65001 multihop=no  \
 in-filter=FastNetMon-IN out-filter=FastNetMon-OUT \
 remote-address=172.31.31.2 update-source=172.31.31.1</pre>
<p>Para não ter que carregar na mão o exabgp, criaremos um script para inicialização do exaBGP automaticamente.</p>
<pre class="remontti-code"># vim /etc/init.d/exabgp </pre>
<pre class="remontti-code">#!/bin/bash
### BEGIN INIT INFO
# Provides:          exabgp
# Required-Start:    $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
### END INIT INFO

VERMELHO=&#039;\033[1;31m&#039;
VERDE=&#039;\033[1;32m&#039;
NC=&#039;\033[0m&#039;

PROCESSO=$(ps -x |grep -v &quot;grep&quot; |grep -v &quot;/bin/bash&quot; |grep exabgp |wc -l); 

function startExaBGP(){
    if [  $PROCESSO -eq 0 ]
    then
        echo &quot;Iniciandos...&quot;;
        env exabgp.daemon.user=root \
          exabgp.daemon.daemonize=true \
          exabgp.daemon.pid=/var/run/exabgp.pid \
          exabgp.log.destination=/var/log/exabgp.log \
          exabgp /etc/exabgp.conf
        sleep 0.3
        echo -e &quot;ExaBGP [${VERDE} Iniciado ${NC}] &quot;;
    else
        echo -e &quot;ExaBGP já exstá em execuxão. [${VERDE} Ativo ${NC}] &quot;;
    fi
}
 
function stopExaBGP(){
    if [  $PROCESSO -eq 0 ]
    then
        echo -e &quot;ExaBGP não está sendo executado. [${VERMELHO} Parado ${NC}]&quot;;
        
    else 
        echo &quot;Parando...&quot;;
        kill -9 `cat /var/run/exabgp.pid` &amp;&gt;/dev/null
        echo -e &quot;ExaBGP [${VERMELHO} Parado ${NC}] &quot;;
    fi
}

function statusExaBGP(){
    if [  $PROCESSO -eq 0 ]
    then
        echo -e &quot;ExaBGP está [${VERMELHO} Parado ${NC}]&quot;;
    else 
        echo -e &quot;ExaBGP está [${VERDE} Ativo ${NC}]&quot;;
    fi
    echo 
    echo &quot;Logs:&quot;
    tail /var/log/exabgp.log
}

case &quot;$1&quot; in
    start )
        startExaBGP
        ;;
 
    stop )
        stopExaBGP
        ;;
 
    restart )
        stopExaBGP
        sleep 1
        startExaBGP
        ;;
 
    status )
        statusExaBGP      
        ;;
 
    * )
        echo &quot;Opção inválida, use start | stop | restart | status&quot;
        ;;
esac</pre>
<p>De permissão para execução</p>
<pre class="remontti-code"># chmod a+x /etc/init.d/exabgp</pre>
<p>Crie o arquivo de serviço para o programa exabgp.</p>
<pre class="remontti-code"># vim /lib/systemd/system/exabgp.service</pre>
<p>Adicione</p>
<pre class="remontti-code">[Unit]
Description=ExaBGP
After=network.target remote-fs.target

[Service]
Type=simple
RemainAfterExit=yes
ExecStart=/etc/init.d/exabgp start
ExecStop=/etc/init.d/exabgp stop
ExecReload=/etc/init.d/exabgp restart
 
[Install]
WantedBy=multi-user.target</pre>
<p>Recarregue a nova definição do serviço:</p>
<pre class="remontti-code"># systemctl daemon-reload</pre>
<p>Ative o novo serviço, e verifique se o mesmo foi ativado</p>
<pre class="remontti-code"># systemctl enable exabgp
# systemctl list-unit-files | grep exabgp</pre>
<p>Reinicie seu servidor</p>
<pre class="remontti-code"># reboot</pre>
<p>Verifique se o exabgp foi carregado na inicialização, e seu peer estabilizou.</p>
<pre class="remontti-code"># systemctl status exabgp</pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2019/12/exabgp_fastnetmon_mikrotik.png" data-rel="lightbox-gallery-cyMwW5Mb" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/12/exabgp_fastnetmon_mikrotik.png" alt="" width="1639" height="381" class="alignnone size-full wp-image-3894" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/12/exabgp_fastnetmon_mikrotik.png 1639w, https://blog.remontti.com.br/wp-content/uploads/2019/12/exabgp_fastnetmon_mikrotik-300x70.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/12/exabgp_fastnetmon_mikrotik-1024x238.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/12/exabgp_fastnetmon_mikrotik-768x179.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/12/exabgp_fastnetmon_mikrotik-1536x357.png 1536w" sizes="auto, (max-width: 1639px) 100vw, 1639px" /></a></p>
<p>Para iniciar/reiniciar os exabgp pode usar os seguintes comandos:</p>
<pre class="remontti-code"># systemctl stop exabgp
# systemctl start exabgp
# systemctl restart exabgp</pre>
<p>Para acompanhar a coleta de flows use o comando:</p>
<pre class="remontti-code"># fastnetmon_client</pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2020/01/fastnetmon.png" data-rel="lightbox-gallery-cyMwW5Mb" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/01/fastnetmon.png" alt="" width="661" height="610" class="alignnone size-full wp-image-3986" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/01/fastnetmon.png 661w, https://blog.remontti.com.br/wp-content/uploads/2020/01/fastnetmon-300x277.png 300w" sizes="auto, (max-width: 661px) 100vw, 661px" /></a></p>
<p>Você vai encontrar tutoriais como integrar com grafana&#8230;. mas para mim isso é perfumaria, o mais legal é ver o processamento sem frescura, e saber que pode ser implementado com uma minimo de hardware, essa mesma analise de flows do gráfico assim que está na casa dos 3GBps de tráfego temos o seguinte uso do hasrdware:<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2020/01/fastnetmon_htop.png" data-rel="lightbox-gallery-cyMwW5Mb" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/01/fastnetmon_htop.png" alt="" width="1114" height="277" class="alignnone size-full wp-image-3987" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/01/fastnetmon_htop.png 1114w, https://blog.remontti.com.br/wp-content/uploads/2020/01/fastnetmon_htop-300x75.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/01/fastnetmon_htop-1024x255.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/01/fastnetmon_htop-768x191.png 768w" sizes="auto, (max-width: 1114px) 100vw, 1114px" /></a></p>
<p>Se quiser fazer algum teste, para anunciar uma rotas manualmente user os seguintes comandos:</p>
<pre class="remontti-code"># echo &quot;announce route 100.101.255.200 next-hop 172.31.31.2 community 65001:666&quot; &gt; /var/run/exabgp.cmd</pre>
<p>E para remover:</p>
<pre class="remontti-code"># echo &quot;withdraw route 100.101.255.200 next-hop 172.31.31.2&quot;  &gt; /var/run/exabgp.cmd</pre>
<h3>Acordo de communities com sua operadora</h3>
<p>Não vai adiantar muito você identificar o IP que está tomando o ataque se você não repassar o mesmo para sua operadora e ela o mesmo. Como você identificou o IP que esta recebendo o ataque (ou ate mesmo atacando) o mesmos vai subir na sua tabela de rotas como tipo blackhole, logo seu roteador não vai mais responder para esse IP. <strong>Sim esse IP não terá mais internet </strong>(clientes, servidor&#8230;.) sim não terá! rsrs, por isso é importante receber o alerta, para saber qual medidas realizar. Nas configurações do fastnetmon existe um arquivo de <strong>lista branca /etc/networks_whitelist</strong> se desejar você pode incluir os IPs que não quer que o fastnetmon analise (logo não ira bani-lo) porém você também não vai saber se ele foi atacado, eu prefiro deixar esse networks_whitelist vazio e criar então um filtro no roteador para descartar os IPs que não quero que ele jogue na blackhole, assim eu sou notificado, e se o bicho realmente estiver pegando eu deixo passar o ip do servidor e penso no que vou fazer hehehe.</p>
<p>As grande operadoras normalmente tem uma politica de communities que aceita você repassar prefixos /32 com a communities onde em quase todos os casos é AS:666 ou 65xxx:666, então o que você precisa fazer é primeira mente entrar em contato com a mesma para pegar essas informações, caso ela não saiba do que você está falando manda esse o link  deste tutorial <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Bom, vamos imaginar que sua operadora senha o AS28146 (olha o marketing ai de graça/patrocina eu MH) e seu bloco seja 200.200.200.0/22, como ficaria seu filtro no seu MK? </p>
<pre class="remontti-code">/routing filter
add action=accept  chain=AS28146-IPv4-OUT bgp-communities=65001:666 prefix-length=32 set-bgp-communities=28146:666
add action=accept  chain=AS28146-IPv4-OUT prefix=45.189.228.0/22 prefix-length=22-23
add action=discard chain=AS28146-IPv4-OUT</pre>
<p>Explicando a primiera linha:<br />
<strong>action=accept</strong> &#8211;> aceita<br />
<strong>chain=AS28146-IPv4-OUT</strong> &#8211;> nome do seu filtro<br />
<strong>bgp-communities=65001:666</strong> -> todas as rotas marcadas com a communities=65001:666 (as q o fastnetmon nos enviou)<br />
<strong>prefix-length=32</strong> &#8211;> com prefixo apenas /32<br />
set-bgp-communities=28146:666 &#8211;> seta a communitie que você verificou com sua operadora</p>
<p>Se você quiser descartar algum IP, ex um servidor (como comentei anteriormente) apenas para a operadora você precisa colocar antes das regras (antes da linha 1). Ex servidor 200.200.200.7 quero descartar para não cair na blackhole:</p>
<pre class="remontti-code">/routing filter
add action=discard chain=AS28146-IPv4-OUT prefix=45.189.228.7/32 prefix-length=32 
add action=accept  chain=AS28146-IPv4-OUT bgp-communities=65001:666 prefix-length=32 set-bgp-communities=28146:666
add action=accept  chain=AS28146-IPv4-OUT prefix=45.189.228.0/22 prefix-length=22-23
add action=discard chain=AS28146-IPv4-OUT</pre>
<p>Agora se você simplesmente não quer que seja bloqueado de forma alguma é só add no filtro do peer com o fastnetmon.</p>
<pre class="remontti-code">/routing filter
add action=discard chain=FastNetMon-IN prefix=45.189.228.7/32 prefix-length=32
add action=accept  chain=FastNetMon-IN set-type=blackhole
add action=discard chain=FastNetMon-OUT</pre>
<p>Seria interessante fazer alguns teste de ataques (coisa pequena) de dentro da sua rede e de fora, escolha uma IP que não esteja em uso para tal! Para realizar esse ataque user o a ferramenta criada pelo ekovegeance:<br />
<a href="https://github.com/ekovegeance/DDOS" rel="noopener noreferrer" target="_blank">https://github.com/ekovegeance/DDOS</a></p>
<p>Em um servidor/desktop linux  vai precisar ter instalado os pacotes bash sudo curl netcat hping3 openssl stunnel nmap whois dnsutils.<br />
<a href="https://github.com/ekovegeance/DDOS/archive/v1.2.4.zip">Baixe os arquivos</a>, extraia entre em sua pasta e execute o arquivo ddos.</p>
<pre class="remontti-code">$ wget https://github.com/ekovegeance/DDOS/archive/v1.2.4.zip
$ unzip v1.2.4.zip 
$ cd DDOS-1.2.4/
$ ./ddos</pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2020/01/ddos.png" data-rel="lightbox-gallery-cyMwW5Mb" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/01/ddos.png" alt="" width="676" height="881" class="alignnone size-full wp-image-3988" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/01/ddos.png 676w, https://blog.remontti.com.br/wp-content/uploads/2020/01/ddos-230x300.png 230w" sizes="auto, (max-width: 676px) 100vw, 676px" /></a></p>
<p>Gostou? Se sentindo mais seguro agora?</p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p>O post <a href="https://blog.remontti.com.br/3981">Proteja-se de ataques DoS/DDoS mitigando com FastNetMon e anuncie os prefixos atacados (blackholes) para sua operadora, usando Mikrotik :-)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/3981/feed</wfw:commentRss>
			<slash:comments>47</slash:comments>
		
		
			</item>
		<item>
		<title>Como é meu desktop #2? Debian 10 + KDE Plasma Minimalista + Extras</title>
		<link>https://blog.remontti.com.br/3322</link>
					<comments>https://blog.remontti.com.br/3322#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Tue, 13 Aug 2019 15:02:47 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Angry IP Scan]]></category>
		<category><![CDATA[buster]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[Chromium]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[debian10]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[Etcher]]></category>
		<category><![CDATA[Filezilla]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Gimp]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[googleearth]]></category>
		<category><![CDATA[impressora]]></category>
		<category><![CDATA[Kdenlive]]></category>
		<category><![CDATA[nextcloud]]></category>
		<category><![CDATA[playonlinuyx]]></category>
		<category><![CDATA[rdesktop]]></category>
		<category><![CDATA[spotify]]></category>
		<category><![CDATA[Sublime Text]]></category>
		<category><![CDATA[Teamviewer]]></category>
		<category><![CDATA[telegram]]></category>
		<category><![CDATA[Thunderbird]]></category>
		<category><![CDATA[Torrent]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=3322</guid>

					<description><![CDATA[<p>Antes de começar se você é iniciante e achar que é muito complexo instalar desta forma, você pode fazer a instalação selecionando a interface que deseja. Este formato é um meio de instalar apenas&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/3322">Como é meu desktop #2? Debian 10 + KDE Plasma Minimalista + Extras</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Antes de começar se você é iniciante e achar que é muito complexo instalar desta forma, você pode fazer a instalação selecionando a interface que deseja. Este formato é um meio de instalar apenas os pacotes que você realmente usa e consequentemente deixará muito mais leve seu sistema.</p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/meudesktop-debian10.png" data-rel="lightbox-gallery-4lod0emI" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/meudesktop-debian10-1024x640.png" alt="" width="1024" height="640" class="alignnone size-large wp-image-3363" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/meudesktop-debian10-1024x640.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/08/meudesktop-debian10-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/08/meudesktop-debian10-768x480.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/08/meudesktop-debian10.png 1680w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p><strong>Download</strong><br />
Vamos usar a ISO incluído Non-free + Firmware. Pq non-free e Firmware? A instalação Debian padrão é configurada para instalar apenas o Software Livre e drives não proprietários. Como muita pessoas tem dificuldade de carregar drives e instalar pacotes ex “flash-player” recomendo baixar esta iso, vou deixar dois links oficiais:<br />
<a href="https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/" rel="noopener noreferrer" target="_blank">https://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/</a></p>
<p><strong>Instalação</strong><br />
Para instalação você pode seguir o tutorial: <a href="https://blog.remontti.com.br/2966" rel="noopener noreferrer" target="_blank">Instalação do Debian 10 Limpa</a> passo-a-passo a parte mais importante para nossa instalação minimalista é  na hora de <strong>Escolha o software a ser instalado</strong> <strong>NÃO</strong> marcar nenhuma opção.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/08/debian10.png" data-rel="lightbox-gallery-4lod0emI" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/08/debian10-300x225.png" alt="" width="300" height="225" class="alignnone size-medium wp-image-3350" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/08/debian10-300x225.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/08/debian10-768x576.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/08/debian10.png 800w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p><strong>Repositório contrib non-free</strong></p>
<pre class="remontti-code">#  vim /etc/apt/sources.list</pre>
<p>Certifique-se de que ao final de cada repositório tenha <strong>contrib non-free</strong>, se não tiver adicione.</p>
<pre class="remontti-code">deb http://deb.debian.org/debian/ buster main contrib non-free
deb-src http://deb.debian.org/debian/ buster main contrib non-free

deb http://security.debian.org/debian-security buster/updates main contrib non-free
deb-src http://security.debian.org/debian-security buster/updates main contrib non-free

# buster-updates, previously known as &#039;volatile&#039;
deb http://deb.debian.org/debian/ buster-updates main contrib non-free
deb-src http://deb.debian.org/debian/ buster-updates main contrib non-free</pre>
<p>Tenha tudo atualizado!</p>
<pre class="remontti-code"># apt update ; apt upgrade</pre>
<p>Agora vamos instalar apenas os pacotes básicos (para mim) do nosso desktop minimalista.</p>
<pre class="remontti-code">
# su -
# apt install sddm kde-plasma-desktop kde-l10n-ptbr plasma-nm\
  bash-completion vim wget sudo curl unrar-free ark kcalc\
  okular gwenview kolourpaint4 vlc ksnapshot polkit-kde-1\
  htop iotop nethogs iftop locate traceroute mtr whois\
  nmap sddm-theme-debian-breeze gtk3-engines-breeze wireless-tools\
  dirmngr net-tools dnsutils apt-transport-https python-ipaddr\
  usermode firmware-linux-free network-manager-dev network-manager-pptp\
  network-manager-vpnc network-manager-ssh network-manager-openvpn\
  network-manager-pptp net-tools libavcodec-extra ffmpeg synaptic\
  lm-sensors msttcorefonts partitionmanager dialog firmware-linux\
  firmware-linux-free firmware-linux-nonfree firmware-misc-nonfree</pre>
<p>Adicione seu usuário ao grupo sudo</p>
<pre class="remontti-code"># usermod -G sudo SEU_USUARIO</pre>
<p>Ajustes de idioma</p>
<pre class="remontti-code"># dpkg-reconfigure locales</pre>
<p>Marque as opções:<br />
<em>[*] pt_BR ISO-8859-1<br />
[*] pt_BR.UTF-8 UTF-8</em><br />
Selecione:<br />
<em>pt_BR.UTF-8 UTF-8</em><br />
Já vamos aproveitar para otimizar a parametrização do kernel.</p>
<pre class="remontti-code"># echo &quot;# Reduz o uso de SWAP&quot; &gt;&gt; /etc/sysctl.conf
# echo &quot;vm.swappiness=10&quot; &gt;&gt; /etc/sysctl.conf
# echo &quot;# Melhora a gestão de cache&quot; &gt;&gt; /etc/sysctl.conf
# echo &quot;vm.vfs_cache_pressure=50&quot; &gt;&gt; /etc/sysctl.conf
# echo &quot;vm.dirty_background_ratio = 5&quot; &gt;&gt; /etc/sysctl.conf</pre>
<p>Reinicie e sua interface desktop já deve estar pronta!</p>
<pre class="remontti-code"># systemctl reboot</pre>
<p><strong>Drive de vídeo</strong><br />
Em grande parte os drives são reconhecidos e instalado, mas caso tenha problema consulte:</p>
<p><a href="https://wiki.debian.org/GraphicsCard" rel="noopener noreferrer" target="_blank">https://wiki.debian.org/GraphicsCard</a><br />
<a href="https://wiki.debian.org/AtiHowTo" rel="noopener noreferrer" target="_blank">https://wiki.debian.org/AtiHowTo</a><br />
<a href="https://wiki.debian.org/ATIProprietary" rel="noopener noreferrer" target="_blank">https://wiki.debian.org/ATIProprietary</a><br />
<a href="https://wiki.debian.org/NvidiaGraphicsDrivers" rel="noopener noreferrer" target="_blank">https://wiki.debian.org/NvidiaGraphicsDrivers</a></p>
<h3>APLICATIVOS</h3>
<p>:: <a href="https://www.mozilla.org/pt-BR/firefox/" rel="noopener noreferrer" target="_blank"><strong>Firefox</strong></a> :: (Navegador)</p>
<pre class="remontti-code">$ sudo apt install firefox-esr firefox-esr-l10n-pt-br</pre>
<p>:: <strong><a href="https://www.chromium.org/">Chromium</a></strong> :: (Navegador)</p>
<pre class="remontti-code">$ sudo apt install chromium chromium-l10n</pre>
<p>:: <a href="https://www.google.com/intl/pt-BR/chrome/" rel="noopener noreferrer" target="_blank"><strong>Chrome</strong></a> :: (Navegador)</p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
$ sudo apt install ./google-chrome-stable_current_amd64.deb</pre>
<p>:: <a href="https://www.google.com.br/intl/pt-BR/earth/" rel="noopener noreferrer" target="_blank"><strong>Google Earth</strong></a> :: (Mapas)</p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://dl.google.com/dl/earth/client/current/google-earth-pro-stable_current_amd64.deb
$ sudo apt install ./google-earth-pro-stable_current_amd64.deb</pre>
<p>:: <a href="https://www.libreoffice.org/" rel="noopener noreferrer" target="_blank"><strong>LibreOffice</strong></a> :: (Suite office)</p>
<pre class="remontti-code">$ sudo apt install libreoffice libreoffice-style-breeze libreoffice-l10n-pt-br</pre>
<p>:: <a href="https://www.thunderbird.net/pt-BR/" rel="noopener noreferrer" target="_blank"><strong>Thunderbird</strong></a> :: (Cliente E-mails)</p>
<pre class="remontti-code">$ sudo apt install thunderbird thunderbird-l10n-pt-br lightning-l10n-pt-br</pre>
<p>:: <a href="https://filezilla-project.org/" rel="noopener noreferrer" target="_blank"><strong>Filezilla</strong></a> :: (Cliente FTP +SFTP)</p>
<pre class="remontti-code">$ sudo apt install filezilla</pre>
<p>:: <strong><a href="https://github.com/GNOME/vinagre" rel="noopener noreferrer" target="_blank">Vinagre</a></strong> :: (Visualizador de área de trabalho remota)</p>
<pre class="remontti-code">$ sudo apt install vinagre</pre>
<p>:: <a href="https://www.rdesktop.org/" rel="noopener noreferrer" target="_blank"><strong>Rdesktop</strong></a> :: (Cliente RDP para o Terminal Server do Windows modo texto)</p>
<pre class="remontti-code">$ sudo apt install rdesktop</pre>
<p>:: <a href="https://kdenlive.org/" rel="noopener noreferrer" target="_blank"><strong>Kdenlive</strong></a>:: (Editor video)</p>
<pre class="remontti-code">$ sudo apt install kdenlive</pre>
<p>:: <a href="https://www.gimp.org/" rel="noopener noreferrer" target="_blank"><strong>Gimp</strong></a> :: (Editor imagem)</p>
<pre class="remontti-code">$ sudo apt install gimp</pre>
<p>:: <a href="https://www.playonlinux.com/" rel="noopener noreferrer" target="_blank"><strong>Playonlinux</strong></a> :: (Gerenciamento Wine para rodar aplicativos do Windows)</p>
<pre class="remontti-code">$ sudo dpkg --add-architecture i386 ; sudo apt update ; sudo apt upgrade
$ sudo apt install playonlinux</pre>
<p>Inclua as fontes da MS.</p>
<pre class="remontti-code">$ cp /usr/share/fonts/truetype/msttcorefonts/* ~/PlayOnLinux\&#039;s\ virtual\ drives/default/drive_c/windows/Fonts/</pre>
<p>:: <strong><a href="https://desktop.telegram.org" rel="noopener noreferrer" target="_blank">Telegram</a></strong> ::<br />
A versão via apt não é a mais recente, a instalação manual é mais recomendada se você quiser ter a versão mais atual.<br />
Acesse: <a href="https://github.com/telegramdesktop/tdesktop/releases/latest" rel="noopener noreferrer" target="_blank">https://github.com/telegramdesktop/tdesktop/releases/latest</a> e baixe a ultima versão &#8220;Linux 64 bit: Binary&#8221; ou 32 se for o seu caso. </p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://telegram.org/dl/desktop/linux -O tsetup.tar.xz
$ tar xvf tsetup.tar.xz
$ sudo mv Telegram/ /opt/
$ sudo chown $USER. /opt/Telegram/ -R
$ sudo ln -sf /opt/Telegram/Telegram /usr/bin/telegram
$ telegram &amp;</pre>
<p>:: <a href="https://www.spotify.com/br/download/linux/" rel="noopener noreferrer" target="_blank"><strong>Spotify</strong></a> :: </p>
<pre class="remontti-code">$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 931FF8E79F0876134EDDBDCCA87FF9DF48BF1C90
$ echo deb http://repository.spotify.com stable non-free | sudo tee /etc/apt/sources.list.d/spotify.list
$ sudo apt update
$ sudo apt install spotify-client</pre>
<p>:: <strong><a href="https://www.skype.com/pt-br/get-skype/" rel="noopener noreferrer" target="_blank">Skype</a></strong> ::</p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://repo.skype.com/latest/skypeforlinux-64.deb
$ sudo apt install ./skypeforlinux-64.deb</pre>
<p>:: <strong><a href="https://wiki.debian.org/Java/" rel="noopener noreferrer" target="_blank">Java</a></strong> :: </p>
<pre class="remontti-code">$ sudo apt install icedtea-netx default-jre</pre>
<p>:: <strong><a href="http://angryip.org/download/#linux" rel="noopener noreferrer" target="_blank">Angry IP Scan</a></strong>:: (Scaner Redes)</p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://github.com/angryip/ipscan/releases/download/3.6.2/ipscan_3.6.2_amd64.deb
$ sudo apt install ./ipscan_3.6.2_amd64.deb</pre>
<p>:: <strong><a href="https://www.sublimetext.com/docs/3/linux_repositories.html" rel="noopener noreferrer" target="_blank">Sublime Text</a></strong> :: (Editor de texto)</p>
<pre class="remontti-code">$ wget -qO - https://download.sublimetext.com/sublimehq-pub.gpg | sudo apt-key add -
$ echo &quot;deb https://download.sublimetext.com/ apt/stable/&quot; | sudo tee /etc/apt/sources.list.d/sublime-text.list
$ sudo apt update ; sudo apt install sublime-text</pre>
<p>:: <strong><a href="https://etcher.io" rel="noopener noreferrer" target="_blank">Etcher</a></strong> :: (Flash USB bootaveis)</p>
<pre class="remontti-code">$ echo &quot;deb https://deb.etcher.io stable etcher&quot; | sudo tee /etc/apt/sources.list.d/balena-etcher.list
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 379CE192D401AB61
$ sudo apt update
$ sudo apt install balena-etcher-electron</pre>
<p>:: <strong><a href="https://www.teamviewer.com/pt-br/download/linux/" rel="noopener noreferrer" target="_blank">Teamviewer</a></strong> ::</p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb
$ sudo apt install ./teamviewer_amd64.deb</pre>
<p>:: <strong><a href="https://www.dropbox.com/install" rel="noopener noreferrer" target="_blank">Dropbox</a></strong> :: (Cloud)</p>
<pre class="remontti-code">$ cd /tmp/
$ sudo apt install python3-gpg python-gpg
$ wget https://www.dropbox.com/download?dl=packages/ubuntu/dropbox_2019.02.14_amd64.deb -O dropbox.deb
$ sudo apt install ./dropbox.deb</pre>
<p>:: <strong><a href="https://nextcloud.com/install/#install-clients" rel="noopener noreferrer" target="_blank">Nextcloud</a></strong> :: (Cloud)</p>
<pre class="remontti-code">$ cd /tmp/
$ wget https://download.nextcloud.com/desktop/releases/Linux/Nextcloud-2.6.3-x86_64.AppImage -O Nextcloud.AppImage
$ chmod a+x Nextcloud.AppImage
$ sudo mkdir /opt/Nextcloud
$ sudo chown $USER. /opt/Nextcloud/ -R
$ mv Nextcloud.AppImage /opt/Nextcloud/</pre>
<p>Atalho (pesquise um ícone na internet)</p>
<pre class="remontti-code">$ wget http://www.iconarchive.com/download/i106074/papirus-team/papirus-apps/nextcloud.ico -O /opt/Nextcloud/nextcloud.ico
$ sudo vim /usr/share/applications/nextcloud.desktop</pre>
<p>Crie um atalho em seus aplicativos</p>
<pre class="remontti-code">[Desktop Entry]
Version=2.6.3
Name=NextCloud
Comment=NextCloud Desktop
TryExec=/opt/Nextcloud/Nextcloud.AppImage
Exec=/opt/Nextcloud/Nextcloud.AppImage
Icon=/opt/Nextcloud/nextcloud.ico
Terminal=false
StartupWMClass=NextcloudDesktop
Type=Application
Categories=Network;</pre>
<p>Para colocar inicializar com o sistema vá nas configurações do aplicativo.<br />
<strong>:: Torrent::</strong><br />
Eu gosto do <strong><a href="https://github.com/rakshasa/rtorrent" rel="noopener noreferrer" target="_blank">rtorrent</a></strong> via terminal</p>
<pre class="remontti-code">$ sudo apt install rtorrent</pre>
<p>Mas para interface prefiro <strong><a href="https://www.qbittorrent.org/" rel="noopener noreferrer" target="_blank">qBittorrent</a></strong></p>
<pre class="remontti-code">$ sudo apt install qbittorrent</pre>
<p>:: <strong><a href="https://www.virtualbox.org/wiki/Linux_Downloads" rel="noopener noreferrer" target="_blank">Virtualbox</a></strong> :: </p>
<pre class="remontti-code">$ echo &quot;deb [arch=amd64] http://download.virtualbox.org/virtualbox/debian buster contrib&quot; | sudo tee /etc/apt/sources.list.d/virtualbox.list
$ wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -
$ wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add -
$ sudo apt update
$ sudo apt install virtualbox-6.1
$ sudo usermod -a -G vboxusers $USER</pre>
<pre class="remontti-code">$ cd /tmp/
$ wget --no-check-certificate https://download.virtualbox.org/virtualbox/6.1.0/Oracle_VM_VirtualBox_Extension_Pack-6.1.0.vbox-extpack
$ sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-6.1.0.vbox-extpack</pre>
<p><strong>:: Iniciar Nun Lok ativo e corrigir problema do ponto no Wine ::</strong></p>
<pre class="remontti-code">$ sudo apt install numlockx</pre>
<p>Crie um arquivo com:</p>
<pre class="remontti-code">$ vim ~/.config/autostart-scripts/inicializar.sh</pre>
<p>Adicione</p>
<pre class="remontti-code">#!/bin/bash
# Liga o nunlok
/usr/bin/numlockx on
# Corrige ponto do teclado numerico
/usr/bin/xmodmap -e &#039;keycode 129 = period&#039;</pre>
<pre class="remontti-code">$ chmod +x ~/.config/autostart-scripts/inicializar.sh</pre>
<p>Pronto na próxima inicialização ele já vai executar seu script.<br />
<strong>:: Possíveis Dificuldades ::</strong><br />
<strong>Ajuste na rede</strong></p>
<pre class="remontti-code">$ sudo sed -i &#039;s/plugins=ifupdown,keyfile/plugins=keyfile/&#039; /etc/NetworkManager/NetworkManager.conf
$ sudo addgroup $USER netdev
$ sudo /etc/init.d/network-manager restart</pre>
<p><strong>Impressora</strong></p>
<pre class="remontti-code">$ sudo tasksel
$ sudo apt install printer-driver-hpijs printer-driver-hplip hpcups system-config-printer printer-driver-all</pre>
<p><strong>Solução para o volume que fica indo para 100% sozinho.</strong></p>
<pre class="remontti-code">$ echo &#039;flat-volumes = no&#039; &gt;&gt; ~/.config/pulse/daemon.conf
$ sudo sed -i &#039;s/; flat-volumes = yes/flat-volumes = no/&#039; /etc/pulse/daemon.conf
$ pulseaudio -k ; pulseaudio --start</pre>
<p>Parabéns! Você concluiu! Gostou?</p>
<p><center><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></center></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p>O post <a href="https://blog.remontti.com.br/3322">Como é meu desktop #2? Debian 10 + KDE Plasma Minimalista + Extras</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/3322/feed</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>Instalação do SpeedTest/OoklaServer + Speedtest Custom no Debian 10 Buster</title>
		<link>https://blog.remontti.com.br/3218</link>
					<comments>https://blog.remontti.com.br/3218#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Fri, 26 Jul 2019 20:01:06 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[account]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[buster]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[debian 10]]></category>
		<category><![CDATA[debian buster]]></category>
		<category><![CDATA[ookla]]></category>
		<category><![CDATA[ooklaserver]]></category>
		<category><![CDATA[php7]]></category>
		<category><![CDATA[php7.3]]></category>
		<category><![CDATA[speedtest]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=3218</guid>

					<description><![CDATA[<p>Instalação do SpeedTest (OoklaServer) no Debian 11/12 gerenciado pelo systemd 👆👆👆👆 Versão mais atualizada. Requisitos do servidor Speedtest de acordo com base nas informações: support.ookla.com Capacidade de Rede: &#8211; 1 Gbps de Up e&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/3218">Instalação do SpeedTest/OoklaServer + Speedtest Custom no Debian 10 Buster</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<blockquote class="wp-embedded-content" data-secret="hyQwkVUt1w"><p><a href="https://blog.remontti.com.br/6051">Instalação do SpeedTest (OoklaServer) no Debian 11/12 gerenciado pelo systemd</a></p></blockquote>
<p><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  title="&#8220;Instalação do SpeedTest (OoklaServer) no Debian 11/12 gerenciado pelo systemd&#8221; &#8212; Remontti" src="https://blog.remontti.com.br/6051/embed#?secret=aru74vP5WC#?secret=hyQwkVUt1w" data-secret="hyQwkVUt1w" width="500" height="282" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe><br />
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f446.png" alt="👆" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f446.png" alt="👆" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f446.png" alt="👆" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f446.png" alt="👆" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br />
Versão mais atualizada.</p>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-ooklaserver.png" alt="" width="720" height="340" class="alignnone size-full wp-image-3295" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-ooklaserver.png 720w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-ooklaserver-300x142.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-ooklaserver-520x245.png 520w" sizes="auto, (max-width: 720px) 100vw, 720px" /></p>
<p>Requisitos do servidor Speedtest de acordo com base nas informações: <a href="https://support.ookla.com/hc/en-us/articles/234578628-Speedtest-Server-Requirements" rel="noopener noreferrer" target="_blank">support.ookla.com</a></p>
<h4>Capacidade de Rede:</h4>
<p> &#8211; 1 Gbps de Up e Down<br />
 &#8211; Exceções raras são feitas para regiões subdesenvolvidas e carentes.</p>
<h4>Hardware</h4>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-requesitos.png" alt="" width="579" height="306" class="alignnone size-full wp-image-3220" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-requesitos.png 579w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-requesitos-300x159.png 300w" sizes="auto, (max-width: 579px) 100vw, 579px" /></p>
<h4>Portas:</h4>
<p> &#8211; TCP/UDP 8080 (OoklaServer)<br />
 &#8211; TCP/UDP 5060 (OoklaServer)<br />
 &#8211; TCP 80 (HTTP Legacy)<br />
Todas as portas devem estar abertas para qualquer IP público da Internet, pois os usuários se conectarão diretamente.</p>
<h4>DNS:</h4>
<p>No exemplo vou usar o domínio teste.remontti.com.br, logo é necessário configurar seu subdomínio &#8220;teste&#8221; <a href="https://blog.remontti.com.br/308" rel="noopener noreferrer" target="_blank">em seu DNS Server</a>.</p>
<pre class="remontti-code">[...]

teste       A       45.80.50.2
            AAAA    2804:f123:bebe:cafe::2

[...]</pre>
<p><strong>Distribuição utilizada:</strong> <a href="https://blog.remontti.com.br/2966" rel="noopener noreferrer" target="_blank">Debian 10 (Instalação limpa)</a><br />
Funciona também com Debian 9</p>
<p>Pacotes necessários</p>
<pre class="remontti-code"># su -
# apt install vim  wget unzip apt-transport-https</pre>
<p>Por segurança do servidor é recomendamos usar um usuário sem poderes de root para executar o servidor da ookla.<br />
Para isso vamos criar o usuário chamado speedtest.</p>
<pre class="remontti-code"># addgroup speedtest
# useradd -d /etc/speedtest -m -g speedtest -s /bin/bash speedtest</pre>
<p>Transforme-se no usuário speedtest que acabamos de criar.</p>
<pre class="remontti-code"># su - speedtest</pre>
<p>Vamos baixar nosso script de instalação em /etc/speedtest e executa-lo.</p>
<pre class="remontti-code">$ cd ~
$ wget https://install.speedtest.net/ooklaserver/ooklaserver.sh --no-check-certificate
$ chmod +x ooklaserver.sh
$ ./ooklaserver.sh install</pre>
<p><em>Please confirm (y/n) ></em> <strong>y</strong></p>
<pre class="remontti-code">Server Platform is linux64
This will install the Ookla server for linux64 to the current folder. Please confirm (y/n) &gt; y
Checking Directory Structure
Downloading Server Files
--2019-07-26 10:33:50--  https://install.speedtest.net/ooklaserver/stable/OoklaServer-linux64.tgz
Resolvendo install.speedtest.net (install.speedtest.net)... 2a04:4e42::731, 2a04:4e42:200::731, 2a04:4e42:400::731, ...
Conectando-se a install.speedtest.net (install.speedtest.net)|2a04:4e42::731|:443... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 6093436 (5,8M) [binary/octet-stream]
Salvando em: “OoklaServer-linux64.tgz”

OoklaServer-linux64.tgz                 100%[============================================================================&gt;]   5,81M  2,71MB/s    em 2,1s    

2019-07-26 10:33:52 (2,71 MB/s) - “OoklaServer-linux64.tgz” salvo [6093436/6093436]

Extracting Server Files
OoklaServer
OoklaServer.properties.default
Starting OoklaServer
Daemon Started (9531)
NOTE:

We strongly recommend following instructions at

   https://www.ookla.com/support/a87011938/

to ensure your daemon starts automatically when the system reboots</pre>
<p>Neste momento o servidor ookla já iniciou, acesse em seu navegado <strong>http://teste.{DOMINIO}:8080</strong> e <strong>http://teste.{DOMINIO}:5060</strong> e verifique se o mesmo esta rodando (OoklaServer &#8211; It worked!)</p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-it-worked.png" data-rel="lightbox-gallery-b6cFDbpF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-it-worked-300x202.png" alt="" width="300" height="202" class="alignnone size-medium wp-image-3221" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-it-worked-300x202.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-it-worked-768x518.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-it-worked.png 829w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Volte para o usuário root</p>
<pre class="remontti-code">$ exit</pre>
<p>Para que o Ooklaserver seja iniciado em segundo plano automaticamente, criaremos o arquivo /etc/rc.local como o comando já para iniciar nosso serviço.</p>
<pre class="remontti-code"># ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service
# printf &#039;%s\n&#039; &#039;#!/bin/bash&#039; &#039;/usr/bin/su - speedtest -c &quot;/etc/speedtest/OoklaServer --daemon&quot;&#039; &#039;exit 0&#039; | tee -a /etc/rc.local</pre>
<p>De permissão para execução e ative sua inicialização</p>
<pre class="remontti-code"># chmod +x /etc/rc.local</pre>
<p>Para testarmos vamos reiniciar e verificar se o ooklaserver iniciou após reboot.</p>
<pre class="remontti-code"># reboot</pre>
<p>Acesse: <strong>http://teste.{DOMINIO}:8080</strong> para ver se o mesmo foi executado na inicialização.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-it-worked.png" data-rel="lightbox-gallery-b6cFDbpF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-it-worked-300x202.png" alt="" width="300" height="202" class="alignnone size-medium wp-image-3221" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-it-worked-300x202.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-it-worked-768x518.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-it-worked.png 829w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<h4>Servidor Web</h4>
<p>Precisamos ter um serviço web rodando e PHP, para isso vamos instalar o Apache2 + PHP7</p>
<pre class="remontti-code"># su -
# apt install apache2 libapache2-mod-php php </pre>
<p><strong> :: Dominio Virtual :: </strong></p>
<p>Crie a configuração do domínio virtual, no meu exemplo teste.remontti.com.br, qual diretório raiz será &#8220;/var/www/teste/&#8221;</p>
<pre class="remontti-code"># vim /etc/apache2/sites-available/teste.conf</pre>
<pre class="remontti-code">&lt;virtualhost *:80&gt;
        ServerName teste.remontti.com.br
        ServerAdmin noc@remontti.com.br
        DocumentRoot /var/www/teste 
        &lt;directory /var/www/teste/ &gt;
                Options FollowSymLinks
                AllowOverride All
        &lt;/directory&gt; 
        LogLevel warn 
        ErrorLog ${APACHE_LOG_DIR}/error_teste.log
        CustomLog ${APACHE_LOG_DIR}/access_teste.log combined
&lt;/virtualhost&gt;</pre>
<p>Vamos criar nosso diretório raiz:</p>
<pre class="remontti-code"># mkdir /var/www/teste/
# echo &quot;MEU FUTURO CODIGO HTML&quot; &gt; /var/www/teste/index.php
</pre>
<p>Agora precisamos fazer o acesso web para visualizar as informações.<br />
Ajustes de segurança para o apache:</p>
<pre class="remontti-code"># sed -i &#039;s/ServerTokens OS/ServerTokens Prod/&#039; /etc/apache2/conf-available/security.conf
# sed -i &#039;s/ServerSignature On/ServerSignature Off/&#039; /etc/apache2/conf-available/security.conf</pre>
<p>Ativamos o arquivo teste.conf e restartamos o apache2</p>
<pre class="remontti-code"># a2ensite teste
# systemctl restart apache2</pre>
<p>Acesse: <strong>http://teste.{DOMINIO}</strong>, se retornar uma tela &#8220;MEU FUTURO CODIGO HTML&#8221;.</p>
<h4>Certificado Válido</h4>
<p>Usamos o letsencrypt para gerar o certificado certificado gratuitamente.</p>
<pre class="remontti-code"># apt install letsencrypt python-certbot-apache</pre>
<p>Antes de gerar nossa configuração pare o apache</p>
<pre class="remontti-code"># systemctl stop apache2</pre>
<p>Altere teste.remontti.com.br para SEU.DOMINIO!</p>
<pre class="remontti-code"># letsencrypt --authenticator standalone --installer apache -d teste.remontti.com.br</pre>
<p>Responda como abaixo:</p>
<pre class="remontti-code">Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter &#039;c&#039; to
cancel): seu@email.com.br

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let&#039;s Encrypt project and the non-profit
organization that develops Certbot? We&#039;d like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for teste.remontti.com.br
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/teste-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/teste-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/teste-le-ssl.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you&#039;re confident your site works on HTTPS. You can undo this
change by editing your web server&#039;s configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press &#039;c&#039; to cancel): 1

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://teste.remontti.com.br

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=teste.remontti.com.br
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/teste.remontti.com.br/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/teste.remontti.com.br/privkey.pem
   Your cert will expire on 2019-10-24. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the &quot;certonly&quot; option. To non-interactively renew *all* of
   your certificates, run &quot;certbot renew&quot;
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Lets Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le</pre>
<p>Acesse seu domínio agora com https: <strong>https://teste.{DOMINIO}</strong>. Você não pode receber erro de certificado!</p>
<p>Para evitar que o certificado expire colocaremos o certbot para renovar o certificado, fazendo um script e colocando ele no cron.</p>
<pre class="remontti-code"># vim  /etc/speedtest/renovassl.sh</pre>
<p>Adicione</p>
<pre class="remontti-code">#!/bin/bash
# Para o apache 
/usr/bin/systemctl stop apache2

# Aguarda 10 seg (tempo do apache parar) 
sleep 10

# Renova o certificado
/usr/bin/certbot -q renew

# Aguarda o certificado renovar
sleep 30

# Altera as permissoes para o usuário speedtest conseguir ler os certificados
/usr/bin/chown speedtest. /etc/letsencrypt/ -R

# Aguarda 2 seg
sleep 2

# Restarta o apache 
/usr/bin/systemctl restart apache2
sleep 10
# Restarta o apache mais uma vez so por garantia (opcional)
/usr/bin/systemctl restart apache2

# Para o ooklaserver
/etc/speedtest/ooklaserver.sh stop 
sleep 120
# Inicia o ooklaserver
/usr/bin/su - speedtest -c &quot;/etc/speedtest/OoklaServer --daemon&quot;
</pre>
<pre class="remontti-code"># chmod +x /etc/speedtest/renovassl.sh
# chown speedtest. /etc/speedtest/renovassl.sh</pre>
<pre class="remontti-code"># echo &#039;00 00   1 * *   root    /etc/speedtest/renovassl.sh&#039; &gt;&gt; /etc/crontab</pre>
<p>Verifique se a última linha está nosso script.</p>
<pre class="remontti-code"># cat /etc/crontab</pre>
<pre class="remontti-code"># /etc/crontab: system-wide crontab
# Unlike any other crontab you don&#039;t have to run the `crontab&#039;
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
17 *    * * *   root    cd / &amp;&amp; run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / &amp;&amp; run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / &amp;&amp; run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / &amp;&amp; run-parts --report /etc/cron.monthly )
#
00 00   * * *   root    /etc/speedtest/renovassl.sh</pre>
<p>Restarte o cron</p>
<pre class="remontti-code"># systemctl restart cron</pre>
<p>Agora que temos nosso certificado válido e funcionando vamos utiliza-lo nas configurações do OoklaServer.</p>
<pre class="remontti-code"># vim /etc/speedtest/OoklaServer.properties</pre>
<p>Descomente a variável: <strong>OoklaServer.allowedDomains</strong> e inclua seu domínio também, em seguida procure <strong>openSSL</strong>, temos duas variáveis comentadas, descomente e aponte para o arquivo do certificado criado pelo letsencrypt.  </p>
<pre class="remontti-code"># OoklaServer.allowedDomains = *.ookla.com, *.speedtest.net
# altere ¬
OoklaServer.allowedDomains = *.ookla.com, *.speedtest.net, *.SEUDOMINIO.com.br

# ...

# openSSL.server.certificateFile = cert.pem
# openSSL.server.privateKeyFile = key.pem
# altere ¬
openSSL.server.certificateFile = /etc/letsencrypt/live/teste.SEUDOMINIO.com.br/fullchain.pem
openSSL.server.privateKeyFile = /etc/letsencrypt/live/teste.SEUDOMINIO.com.br/privkey.pem</pre>
<p>Se você tem IPv6 configurado em seu servidor, ainda no OoklaServer.properties descomente alinha &#8220;OoklaServer.useIPv6&#8221;</p>
<pre class="remontti-code"># Uncomment to bind OoklaServer to IPv6
#
OoklaServer.useIPv6 = true</pre>
<p>Vamos sobrescrevemos o arquivo default também, pois o Ooklaserver atualiza-se automaticamente e ele é o arquivo base.</p>
<pre class="remontti-code"># cp /etc/speedtest/OoklaServer.properties /etc/speedtest/OoklaServer.properties.default</pre>
<p>Também é necessário dar acesso (permissão) ao usuário speedtest a ler os arquivos do certificado em /etc/letsencrypt.</p>
<pre class="remontti-code"># chown speedtest. /etc/letsencrypt/ -R</pre>
<p>Reinicie seu servidor.</p>
<pre class="remontti-code"># reboot</pre>
<p>Agora acessamos nossa porta 8080 utilizando http: <strong>https://teste.{DOMINIO}:8080</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-https-speedtest.png" data-rel="lightbox-gallery-b6cFDbpF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-https-speedtest-300x202.png" alt="" width="300" height="202" class="alignnone size-medium wp-image-3257" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-https-speedtest-300x202.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-https-speedtest-768x518.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-https-speedtest.png 829w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Crie uma index.php onde posteriormente iremos configurar nosso SpeedtestCustom</p>
<pre class="remontti-code"># echo &quot;IFRAME SPEEDTESTCUSTOM&quot; &gt; /var/www/teste/index.php</pre>
<pre class="remontti-code"># vim /var/www/teste/crossdomain.xml</pre>
<pre class="remontti-code">&lt;?xml version=&quot;1.0&quot;?&gt;
&lt;cross-domain-policy&gt;
  &lt;allow-access-from domain=&quot;*.speedtest.net&quot; /&gt;
  &lt;allow-access-from domain=&quot;*.ookla.com&quot; /&gt;
  &lt;allow-access-from domain=&quot;*.SEUDOMINIO.com.br&quot; /&gt;
  &lt;allow-access-from domain=&quot;*.OUTRO_SETIVER_OU_DELETE_ESSALINHA&quot; /&gt;
&lt;/cross-domain-policy&gt;</pre>
<p>Servidor esta pronto para passar nos testes! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<h4>Testes</h4>
<p>Acesse <a href="https://www.ookla.com/pt/host-tester" rel="noopener noreferrer" target="_blank">https://www.ookla.com/pt/host-tester</a> e preencha com as informações do seu servidor:</p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest.png" data-rel="lightbox-gallery-b6cFDbpF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest.png" alt="" width="883" height="690" class="alignnone size-full wp-image-5358" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest.png 883w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-300x234.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-768x600.png 768w" sizes="auto, (max-width: 883px) 100vw, 883px" /></a></p>
<p><strong>Submit!</strong></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest_result.png" data-rel="lightbox-gallery-b6cFDbpF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest_result.png" alt="" width="1008" height="750" class="alignnone size-full wp-image-5359" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest_result.png 1008w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest_result-300x223.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest_result-768x571.png 768w" sizes="auto, (max-width: 1008px) 100vw, 1008px" /></a></p>
<h4>Criando uma conta</h4>
<p>Se você passou nos testes é hora de criar sua conta no <a href="https://account.ookla.com/register/servers" rel="noopener noreferrer" target="_blank">ookla.com</a> e fazer a solicitação para virar um host! <a href="https://account.ookla.com/register/servers" rel="noopener noreferrer" target="_blank">https://account.ookla.com/register/servers</a><br />
Se você já tem conta acesse: <a href="https://account.ookla.com/servers/create" rel="noopener noreferrer" target="_blank">https://account.ookla.com/servers/create</a><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-register.png" data-rel="lightbox-gallery-b6cFDbpF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-register-150x150.png" alt="" width="150" height="150" class="alignnone size-thumbnail wp-image-3270" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-register-150x150.png 150w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-register-160x160.png 160w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-register-320x320.png 320w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-register2.png" data-rel="lightbox-gallery-b6cFDbpF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-register2-150x150.png" alt="" width="150" height="150" class="alignnone size-thumbnail wp-image-3271" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-register2-150x150.png 150w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-register2-160x160.png 160w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-register2-320x320.png 320w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-register3.png" data-rel="lightbox-gallery-b6cFDbpF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-register3-150x150.png" alt="" width="150" height="150" class="alignnone size-thumbnail wp-image-3272" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-register3-150x150.png 150w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-register3-160x160.png 160w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-register3-320x320.png 320w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a></p>
<h4>Cadastro</h4>
<p>Criado sua conta responta seu e-mail de verificação e logue em sua conta: <a href="https://account.ookla.com/" rel="noopener noreferrer" target="_blank">https://account.ookla.com/</a></p>
<p>Clique em <strong>Go To Servers</strong>, e <strong>aceite os Termos</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-go-to-server.png" data-rel="lightbox-gallery-b6cFDbpF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-go-to-server-300x172.png" alt="" width="300" height="172" class="alignnone size-medium wp-image-3276" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-go-to-server-300x172.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-go-to-server-768x441.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-go-to-server-1024x588.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-go-to-server.png 1223w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Clique em <strong>Add Server</strong> preencha com os seus dados e do servidor. </p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-add-server-1.png" data-rel="lightbox-gallery-b6cFDbpF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-add-server-1.png" alt="" width="1234" height="1297" class="alignnone size-full wp-image-5360" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-add-server-1.png 1234w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-add-server-1-285x300.png 285w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-add-server-1-974x1024.png 974w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-add-server-1-768x807.png 768w" sizes="auto, (max-width: 1234px) 100vw, 1234px" /></a><br />
Agora basta aguardar alguns dias pela aprovação, você receberá um e-mail lhe avisado (se não for aprovado eles lhe dirão porque). Boa sorte!</p>
<h4>SpeedtestCustom</h4>
<p>Acesse <a href="https://account.speedtestcustom.com" rel="noopener noreferrer" target="_blank">https://account.speedtestcustom.com</a> e resgistre um &#8220;Free Plan&#8221;<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-1.png" data-rel="lightbox-gallery-b6cFDbpF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-1-1024x736.png" alt="" width="1024" height="736" class="alignnone size-large wp-image-3283" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-1-1024x736.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-1-300x216.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-1-768x552.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-1.png 1235w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-2.png" data-rel="lightbox-gallery-b6cFDbpF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-2-1024x715.png" alt="" width="1024" height="715" class="alignnone size-large wp-image-3284" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-2-1024x715.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-2-300x209.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-2-768x536.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-2.png 1265w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-3.png" data-rel="lightbox-gallery-b6cFDbpF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-3-1024x707.png" alt="" width="1024" height="707" class="alignnone size-large wp-image-3285" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-3-1024x707.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-3-300x207.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-3-768x530.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-3.png 1257w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></p>
<p>Finalizando ajustamos o arquivo index.php</p>
<pre class="remontti-code">#  vim /var/www/teste/index.php </pre>
<p>WordPress ta bugando ao ler o codigo html pegue ele aqui: <a href="https://blog.remontti.com.br/wp-content/uploads/2019/07/index.zip">index</a></p>
<pre class="remontti-code">&lt;?php
#Altere as variáveis
$titulo = &quot;Remontti - SpeedTest&quot;;
$cor_fundo = &quot;1D1D1D&quot;; //A mesma que vc anotou la do custom
$cor_texto = &quot;067980&quot;; //A mesma que vc anotou la do custom
$url_custom = &quot;https://remontti.speedtestcustom.com&quot;; // Seu link no custom
?&gt;
&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;&lt;?php echo &quot;$titulo &quot;; ?&gt;&lt;/title&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot;&gt;
&lt;link rel=&quot;shortcut icon&quot; href=&quot;/favicon.ico&quot; type=&quot;image/x-icon&quot;&gt;
&lt;link rel=&quot;icon&quot; href=&quot;/favicon.ico&quot; type=&quot;image/x-icon&quot;&gt;
&lt;style type=&quot;text/css&quot;&gt;
  html, body {
    font-family: Lucida Grande, sans-serif;
    color: #&lt;?php echo &quot;$cor_texto&quot;; ?&gt;;
    background: #&lt;?php echo &quot;$cor_fundo&quot;; ?&gt;;
  }
  .iframe-placeholder {
    background: url(&#039;data:image/svg+xml;charset=utf-8,&lt;svg xmlns=&quot;http://www.w3.org/2000/svg&quot; width=&quot;100%&quot; height=&quot;100%&quot; viewBox=&quot;0 0 100% 100%&quot;&gt;&lt;text fill=&quot;%23&lt;?php echo &quot;$cor_texto&quot;; ?&gt;&quot; x=&quot;50%&quot; y=&quot;50%&quot; font-family=&quot;\&#039;Lucida Grande\&#039;, sans-serif&quot; font-size=&quot;38&quot; text-anchor=&quot;middle&quot;&gt;Carregando&lt;/text&gt;&lt;/svg&gt;&#039;) 0px 0px no-repeat;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;iframe class=&quot;iframe-placeholder&quot; width=&quot;100%&quot; height=&quot;600px&quot; scrolling=&quot;no&quot; frameborder=&quot;0&quot; src=&quot;&lt;?php echo &quot;$url_custom&quot;; ?&gt;&quot;&gt;&lt;/iframe&gt;
&lt;/body&gt;
&lt;/html&gt;</pre>
<p>https://teste.DOMINIO/<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-4.png" data-rel="lightbox-gallery-b6cFDbpF" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-4-300x212.png" alt="" width="300" height="212" class="alignnone size-medium wp-image-3291" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-4-300x212.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-4-768x542.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-4-1024x722.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/07/speedtest-debian-10-buster-custom-4.png 1048w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Parabéns! Você concluiu! Gostou?</p>
<p><center><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></center></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p>O post <a href="https://blog.remontti.com.br/3218">Instalação do SpeedTest/OoklaServer + Speedtest Custom no Debian 10 Buster</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/3218/feed</wfw:commentRss>
			<slash:comments>145</slash:comments>
		
		
			</item>
		<item>
		<title>Acessando logs do rsyslog via web com Log Analyzer</title>
		<link>https://blog.remontti.com.br/2687</link>
					<comments>https://blog.remontti.com.br/2687#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Wed, 12 Sep 2018 09:05:47 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[analyzer]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[Log Analyzer]]></category>
		<category><![CDATA[Mikrotik]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[rsyslog]]></category>
		<category><![CDATA[syslog]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=2687</guid>

					<description><![CDATA[<p>O projeto LogAnalyzer já é antigo, não tem um interface muito bonita mas fornece um frontend fácil de usar e poderoso, permite pesquisar, revisar e analisar dados de eventos de rede, incluindo syslog. É&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/2687">Acessando logs do rsyslog via web com Log Analyzer</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>O projeto LogAnalyzer já é antigo, não tem um interface muito bonita mas fornece um frontend fácil de usar e poderoso, permite pesquisar, revisar e analisar dados de eventos de rede, incluindo syslog. É um aplicativo gratuito de código aberto GPL escrito principalmente em php. Os dados podem ser obtidos de bancos de dados, mas também de arquivos de texto simples, por exemplo, aqueles que são escritos pelo rsyslog.</p>
<p>Para dar inicio vamos precisar ter um serviço Web rodado em nosso servidor<br />
<strong>Requisitos</strong>: <a href="https://blog.remontti.com.br/2024" rel="noopener" target="_blank">Passo-a-passo como criar um servidor web Apache2, PHP 7.0, MariaDB, PHPMyAdmin “LAMP” no Debian 9 Stretch</a></p>
<p><strong>Sugerido</strong>: <a href="https://blog.remontti.com.br/2674" rel="noopener" target="_blank">Servidor de log para registros remoto do RouterOS/Mikrotik</a></p>
<p>Agora já com nosso servidor LAMP pronto vamos criar nossa base de dados chamada Syslog (sim com S maiúsculo) e criar o usuario rsyslog para acessar esse banco.</p>
<pre class="remontti-code"># mysql -p</pre>
<pre class="remontti-code">
CREATE DATABASE Syslog;
GRANT ALL PRIVILEGES ON Syslog.* TO &#039;rsyslog&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;SUA-SENHA&#039;;
FLUSH PRIVILEGES;
quit;</pre>
<p>Instalaremos o modulo rsyslog-mysql para fazer a integração </p>
<pre class="remontti-code"># apt install rsyslog-mysql</pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2018/09/1.png" data-rel="lightbox-gallery-yIOUHp0n" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/09/1-300x169.png" alt="" width="300" height="169" class="alignnone size-medium wp-image-2690" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/09/1-300x169.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/09/1-768x432.png 768w, https://blog.remontti.com.br/wp-content/uploads/2018/09/1-1024x576.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/09/1.png 1600w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><br />
Responda Sim</p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2018/09/2.png" data-rel="lightbox-gallery-yIOUHp0n" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/09/2-300x169.png" alt="" width="300" height="169" class="alignnone size-medium wp-image-2691" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/09/2-300x169.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/09/2-768x432.png 768w, https://blog.remontti.com.br/wp-content/uploads/2018/09/2-1024x576.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/09/2.png 1600w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><br />
Informe a senha criada para o usuário rsyslog <em>(&#8216;rsyslog&#8217;@&#8217;localhost&#8217; IDENTIFIED BY &#8216;SUA-SENHA&#8217;)</em></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2018/09/3.png" data-rel="lightbox-gallery-yIOUHp0n" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/09/3-300x169.png" alt="" width="300" height="169" class="alignnone size-medium wp-image-2692" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/09/3-300x169.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/09/3-768x432.png 768w, https://blog.remontti.com.br/wp-content/uploads/2018/09/3-1024x576.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/09/3.png 1600w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Repita a senha</p>
<p>Verifique se o arquivo /etc/rsyslog.d/mysql.conf foi criado</p>
<pre class="remontti-code">cat /etc/rsyslog.d/mysql.conf</pre>
<p>Vai retornar:</p>
<pre class="remontti-code">	$ModLoad ommysql
	*.* :ommysql:localhost,Syslog,rsyslog,SUA-SENHA</pre>
<p>Agora reinicie o serviço do rsyslog para atualizar as configurações</p>
<pre class="remontti-code"># /etc/init.d/rsyslog restart</pre>
<p>Pronto seu rsyslog já esta guardado todos os logs no seu banco de dados, agora vamos a instalação e configuração do <a href="https://loganalyzer.adiscon.com/" rel="noopener" target="_blank">LogAnalyzer</a></p>
<p>Na data de hoje o projeto encontra-se na versão 4.1.6<br />
Acesse <a href="https://loganalyzer.adiscon.com/download/" rel="noopener" target="_blank">https://loganalyzer.adiscon.com/download/</a> e verifique se já  não existe uma nova versão.</p>
<p>Nos comandos a seguir vamos fazer o download do projeto, em seguida extrair o mesmo, e mover o projeto para dentro da pasta padrão do servidor web (/var/www/html/) faça de acordo com sua realidade, e ultimo estaremos dando permissões ao usuário apache (www-data) a escrever nos arquviso  .   </p>
<pre class="remontti-code"># cd /tmp/
# wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.6.tar.gz
# tar -vxzf loganalyzer-4.1.6.tar.gz
# cd loganalyzer-4.1.6/
# mv src/ /var/www/html/logs
# chown www-data. /var/www/html/logs -R</pre>
<p>Existe um pacote de tradução, porém o mesmo não foi traduzido, caso tenha interesse em baixar, e fazer a tradução:</p>
<pre class="remontti-code"># cd /tmp/
# wget https://loganalyzer.adiscon.com/plugins/files/translations/loganalyzer_lang_pt_BR_3.2.3.zip
# apt install  unzip
# unzip loganalyzer_lang_pt_BR_3
# unzip loganalyzer_lang_pt_BR_3.2.3.zip
# mv pt_BR /var/www/html/logs/lang/
# chown www-data. /var/www/html/logs -R</pre>
<p>Agora acesse: http://SEU-IP_OU-DOMINIO/logs/<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/09/4.png" data-rel="lightbox-gallery-yIOUHp0n" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/09/4-300x206.png" alt="" width="300" height="206" class="alignnone size-medium wp-image-2693" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/09/4-300x206.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/09/4-768x528.png 768w, https://blog.remontti.com.br/wp-content/uploads/2018/09/4-1024x704.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/09/4.png 1235w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><br />
Vamos ser avisados que o sistema precisa ser instalado/configurado. Clique em &#8220;here&#8221;.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/09/5.png" data-rel="lightbox-gallery-yIOUHp0n" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/09/5-300x206.png" alt="" width="300" height="206" class="alignnone size-medium wp-image-2694" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/09/5-300x206.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/09/5-768x528.png 768w, https://blog.remontti.com.br/wp-content/uploads/2018/09/5-1024x704.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/09/5.png 1235w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><br />
Next<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/09/6.png" data-rel="lightbox-gallery-yIOUHp0n" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/09/6-300x206.png" alt="" width="300" height="206" class="alignnone size-medium wp-image-2695" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/09/6-300x206.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/09/6-768x528.png 768w, https://blog.remontti.com.br/wp-content/uploads/2018/09/6-1024x704.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/09/6.png 1235w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><br />
Next<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/09/7.png" data-rel="lightbox-gallery-yIOUHp0n" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/09/7-300x206.png" alt="" width="300" height="206" class="alignnone size-medium wp-image-2696" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/09/7-300x206.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/09/7-768x528.png 768w, https://blog.remontti.com.br/wp-content/uploads/2018/09/7-1024x704.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/09/7.png 1235w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><br />
Selecione YES em Enabled User Database, e configure em Database User o usuário rsyslog e sua senha.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/09/8.png" data-rel="lightbox-gallery-yIOUHp0n" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/09/8-300x206.png" alt="" width="300" height="206" class="alignnone size-medium wp-image-2697" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/09/8-300x206.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/09/8-768x528.png 768w, https://blog.remontti.com.br/wp-content/uploads/2018/09/8-1024x704.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/09/8.png 1235w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><br />
Next<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/09/9.png" data-rel="lightbox-gallery-yIOUHp0n" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/09/9-300x206.png" alt="" width="300" height="206" class="alignnone size-medium wp-image-2698" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/09/9-300x206.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/09/9-768x528.png 768w, https://blog.remontti.com.br/wp-content/uploads/2018/09/9-1024x704.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/09/9.png 1235w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><br />
Se não tiver nenhum erro, clique em next.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/09/10.png" data-rel="lightbox-gallery-yIOUHp0n" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/09/10-300x206.png" alt="" width="300" height="206" class="alignnone size-medium wp-image-2699" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/09/10-300x206.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/09/10-768x528.png 768w, https://blog.remontti.com.br/wp-content/uploads/2018/09/10-1024x704.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/09/10.png 1235w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><br />
Crie um usuário e senha para o administrador<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/09/11.png" data-rel="lightbox-gallery-yIOUHp0n" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/09/11-300x206.png" alt="" width="300" height="206" class="alignnone size-medium wp-image-2700" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/09/11-300x206.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/09/11-768x528.png 768w, https://blog.remontti.com.br/wp-content/uploads/2018/09/11-1024x704.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/09/11.png 1235w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><br />
Crie uma fonte de coleta, no nosso caso vamos usar os logs do mysql, siga de acordo com a imagem. Posteriormente você pode criar outras fontes.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/09/12.png" data-rel="lightbox-gallery-yIOUHp0n" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/09/12-300x206.png" alt="" width="300" height="206" class="alignnone size-medium wp-image-2701" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/09/12-300x206.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/09/12-768x528.png 768w, https://blog.remontti.com.br/wp-content/uploads/2018/09/12-1024x704.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/09/12.png 1235w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><br />
Next<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/09/Screenshot_20180912_110022.png" data-rel="lightbox-gallery-yIOUHp0n" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/09/Screenshot_20180912_110022-300x188.png" alt="" width="300" height="188" class="alignnone size-medium wp-image-2703" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/09/Screenshot_20180912_110022-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/09/Screenshot_20180912_110022-768x480.png 768w, https://blog.remontti.com.br/wp-content/uploads/2018/09/Screenshot_20180912_110022-1024x640.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/09/Screenshot_20180912_110022.png 1680w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a>  </p>
<p>Parabéns você concluiu! </p>
<p>Gostou? Deixe seu comentário ficarei feliz em saber que lhe ajudei, e se tiver qualquer pergunta deixe-a também, se preferir acesse o menu Consultoria lá você encontra meios de falar comigo!</p>
<p>Abraço!</p>
<p>O post <a href="https://blog.remontti.com.br/2687">Acessando logs do rsyslog via web com Log Analyzer</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/2687/feed</wfw:commentRss>
			<slash:comments>13</slash:comments>
		
		
			</item>
		<item>
		<title>Servidor &#8220;Gateway&#8221; Vários IPs na mesma interface + IP vs MAC + Controle de Banda por IP</title>
		<link>https://blog.remontti.com.br/171</link>
					<comments>https://blog.remontti.com.br/171#respond</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Sun, 27 Mar 2016 06:20:29 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[alias]]></category>
		<category><![CDATA[cbq]]></category>
		<category><![CDATA[controle de banda]]></category>
		<category><![CDATA[Controle de Banda por IP]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[ifconfig]]></category>
		<category><![CDATA[ip alias]]></category>
		<category><![CDATA[IP vs MAC]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[Servidor Gateway]]></category>
		<category><![CDATA[shaper]]></category>
		<guid isPermaLink="false">http://www.remontti.com.br/blog/?p=171</guid>

					<description><![CDATA[<p>Se você tem uma pequena rede e gostaria de colocar um servidor linux para gerenciar ela aqui vai algumas dicas que podem ser útil para você, vamos tratar de como adicionar mais de um&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/171">Servidor &#8220;Gateway&#8221; Vários IPs na mesma interface + IP vs MAC + Controle de Banda por IP</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Se você tem uma pequena rede e gostaria de colocar um servidor linux para gerenciar ela aqui vai algumas dicas que podem ser útil para você, vamos tratar de como adicionar mais de um IP na mesma interface (IP alias), amarar um IP ao MAC, e criar um controle de banda.</p>
<p>Cenário:<br />
<span style="color: #003300;">[ SERVIDOR DEBIAN 8]</span><br />
<span style="color: #003300;"> eth0 &#8211; WAN</span><br />
<span style="color: #003300;"> eth1 &#8211; LAN</span></p>
<p><span id="more-171"></span><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-1106" src="https://blog.remontti.com.br/wp-content/uploads/2009/04/D1-1-300x194.jpg" alt="d1" width="300" height="194" srcset="https://blog.remontti.com.br/wp-content/uploads/2009/04/D1-1-300x194.jpg 300w, https://blog.remontti.com.br/wp-content/uploads/2009/04/D1-1.jpg 741w" sizes="auto, (max-width: 300px) 100vw, 300px" /><br />
Criando alias de ip Para ficar mais organizado, criamos uma pasta em etc onde iremos gravar todos nossos arquivos.</p>
<p>No exemplo  vamos adicionar 3 IPs /24 na nossa mesma placa de rede.</p>
<pre class="remontti-code"># ifconfig eth1:1 192.168.1.1 netmask 255.255.255.0
# ifconfig eth1:2 172.16.0.1 netmask 255.255.255.0
# ifconfig eth1:3 10.0.0.1 netmask 255.255.255.0
</pre>
<p>Muito simples adicione eth0<strong>:ID IP </strong>netmask<strong> MASCARA</strong></p>
<p>Confira se os mesmo foram criados:</p>
<pre class="remontti-code"># ifconfig
eth0:1 Link encap:Ethernet Endereço de HW 00:00:00:00:10:20 
inet end.: 192.168.1.1 Bcast:192.168.1.255 Masc:255.255.255.0
UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1</pre>
<p>Para &#8220;baixar&#8221; uma interface alias, use o comando:</p>
<pre class="remontti-code"># ifconfig eth1:2 down</pre>
<p><strong>Amarrando IP x MAC:</strong><br />
Primeiramente devemos compartilhar conexão do seu linux:</p>
<pre class="remontti-code"># echo 1 &gt; /proc/sys/net/ipv4/ip_forward</pre>
<p>Neste exemplo vou liberar internet (NAT) para os 3 IPs com classes diferente, mas você possivelmente terá apenas uma classe.</p>
<p>Esses comandos irão limpar qualquer regra que já exista do iptables</p>
<pre class="remontti-code"># iptables -F
# iptables -X
# iptables -F -t nat
# iptables -X -t nat
# iptables -F -t mangle
# iptables -X -t mangle
# iptables -F -t filter
# iptables -X -t filter
</pre>
<p>Carregamos os módulos necessários</p>
<pre class="remontti-code"># modprobe iptable_nat
# modprobe ip_conntrack_ftp
# modprobe ip_nat_ftp
# modprobe ipt_LOG
# modprobe ipt_REJECT
# modprobe ipt_MASQUERADE

# iptables -t nat -A POSTROUTING -s 192.168.1.2/32 -j MASQUERADE
# iptables -t filter -A FORWARD -d 0/0 -s 192.168.1.2 -m mac ! --mac-source  08:00:27:18:dc:aa -j DROP

# iptables -t nat -A POSTROUTING -s 172.16.0.2/32 -j MASQUERADE
# iptables -t filter -A FORWARD -d 0/0 -s 172.16.0.2 -m mac ! --mac-source  08:00:27:18:dc:ab -j DROP

# iptables -t nat -A POSTROUTING -s 10.0.0.2/32 -j MASQUERADE
# iptables -t filter -A FORWARD -d 0/0 -s 10.0.0.2 -m mac ! --mac-source  08:00:27:18:dc:ac -j DROP
</pre>
<p>Neste exemplo estamos liberando apenas os IPs.</p>
<p>Os demais IPs já estão bloqueado, porém digamos que você queira que quando ele abra algum site http ele receba uma página com um alerta.</p>
<p>Vamos fazer NAT apenas para porta 80 (http) e a 53 para ele poder consultar o DNS</p>
<pre class="remontti-code"># iptables -t nat -A POSTROUTING -p tcp --dport 80 -s 192.168.1.3/32-j MASQUERADE
# iptables -t nat -A POSTROUTING -p udp --dport 53 -s 192.168.1.3/32 -j MASQUERADE
</pre>
<p>Aqui vem o segredo você vai direciona-lo para o IP do seu servidor na porta 80.<br />
Você vai precisar ter instalado o Apache e configurado ou outro serviço web. Use a imaginação <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f61b.png" alt="😛" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<pre class="remontti-code"># iptables -t nat -A PREROUTING -p tcp -s 192.168.1.3/32 --dport 80 -j DNAT --to 192.168.1.1:80</pre>
<p>Agora só para garantir vamos bloquear qlqr outra porta com destinos diferente da 80 e 53.</p>
<pre class="remontti-code"># iptables -I FORWARD -s 192.168.1.3/32 -p tcp ! --dport 80 -j DROP
# iptables -I FORWARD -s 192.168.1.3/32 -p udp ! --dport 53 -j DROP
</pre>
<p>Agora vamos fazer um controle de banda para o IP 192.168.1.2 setando 4Mb de Down e 2Mb de Up<br />
Só para garatir limpamos as regras mangle do iptables</p>
<pre class="remontti-code"># iptables -F -t mangle
# iptables -X -t mangle
</pre>
<p>Upload</p>
<pre class="remontti-code"># tc qdisc del dev eth0 root
# tc qdisc add dev eth0 root handle 1: htb default 1
# tc class add dev eth0 parent 1: classid 1:1 htb rate 1000mbit
# tc class add dev eth0 parent 1: classid 1:10 htb rate 2Mbit
# iptables -t mangle -A FORWARD -o eth0 -p tcp -s 192.168.1.2 -j CLASSIFY --set-class 1:10</pre>
<p>Download</p>
<pre class="remontti-code"># tc qdisc del dev eth1 root
# tc qdisc add dev eth1 root handle 1: htb default 1
# tc class add dev eth1 parent 1: classid 1:1 htb rate 1000mbit
# tc class add dev eth1 parent 1: classid 1:20 htb rate 4Mbit
# iptables -t mangle -A FORWARD -o eth1 -p tcp -d 192.168.1.2 -j CLASSIFY --set-class 1:20
</pre>
<p>&nbsp;</p>
<p>Por hoje é isso!</p>
<p>Recomendo o o post<a href="https://blog.remontti.com.br/1122"> SCRIPT IP vs MAC + Controle de Banda por IP no Debian</a></p>
<p>O post <a href="https://blog.remontti.com.br/171">Servidor &#8220;Gateway&#8221; Vários IPs na mesma interface + IP vs MAC + Controle de Banda por IP</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/171/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Permissões de um arquivo Linux</title>
		<link>https://blog.remontti.com.br/420</link>
					<comments>https://blog.remontti.com.br/420#respond</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Thu, 18 Jun 2009 14:45:34 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[chmod]]></category>
		<category><![CDATA[Permissões]]></category>
		<guid isPermaLink="false">http://www.remontti.com.br/blog/?p=420</guid>

					<description><![CDATA[<p>Chmod é o comando que usamos para mudar as permissões de um arquivo. Podem ser vistas através do comando ls -l. A esquerda dos arquivos aparecerá uma cadeia de caracteres de difícil compreensão inicial,&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/420">Permissões de um arquivo Linux</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Chmod é o comando que usamos para mudar as permissões de um arquivo.  Podem ser vistas através do comando ls -l.<br />
A esquerda dos arquivos aparecerá uma cadeia de caracteres de difícil compreensão inicial, mas prestem atenção:<br />
Primeiro Caractere = Indica o tipo de arquivo, pode ser: Arquivo normal, executável ou texto.</p>
<pre class="remontti-code">	&lt;strong&gt;d&lt;/strong&gt; = Diretório
	&lt;strong&gt;c&lt;/strong&gt; = Dispositivo orientado a caracteres (modem, portas seriais)
	&lt;strong&gt;b&lt;/strong&gt; = Dispositivo orientado a blocos (hd)
	&lt;strong&gt;s&lt;/strong&gt; = Socket mapeado em arquivo (&quot;Em Unix tudo é arquivo&quot;)
	&lt;strong&gt;p&lt;/strong&gt; = FIFO, comunicação inter-processos
	&lt;strong&gt;l &lt;/strong&gt;= Link Simbólico</pre>
<p style="text-align: center;"><img loading="lazy" decoding="async" title="seguranca" src="https://www.remontti.com.br/blog/wp-content/uploads/2009/06/seguranca_001.jpg" alt="seguranca" width="140" height="150" /></p>
<p><span id="more-420"></span>3 próximos Caracteres: Permissões Válidas para o DONO do arquivo.<br />
(1ª coluna esta o nome do usuário)<br />
3 próximos Caracteres: Permissões Válidas para o GRUPO dono do arquivo.<br />
(2ª coluna ao lado do DONO)<br />
3 próximos Caracteres: Permissões para o RESTANTE dos usuários do sistema.</p>
<pre class="remontti-code">	&lt;strong&gt;R&lt;/strong&gt; = Permissão de leitura.  Para diretórios, pode listar seu conteúdo.
	&lt;strong&gt;W&lt;/strong&gt; = Permissão de escrita.
	&lt;strong&gt;X&lt;/strong&gt; = Permissão de execução.  Para diretórios, pode entrar nele.</pre>
<p>=D</p>
<p>O post <a href="https://blog.remontti.com.br/420">Permissões de um arquivo Linux</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/420/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Alguns comandos Linux</title>
		<link>https://blog.remontti.com.br/384</link>
					<comments>https://blog.remontti.com.br/384#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Fri, 12 Jun 2009 20:36:05 +0000</pubDate>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[comandos]]></category>
		<guid isPermaLink="false">http://www.remontti.com.br/blog/?p=384</guid>

					<description><![CDATA[<p>Mexendo nos meus arquivos encontrei essa relação de comandos, que tinha salvo logo quando comecei a mexer com nosso amigo linux, vou compartilhar com o galera, andei dando uma olhada e alterando uns comandos&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/384">Alguns comandos Linux</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">Mexendo nos meus arquivos encontrei essa relação de comandos, que tinha salvo logo quando comecei a mexer com nosso amigo linux, vou compartilhar com o galera, andei dando uma olhada e  alterando uns comandos pois tinhas umas coisas meio fora da casinha.</p>
<p>Executando um arquivo<br />
<strong># chmod +x arquivo.sh<br />
# ./arquivo.sh</strong></p>
<p>Limpar histórico<br />
<strong># history -c</strong></p>
<p>Descompactar arquivos.rar<br />
<strong># rar x arquivo.rar</strong><br />
<span id="more-384"></span><br />
Atualiza o pacote escolhido<br />
<strong># upgradepkg pacote.tgz</strong></p>
<p>Remove um pacote tgz<br />
<strong># removepkg -warn pacote</strong></p>
<p>Instala um pacote tgz<br />
<strong># installpkg pacote.tgz</strong></p>
<p>Descompactar tar.gz<br />
<strong># tar -xzvf arquivo.tar.gz</strong></p>
<p>Compactando  tar.gz<br />
<strong># tar -czpf nome-arquivo.tar.gz  /diretorio/*</strong></p>
<p>Descompacta arquivo zip<br />
<strong># unzip arquivo.zip</strong></p>
<p>Acesso via SSH<br />
<strong># ssh -l usuario servidor<br />
# ssh -p PORTA usuario@ip</strong></p>
<p>Instala pacotes &#8220;.deb&#8221;<br />
<strong># dpkg -i pacote.deb</strong></p>
<p>Remove pacotes &#8220;.deb&#8221;<br />
<strong># dpkg -r pacote.deb</strong></p>
<p>Configura a linguagem no Debian<br />
<strong># dpkg-reconfigure locales</strong></p>
<p>Escaneando portas<br />
<strong># nmap -sS -O IP</strong></p>
<p>Instalando um pacote com apt<br />
<strong># aptitude install nomedoprograma</strong></p>
<p>Remover pacote<br />
<strong># aptitude remove nomedoprograma</strong></p>
<p>Remover pacote definitivamente<br />
<strong># aptitude purge nomedoprograma</strong></p>
<p>Da permissão total a um arquivo e/ou diretório<br />
<strong># chmod 777 arquivo</strong></p>
<p>Confirma antes de apagar os arquivos (-i)<br />
<strong># rm -i arquivo1 arquivo2 arquivo3</strong></p>
<p>Lista arquivos e diretórios ocultos com permissões<br />
<strong># ls -la</strong></p>
<p>Perigoso, apaga qualquer arquivo e diretório e todo seu o conteúdo<br />
<strong># rm -rf</strong></p>
<p>Pesquisar apenas um comando<br />
<strong># history | grep comando</strong></p>
<p>Força o arquivo a ser apagado<br />
<strong># rm -f arquivo1 arquivo2 arquivo3</strong></p>
<p>Mostra o PID do shell que está sendo rodado<br />
<strong>echo $$</strong></p>
<p>Visualiza o conteúdo de um arquivo com paginação<br />
<strong># more arquivo</strong></p>
<p>Muda o usuário e grupo de um diretório e todo seu conteúdo<br />
<strong># chown -R usuario.grupo deretorio/</strong></p>
<p>Matando um processo<br />
<strong># kill -9 numero_do_processo</strong></p>
<p>Visualiza o conteúdo de um arquivo<br />
<strong># cat arquivo</strong></p>
<p>Compactar arquivos e/ou diretórios em tar.bz2<br />
<strong># tar -jcf nome.tar.bz2 arquivo-e-ou-diretorio-a-ser-compactado</strong></p>
<p>Informa qual o tipo de arquivo<br />
<strong># file arquivo</strong></p>
<p>Descobre a versão do kernel<br />
<strong># uname -r</strong></p>
<p>Exibe o histórico de logins e logouts de usuários baseado no conteúdo do arquivo /var/log/wtmp<br />
<strong># last</strong></p>
<p>Cria um link simbólico para um arquivo já existente<br />
<strong># ln -s arquivo caminho</strong></p>
<p>Mostra todos os comandos que fora digitados<br />
<strong># history</strong></p>
<p>Mostra informações como: versão do kernel, arquitetura usada, nome da máquina<br />
<strong># uname -a</strong></p>
<p>Manual de algum comando ou programa<br />
<strong># man nome</strong></p>
<p>Executa um comando após o outro<br />
<strong># comando1 &amp; comando2</strong></p>
<p>Mostra quanto tempo a máquina está ligada<br />
<strong># uptime</strong></p>
<p>Renomeia ou move arquivos e diretórios<br />
<strong># mv nome-original nome-modificado</strong><br />
ou<br />
<strong># mv arquivo1 arquivo2 arquivo3 destino</strong></p>
<p>Dece um diretório<br />
<strong># cd ..</strong></p>
<p>Apaga arquivos<br />
<strong># rm arquivo1 arquivo2 arquivo3</strong></p>
<p>Muda de diretório<br />
<strong># cd diretorio</strong></p>
<p>Roda comandos em background, deixando o terminal livre<br />
<strong># programa &amp;</strong></p>
<p>Pipe(|) direciona a saída de um comando para entrada de outro<br />
<strong># ls -l | more</strong></p>
<p>Mostra suas informações de usuário<br />
<strong># whoami</strong></p>
<p>Lista arquivos e/ou diretórios com permissões<br />
<strong># ls -l</strong></p>
<p>Mostra a data e hora na tela<br />
<strong># date</strong></p>
<p>Mostra quem está logado no sistema<br />
<strong># who</strong></p>
<p>Verifica o espaço total em um diretório<br />
# du -sh diretorio</p>
<p>Exibe o buffer de anel do kernel e as mensagens de inicializacao do sistema<br />
<strong># dmesg</strong></p>
<p>Procura por um arquivo<br />
<strong># find / -iname nome-do-arquivo</strong></p>
<p>Lista todos os processos rodando na máquina<br />
<strong># ps -aux</strong></p>
<p>Verifica o espaço em cada diretório<br />
<strong># du</strong></p>
<p>Continua download no wget<br />
<strong># wget -c URL</strong></p>
<p>Copia diretórios e permanece as permissões<br />
<strong># cp -p diretorio-origem /diretorio-destino</strong></p>
<p>Copia diretórios<br />
<strong># cp -r diretorio-origem /diretorio-destino</strong></p>
<p>Rebootar o linux<br />
<strong># reboot</strong></p>
<p>Desligar o linux<br />
<strong># halt</strong></p>
<p>Ajuda de algum comando<br />
<strong># nome &#8211;help</strong></p>
<p>Exibe a arquitetura de hardware do pc atual<br />
<strong># arch</strong></p>
<p>Exibe um calendario<br />
<strong># cal</strong></p>
<p>Exibe informações sobre a memoria em MB<br />
<strong># free -m</strong></p>
<p>Cria um diretório<br />
<strong># mkdir nome</strong></p>
<p>Verifica o espaço disponivel no HD<br />
<strong># df -h</strong></p>
<p>Mostra o diretório em que se encontra<br />
<strong># pwd</strong></p>
<p style="text-align: justify;">Se divirta <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f61b.png" alt="😛" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>O post <a href="https://blog.remontti.com.br/384">Alguns comandos Linux</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/384/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
