<?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 Script - Remontti</title>
	<atom:link href="https://blog.remontti.com.br/category/linux/script/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.remontti.com.br/category/linux/script</link>
	<description>rudimar@remontti</description>
	<lastBuildDate>Wed, 06 Nov 2024 12:23:47 +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 Script - Remontti</title>
	<link>https://blog.remontti.com.br/category/linux/script</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Automatizando o bloqueio de sites no Brasil pelo DNS usando a API da anablock.net.br (BIND9+RPZ)</title>
		<link>https://blog.remontti.com.br/7759</link>
					<comments>https://blog.remontti.com.br/7759#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Mon, 22 Jan 2024 17:58:23 +0000</pubDate>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Anablock]]></category>
		<category><![CDATA[Anatel]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[bind]]></category>
		<category><![CDATA[Bloqueio de Domínios]]></category>
		<category><![CDATA[Certificado SSL]]></category>
		<category><![CDATA[Configuração de DNS]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[Domínios Bloqueados]]></category>
		<category><![CDATA[Página de Bloqueio]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[rpz]]></category>
		<category><![CDATA[servidor dns]]></category>
		<category><![CDATA[Servidor WEB]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Zona de Política de Resposta DNS.]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7759</guid>

					<description><![CDATA[<p>Neste tutorial, abordaremos a configuração de uma Zona de Política de Resposta DNS (RPZ) com o objetivo de simplificar a resolução de nomes alterados, especialmente quando lidamos com escalas substanciais. Nosso objetivo é bloquear&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7759">Automatizando o bloqueio de sites no Brasil pelo DNS usando a API da anablock.net.br (BIND9+RPZ)</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/01/brasil-anatel-bloquei-site-anablock.png" alt="" width="1787" height="1024" class="alignnone size-full wp-image-7770" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/01/brasil-anatel-bloquei-site-anablock.png 1787w, https://blog.remontti.com.br/wp-content/uploads/2024/01/brasil-anatel-bloquei-site-anablock-300x172.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/01/brasil-anatel-bloquei-site-anablock-1024x587.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/01/brasil-anatel-bloquei-site-anablock-768x440.png 768w, https://blog.remontti.com.br/wp-content/uploads/2024/01/brasil-anatel-bloquei-site-anablock-1536x880.png 1536w" sizes="(max-width: 1787px) 100vw, 1787px" /></p>
<p>Neste tutorial, abordaremos a configuração de uma Zona de Política de Resposta DNS (RPZ) com o objetivo de simplificar a resolução de nomes alterados, especialmente quando lidamos com escalas substanciais. Nosso objetivo é bloquear milhares de domínios de forma eficiente, minimizando o consumo de recursos de hardware em nosso servidor.</p>
<p>Não abordarei a instalação do BIND neste momento, pois já disponibilizamos um tutorial completo em nosso blog, que pode ser acessado através do seguinte link:<br />
<a href="https://blog.remontti.com.br/5958" rel="noopener" target="_blank">Servidor DNS Bind9 (Debian 12)</a>. </p>
<p>Para configurar sempre que um domínio bloqueado for resolvido pelo seu DNS em um IP da sua rede, você precisará criar um subdomínio no seu servidor DNS autoritativo. No arquivo de configuração dos seus hosts irei criar um subdomínio chamado bloqueadonobrasil, vejamos um exemplo: </p>
<pre class="remontti-code"># vim /var/cache/bind/master-aut/remontti.com.br/remontti.com.br.hosts</pre>
<p>Exemplo &#8220;<strong>bloqueadonobrasil</strong>&#8220;, ou então apontando para os IPs de localhost mesmo 127.0.0.1 e ::1 onde neste caso se o usuário acessar o domínio bloqueado simplesmente não irá abrir nada.</p>
<pre class="remontti-code-plain">//...
bloqueadonobrasil       A       x.xx.xxx.x
                        AAAA    xxxx:xxxx:xxxx::y
//...</pre>
<h4>DNS PRIMÁRIO (MASTER)</h4>
<p>Agora crie uma zona chamada <strong>rpz.zone</strong> em seu /etc/bind/named.conf.local. em <strong>allow-transfer</strong> e <strong>also-notify</strong> informe os IPs de seus servidores Slaves.</p>
<pre class="remontti-code"># vim /etc/bind/named.conf.local</pre>
<pre class="remontti-code-plain">zone &quot;rpz.zone&quot; {
        type master;
        file &quot;/var/cache/bind/rpz/db.rpz.zone.hosts&quot;;
        allow-query { none; };
        allow-transfer { 10.51.51.3; };
        also-notify { 10.51.51.3; };
};
</pre>
<p>Vamos criar o diretório &#8220;rpz&#8221; e os arquivos de hosts que serão bloqueados.</p>
<pre class="remontti-code"># mkdir /var/cache/bind/rpz/</pre>
<p>Criarei um atalho em /etc/bind para facilitar o acesso da pastar também.</p>
<pre class="remontti-code"># ln -s /var/cache/bind/rpz/ /etc/bind/rpz</pre>
<p>Entendendo como os domínios são bloqueados. A seguir, apresentamos um exemplo do arquivo que servirá como base para o nosso próximo script a seguir:<br />
Nome do arquivo: <strong>/var/cache/bind/rpz/db.rpz.zone.hosts</strong></p>
<pre class="remontti-code-plain">$TTL 1H
@       IN      SOA LOCALHOST. bloqueadonobrasil.remontti.com.br. (
                2024012201      ; Serial  
                1h              ; Refresh
                15m             ; Retry
                30d             ; Expire 
                2h              ; Negative Cache TTL
        )
        NS  bloqueadonobrasil.remontti.com.br.
;       ou
;       NS  localhost.
 
sitequeprecisabloquear.com     IN CNAME .
*.sitequeprecisabloquear.com   IN CNAME .
elesmandamnosfaz.bo.bo         IN CNAME .
*.elesmandamnosfaz.bo.bo       IN CNAME .</pre>
<p>Sendo que para cada domínio que será bloqueado, o mesmo será adicionado:</p>
<pre class="remontti-code-plain">
sitequeprecisabloquear.com        IN CNAME .
*.sitequeprecisabloquear.com      IN CNAME .</pre>
<p>Assim qualquer subdomínio (*).domino.com seja traduzido sempre irá ser apontado para seu IP ou localhost.</p>
<p>Antes de criar o script, ajuste o response-policy dentro do seu <strong>/etc/bind/named.conf.options</strong></p>
<pre class="remontti-code"># vim /etc/bind/named.conf.options</pre>
<p>Deve ficar dentro de <strong>options { &#8230; }</strong> adcione: </p>
<pre class="remontti-code-plain">options {
//...
    response-policy {
      zone &quot;rpz.zone&quot; policy CNAME bloqueadonobrasil.remontti.com.br;
    };
//...</pre>
<p>Ou se você irá apontar para localhost use:</p>
<pre class="remontti-code-plain">options {
//...
    response-policy {
      zone &quot;rpz.zone&quot; policy CNAME localhost;
    };
//...</pre>
<h4>Script AnaBlock</h4>
<p>Para simplificar nossa tarefa, criaremos um script que utiliza o site <a href="https://anablock.net.br" rel="noopener" target="_blank"><strong>https://anablock.net.br</strong></a>, uma plataforma desenvolvida por <a href="http://www.patrickbrandao.com" rel="noopener" target="_blank"><strong>Patrick Brandão</strong></a> da <a href="https://www.nuva.com.br" rel="noopener" target="_blank"><strong>Nuva</strong></a>. Ele projetou uma página abrangente que oferece todas as informações necessárias para acompanhar os bloqueios de conteúdo regulados pela Anatel e pelas autoridades da República Federativa do Brasil.</p>
<p>Porém ANATEL solicitou a remoção dessa lista:<br />
<img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/01/ana.png" alt="" width="903" height="528" class="alignnone size-full wp-image-7983" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/01/ana.png 903w, https://blog.remontti.com.br/wp-content/uploads/2024/01/ana-300x175.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/01/ana-768x449.png 768w" sizes="(max-width: 903px) 100vw, 903px" /></p>
<p>Para liberação da lista você deve entrar em contato com <a href="http://www.patrickbrandao.com/?#contact" rel="noopener" target="_blank"><strong>Patrick Brandão</strong></a></p>
<p>Crie um diretório onde iremos salvar nosso script: </p>
<pre class="remontti-code"># mkdir /etc/bind/scripts</pre>
<p>Subi meu script no <a href="https://github.com/remontti/anablock_bind9" rel="noopener" target="_blank">Github</a>, mas iremos entrar na nossa pasta /etc/bind/scripts e baixar ele direto para nosso servidor.</p>
<pre class="remontti-code"># cd /etc/bind/scripts
# wget https://raw.githubusercontent.com/remontti/anablock_bind9/main/anablock_bind9.py</pre>
<p>Esse scrip ira verificar verificar qual sua <strong><a href="https://api.anablock.net.br/api/version" rel="noopener" target="_blank">versão</a></strong> e sempre que existir uma nova ou se for sua primeira vez ele irá baixar a <strong><a href="https://api.anablock.net.br/api/domain/all" rel="noopener" target="_blank">lista de todos os domínios</a></strong> e cria o arquivo <strong>db.rpz.zone.hosts</strong> com a lista completa de siste que serão bloqueados pelo seu DNS.</p>
<p>Script foi feito em python3 instale os pacotes necessários para executa-lo.</p>
<pre class="remontti-code"># apt install python3 python3-requests tree</pre>
<p>Execute o script:</p>
<pre class="remontti-code"># python3 /etc/bind/scripts/anablock_bind9.py bloqueadonobrasil.remontti.com.br</pre>
<pre class="remontti-code-plain">Arquivo de zona RPZ atualizado.
Permissões do diretório alteradas com sucesso.
Serviço Bind9 reiniciado com sucesso.</pre>
<pre class="remontti-code"># tree -h /var/cache/bind/rpz/</pre>
<p>Seu diretório terá os seguintes arquivos</p>
<pre class="remontti-code-plain">/var/cache/bind/rpz/
├── [159K]  db.rpz.zone.hosts
├── [ 46K]  domain_all
└── [  11]  version</pre>
<p>Se você executar o script novamente nada irá acontecer até que uma nova versão seja lancada.</p>
<p>Para que tenhamos nossa lista sempre atualizada, colocamos o script para ser executado todos os dias a meia noite.</p>
<pre class="remontti-code"># echo &#039;00 00   * * *   root    python3 /etc/bind/scripts/anablock_bind9.py bloqueadonobrasil.remontti.com.br&#039;\ &gt;&gt; /etc/crontab
# systemctl restart cron</pre>
<h3>Testes</h3>
<p>Agora faça um teste para ver o que seu servidor ira traduzir corretamente:</p>
<pre class="remontti-code"># dig 2filmestorrent.top @localhost</pre>
<pre class="remontti-code-plain">; &lt;&lt;&gt;&gt; DiG 9.11.5-P4-5.1+deb10u9-Debian &lt;&lt;&gt;&gt; 2filmestorrent.top @localhost
;; global options: +cmd
;; Got answer:
;; -&gt;&gt;HEADER&lt;&lt;- opcode: QUERY, status: NOERROR, id: 42124
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: be484fb71dfe219dd9e6544465ae7d4b7e142ef750ed0d80 (good)
;; QUESTION SECTION:
;2filmestorrent.top.		IN	A

;; ANSWER SECTION:
2filmestorrent.top.	5	IN	CNAME	bloqueadonobrasil.remontti.com.br.
bloqueadonobrasil.remontti.com.br. 10800	IN A	x.x.x.x

;; Query time: 479 msec
;; SERVER: ::1#53(::1)
;; WHEN: seg jan 22 11:35:55 -03 2024
;; MSG SIZE  rcvd: 137
</pre>
<h4>DNS SECUNDÁRIO's (SLAVE's)</h4>
<p>Agora crie uma entrada zona chamada <strong>rpz.zone</strong> em seu /etc/bind/named.conf.local. em <strong>masters</strong> e <strong>also-notify</strong> informe os IPs de seus servidores Master.</p>
<pre class="remontti-code"># vim /etc/bind/named.conf.local</pre>
<pre class="remontti-code-plain">zone &quot;rpz.zone&quot; {
    type slave;
    file &quot;/var/cache/bind/rpz/db.rpz.zone.hosts&quot;;
    masters { 10.51.51.2; };
    allow-notify { 10.51.51.2; };
};</pre>
<p>Configure o <strong>response-policy</strong></p>
<pre class="remontti-code"># vim /etc/bind/named.conf.options</pre>
<p>Deve ficar dentro de <strong>options { ... }</strong> adcione: </p>
<pre class="remontti-code-plain">options {
//...
    response-policy {
      zone &quot;rpz.zone&quot; policy CNAME bloqueadonobrasil.remontti.com.br;
      // ou
      // zone &quot;rpz.zone&quot; policy CNAME localhost;
      // 
    };
//...</pre>
<p>Crie o diretório, de permissão, e reinicie o bind.</p>
<pre class="remontti-code"># mkdir /var/cache/bind/rpz/
# chown bind: /var/cache/bind/rpz/ -R
# systemctl restart bind9</pre>
<p>Arquivo db.rpz.zone.hosts será criado dentro de /var/cache/bind/rpz/</p>
<pre class="remontti-code"># tree /var/cache/bind/rpz/</pre>
<pre class="remontti-code-plain">/var/cache/bind/rpz/
└── db.rpz.zone.hosts</pre>
<h3>Configurando uma Página de Bloqueio em Seu Servidor Web</h3>
<p>Vou deixar exemplo com fazer isso em um <strong>Apache</strong>.Crie o diretório onde iremos criar nossa página:</p>
<pre class="remontti-code"># mkdir /var/www/bloqueadonobrasil</pre>
<h4>Apache</h4>
<p>Crie o arquivo de configuração do apache.</p>
<pre class="remontti-code"># vim /etc/apache2/sites-available/bloqueadonobrasil.conf</pre>
<pre class="remontti-code-plain">&lt;virtualhost *:80&gt;
        Protocols h2 http/1.1
        ServerName bloqueadonobrasil.remontti.net.br
        ServerAlias x.xxx.xxx.x
        ServerAlias [xxxx:xxxx:xxxx:xxxx::x]

        ServerAdmin noc@remontti.com.br

        ErrorDocument 404 /index.php
 
        DocumentRoot /var/www/bloqueadonobrasil
 
        &lt;Directory /var/www/bloqueadonobrasil/&gt;
            Options FollowSymLinks
            AllowOverride All
            # Restringe o acesso apenas para os IPs do seu ISP
            Require ip 127.0.0.1 ::1 100.64.0.0/10 x.xx.xxx.x/22 xxxx:xxxx::/32
        &lt;/Directory&gt;
 
        LogLevel warn 
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
&lt;/virtualhost&gt;</pre>
<p>Habilite a configuração e reinicie o Apache</p>
<pre class="remontti-code"># a2ensite bloqueadonobrasil.conf
# systemctl restart apache2</pre>
<p>Instale o certbot para gerar um certificado ssl para o domínio</p>
<pre class="remontti-code"># apt install certbot python3-certbot-apache</pre>
<p>Execute:</p>
<pre class="remontti-code"># certbot</pre>
<p>Selecione seu domínio, e em sguinda reponda com <strong>No redirect</strong></p>
<pre class="remontti-code-plain">Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: remontti.com.br
2: bloqueadonobrasil.remontti.com.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): 2 &lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for bloqueadonobrasil.remontti.com.br
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/bloqueadonobrasil-le-ssl.conf
Deploying Certificate to VirtualHost /etc/apache2/sites-available/bloqueadonobrasil-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/bloqueadonobrasil-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 &lt;&lt;&lt;&lt;&lt;</pre>
<p>Agora vou deixar um exemplo de página para ajudar você:</p>
<p><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2024/01/anablock-page.png" alt="" width="1513" height="744" class="alignnone size-full wp-image-7765" srcset="https://blog.remontti.com.br/wp-content/uploads/2024/01/anablock-page.png 1513w, https://blog.remontti.com.br/wp-content/uploads/2024/01/anablock-page-300x148.png 300w, https://blog.remontti.com.br/wp-content/uploads/2024/01/anablock-page-1024x504.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2024/01/anablock-page-768x378.png 768w" sizes="(max-width: 1513px) 100vw, 1513px" /></p>
<p>Vamos excluir o diretório que foi criado, já que estou prestes a baixar minha página, que, ao ser descompactada, conterá o mesmo nome.</p>
<pre class="remontti-code"># rm -rf /var/www/bloqueadonobrasil/
# cd /var/www/
# wget https://github.com/remontti/anablock_bind9/raw/main/bloqueadonobrasil.tar.gz
# tar -vxzf bloqueadonobrasil.tar.gz
# rm bloqueadonobrasil.tar.gz</pre>
<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>O post <a href="https://blog.remontti.com.br/7759">Automatizando o bloqueio de sites no Brasil pelo DNS usando a API da anablock.net.br (BIND9+RPZ)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7759/feed</wfw:commentRss>
			<slash:comments>22</slash:comments>
		
		
			</item>
		<item>
		<title>Como é meu desktop de trabalho com Ubuntu Gnome 42? Desapegue desse seu Windows :-)</title>
		<link>https://blog.remontti.com.br/6853</link>
					<comments>https://blog.remontti.com.br/6853#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Sat, 19 Nov 2022 20:30:58 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mikrotik]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[computador]]></category>
		<category><![CDATA[desktop]]></category>
		<category><![CDATA[meu pc]]></category>
		<category><![CDATA[produtividade]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=6853</guid>

					<description><![CDATA[<p>Como me acostumei à utilizar linux em meu desktop para trabalho? Bom desde o tempo do Kurumin que foi minha primeira experiência com linux tenho um grade apreço por este mundo. Você quem sabe&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/6853">Como é meu desktop de trabalho com Ubuntu Gnome 42? Desapegue desse seu Windows :-)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/meu_desktop_rudimar_remontti_2022.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/meu_desktop_rudimar_remontti_2022.png" alt="" width="720" height="340" class="alignnone size-full wp-image-6946" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/meu_desktop_rudimar_remontti_2022.png 720w, https://blog.remontti.com.br/wp-content/uploads/2022/11/meu_desktop_rudimar_remontti_2022-300x142.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/meu_desktop_rudimar_remontti_2022-520x245.png 520w" sizes="auto, (max-width: 720px) 100vw, 720px" /></a><br />
Como me acostumei à utilizar linux em meu desktop para trabalho? Bom desde o tempo do Kurumin que foi minha primeira experiência com linux tenho um grade apreço por este mundo. Você quem sabe já deve ter ouvido por ai eu falando &#8220;mal&#8221; do Ubuntu, e sim falei, ubuntu é derivado da minha distro favorita Debian, qual Ubuntu utiliza sua base na versão teste do Debian, então quando falei &#8220;mal&#8221; é por que em servidores não sou fã de utiliza-lo, quando se trata de estabilidade o Debian é referencia no mercado, então não entenda errado as coisas&#8230; </p>
<p>Já no meu desktop utilizei ele por muito tempo no início da minha jornada, acabei largando o ubuntu quando sua interface mudou para o Unity, alguns amaram mas eu odiei! E foi ai que fui testando tudo que vinha pela minha frente. Em resumo Debian e Ubuntu foram as distribuições que mais usei em meus desktops. Ultimamente estou usando o Ubuntu em meu notebook Dell, porem sempre faço uns ajustes para meu gosto pessoal. </p>
<p>Vale lembrar também que usei muito a interface KDE mas acabei me apegando ao GNOME Shell, e versões acima da 40 está lindo sua produtividade, então se você vir do Windows recomendo você ver 2 vídeos do DioLinux para se familiarizar melhor, e entender um pouco mais qual é a pegada do Gnome, no primeiro ainda é a versão antiga, mas da para ter uma ideia das coisas.<br />
<iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/5jzN0_UXNII" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
<p><iframe loading="lazy" width="560" height="315" src="https://www.youtube.com/embed/wBmjPBPWQGM" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
<p>Se você seu desktop jogos o windows vai se sair melhor (DirectX). Muitos jogos você consegue rodar no Linux sem muito problema utilizando o <a href="https://lutris.net/" rel="noopener" target="_blank">lutris</a>. Mas como eu não utilizo o PC para jogar, o intuito aqui é para meus amigos e colegas da área mais de telecom que utilizam mais para trabalho, pois sempre prezei por segurança. Como tenho acesso a muitos servidores e roteador eu me sinto inseguro em realizar um acesso a partir de um Windows, pois sei que muitos não pagam por uma licença e desde a instalação já usam algum “crack” para ativação, e como é de minha responsabilidade destes servidores me sinto em paz ao usar Linux. Mas de você gosta de jogos instale com dual boot. Vai jogar entra no windows, vai trabalhar da uma chance pro Linux:-) além do mais o GNOME tem uma pegada muito mais produtiva!</p>
<p>Faça <a href="https://ubuntu.com/download/desktop" rel="noopener" target="_blank">Download do Ubuntu</a> 22.04 LTS (Escolha sempre versão LTS, caso esteja lendo isso numa versão futura)</p>
<p><strong>OBS INSTALAÇÃO</strong><br />
Na instalação do seu Ubuntu escolha a instalação <strong>miníma</strong>, marque também atualizações bem como instalar programas de terceiros.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22.png" alt="" width="954" height="702" class="alignnone size-full wp-image-6855" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22.png 954w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22-300x221.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22-768x565.png 768w" sizes="auto, (max-width: 954px) 100vw, 954px" /></a></p>
<p><strong>APÓS INSTALAÇÃO</strong><br />
No menu de aplicativos procure por: <strong>Programas e Atualizações</strong> abra-o. e na aba <strong>Aplicativos Ubuntu</strong>: Marque todos menos Código fonte<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_a1.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_a1.png" alt="" width="1145" height="587" class="alignnone size-full wp-image-6857" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_a1.png 1145w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_a1-300x154.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_a1-1024x525.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_a1-768x394.png 768w" sizes="auto, (max-width: 1145px) 100vw, 1145px" /></a><br />
Aba <strong>Drivers Adicionais</strong>: Selecione o Drive proprietário referente sua placa de vídeo (Pode ser necessário um reboot)<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_a2.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_a2.png" alt="" width="1143" height="580" class="alignnone size-full wp-image-6858" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_a2.png 1143w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_a2-300x152.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_a2-1024x520.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_a2-768x390.png 768w" sizes="auto, (max-width: 1143px) 100vw, 1143px" /></a></p>
<p>Certifique-se de estar tudo atualizado.</p>
<pre class="remontti-code">$ sudo apt update; sudo apt upgrade -y</pre>
<p><strong>GNOME COMO VEIO AO MUNDO</strong><br />
<strong>EU NÃO</strong> gosto das modificações que o Ubuntu faz no GNOME (Abandonaram a interface unity mas tentan deixar com a mesma cara), gosto de deixar ele vamos dizer &#8220;natural&#8221; sem firula.</p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/VirtualBox_Ubuntu-22_19_11_2022_10_32_39.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/VirtualBox_Ubuntu-22_19_11_2022_10_32_39.png" alt="" width="1280" height="800" class="alignnone size-full wp-image-6861" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/VirtualBox_Ubuntu-22_19_11_2022_10_32_39.png 1280w, https://blog.remontti.com.br/wp-content/uploads/2022/11/VirtualBox_Ubuntu-22_19_11_2022_10_32_39-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/VirtualBox_Ubuntu-22_19_11_2022_10_32_39-1024x640.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/VirtualBox_Ubuntu-22_19_11_2022_10_32_39-768x480.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></a><br />
Vou mais além, e irei instalar algumas extensões do Gnome Shell que curto. (Use se te agradar)</p>
<pre class="remontti-code">$ sudo apt install gnome-shell-extensions gnome-session gnome-shell-extension-manager \
   gnome-backgrounds gnome-tweaks ubuntu-restricted-extras libfuse2 -y</pre>
<p>Para realizar mais alguns ajustes precisamos fazer a <strong>Integração com GNOME Shell</strong> no a Google Chrome.</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><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/VirtualBox_Ubuntu-3.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/VirtualBox_Ubuntu-3.png" alt="" width="1269" height="600" class="alignnone size-full wp-image-6864" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/VirtualBox_Ubuntu-3.png 1269w, https://blog.remontti.com.br/wp-content/uploads/2022/11/VirtualBox_Ubuntu-3-300x142.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/VirtualBox_Ubuntu-3-1024x484.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/VirtualBox_Ubuntu-3-768x363.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/11/VirtualBox_Ubuntu-3-520x245.png 520w, https://blog.remontti.com.br/wp-content/uploads/2022/11/VirtualBox_Ubuntu-3-720x340.png 720w" sizes="auto, (max-width: 1269px) 100vw, 1269px" /></a><br />
Com a GNOME Shell instalado no Google Chrome vamos ativar/atualizar a extensão <strong>User-Themes</strong>, acesse acesse: <a href="https://extensions.gnome.org/extension/19/user-themes/" rel="noopener" target="_blank">https://extensions.gnome.org/extension/19/user-themes/ </a><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_1.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_1.png" alt="" width="1285" height="674" class="alignnone size-full wp-image-6866" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_1.png 1285w, https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_1-300x157.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_1-1024x537.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_1-768x403.png 768w" sizes="auto, (max-width: 1285px) 100vw, 1285px" /></a></p>
<p>Reinicie seu computador, ao logar agora selecione usar o Gnome sobre Xorg,pois Wayland é o padrão, no entanto exemplo Anydesk, TeamViewer entre outras aplicações vão ter problemas, infelizmente o Wayland não está preparado para tudo ainda. </p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_login_xorg.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_login_xorg.png" alt="" width="793" height="600" class="alignnone size-full wp-image-6880" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_login_xorg.png 793w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_login_xorg-300x227.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_login_xorg-768x581.png 768w" sizes="auto, (max-width: 793px) 100vw, 793px" /></a><br />
Pode aparecer também o inverso Gnome sobre Wayland, neste caso apenas Gnome seria com Xorg.</p>
<p>Já nos deparamos com um Gnome mais puro <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 />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_gnome.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_gnome.png" alt="" width="1280" height="800" class="alignnone size-full wp-image-6872" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_gnome.png 1280w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_gnome-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_gnome-1024x640.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_gnome-768x480.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_xorg.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_xorg.png" alt="" width="1290" height="803" class="alignnone size-full wp-image-6874" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_xorg.png 1290w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_xorg-300x187.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_xorg-1024x637.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_22_xorg-768x478.png 768w" sizes="auto, (max-width: 1290px) 100vw, 1290px" /></a></p>
<p>Agora você encontra dois novos aplicativos <strong>Ajustes</strong> e <strong>Gerenciador de Extensões</strong> para realizar as <strong>SUAS</strong> fuleiragens! </p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_2.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_2.png" alt="" width="1264" height="797" class="alignnone size-full wp-image-6878" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_2.png 1264w, https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_2-300x189.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_2-1024x646.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_2-768x484.png 768w" sizes="auto, (max-width: 1264px) 100vw, 1264px" /></a><br />
Você também pode administrar suas extensões acessando: <a href="https://extensions.gnome.org/local/" rel="noopener" target="_blank">https://extensions.gnome.org/local/</a></p>
<p><strong>EXTENSÕES LEGAIS</strong><br />
&#8211; <a href="https://extensions.gnome.org/extension/3193/blur-my-shell/" rel="noopener" target="_blank">Blur my Shell</a> vai deixar acompanhado o papel de parede.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_3.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_3.png" alt="" width="1278" height="799" class="alignnone size-full wp-image-6884" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_3.png 1278w, https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_3-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_3-1024x640.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_3-768x480.png 768w" sizes="auto, (max-width: 1278px) 100vw, 1278px" /></a></p>
<p>&#8211; <a href="https://extensions.gnome.org/extension/4158/gnome-40-ui-improvements/" rel="noopener" target="_blank">Gnome 4x UI Improvements </a> irá exibir as áreas de trablho, inclusive você pode arrastar uma aplicação para dentro dela.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_4.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_4.png" alt="" width="1276" height="801" class="alignnone size-full wp-image-6886" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_4.png 1276w, https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_4-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_4-1024x643.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/Ubuntu_extensao_4-768x482.png 768w" sizes="auto, (max-width: 1276px) 100vw, 1276px" /></a></p>
<p>&#8211; <a href="https://extensions.gnome.org/extension/2890/tray-icons-reloaded/" rel="noopener" target="_blank">Tray Icons: Reloaded </a> caso você tem problema com algum icone 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-TUiqXH1Z" 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>&#8211; <a href="https://extensions.gnome.org/extension/4679/burn-my-windows/" rel="noopener" target="_blank">Burn My Windows </a> se você é das antigas e lembra do compiz vai gostar desse, janelinha explodindo, pegando fogo, em 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-TUiqXH1Z" 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>&#8211; <a href="https://extensions.gnome.org/extension/4648/desktop-cube/" rel="noopener" target="_blank">Desktop Cube </a> vai tornar suas áreas de trabalho no formato cubo.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/cube.gif" data-rel="lightbox-gallery-TUiqXH1Z" 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>&#8211; <a href="https://extensions.gnome.org/extension/3724/net-speed-simplified/" rel="noopener" target="_blank">Net speed Simplified</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-TUiqXH1Z" 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>&#8211; <a href="https://extensions.gnome.org/extension/3396/color-picker/" rel="noopener" target="_blank">Color Picker</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-TUiqXH1Z" 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>&#8211; <a href="https://extensions.gnome.org/extension/841/freon/" rel="noopener" target="_blank">Freon</a> para os nerds que gostam de ver informações do seu hardware.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/freon.jpg" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/freon.jpg" alt="" width="417" height="535" class="alignnone size-full wp-image-6893" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/freon.jpg 417w, https://blog.remontti.com.br/wp-content/uploads/2022/11/freon-234x300.jpg 234w" sizes="auto, (max-width: 417px) 100vw, 417px" /></a></p>
<p>&#8211; <a href="https://extensions.gnome.org/extension/750/openweather/" rel="noopener" target="_blank">OpenWeather</a> informações de clima.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/clima.png" data-rel="lightbox-gallery-TUiqXH1Z" 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>&#8211; <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.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/breeze.png" data-rel="lightbox-gallery-TUiqXH1Z" 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-TUiqXH1Z" 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-TUiqXH1Z" 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>FERRAMENTAS &#038; UTILITÁRIO</strong><br />
No meu dia dia utilizo muitos da aplicações a baixo no terminal para debugar problemas, recomendo uma leitura do artigo: <a href="https://blog.remontti.com.br/5867" rel="noopener" target="_blank">Como melhorar a produtividade</a>.</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 vim 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><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.6/dude-install-6.48.6.exe
$ wget https://download.mikrotik.com/winbox/3.37/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-TUiqXH1Z" 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-TUiqXH1Z" 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-TUiqXH1Z" 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-TUiqXH1Z" 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-TUiqXH1Z" 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-TUiqXH1Z" 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-TUiqXH1Z" 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-TUiqXH1Z" 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-TUiqXH1Z" 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-TUiqXH1Z" 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-TUiqXH1Z" 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-TUiqXH1Z" 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-TUiqXH1Z" 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-TUiqXH1Z" 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-TUiqXH1Z" 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-TUiqXH1Z" 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-TUiqXH1Z" 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-TUiqXH1Z" 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-TUiqXH1Z" 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>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><a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_telegram.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_telegram.png" alt="" width="1280" height="773" class="alignnone size-full wp-image-6923" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_telegram.png 1280w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_telegram-300x181.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_telegram-1024x618.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_telegram-768x464.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /></a></p>
<p><strong>VIRTUALBOX 7</strong><br />
Vamos atualizar o repositório oficial do Vbox.</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 gedit /etc/apt/sources.list.d/virtualbox.list </pre>
<p>Adicione</p>
<pre class="remontti-code-plain">deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg]  https://download.virtualbox.org/virtualbox/debian jammy contrib</pre>
<p>Salve e feche.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_virtualbox.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_virtualbox.png" alt="" width="998" height="568" class="alignnone size-full wp-image-6925" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_virtualbox.png 998w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_virtualbox-300x171.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_virtualbox-768x437.png 768w" sizes="auto, (max-width: 998px) 100vw, 998px" /></a></p>
<pre class="remontti-code">$ sudo apt update
$ sudo apt install virtualbox-7.0 -y
$ sudo usermod -a -G vboxusers $USER</pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_virtualbox3.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_virtualbox3.png" alt="" width="1272" height="738" class="alignnone size-full wp-image-6927" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_virtualbox3.png 1272w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_virtualbox3-300x174.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_virtualbox3-1024x594.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_virtualbox3-768x446.png 768w" sizes="auto, (max-width: 1272px) 100vw, 1272px" /></a></p>
<p>Uma extensão que você pode gostar é a <a href="https://extensions.gnome.org/extension/1415/virtualbox-applet/" rel="noopener" target="_blank">Virtualbox Applet</a><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_virtualbox2.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_virtualbox2.png" alt="" width="346" height="458" class="alignnone size-full wp-image-6926" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_virtualbox2.png 346w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_virtualbox2-227x300.png 227w" sizes="auto, (max-width: 346px) 100vw, 346px" /></a></p>
<p><strong>DROPBOX</strong></p>
<pre class="remontti-code">$ cd /tmp/
$ sudo apt install python3-gpg -y
$ wget https://linux.dropbox.com/packages/ubuntu/dropbox_2020.03.04_amd64.deb \
  -O dropbox.deb
$ sudo apt install ./dropbox.deb -y</pre>
<p>Corrigindo o erro apt-key</p>
<pre class="remontti-code">$ sudo gedit /usr/share/keyrings/dropbox.asc</pre>
<p>Adicione</p>
<pre class="remontti-code-plain">-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.9 (GNU/Linux)

mQENBEt0ibEBCACv4hZRPqwtpU6z8+BB5YZU1a3yjEvg2W68+a6hEwxtCa2U++4d
zQ+7EqaUq5ybQnwtbDdpFpsOi9x31J+PCpufPUfIG694/0rlEpmzl2GWzY8NqfdB
FGGm/SPSSwvKbeNcFMRLu5neo7W9kwvfMbGjHmvUbzBUVpCVKD0OEEf1q/Ii0Qce
kx9CMoLvWq7ZwNHEbNnij7ecnvwNlE2MxNsOSJj+hwZGK+tM19kuYGSKw4b5mR8I
yThlgiSLIfpSBh1n2KX+TDdk9GR+57TYvlRu6nTPu98P05IlrrCP+KF0hYZYOaMv
Qs9Rmc09tc/eoQlN0kkaBWw9Rv/dvLVc0aUXABEBAAG0MURyb3Bib3ggQXV0b21h
dGljIFNpZ25pbmcgS2V5IDxsaW51eEBkcm9wYm94LmNvbT6JATYEEwECACAFAkt0
ibECGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRD8kYszUESRLi/zB/wMscEa
15rS+0mIpsORknD7kawKwyda+LHdtZc0hD/73QGFINR2P23UTol/R4nyAFEuYNsF
0C4IAD6y4pL49eZ72IktPrr4H27Q9eXhNZfJhD7BvQMBx75L0F5gSQwuC7GdYNlw
SlCD0AAhQbi70VBwzeIgITBkMQcJIhLvllYo/AKD7Gv9huy4RLaIoSeofp+2Q0zU
HNPl/7zymOqu+5Oxe1ltuJT/kd/8hU+N5WNxJTSaOK0sF1/wWFM6rWd6XQUP03Vy
NosAevX5tBo++iD1WY2/lFVUJkvAvge2WFk3c6tAwZT/tKxspFy4M/tNbDKeyvr6
85XKJw9ei6GcOGHD
=5rWG
-----END PGP PUBLIC KEY BLOCK-----</pre>
<pre class="remontti-code">$ sudo gedit /etc/apt/sources.list.d/dropbox.list</pre>
<p>Adicone comente a primeira linha e adicione:</p>
<pre class="remontti-code-plain">#deb [arch=i386,amd64] http://linux.dropbox.com/ubuntu disco main
deb [arch=i386,amd64 signed-by=/usr/share/keyrings/dropbox.asc] http://linux.dropbox.com/ubuntu disco main</pre>
<pre class="remontti-code">$ sudo apt update</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
$ 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></p>
<p>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 pypy-ipaddress python3-pip
$ pip install 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</pre>
<p>Abra o menu de aplicativos e procure por: <strong>Aplicativos de Inicialização</strong><br />
Crie uma nova entrada:<br />
 <strong>Name</strong>: Inicia NumLock Ativo<br />
 <strong>Command</strong>: /usr/bin/numlockx on<br />
 <strong>Comment</strong>: Inicia NumLock Ativo<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_iniciar.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_iniciar.png" alt="" width="719" height="627" class="alignnone size-full wp-image-6929" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_iniciar.png 719w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_iniciar-300x262.png 300w" sizes="auto, (max-width: 719px) 100vw, 719px" /></a></p>
<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 />
<strong> Name</strong>: Acerta Ponto Wine<br />
 <strong>Command</strong>: /usr/bin/xmodmap -e &#8216;keycode 129 = period&#8217;<br />
 <strong>Comment</strong>: Ponto Teclado Num</p>
<p>PRINT com FLAMESHOT<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-TUiqXH1Z" 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: Print Flame<br />
Comando: /usr/bin/flameshot gui<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-TUiqXH1Z" 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>
<p>Teste <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;" /><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_flameshot.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_flameshot.png" alt="" width="1273" height="632" class="alignnone size-full wp-image-6932" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_flameshot.png 1273w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_flameshot-300x149.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_flameshot-1024x508.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_flameshot-768x381.png 768w" sizes="auto, (max-width: 1273px) 100vw, 1273px" /></a></p>
<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>
<pre class="remontti-code">$ flameshot config </pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho2-1.png" data-rel="lightbox-gallery-TUiqXH1Z" 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-1.png" alt="" width="997" height="636" class="alignnone size-full wp-image-6933" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho2-1.png 997w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho2-1-300x191.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_atalho2-1-768x490.png 768w" sizes="auto, (max-width: 997px) 100vw, 997px" /></a></p>
<p><strong>AJUSTES DIVERSOS</strong><br />
Como utilizo muito o vim faço alguns ajustes, você pode dar uma lida em <a href="https://blog.remontti.com.br/5867" rel="noopener" target="_blank">Como melhorar a produtividade no seu Debian após instalação</a> que falo de alguns.</p>
<pre class="remontti-code">$ 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</pre>
<p>Crio vários alias</p>
<pre class="remontti-code">$ echo &#039;source /usr/share/doc/fzf/examples/key-bindings.bash&#039; &gt;&gt; ~/.bashrc
$ echo &quot;alias grep=&#039;grep --color&#039;&quot; &gt;&gt; ~/.bashrc
$ echo &quot;alias egrep=&#039;egrep --color&#039;&quot; &gt;&gt; ~/.bashrc
$ echo &quot;alias ip=&#039;ip -c&#039;&quot; &gt;&gt; ~/.bashrc
$ echo &quot;alias diff=&#039;diff --color&#039;&quot; &gt;&gt; ~/.bashrc
$ echo &quot;alias meuip=&#039;curl ifconfig.me; echo;&#039;&quot; &gt;&gt; ~/.bashrc
$ echo &quot;alias tail=&#039;grc tail&#039;&quot; &gt;&gt; ~/.bashrc
$ echo &quot;alias ping=&#039;grc ping&#039;&quot; &gt;&gt; ~/.bashrc
$ echo &quot;alias ps=&#039;grc ps&#039;&quot; &gt;&gt; ~/.bashrc
$ echo &quot;alias netstat=&#039;grc netstat&#039;&quot; &gt;&gt; ~/.bashrc
$ echo &quot;alias dig=&#039;grc dig&#039;&quot; &gt;&gt; ~/.bashrc
$ echo &quot;alias traceroute=&#039;grc traceroute&#039;&quot; &gt;&gt; ~/.bashrc
$ echo &quot;alias apt=&#039;sudo apt&#039;&quot; &gt;&gt; ~/.bashrc
$ echo &quot;alias l=&#039;ls -lh&#039;&quot; &gt;&gt; ~/.bashrc
$ echo &quot;alias la=&#039;ls -lha&#039;&quot; &gt;&gt; ~/.bashrc
$ echo &quot;PS1=&#039;\${debian_chroot:+(\$debian_chroot)}\[\033[01;32m\]\u\[\033[01;34m\]@\[\033[01;36m\]\h\[\033[01;34m\][\[\033[00m\]\[\033[01;37m\]\w\[\033[01;34m\]]\[\033[01;32m\]\\$\[\033[00m\] &#039;&quot; &gt;&gt; ~/.bashrc
$ bash
$ sudo su -
# sed -i &#039;s/&quot;syntax on/syntax on/&#039; /etc/vim/vimrc
# sed -i &#039;s/&quot;set background=dark/set background=dark/&#039; /etc/vim/vimrc
# echo &#039;source /usr/share/doc/fzf/examples/key-bindings.bash&#039; &gt;&gt; ~/.bashrc
# echo &quot;alias grep=&#039;grep --color&#039;&quot; &gt;&gt; ~/.bashrc
# echo &quot;alias egrep=&#039;egrep --color&#039;&quot; &gt;&gt; ~/.bashrc
# echo &quot;alias ip=&#039;ip -c&#039;&quot; &gt;&gt; ~/.bashrc
# echo &quot;alias diff=&#039;diff --color&#039;&quot; &gt;&gt; ~/.bashrc
# echo &quot;alias meuip=&#039;curl ifconfig.me; echo;&#039;&quot; &gt;&gt; ~/.bashrc
# echo &quot;alias tail=&#039;grc tail&#039;&quot; &gt;&gt; ~/.bashrc
# echo &quot;alias ping=&#039;grc ping&#039;&quot; &gt;&gt; ~/.bashrc
# echo &quot;alias ps=&#039;grc ps&#039;&quot; &gt;&gt; ~/.bashrc
# echo &quot;alias netstat=&#039;grc netstat&#039;&quot; &gt;&gt; ~/.bashrc
# echo &quot;alias dig=&#039;grc dig&#039;&quot; &gt;&gt; ~/.bashrc
# echo &quot;alias traceroute=&#039;grc traceroute&#039;&quot; &gt;&gt; ~/.bashrc
# echo &quot;PS1=&#039;\${debian_chroot:+(\$debian_chroot)}\[\033[01;31m\]\u\[\033[01;34m\]@\[\033[01;33m\]\h\[\033[01;34m\][\[\033[00m\]\[\033[01;37m\]\w\[\033[01;34m\]]\[\033[01;31m\]\\$\[\033[00m\] &#039;&quot; &gt;&gt; ~/.bashrc
# bash
# exit
$ exit</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 performasse vou colocar mitigations em off, se você gosta do nome das interfaces de rede como eth0 wlan0 use o net.ifnames e biosdevname em 0, se você quiser ver tudo que esta sendo carregado no sistema também pode remover quiet splash se desejar.</p>
<pre class="remontti-code">$ sudo gedit /etc/default/grub</pre>
<p>Ajuste GRUB_CMDLINE_LINUX_DEFAULT:</p>
<pre class="remontti-code-plain">GRUB_CMDLINE_LINUX_DEFAULT=&quot;quiet splash mitigations=off net.ifnames=0 biosdevname=0&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 e mais excecute 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
$ reboot</pre>
<p><strong>ZSH + POWERLEVEL10K</strong><br />
Primeiramente baixa as fontes MesloLGS</p>
<pre class="remontti-code">$ 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/2022/11/ubuntu_zsh.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_zsh.png" alt="" width="1008" height="436" class="alignnone size-full wp-image-6934" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_zsh.png 1008w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_zsh-300x130.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_zsh-768x332.png 768w" sizes="auto, (max-width: 1008px) 100vw, 1008px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_zsh_2.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_zsh_2.png" alt="" width="958" height="635" class="alignnone size-full wp-image-6935" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_zsh_2.png 958w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_zsh_2-300x199.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_zsh_2-768x509.png 768w" sizes="auto, (max-width: 958px) 100vw, 958px" /></a></p>
<p>Também ajusto as cores<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_zsh_3.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_zsh_3.png" alt="" width="960" height="658" class="alignnone size-full wp-image-6936" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_zsh_3.png 960w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_zsh_3-300x206.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_zsh_3-768x526.png 768w" sizes="auto, (max-width: 960px) 100vw, 960px" /></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>Para chegar neste resultado:<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_zsh_p10k_.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_zsh_p10k_.png" alt="" width="1104" height="492" class="alignnone size-full wp-image-6937" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_zsh_p10k_.png 1104w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_zsh_p10k_-300x134.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_zsh_p10k_-1024x456.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_zsh_p10k_-768x342.png 768w" sizes="auto, (max-width: 1104px) 100vw, 1104px" /></a><br />
Respondi com: <strong>y, y, y, y, 3, 1, 2, 1, 1, 1, 2, 2, 1, n, 1, y</strong> Ajuste com seu gosto.</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<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh.png" alt="" width="1021" height="862" class="alignnone size-full wp-image-6938" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh.png 1021w, https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh-300x253.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/zsh-768x648.png 768w" sizes="auto, (max-width: 1021px) 100vw, 1021px" /></a></p>
<pre class="remontti-code">$ gedit ~/.zshrc</pre>
<pre class="remontti-code-plain">
HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
setopt appendhistory

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;</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-TUiqXH1Z" 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>BAIXAR MP3 YOUTUBE</strong><br />
Esse é para velho que precisa umas MP3 no pendrive do carro!</p>
<pre class="remontti-code">$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7D19F1F3
$ sudo add-apt-repository https://www.mediahuman.com/packages/ubuntu
$ sudo apt update
 $sudo apt install youtube-to-mp3
$ sudo rm /etc/apt/sources.list.d/archive_uri-https_www_mediahuman_com_packages_ubuntu-jammy.list
$ sudo apt update</pre>
<p><strong>BLUETOOTH CONECTAR AUTOMATICAMENTE</strong><br />
Utlizo caixa de som bluetooth e encontrei um problema que sempre que inicio o sitema precisa fazer a conexão manual então encontrei uma solução em: <a href="https://github.com/jrouleau/bluetooth-autoconnect" rel="noopener" target="_blank">https://github.com/jrouleau/bluetooth-autoconnect</a><br />
Fiz um pouco diferente, baixei apenas e coloquei carregar na inicialização, resolveu meu problema.</p>
<pre class="remontti-code">$ sudo wget https://raw.githubusercontent.com/jrouleau/bluetooth-autoconnect/master/bluetooth-autoconnect \
  -O /usr/bin/bluetooth-autoconnect
$ sudo chmo +x /usr/bin/bluetooth-autoconnect</pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/bt.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/bt.png" alt="" width="715" height="612" class="alignnone size-full wp-image-6942" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/bt.png 715w, https://blog.remontti.com.br/wp-content/uploads/2022/11/bt-300x257.png 300w" sizes="auto, (max-width: 715px) 100vw, 715px" /></a></p>
<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">$ gedit 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-TUiqXH1Z" 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">$ gedit 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>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">$ gedit ~/.zshrc</pre>
<p>No Bash</p>
<pre class="remontti-code">$ gedit ~/.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 gedit /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><strong>OUTROS APLICATIVOS</strong><br />
Em suas aplicações você encontra a SNAP STORE onde tem uma loja de aplicativos, lá você vai encontrar muita coisa.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_snap_store.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_snap_store.png" alt="" width="1221" height="969" class="alignnone size-full wp-image-6957" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_snap_store.png 1221w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_snap_store-300x238.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_snap_store-1024x813.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_snap_store-768x609.png 768w" sizes="auto, (max-width: 1221px) 100vw, 1221px" /></a></p>
<p>Porém sempre que for instalar algo EU prefiro optar por pacotes DEB (nativo) do que pacotes snaps.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_snap_store_deb.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_snap_store_deb.png" alt="" width="1216" height="815" class="alignnone size-full wp-image-6958" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_snap_store_deb.png 1216w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_snap_store_deb-300x201.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_snap_store_deb-1024x686.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_snap_store_deb-768x515.png 768w" sizes="auto, (max-width: 1216px) 100vw, 1216px" /></a></p>
<p>Mas nem tudo encontrará pacotes deb, exemplo o Spotify.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_snap_store_spotify.png" data-rel="lightbox-gallery-TUiqXH1Z" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_snap_store_spotify.png" alt="" width="1208" height="667" class="alignnone size-full wp-image-6959" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_snap_store_spotify.png 1208w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_snap_store_spotify-300x166.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_snap_store_spotify-1024x565.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/11/ubuntu_snap_store_spotify-768x424.png 768w" sizes="auto, (max-width: 1208px) 100vw, 1208px" /></a></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>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>O post <a href="https://blog.remontti.com.br/6853">Como é meu desktop de trabalho com Ubuntu Gnome 42? Desapegue desse seu Windows :-)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/6853/feed</wfw:commentRss>
			<slash:comments>16</slash:comments>
		
		
			</item>
		<item>
		<title>Aprenda instalar o ElastiFlow, uma poderosa ferramenta para análise de tráfego de rede no Debian 11 Bullseye</title>
		<link>https://blog.remontti.com.br/6255</link>
					<comments>https://blog.remontti.com.br/6255#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Thu, 10 Mar 2022 18:29:24 +0000</pubDate>
				<category><![CDATA[Huawei]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mikrotik]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[ASN]]></category>
		<category><![CDATA[Elasticsearch]]></category>
		<category><![CDATA[ElastiFlow]]></category>
		<category><![CDATA[flows]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=6255</guid>

					<description><![CDATA[<p>Coletor de fluxo unificado ElastiFlow O ElastiFlow ™ Unified Flow Collector recebe, decodifica, transforma, normaliza, traduz e enriquece registros de fluxo de rede e telemetria enviados de dispositivos e aplicativos de rede usando IPFIX,&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/6255">Aprenda instalar o ElastiFlow, uma poderosa ferramenta para análise de tráfego de rede no Debian 11 Bullseye</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/03/ElastiFlow.png" alt="" width="720" height="340" class="alignnone size-full wp-image-6414" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/03/ElastiFlow.png 720w, https://blog.remontti.com.br/wp-content/uploads/2022/03/ElastiFlow-300x142.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/03/ElastiFlow-520x245.png 520w" sizes="auto, (max-width: 720px) 100vw, 720px" /></p>
<p>Coletor de fluxo unificado <a href="https://github.com/robcowart/elastiflow/" rel="noopener" target="_blank">ElastiFlow</a><br />
O ElastiFlow <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2122.png" alt="™" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Unified Flow Collector recebe, decodifica, transforma, normaliza, traduz e enriquece registros de fluxo de rede e telemetria enviados de dispositivos e aplicativos de rede usando IPFIX, Netflow e sFlow. Os registros resultantes podem ser enviados para diversas plataformas e serviços.<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/03/elastiflow_br.png" alt="" width="1463" height="771" class="alignnone size-full wp-image-6402" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/03/elastiflow_br.png 1463w, https://blog.remontti.com.br/wp-content/uploads/2022/03/elastiflow_br-300x158.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/03/elastiflow_br-1024x540.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/03/elastiflow_br-768x405.png 768w" sizes="auto, (max-width: 1463px) 100vw, 1463px" /></p>
<p>Requisitos de sistema <a href="https://docs.elastiflow.com/docs/requirements/" rel="noopener" target="_blank">acesse aqui</a>.</p>
<p><strong>Com seu Debian 11 (Bullseye) 64 bits</strong>. <a href="https://blog.remontti.com.br/5792" rel="noopener" target="_blank">Instalação mínima</a> pronta </p>
<p>Existem outras formas de configurar, mas aqui tentei passar a forma mais simples possível para que qualquer um consiga insta-lo. <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"># su - </pre>
<p>Instale os pacotes básicos necessários</p>
<pre class="remontti-code"># apt install wget apt-transport-https gnupg unzip curl net-tools</pre>
<p>Recomendo a instalacao dos firmwares binário para vários drivers do kernel Linux, para isso adicione contrib non-free ao seu repositório.</p>
<pre class="remontti-code"># vim /etc/apt/sources.list</pre>
<pre class="remontti-code">deb http://deb.debian.org/debian/ bullseye main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye main contrib non-free

deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free

# bullseye-updates, to get updates before a point release is made;
# see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports
deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye-updates main contrib non-free
</pre>
<pre class="remontti-code"># apt update
# apt install firmware-linux firmware-linux-free firmware-linux-nonfree</pre>
<p>Tuning no kernel</p>
<pre class="remontti-code"># echo &quot;vm.swappiness=10&quot; &gt;&gt; /etc/sysctl.conf
# echo &quot;vm.max_map_count=262144&quot; &gt; /etc/sysctl.d/70-elasticsearch.conf
# cat &lt;&lt;EOF &gt;/etc/sysctl.d/60-net.conf
net.core.netdev_max_backlog=4096
net.core.rmem_default=262144
net.core.rmem_max=67108864
net.ipv4.udp_rmem_min=131072
net.ipv4.udp_mem=2097152 4194304 8388608
EOF

# sysctl -w vm.max_map_count=262144 &amp;&amp; \
sysctl -w net.core.netdev_max_backlog=4096 &amp;&amp; \
sysctl -w net.core.rmem_default=262144 &amp;&amp; \
sysctl -w net.core.rmem_max=67108864 &amp;&amp; \
sysctl -w net.ipv4.udp_rmem_min=131072 &amp;&amp; \
sysctl -w net.ipv4.udp_mem=&#039;2097152 4194304 8388608&#039;</pre>
<p>Reinicie para que os novos módulos sejam carregado.</p>
<pre class="remontti-code"># reboot</pre>
<h3>:: Elastic Stack ::</h3>
<p>Será necessário ter o Java instalado.</p>
<pre class="remontti-code"># su -
# apt install default-jre</pre>
<p>Adicione o repositório elastic.</p>
<pre class="remontti-code"># wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
# echo &quot;deb https://artifacts.elastic.co/packages/8.x/apt stable main&quot; |  tee -a /etc/apt/sources.list.d/elastic.list
# apt update</pre>
<h3>:: Elasticsearch ::</h3>
<p>Elasticsearch é um mecanismo de pesquisa baseado em texto completo. </p>
<pre class="remontti-code"># apt install elasticsearch</pre>
<p>Se uma JVM for iniciada com tamanhos de heap inicial e máximo desiguais, ela poderá pausar conforme o heap da JVM for redimensionado durante o uso do sistema. Por esse motivo, é melhor iniciar a JVM com os tamanhos de heap inicial e máximo configurados com valores iguais.</p>
<p>Adicione o arquivo e defina e heap.optionsa cerca de um terço da memória do sistema, mas não exceda . Para este exemplo, usaremos 12 GB dos 32 GB de memória disponíveis para heap da JVM.</p>
<pre class="remontti-code"># echo -e &quot;-Xms12g\n-Xmx12g&quot; &gt; /etc/elasticsearch/jvm.options.d/heap.options</pre>
<p>Os limites do sistema aumentados devem ser especificados em um systemd.</p>
<pre class="remontti-code"># mkdir /etc/systemd/system/elasticsearch.service.d
# cat &lt;&lt;EOF &gt;/etc/systemd/system/elasticsearch.service.d/elasticsearch.conf
[Service]
LimitNOFILE=131072
LimitNPROC=8192
LimitMEMLOCK=infinity
LimitFSIZE=infinity
LimitAS=infinity
EOF</pre>
<p>Após instalação vamos alterar network.host para ouvir apenas localhost, em seguida ativar o serviço e inicia-lo.</p>
<pre class="remontti-code"># sed -i &#039;s/#cluster.name: my-application/cluster.name: elastiflow/&#039; /etc/elasticsearch/elasticsearch.yml
# sed -i &#039;s/#network.host: 192.168.0.1/network.host: 127.0.0.1/&#039; /etc/elasticsearch/elasticsearch.yml
# sed -i &#039;s/xpack.security.enabled: true/xpack.security.enabled: false/&#039; /etc/elasticsearch/elasticsearch.yml
# echo &quot;indices.query.bool.max_clause_count: 8192&quot; &gt;&gt; /etc/elasticsearch/elasticsearch.yml
# echo &quot;search.max_buckets: 250000&quot; &gt;&gt; /etc/elasticsearch/elasticsearch.yml

# systemctl daemon-reload
# systemctl enable elasticsearch
# systemctl start elasticsearch
# systemctl status elasticsearch</pre>
<pre class="remontti-code-plain">● elasticsearch.service - Elasticsearch
     Loaded: loaded (/lib/systemd/system/elasticsearch.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/elasticsearch.service.d
             └─elasticsearch.conf
     Active: active (running) since Fri 2022-02-04 11:34:39 -03; 53s ago
       Docs: https://www.elastic.co
   Main PID: 4701 (java)
      Tasks: 60 (limit: 38490)
     Memory: 12.7G
        CPU: 52.548s
     CGroup: /system.slice/elasticsearch.service
             ├─4701 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 .....
             └─4893 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/bin/controller

fev 04 11:34:23 debian systemd[1]: Starting Elasticsearch...
fev 04 11:34:39 debian systemd[1]: Started Elasticsearch.</pre>
<p>Cheque se o mesmo esta funcionando</p>
<pre class="remontti-code"># curl -X GET &quot;http://127.0.0.1:9200&quot;</pre>
<p>Retorno algo como&#8230;.</p>
<pre class="remontti-code-plain">{
  &quot;name&quot; : &quot;debianFlows&quot;,
  &quot;cluster_name&quot; : &quot;elastiflow&quot;,
  &quot;cluster_uuid&quot; : &quot;mgKF5EP-SnKbbULl3D6aXQ&quot;,
  &quot;version&quot; : {
    &quot;number&quot; : &quot;8.4.2&quot;,
    &quot;build_flavor&quot; : &quot;default&quot;,
    &quot;build_type&quot; : &quot;deb&quot;,
    &quot;build_hash&quot; : &quot;89f8c6d8429db93b816403ee75e5c270b43a940a&quot;,
    &quot;build_date&quot; : &quot;2022-09-14T16:26:04.382547801Z&quot;,
    &quot;build_snapshot&quot; : false,
    &quot;lucene_version&quot; : &quot;9.3.0&quot;,
    &quot;minimum_wire_compatibility_version&quot; : &quot;7.17.0&quot;,
    &quot;minimum_index_compatibility_version&quot; : &quot;7.0.0&quot;
  },
  &quot;tagline&quot; : &quot;You Know, for Search&quot;
}</pre>
<h3>:: kibana ::</h3>
<p>Kibana é uma plataforma de análise e visualização usada para exibir os painéis do ElastiFlow.</p>
<pre class="remontti-code"># apt install kibana</pre>
<p>Após instalação vamos alterar server.host, em seguida ativar o serviço e inicia-lo.</p>
<pre class="remontti-code"># echo &quot;telemetry.enabled: false&quot; &gt;&gt; /etc/kibana/kibana.yml
# echo &quot;telemetry.optIn: false&quot; &gt;&gt; /etc/kibana/kibana.yml
# echo &quot;newsfeed.enabled: false&quot; &gt;&gt; /etc/kibana/kibana.yml
# echo &quot;server.host: \&quot;0.0.0.0\&quot;&quot; &gt;&gt; /etc/kibana/kibana.yml
# echo &quot;server.maxPayload: 8388608&quot; &gt;&gt; /etc/kibana/kibana.yml
# echo &quot;elasticsearch.requestTimeout: 132000&quot; &gt;&gt; /etc/kibana/kibana.yml
# echo &quot;elasticsearch.shardTimeout: 120000&quot; &gt;&gt; /etc/kibana/kibana.yml</pre>
<pre class="remontti-code"># vim /etc/kibana/kibana.yml</pre>
<p>Ajuste para o endereço da sua URL(Domínio ou IP) pública, exemplo:</p>
<pre class="remontti-code-plain">server.publicBaseUrl: &quot;http://192.168.0.30:5601&quot;</pre>
<pre class="remontti-code"># systemctl daemon-reload
# systemctl enable kibana
# systemctl start kibana
# systemctl status kibana</pre>
<pre class="remontti-code-plain">● kibana.service - Kibana
     Loaded: loaded (/etc/systemd/system/kibana.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2022-02-03 17:45:24 -03; 3s ago
       Docs: https://www.elastic.co
   Main PID: 4638 (node)
      Tasks: 11 (limit: 6548)
     Memory: 138.6M
        CPU: 4.339s
     CGroup: /system.slice/kibana.service
             └─4638 /usr/share/kibana/bin/../node/bin/node /usr/share/kibana/bin/../src/cli/dist\ 
                                           --logging.dest=/var/log/kibana/kibana.log\ 
                                           --pid.file=/run/kibana/kibana.pi&gt;

fev 03 17:45:24 deb11 systemd[1]: Started Kibana.
</pre>
<h3>:: ElastiFlow ::</h3>
<p><a href="https://github.com/robcowart/elastiflow/" rel="noopener noreferrer" target="_blank">ElastiFlow</a> fornece coleta e visualização de dados de fluxo de rede usando o Elastic Stack.</p>
<pre class="remontti-code"># apt install libpcap-dev
# wget https://elastiflow-packages.s3.amazonaws.com/flow-collector/flow-collector_5.6.0_linux_amd64.deb
# dpkg -i flow-collector_5.6.0_linux_amd64.deb
# apt install -f
# systemctl daemon-reload 
# systemctl enable flowcoll
# systemctl start flowcoll
# systemctl status flowcoll</pre>
<pre class="remontti-code-plain">● flowcoll.service - ElastiFlow Unified Flow Collector
     Loaded: loaded (/etc/systemd/system/flowcoll.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/flowcoll.service.d
             └─flowcoll.conf
     Active: active (running) since Fri 2022-02-04 13:49:34 -03; 8s ago
       Docs: https://docs.elastiflow.com
   Main PID: 10763 (flowcoll)
      Tasks: 9 (limit: 38490)
     Memory: 33.0M
        CPU: 105ms
     CGroup: /system.slice/flowcoll.service
             └─10763 /usr/share/elastiflow/bin/flowcoll</pre>
<pre class="remontti-code"># wget https://raw.githubusercontent.com/elastiflow/elastiflow_for_elasticsearch/master/kibana/kibana-7.14.x-codex-dark.ndjson
# curl -XPOST &quot;http://127.0.0.1:5601/api/saved_objects/_import?overwrite=true&quot;\
 -k -H &quot;kbn-xsrf: true&quot; -H &quot;securitytenant: global&quot; --form file=@kibana-7.14.x-codex-dark.ndjson</pre>
<p>No retornos dos comando curl certifique-se de ter no inicio a mensagem <strong>&#8220;success&#8221;:true&#8221;</strong></p>
<pre class="remontti-code-plain">
{&quot;successCount&quot;:229,&quot;success&quot;:true,&quot;warnings&quot;:[],&quot;successResults...............</pre>
<h4>Configurações Avançadas Recomendadas do Kibana</h4>
<p>Acesse seu Kibana no navegador. <em><strong>http://____:5601</strong></em></p>
<p>Realizando esses ajustes avançados o Kibana produzirá uma experiência mais amigável ao usar o ElastiFlow. Essas configurações são feitas no Kibana, em <strong>Stack Management</strong> -><strong> Advanced Settings</strong>.<br />
Use a busca para localizar e ajustar os seguintes valores:</p>
<p><strong>Pin filters by default:</strong> On<br />
<strong>Highlight results :</strong> Off<br />
<strong>Store URLs in session storage:</strong> On<br />
<strong>Dark mode:</strong> On<br />
<strong>Day of week:</strong> Monday<br />
<strong>Formatting locale:</strong> Portuguese (Brazil)<br />
<strong>Number format:</strong> 0,0.[00]<br />
<strong>Percent format:</strong> 0,0.[00]%<br />
<strong>Time filter defaults:</strong></p>
<pre class="remontti-code-plain">{
  &quot;from&quot;: &quot;now-1h/m&quot;,
  &quot;to&quot;: &quot;now&quot;
}</pre>
<p><strong>Time filter quick ranges:</strong></p>
<pre class="remontti-code-plain">[
  {
    &quot;from&quot;: &quot;now-15m/m&quot;,
    &quot;to&quot;: &quot;now/m&quot;,
    &quot;display&quot;: &quot;Last 15 minutes&quot;
  },
  {
    &quot;from&quot;: &quot;now-30m/m&quot;,
    &quot;to&quot;: &quot;now/m&quot;,
    &quot;display&quot;: &quot;Last 30 minutes&quot;
  },
  {
    &quot;from&quot;: &quot;now-1h/m&quot;,
    &quot;to&quot;: &quot;now/m&quot;,
    &quot;display&quot;: &quot;Last 1 hour&quot;
  },
  {
    &quot;from&quot;: &quot;now-2h/m&quot;,
    &quot;to&quot;: &quot;now/m&quot;,
    &quot;display&quot;: &quot;Last 2 hours&quot;
  },
  {
    &quot;from&quot;: &quot;now-4h/m&quot;,
    &quot;to&quot;: &quot;now/m&quot;,
    &quot;display&quot;: &quot;Last 4 hours&quot;
  },
  {
    &quot;from&quot;: &quot;now-12h/m&quot;,
    &quot;to&quot;: &quot;now/m&quot;,
    &quot;display&quot;: &quot;Last 12 hours&quot;
  },
  {
    &quot;from&quot;: &quot;now-24h/m&quot;,
    &quot;to&quot;: &quot;now/m&quot;,
    &quot;display&quot;: &quot;Last 24 hours&quot;
  },
  {
    &quot;from&quot;: &quot;now-48h/m&quot;,
    &quot;to&quot;: &quot;now/m&quot;,
    &quot;display&quot;: &quot;Last 48 hours&quot;
  },
  {
    &quot;from&quot;: &quot;now-7d/m&quot;,
    &quot;to&quot;: &quot;now/m&quot;,
    &quot;display&quot;: &quot;Last 7 days&quot;
  },
  {
    &quot;from&quot;: &quot;now-30d/m&quot;,
    &quot;to&quot;: &quot;now/m&quot;,
    &quot;display&quot;: &quot;Last 30 days&quot;
  },
  {
    &quot;from&quot;: &quot;now-60d/m&quot;,
    &quot;to&quot;: &quot;now/m&quot;,
    &quot;display&quot;: &quot;Last 60 days&quot;
  },
  {
    &quot;from&quot;: &quot;now-90d/m&quot;,
    &quot;to&quot;: &quot;now/m&quot;,
    &quot;display&quot;: &quot;Last 90 days&quot;
  }
]</pre>
<p>Ajustes finos:</p>
<pre class="remontti-code"># vim /etc/systemd/system/flowcoll.service.d/flowcoll.conf</pre>
<p>Ajustes ELASTICSEARCH</p>
<pre class="remontti-code">Environment=&quot;EF_FLOW_OUTPUT_ELASTICSEARCH_ENABLE=true&quot;
Environment=&quot;EF_FLOW_OUTPUT_ELASTICSEARCH_TIMESTAMP_SOURCE=end&quot;
Environment=&quot;EF_FLOW_OUTPUT_ELASTICSEARCH_INDEX_TEMPLATE_ILM_LIFECYCLE=elastiflow&quot;
#Environment=&quot;EF_FLOW_OUTPUT_ELASTICSEARCH_USERNAME=elastic&quot;
#Environment=&quot;EF_FLOW_OUTPUT_ELASTICSEARCH_PASSWORD=changeme&quot;</pre>
<p>Ajustes DNS</p>
<pre class="remontti-code">Environment=&quot;EF_FLOW_DECODER_ENRICH_DNS_ENABLE=true&quot;
Environment=&quot;EF_FLOW_DECODER_ENRICH_DNS_NAMESERVER_IP=1.1.1.1&quot;</pre>
<p>Ajustes MAXMIND</p>
<pre class="remontti-code">Environment=&quot;EF_FLOW_DECODER_ENRICH_MAXMIND_ASN_ENABLE=true&quot; 
Environment=&quot;EF_FLOW_DECODER_ENRICH_MAXMIND_GEOIP_ENABLE=true&quot;
Environment=&quot;EF_FLOW_DECODER_ENRICH_MAXMIND_GEOIP_LANG=pt-BR&quot;
Environment=&quot;EF_FLOW_DECODER_ENRICH_MAXMIND_ASN_PATH=maxmind/GeoLite2-ASN.mmdb&quot;
Environment=&quot;EF_FLOW_DECODER_ENRICH_MAXMIND_GEOIP_PATH=maxmind/GeoLite2-City.mmdb&quot;</pre>
<p><a href="https://github.com/P3TERX/GeoLite.mmdb" rel="noopener" target="_blank">Base MAXMIND</a>.</p>
<pre class="remontti-code"># cd /etc/elastiflow/maxmind
# wget https://git.io/GeoLite2-ASN.mmdb
# wget https://git.io/GeoLite2-City.mmdb
# wget https://git.io/GeoLite2-Country.mmdb</pre>
<p>Reiniciando os serviços</p>
<pre class="remontti-code"># systemctl daemon-reload
# systemctl restart flowcoll
# systemctl status flowcoll
# systemctl restart elasticsearch kibana
# systemctl status elasticsearch kibana</pre>
<h3> Configure seu router para enviar os flows</h4>
<p><strong>Bonus: Huawei NE Netstream (NetFlow)</strong></p>
<pre class="remontti-code">ip netstream as-mode 32
ip netstream timeout active 1
ip netstream timeout inactive 15
ip netstream export version 9 origin-as
ip netstream export index-switch 32
ip netstream export template timeout-rate 2
ip netstream sampler fix-packets 128 inbound
ip netstream sampler fix-packets 128 outbound
ip netstream export source IPv4_LOOPBACK_ORIGEM
ip netstream export host IPv4_SERVIDOR 9995
ip netstream export template option sampler
ip netstream export template option application-label
#
ipv6 netstream as-mode 32
ipv6 netstream timeout active 1
ipv6 netstream timeout inactive 15
ipv6 netstream export version 9 origin-as
ipv6 netstream export index-switch 32
ipv6 netstream export template timeout-rate 2
ipv6 netstream sampler fix-packets 128 inbound
ipv6 netstream sampler fix-packets 128 outbound
ipv6 netstream export source IPv4_LOOPBACK_ORIGEM
ipv6 netstream export host IPv4_SERVIDOR 9995
ipv6 netstream export template option sampler
 
# CONFIG NO SLOT -- slot 9 ou 10 NE8000 / slot 3 NE40
# EXECUTE O CMD NO ROOT, COMANDO NÃO FUNCIONA NO VIRTUAL SYSTEM
slot 9
 ip netstream sampler to slot self
 ipv6 netstream sampler to slot self
 
# APLICAR APENAS NAS INTERFACES UPSTREAM (LINK IP, PTT, IX...)
ip netstream inbound
ip netstream outbound
ipv6 netstream inbound
ipv6 netstream outbound
 
# EM CASO DE INTERFACES DE CDN INTERNO, APLICAR:
ip netstream inbound
ipv6 netstream inbound
 
# EM CASO DE INTERFACE BILATERAL (ONDE TANTO RECEBE QUANTO ENVIA CONTEÚDO), APLICAR:
ip netstream inbound
ipv6 netstream inbound
</pre>
<p><strong>Bonus: Mikrotik</strong></p>
<pre class="remontti-code">
/ip traffic-flow
set active-flow-timeout=1m cache-entries=4k enabled=yes interfaces=INTERFACES_COLETAR
/ip traffic-flow target 
add dst-address=IP_SERVER_ASSTATS port=9995 src-address=IP_ORIGEM version=9</pre>
<p>Verificar se os pacotes estão chegando na porta 9995</p>
<pre class="remontti-code"># apt install tcpdump
# tcpdump -i ens18 -n udp port 9995 -T cnfp</pre>
<p>Acesse eu Kibana e seja feliz!<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/03/elastiflow_brasil1.png" alt="" width="971" height="586" class="alignnone size-full wp-image-6406" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/03/elastiflow_brasil1.png 971w, https://blog.remontti.com.br/wp-content/uploads/2022/03/elastiflow_brasil1-300x181.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/03/elastiflow_brasil1-768x463.png 768w" sizes="auto, (max-width: 971px) 100vw, 971px" /><br />
Escolha sua Dash<br />
<img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/03/asn.png" alt="" width="1920" height="1012" class="alignnone size-full wp-image-6403" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/03/asn.png 1920w, https://blog.remontti.com.br/wp-content/uploads/2022/03/asn-300x158.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/03/asn-1024x540.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/03/asn-768x405.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/03/asn-1536x810.png 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></p>
<p>Gostou e quer me ajudar a manter o blog? <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><strong>Fonte:</strong><br />
<a href="https://docs.elastiflow.com" rel="noopener" target="_blank">https://docs.elastiflow.com</a></p>
<p>O post <a href="https://blog.remontti.com.br/6255">Aprenda instalar o ElastiFlow, uma poderosa ferramenta para análise de tráfego de rede no Debian 11 Bullseye</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/6255/feed</wfw:commentRss>
			<slash:comments>62</slash:comments>
		
		
			</item>
		<item>
		<title>Como obter gráficos de tráfego por AS utilizando AS-STATS (open source)</title>
		<link>https://blog.remontti.com.br/5129</link>
					<comments>https://blog.remontti.com.br/5129#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Thu, 05 Nov 2020 19:53:31 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mikrotik]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[as-stats]]></category>
		<category><![CDATA[ElastiFlow]]></category>
		<category><![CDATA[graficos]]></category>
		<category><![CDATA[monitoramento]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[Netflow]]></category>
		<category><![CDATA[sFlow]]></category>
		<category><![CDATA[Traffic Flow]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=5129</guid>

					<description><![CDATA[<p>AS-Stats é uma ferramenta simples para gerar gráficos de tráfego por AS a partir de registros NetFlow / sFlow criada por Manuel Kasper para Monzoon Networks AG está na versão 1.6 (2014-09-12) e atualmente&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/5129">Como obter gráficos de tráfego por AS utilizando AS-STATS (open source)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong><a href="https://github.com/manuelkasper/AS-Stats" rel="noopener noreferrer" target="_blank">AS-Stats</a></strong> é uma ferramenta simples para gerar gráficos de tráfego por AS a partir de registros NetFlow / sFlow criada<br />
por <a href="mk@neon1.net" rel="noopener noreferrer" target="_blank">Manuel Kasper</a> para Monzoon Networks AG está na versão 1.6 (2014-09-12) e atualmente não tem mais tempo para manter AS-Stats. No entanto houve algumas contribuições e além disso, <a href="https://github.com/nidebr/as-stats-gui" rel="noopener noreferrer" target="_blank">Nicolas Debrigode</a> lançou uma IU da Web mais moderna para AS-Stats, bem como o <a href="https://github.com/JackSlateur/perl-ip2as" rel="noopener noreferrer" target="_blank">Jack Slateur</a> que contribui para o mapeamento de IP para ASN.</p>
<p>Com todas essas melhorias fiz um novo <a href="https://github.com/remontti/AS-Stats" rel="noopener noreferrer" target="_blank">fork do projeto AS-Stats</a> atualizado varias coisas e unificando todo o projeto. </p>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/11/as-stats.png" alt="" width="1180" height="634" class="alignnone size-full wp-image-5139" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/11/as-stats.png 1180w, https://blog.remontti.com.br/wp-content/uploads/2020/11/as-stats-300x161.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/11/as-stats-1024x550.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/11/as-stats-768x413.png 768w" sizes="auto, (max-width: 1180px) 100vw, 1180px" /></p>
<h3>Como funciona</h3>
<p>Um script Perl (asstatd.pl) coleta registros de agregação do NetFlow v8/v9 AS ou amostras sFlow v5 de um ou mais roteadores. Ele os armazena em cache por cerca de um minuto (para evitar gravações excessivas em arquivos RRD), identifica o link a que cada registro se refere (por meio do índice de interface de entrada/saída SNMP), mapeia-o para um &#8220;link conhecido&#8221; correspondente e dados RRD fonte e, em seguida, executa o RRDtool. Para evitar a perda de novos registros enquanto os arquivos RRD são atualizados, a tarefa de atualização é executada em um processo separado.</p>
<p>Para cada AS, um arquivo RRD separado é criado conforme necessário. Ele contém duas fontes de dados para cada link &#8211; uma para o tráfego de entrada e outra para o tráfego de saída. Em gráficos de tráfego por AS gerados, o tráfego de entrada é mostrado como positivo, enquanto o tráfego de saída é mostrado como valores negativos.</p>
<p>Outro script Perl, rrd-extractstats.pl, deve ser executado uma vez por hora. Ele soma o tráfego por AS e link durante as últimas 24 horas, classifica os AS pelo tráfego total (decrescente) e grava os resultados em um arquivo de texto. Isso é então usado para exibir os &#8220;principais N AS&#8221; e outras estatísticas dos scripts PHP fornecidos.</p>
<h4>Considerações</h4>
<p>Os arquivos RRD são pequenos, mas existem em grande quantidade. Você verá um ganho de desempenho em um sistema de arquivos como XFS sobre EXT4. Considere em qual sistema de arquivos você colocou os arquivos RRD se o desempenho for um fator para suas necessidades.</p>
<h3>Pré-requisitos</h3>
<p><a href="https://blog.remontti.com.br/5792" target="_blank" rel="noopener noreferrer">Debian 11 Bullseye – Instalação Limpa</a></p>
<p>Hardware vai depender muito da quantidade de flows coletado, mas ele é muito mais modesto em relação ao elastflow, vou deixar aqui um exemplo, de um servidor que subi com o Rudson para coletar ~5GB de um Huawei NE40 coletando de 4 interfaces. (4CPU 2.20GHz + 8GB Ram) mas como pode ver no print está super de boa <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/2020/09/htop.png" alt="" width="1231" height="253" class="alignnone size-full wp-image-5166" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/09/htop.png 1231w, https://blog.remontti.com.br/wp-content/uploads/2020/09/htop-300x62.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/09/htop-1024x210.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/09/htop-768x158.png 768w" sizes="auto, (max-width: 1231px) 100vw, 1231px" /><br />
Na questão de espaço em disco vai depender de quantas interfaces vc irá coletar, mas se prepare com ~50GB para não ter dor de cabeça, e na pior das hipóteses #format <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>
<p>Ajustes seu repositório para pacotes <strong>non-free</strong> e <strong>contrib</strong>:</p>
<pre class="remontti-code"># vim /etc/apt/sources.list</pre>
<p>Ajuste:</p>
<pre class="remontti-code-plain">deb http://deb.debian.org/debian/ bullseye main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye main contrib non-free

deb http://security.debian.org/debian-security bullseye-security main contrib non-free
deb-src http://security.debian.org/debian-security bullseye-security main contrib non-free

deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye-updates main contrib non-free</pre>
<p>Instalaremos todos os pacotes necessários para o projeto</p>
<pre class="remontti-code"># apt update
# apt install \
  unzip wget git net-tools curl dnsutils whois build-essential \
  perl libnet-patricia-perl libjson-xs-perl netcat python3-requests \
  libdbd-sqlite3-perl libtrycatch-perl rrdtool-tcl libgd-graph-perl \
  librrds-perl librrdp-perl librrdtool-oo-perl \
  rrdtool python3-rrdtool python3-rrdtool-dbg librrd-dev rrdcollect \
  apache2 libapache2-mod-php php php-sqlite3 \
  php-cli php-gmp php-gd php-bcmath php-mbstring \
  php-pear php-curl php-xml php-zip libyaml-perl</pre>
<pre class="remontti-code"># perl -MCPAN -e &#039;install Net::sFlow&#039;</pre>
<p>Responta <strong>YES</strong></p>
<pre class="remontti-code-plain">Would you like to configure as much as possible automatically? [yes]</pre>
<p>Último resultado será:</p>
<pre class="remontti-code-plain">/usr/bin/make install  -- OK</pre>
<pre class="remontti-code"># perl -MCPAN -e &#039;install File::Find::Rule&#039;</pre>
<p>Último resultado será:</p>
<pre class="remontti-code-plain">/usr/bin/make install  -- OK</pre>
<p>Como dito unifique todo o projeto, então vamos baixa-lo em uma pasta /data onde ficará todos os arquivos.</p>
<pre class="remontti-code"># mkdir /data/
# cd /data/
# git clone https://github.com/remontti/AS-Stats.git asstats
# mkdir /data/asstats/rrd</pre>
<p>Pesquisas adicionais (em caso de Mikrotik será necessário um complemento a mais já que o flow enviado não vem informação do AS, a solução <del datetime="2020-11-05T15:06:01+00:00">gambiarra</del> é usar um &#8220;tradutor de IPs para AS&#8221;. </p>
<pre class="remontti-code"># cp /data/asstats/ip2asn/ip2as.pm /usr/share/perl5/</pre>
<p>Vai ser necessário instalar o snmpwalk e as MIBs para coletarmos informações do router, pois é com essas informações que vamos dizer qual interface vamos coletar os flows. </p>
<pre class="remontti-code"># apt install snmp snmp-mibs-downloader
# cp  /etc/snmp/snmp.conf   /etc/snmp/snmp.conf.old
# echo &quot;&quot; &gt; /etc/snmp/snmp.conf</pre>
<p>Para fazer a coleta <strong>precisamos saber</strong> o identificador (<strong>ifIndex</strong>) da <strong>interface</strong>, para isso então vamos usar o snmpwalk para descobrir qual os nomes (<strong>ifDescr</strong>) primeiro e em seguida o identificador (<strong>ifIndex</strong>).</p>
<p><strong>Exemplo de saída snmpwalk de um huawei:</strong></p>
<pre class="remontti-code"># snmpwalk -v2c -c public 10.20.30.2 IF-MIB::ifDescr</pre>
<pre class="remontti-code-plain">IF-MIB::ifDescr.1 = STRING: Virtual-Template0
IF-MIB::ifDescr.2 = STRING: NULL0
IF-MIB::ifDescr.3 = STRING: InLoopBack0
IF-MIB::ifDescr.4 = STRING: Ethernet0/0/0
IF-MIB::ifDescr.6 = STRING: GigabitEthernet0/7/0
IF-MIB::ifDescr.7 = STRING: GigabitEthernet0/7/1
IF-MIB::ifDescr.8 = STRING: GigabitEthernet0/7/2
IF-MIB::ifDescr.9 = STRING: GigabitEthernet0/7/3
IF-MIB::ifDescr.10 = STRING: GigabitEthernet0/7/4
IF-MIB::ifDescr.11 = STRING: GigabitEthernet0/7/5
IF-MIB::ifDescr.12 = STRING: GigabitEthernet0/7/6
IF-MIB::ifDescr.13 = STRING: GigabitEthernet0/7/7
IF-MIB::ifDescr.14 = STRING: GigabitEthernet0/7/8
IF-MIB::ifDescr.15 = STRING: GigabitEthernet0/7/9
IF-MIB::ifDescr.32 = STRING: LoopBack1023
IF-MIB::ifDescr.33 = STRING: Eth-Trunk100
IF-MIB::ifDescr.34 = STRING: Eth-Trunk100.2022
IF-MIB::ifDescr.35 = STRING: Eth-Trunk100.309
IF-MIB::ifDescr.36 = STRING: Eth-Trunk100.700
IF-MIB::ifDescr.37 = STRING: Eth-Trunk100.701
IF-MIB::ifDescr.38 = STRING: Eth-Trunk100.928
IF-MIB::ifDescr.39 = STRING: Eth-Trunk100.929
IF-MIB::ifDescr.40 = STRING: LoopBack0
IF-MIB::ifDescr.41 = STRING: Eth-Trunk100.200
IF-MIB::ifDescr.42 = STRING: Eth-Trunk100.2371
IF-MIB::ifDescr.44 = STRING: Eth-Trunk100.3675
IF-MIB::ifDescr.45 = STRING: Eth-Trunk100.3672</pre>
<pre class="remontti-code"># snmpwalk -v2c -c public 10.250.250.1 IF-MIB::ifIndex</pre>
<pre class="remontti-code-plain">IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.2 = INTEGER: 2
IF-MIB::ifIndex.3 = INTEGER: 3
IF-MIB::ifIndex.4 = INTEGER: 4
IF-MIB::ifIndex.6 = INTEGER: 6
IF-MIB::ifIndex.7 = INTEGER: 7
IF-MIB::ifIndex.8 = INTEGER: 8
IF-MIB::ifIndex.9 = INTEGER: 9
IF-MIB::ifIndex.10 = INTEGER: 10
IF-MIB::ifIndex.11 = INTEGER: 11
IF-MIB::ifIndex.12 = INTEGER: 12
IF-MIB::ifIndex.13 = INTEGER: 13
IF-MIB::ifIndex.14 = INTEGER: 14
IF-MIB::ifIndex.15 = INTEGER: 15
IF-MIB::ifIndex.32 = INTEGER: 32
IF-MIB::ifIndex.33 = INTEGER: 33
IF-MIB::ifIndex.34 = INTEGER: 34
IF-MIB::ifIndex.35 = INTEGER: 35
IF-MIB::ifIndex.36 = INTEGER: 36
IF-MIB::ifIndex.37 = INTEGER: 37
IF-MIB::ifIndex.38 = INTEGER: 38
IF-MIB::ifIndex.39 = INTEGER: 39
IF-MIB::ifIndex.40 = INTEGER: 40
IF-MIB::ifIndex.41 = INTEGER: 41
IF-MIB::ifIndex.42 = INTEGER: 42
IF-MIB::ifIndex.44 = INTEGER: 44
IF-MIB::ifIndex.45 = INTEGER: 45</pre>
<p><strong>Exemplo de saída snmpwalk de um RouterOS/Mikrotik:</strong></p>
<pre class="remontti-code"># snmpwalk -v2c -c public 10.20.30.2 IF-MIB::ifDescr</pre>
<pre class="remontti-code-plain">IF-MIB::ifDescr.1 = STRING: sfp-sfpplus1
IF-MIB::ifDescr.2 = STRING: sfp-sfpplus2
IF-MIB::ifDescr.3 = STRING: ether1
IF-MIB::ifDescr.4 = STRING: ether2
IF-MIB::ifDescr.5 = STRING: ether3
IF-MIB::ifDescr.6 = STRING: ether4
IF-MIB::ifDescr.7 = STRING: ether5
IF-MIB::ifDescr.8 = STRING: ether6
IF-MIB::ifDescr.9 = STRING: ether7
IF-MIB::ifDescr.10 = STRING: ether8
IF-MIB::ifDescr.11 = STRING: VLAN-IX-SP-IPv4.10
IF-MIB::ifDescr.12 = STRING: VLAN-IX-SP-IPv6.11
IF-MIB::ifDescr.13 = STRING: VLAN-IX-PR-IPv6.20
IF-MIB::ifDescr.14 = STRING: VLAN-IX-PR-IPv4.21
IF-MIB::ifDescr.15 = STRING: VLAN-IX-RS-IPv4.30
IF-MIB::ifDescr.16 = STRING: VLAN-IX-RS-IPv6.31</pre>
<pre class="remontti-code"># snmpwalk -v2c -c public 10.20.30.2 IF-MIB::ifIndex</pre>
<pre class="remontti-code-plain">IF-MIB::ifIndex.1 = INTEGER: 1
IF-MIB::ifIndex.2 = INTEGER: 2
IF-MIB::ifIndex.3 = INTEGER: 3
IF-MIB::ifIndex.4 = INTEGER: 4
IF-MIB::ifIndex.5 = INTEGER: 5
IF-MIB::ifIndex.6 = INTEGER: 6
IF-MIB::ifIndex.7 = INTEGER: 7
IF-MIB::ifIndex.8 = INTEGER: 8
IF-MIB::ifIndex.9 = INTEGER: 9
IF-MIB::ifIndex.10 = INTEGER: 10
IF-MIB::ifIndex.11 = INTEGER: 11
IF-MIB::ifIndex.13 = INTEGER: 13
IF-MIB::ifIndex.14 = INTEGER: 14
IF-MIB::ifIndex.15 = INTEGER: 15
IF-MIB::ifIndex.16 = INTEGER: 16</pre>
<p>Agora que já sabemos os IDs (ifIndex) das suas respectivas interfaces:<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2020/11/snmpwalk.png" data-rel="lightbox-gallery-jmT9Zcns" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/11/snmpwalk.png" alt="" width="1235" height="824" class="alignnone size-full wp-image-5134" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/11/snmpwalk.png 1235w, https://blog.remontti.com.br/wp-content/uploads/2020/11/snmpwalk-300x200.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/11/snmpwalk-1024x683.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/11/snmpwalk-768x512.png 768w" sizes="auto, (max-width: 1235px) 100vw, 1235px" /></a></p>
<p>Vamos aos  ajustes as entradas no arquivo knownlinks:</p>
<pre class="remontti-code"># vim /data/asstats/conf/knownlinks</pre>
<p>Exemplo:</p>
<pre class="remontti-code-plain"># nota: tabulações devem ser usadas para separar campos (não espaços)
# máx. o comprimento da tag é de 12 caracteres; caracteres permitidos: a-z A-Z 0-9 _
# sampling: taxa de amostragem pode ser separada para entrada / saída especificando taxas &lt;in&gt; / &lt;out&gt;.
#
# Router IP		SNMP ifindex    tag					description	color	samplingrate
10.20.30.2		11				vlan10				IX.SP 		F44336	1
10.20.30.2		15				vlan30				IX.RS		CDDC39	1
10.20.30.2		13				vlan20				IX.PR		4CAF50	1
10.20.30.2		5				Eth-Trunk100.309	LINK1	009688	128
10.20.30.2		2				Eth-Trunk100.308	LINK2	A09688	128
</pre>
<p>Para melhor entendimento:<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2020/11/knownlinks.png" data-rel="lightbox-gallery-jmT9Zcns" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/11/knownlinks.png" alt="" width="1093" height="727" class="alignnone size-full wp-image-5135" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/11/knownlinks.png 1093w, https://blog.remontti.com.br/wp-content/uploads/2020/11/knownlinks-300x200.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/11/knownlinks-1024x681.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/11/knownlinks-768x511.png 768w" sizes="auto, (max-width: 1093px) 100vw, 1093px" /></a></p>
<p>knownlinks configurado, vamos configurar nosso arquivo que inicirá o processo, mas mantes é necessário informar o seu AS e caso for um RouterOS/Mikrotik as coisas mudam um pouco.</p>
<pre class="remontti-code"># vim /data/asstats/bin/start</pre>
<p>Altere para seu AS</p>
<pre class="remontti-code">MEUAS=1234</pre>
<p>Se seu router é um RouterOS/Mikrotik permaneça com a linha a baixo descomentada!</p>
<pre class="remontti-code-plain">perl ${ASSTATD} -r ${DIRRRD} -k ${KNOWNLINKS} -a ${MEUAS} -n -m ${IP2ASN} &amp;</pre>
<p>Caso ser outro, comente a linha acima e descomenta a linha:</p>
<pre class="remontti-code-plain">perl ${ASSTATD} -r ${DIRRRD}  -p 9996 -P 6343 -k ${KNOWNLINKS} -a ${MEUAS} &amp;</pre>
<p><strong>Exemplo:  &#8220;AS 666 no Huawei&#8221;</strong></p>
<pre class="remontti-code">#!/bin/bash

# Informe seu AS:
MEUAS=666

ASSTATD=&#039;/data/asstats/bin/asstatd.pl&#039;
DIRRRD=&#039;/data/asstats/rrd&#039;
KNOWNLINKS=&#039;/data/asstats/conf/knownlinks&#039;
IP2ASN=&#039;/data/asstats/ip2asn/ip2asn.json&#039;

# -p = Port netflow / -P port sflow
# 
# netflow/sflow - (Huawei NE, Cisco, JunOS...)
perl ${ASSTATD} -r ${DIRRRD}  -p 9996 -P 6343 -k ${KNOWNLINKS} -a ${MEUAS} &amp;

# Flow v5 - (RoutesOS/Mikrotik)
# perl ${ASSTATD} -r ${DIRRRD} -k ${KNOWNLINKS} -a ${MEUAS} -n -m ${IP2ASN} &amp;</pre>
<p>Para iniciar o serviço execute:</p>
<pre class="remontti-code"># /data/asstats/bin/start</pre>
<p>Verifique se as portas estão ouvindo</p>
<pre class="remontti-code"># netstat -putan  |grep perl</pre>
<pre class="remontti-code-plain">udp        0      0 0.0.0.0:9996            0.0.0.0:*                           1261/perl           
udp        0      0 0.0.0.0:6343            0.0.0.0:*                           1261/perl  </pre>
<p>Para carregar o start na inicialização faça:</p>
<pre class="remontti-code"># ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service</pre>
<pre class="remontti-code"># vim /etc/rc.local</pre>
<p>Adicione</p>
<pre class="remontti-code">#!/bin/bash
/data/asstats/bin/start
exit 0</pre>
<p>Altere as permissões para execução:</p>
<pre class="remontti-code"># chmod +x /etc/rc.local</pre>
<p>Ajustes no cron:</p>
<pre class="remontti-code"># crontab -e</pre>
<p>Adicione as linhas a baixo ao final do arquivo:</p>
<pre class="remontti-code"># 5min
*/5 * * * * perl /data/asstats/bin/rrd-extractstats.pl /data/asstats/rrd /data/asstats/conf/knownlinks /data/asstats/asstats/asstats_day.txt

# 7 Dias
#0 0 * * 0 perl /data/asstats/bin/rrd-extractstats.pl /data/asstats/rrd /data/asstats/conf/knownlinks /data/asstats/asstats/asstats_week.txt 168

# 30 dias 
#0 0 1 * * perl /data/asstats/bin/rrd-extractstats.pl /data/asstats/rrd /data/asstats/conf/knownlinks /data/asstats/asstats/asstats_month.txt 720
</pre>
<p>Reinicie o serviço cron</p>
<pre class="remontti-code"># systemctl restart cron</pre>
<p>Instale o tcpdump para verificar se os pacotes irão chegando ao seu servidor ao configurar os flows em seu servidor. Obs: <strong>enp0s3</strong> é o nome da interface do servidor.</p>
<pre class="remontti-code"># apt install tcpdump
# tcpdump -i enp0s3 -n udp port 9996 -T cnfp</pre>
<h3>Configuração para o router</h3>
<h4>RouterOS/Mikrotik (Flow v5)</h4>
<pre class="remontti-code">/ip traffic-flow
set active-flow-timeout=5m cache-entries=16k enabled=yes interfaces=INTERFACES

/ip traffic-flow ipfix
set dst-address-mask=no dst-mac-address=no first-forwarded=no gateway=no icmp-code=no icmp-type=no igmp-type=no ip-header-length=no ip-total-length=no ipv6-flow-label=no is-multicast=no last-forwarded=no \
    nat-dst-address=no nat-dst-port=no nat-src-address=no nat-src-port=no src-address-mask=no src-mac-address=no tcp-ack-num=no tcp-flags=no tcp-seq-num=no tcp-window-size=no tos=no ttl=no udp-length=no

/ip traffic-flow target
add dst-address=IP_SERVER_ASSTATS port=9996 src-address=IP_ORIGEM version=5</pre>
<h4>Huawei NE Netstream (netflow)</h4>
<p>Contribuição o <a href="https://www.facebook.com/rudson.costa.16" rel="noopener noreferrer" target="_blank">Rudson Costa</a> / <a href="http://t.me/gabrielmocan" rel="noopener" target="_blank">Gabriel Mocan</a> compartilhou: (Huawei NE40/8000)</p>
<pre class="remontti-code">
# CONFIG GLOBAL
#
ip netstream export version 9 origin-as
ip netstream export index-switch 32
ip netstream as-mode 32
ip netstream timeout active 5
ip netstream timeout inactive 60
ip netstream export template timeout-rate 1
ip netstream export template option sampler
ip netstream sampler fix-packets 128 inbound
ip netstream sampler fix-packets 128 outbound
ip netstream export source &gt;&gt;IPV4_LOOPBACK_ORIGEM&lt;&lt;
ip netstream export host &gt;&gt;IP_SERVIDOR&lt;&lt; 9996
#
ipv6 netstream export version 9 origin-as
ipv6 netstream export index-switch 32
ipv6 netstream as-mode 32
ipv6 netstream timeout active 5
ipv6 netstream timeout inactive 60
ipv6 netstream export template timeout-rate 1
ipv6 netstream export template option sampler
ipv6 netstream sampler fix-packets 128 inbound
ipv6 netstream sampler fix-packets 128 outbound
ipv6 netstream export source &gt;&gt;IPV4_LOOPBACK_ORIGEM&lt;&lt;
ipv6 netstream export host &gt;&gt;IP_SERVIDOR&lt;&lt; 9996

# CONFIG NO SLOT 
# NE40: slot 3
# NE8000-F1A: slot 0
# NE8000-M8: slot 9 ou 10 

# EXECUTE O COMANDO NO ROOT (ADM), COMANDO NÃO FUNCIONA EM VS
slot 0
 ip netstream sampler to slot self
 ipv6 netstream sampler to slot self

# APLICAR APENAS NAS INTERFACES UPSTREAM (LINK IP, PTT, IX...)
ip netstream inbound
ip netstream outbound
ipv6 netstream inbound
ipv6 netstream outbound

# EM CASO DE INTERFACES DE CDN INTERNO, APLICAR:
ip netstream inbound
ipv6 netstream inbound

# EM CASO DE INTERFACE BILATERAL (ONDE TANTO RECEBE QUANTO ENVIA CONTEÚDO), APLICAR:
ip netstream inbound
ipv6 netstream inbound
</pre>
<p>Contribuição do Thiago Melo para Juniper:</p>
<pre class="remontti-code">
# ---- ipv4
set chassis afeb slot 0 sampling-instance as-stats
set chassis afeb slot 0 inline-services flow-table-size ipv4-flow-table-size 10
set chassis afeb slot 0 inline-services flow-table-size ipv6-flow-table-size 10

set forwarding-options sampling instance as-stats input rate 2048
set forwarding-options sampling instance as-stats input max-packets-per-second 4096
set forwarding-options sampling instance as-stats family inet output flow-server IP_SERVIDOR_FLOW port 9996
set forwarding-options sampling instance as-stats family inet output flow-server IP_SERVIDOR_FLOW autonomous-system-type origin
set forwarding-options sampling instance as-stats family inet output flow-server IP_SERVIDOR_FLOW no-local-dump
set forwarding-options sampling instance as-stats family inet output flow-server IP_SERVIDOR_FLOW version-ipfix template ipv4
set forwarding-options sampling instance as-stats family inet output inline-jflow source-address IP_ORIGEM

set services flow-monitoring version-ipfix template ipv4 flow-active-timeout 60
set services flow-monitoring version-ipfix template ipv4 flow-inactive-timeout 30
set services flow-monitoring version-ipfix template ipv4 template-refresh-rate packets 48000
set services flow-monitoring version-ipfix template ipv4 template-refresh-rate seconds 30
set services flow-monitoring version-ipfix template ipv4 option-refresh-rate packets 48000
set services flow-monitoring version-ipfix template ipv4 option-refresh-rate seconds 30
set services flow-monitoring version-ipfix template ipv4 ipv4-template

set interfaces xe-2/0/0 unit 0 family inet sampling input
set interfaces xe-2/0/0 unit 0 family inet sampling output

# ---- ipv6

set forwarding-options sampling instance as-stats family inet6 output flow-server IP_SERVIDOR_FLOW port 9996
set forwarding-options sampling instance as-stats family inet6 output flow-server IP_SERVIDOR_FLOW autonomous-system-type origin
set forwarding-options sampling instance as-stats family inet6 output flow-server IP_SERVIDOR_FLOW no-local-dump
set forwarding-options sampling instance as-stats family inet6 output flow-server IP_SERVIDOR_FLOW version-ipfix template ipv6
set forwarding-options sampling instance as-stats family inet6 output inline-jflow source-address IP_ORIGEM

set services flow-monitoring version-ipfix template ipv6 flow-active-timeout 60
set services flow-monitoring version-ipfix template ipv6 flow-inactive-timeout 60
set services flow-monitoring version-ipfix template ipv6 template-refresh-rate packets 1000
set services flow-monitoring version-ipfix template ipv6 template-refresh-rate seconds 10
set services flow-monitoring version-ipfix template ipv6 option-refresh-rate packets 1000
set services flow-monitoring version-ipfix template ipv6 option-refresh-rate seconds 10
set services flow-monitoring version-ipfix template ipv6 ipv6-template

set interfaces xe-2/0/0 unit 0 family inet6 sampling input
set interfaces xe-2/0/0 unit 0 family inet6 sampling output</pre>
<p>No <a href="https://github.com/manuelkasper/AS-Stats">projeto oficial</a> você encontra modelos de configurações para outros vendors. </p>
<p>Agora é aguardar ~5 min até gerar os arquivos em /data/asstats/rrd</p>
<p>Uma boa dica é você ficar ligado com o a saúde do seu servidor, olhar para o processamento/memoria e como ta a escrita no disco é importante, vou deixar duas ferramentas para observar isso:</p>
<pre class="remontti-code"># apt install htop iotop
# htop
# iotop</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>Para ficar algo bom vou criar um <a href="https://blog.remontti.com.br/3464" rel="noopener noreferrer" target="_blank">domínio virtual</a> para acessar o as-stats, não esqueça de apontar em seu DNS!</p>
<pre class="remontti-code"># vim /etc/apache2/sites-available/asstats.conf</pre>
<p>Ajuste para sua realidade, fique ligado que em Require ip só permite que estes tenham acesso:</p>
<pre class="remontti-code">&lt;virtualhost *:80&gt;
   ServerName asstats.remontti.com.br
   ServerAdmin noc@remontti.com.br
 
   DocumentRoot /data/asstats/www
 
   ErrorDocument 403 http://www.remontti.com.br
 
   &lt;Directory /data/asstats/www/&gt;
      Options FollowSymLinks
      AllowOverride All
      Require all denied
      &lt;RequireAll&gt;
         &lt;RequireAny&gt;
            Require ip 192.168.0.0/24 2804:1234:bebe::/48
         &lt;/RequireAny&gt;
      &lt;/RequireAll&gt;
   &lt;/Directory&gt;
 
   ErrorLog ${APACHE_LOG_DIR}/error_asstats.log
   CustomLog ${APACHE_LOG_DIR}/access_asstats.log combined
 
&lt;/VirtualHost&gt;</pre>
<pre class="remontti-code"># a2ensite asstats.conf
# systemctl restart apache2</pre>
<p>Ajuste seu ASN:</p>
<pre class="remontti-code"># vim /data/asstats/www/config.inc </pre>
<p>Localize $my_asn = "1234" e altere pelo seu.</p>
<pre class="remontti-code-plain">$my_asn = &quot;1234&quot;;</pre>
<p>Execute para que o asstats_day.txt seja criado e ao acessar o web-ui não fique em branco.</p>
<pre class="remontti-code"># perl /data/asstats/bin/rrd-extractstats.pl /data/asstats/rrd /data/asstats/conf/knownlinks /data/asstats/asstats/asstats_day.txt</pre>
<p>Acesse em seu navegador "<strong>http://asstats.remontti.com.br</strong>". Caso você não tenha dificuldade com dominios virtuais pode fazer um atalho dentro de /var/www/html, assim basta vc acessar o IP/as-stats/</p>
<pre class="remontti-code"># ln -s /data/asstats/www/ /var/www/html/as-stats</pre>
<p> e acessar <strong>http://ip/as-stats</strong></p>
<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2020/11/as-stats-zero.png" alt="" width="1427" height="473" class="alignnone size-full wp-image-5149" srcset="https://blog.remontti.com.br/wp-content/uploads/2020/11/as-stats-zero.png 1427w, https://blog.remontti.com.br/wp-content/uploads/2020/11/as-stats-zero-300x99.png 300w, https://blog.remontti.com.br/wp-content/uploads/2020/11/as-stats-zero-1024x339.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2020/11/as-stats-zero-768x255.png 768w" sizes="auto, (max-width: 1427px) 100vw, 1427px" /></p>
<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>Fontes:<br />
<a href="https://github.com/manuelkasper/AS-Stats" rel="noopener noreferrer" target="_blank">https://github.com/manuelkasper/AS-Stats</a><br />
<a href="https://github.com/nidebr/as-stats-gui" rel="noopener noreferrer" target="_blank">https://github.com/nidebr/as-stats-gui</a><br />
<a href="https://github.com/JackSlateur/perl-ip2as" rel="noopener noreferrer" target="_blank">https://github.com/JackSlateur/perl-ip2as</a></p>
<p>O post <a href="https://blog.remontti.com.br/5129">Como obter gráficos de tráfego por AS utilizando AS-STATS (open source)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/5129/feed</wfw:commentRss>
			<slash:comments>66</slash:comments>
		
		
			</item>
		<item>
		<title>Criando backup do RouterOS/Mikrotik via FTP</title>
		<link>https://blog.remontti.com.br/3878</link>
					<comments>https://blog.remontti.com.br/3878#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Wed, 18 Dec 2019 00:40:00 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mikrotik]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[backuk]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[pure-ftpd]]></category>
		<category><![CDATA[routeos]]></category>
		<category><![CDATA[salvar]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[seguro]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=3878</guid>

					<description><![CDATA[<p>Neste exemplo vou ensinar como fazer um backup do seu routerOS/Mikroitk via FTP. Testei com as versões > 6.48.x e > 7.6 Requisitos ter um servidor FTP 😛 Sugestão: Como criar um servidor FTP&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/3878">Criando backup do RouterOS/Mikrotik via FTP</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/2019/12/mikrotik_backup_ftp.jpg" alt="" width="720" height="340" class="alignnone size-full wp-image-3886" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/12/mikrotik_backup_ftp.jpg 720w, https://blog.remontti.com.br/wp-content/uploads/2019/12/mikrotik_backup_ftp-300x142.jpg 300w, https://blog.remontti.com.br/wp-content/uploads/2019/12/mikrotik_backup_ftp-520x245.jpg 520w" sizes="auto, (max-width: 720px) 100vw, 720px" /><br />
Neste exemplo vou ensinar como fazer um backup do seu routerOS/Mikroitk via FTP.</p>
<p>Testei com as versões > 6.48.x  e > 7.6</p>
<p>Requisitos ter um servidor FTP <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;" /><br />
Sugestão: <a href="https://blog.remontti.com.br/3865" rel="noopener noreferrer" target="_blank">Como criar um servidor FTP (Pure-FTPd) com usuário no banco de dados (MariaDB) usando Debian 10</a></p>
<p>Vamos ao script, você precisa alterar:<br />
:global host <strong>____IP/DNS_SERVIDOR_FTP____</strong><br />
:global usuario <strong>____USER____</strong><br />
:global senha<strong> ____SENHA____</strong><br />
:global diretorio<strong> ____pastaX____</strong></p>
<p>Acesse o menu: <strong>System</strong> >> <strong>Script</strong> e depois em [+]<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/12/backup_mk_ftp.png" data-rel="lightbox-gallery-J9h2Qnp2" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/12/backup_mk_ftp.png" alt="" width="1680" height="909" class="alignnone size-full wp-image-3882" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/12/backup_mk_ftp.png 1680w, https://blog.remontti.com.br/wp-content/uploads/2019/12/backup_mk_ftp-300x162.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/12/backup_mk_ftp-1024x554.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/12/backup_mk_ftp-768x416.png 768w, https://blog.remontti.com.br/wp-content/uploads/2019/12/backup_mk_ftp-1536x831.png 1536w" sizes="auto, (max-width: 1680px) 100vw, 1680px" /></a></p>
<p>O nome do arquivo será o mesmo que você definiu em <strong>System</strong> >> <strong>Identity</strong>, serão criado dois arquivos, uma backup e um export (AAAA-MM-DD.NOME.backup AAAA-MM-DD.NOME.rsc) </p>
<pre class="remontti-code">:log warning &quot;***************************************&quot;
# Conexão FTP
:global host ____IP/DNS_SERVIDOR_FTP____
:global usuario ____USER____
:global senha ____SENHA____
:global diretorio ____pastaX____
# Pega o nome do Router
:global identifica [/system identity get name ];
# Gera data no formato AAAA-MM-DD
:global data [/system clock get date]
:global meses (&quot;jan&quot;,&quot;feb&quot;,&quot;mar&quot;,&quot;apr&quot;,&quot;may&quot;,&quot;jun&quot;,&quot;jul&quot;,&quot;aug&quot;,&quot;sep&quot;,&quot;oct&quot;,&quot;nov&quot;,&quot;dec&quot;);
:global ano ([:pick $data 7 11])
:global mestxt ([:pick $data 0 3])
:global mm ([ :find $meses $mestxt -1 ] + 1);
:if ($mm &lt; 10) do={ :set mm (&quot;0&quot; . $mm); }
:global mes ([:pick $ds 7 11] . $mm . [:pick $ds 4 6])
:global dia ([:pick $data 4 6])
:log info &quot;Gerando backup: $ano-$mes-$dia.$identifica.backup&quot;;
/system backup save name=&quot;$ano-$mes-$dia.$identifica&quot;;
:log info &quot;Gerando export: $ano-$mes-$dia.$identifica.rsc&quot;;
/export file=&quot;$ano-$mes-$dia.$identifica&quot;
:log info &quot;Processando...&quot;;
:delay 5s
:log info &quot;Conectando FTP Server...&quot;;
:log info &quot;Enviando Backup [$ano-$mes-$dia.$identifica.backup] ...&quot;;
/tool fetch address=$host src-path=&quot;$ano-$mes-$dia.$identifica.backup&quot; user=&quot;$usuario&quot; password=&quot;$senha&quot; port=21 upload=yes mode=ftp dst-path=&quot;$diretorio/$ano-$mes-$dia.$identifica.backup&quot;
:log info &quot;Enviando Export [$ano-$mes-$dia.$identifica.rsc] ...&quot;;
/tool fetch address=$host src-path=&quot;$ano-$mes-$dia.$identifica.rsc&quot; user=&quot;$usuario&quot; password=&quot;$senha&quot; port=21 upload=yes mode=ftp dst-path=&quot;$diretorio/$ano-$mes-$dia.$identifica.rsc&quot;
:delay 1
:log info &quot;Backup enviado com sucesso...&quot;;
:log info &quot;Removendo arquivos...&quot;;
 /file remove &quot;$ano-$mes-$dia.$identifica.backup&quot;
 /file remove &quot;$ano-$mes-$dia.$identifica.rsc&quot;
:log info &quot;Rotina de backup finalizada...&quot;;
:log warning &quot;***************************************&quot;;</pre>
<p>Agora será preciso agenda-lo para execução a cada X período, no meu exemplo vou definir que todos os meio dias a cada 3 dias. Ajuste de acordo com suas necessidades:<br />
Acesse o menu: <strong>System</strong> >> <strong>Scheduler</strong> [+]<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2019/12/backup_mk_ftp2.png" data-rel="lightbox-gallery-J9h2Qnp2" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/12/backup_mk_ftp2.png" alt="" width="1353" height="785" class="alignnone size-full wp-image-3884" srcset="https://blog.remontti.com.br/wp-content/uploads/2019/12/backup_mk_ftp2.png 1353w, https://blog.remontti.com.br/wp-content/uploads/2019/12/backup_mk_ftp2-300x174.png 300w, https://blog.remontti.com.br/wp-content/uploads/2019/12/backup_mk_ftp2-1024x594.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2019/12/backup_mk_ftp2-768x446.png 768w" sizes="auto, (max-width: 1353px) 100vw, 1353px" /></a></p>
<p>Se estiver com preguiça <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;" /> pode copiar as linhas abaixo e colar no terminal, depois só alterar as variáveis.</p>
<pre class="remontti-code">/system script
add dont-require-permissions=no name=backup_ftp owner=remontti policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=&quot;:log warning \&quot;***************************************\&quot;\r\
    \n# Conex\E3o FTP\r\
    \n:global host ____IP/DNS_SERVIDOR_FTP____\r\
    \n:global usuario ___USUARIO___\r\
    \n:global senha ___SENHA___\r\
    \n:global diretorio ___NOME_DA_PASTA___\r\
    \n# Pega o nome do Router\r\
    \n:global identifica [/system identity get name ];\r\
    \n# Gera data no formato AAAA-MM-DD\r\
    \n:global data [/system clock get date]\r\
    \n:global meses (\&quot;jan\&quot;,\&quot;feb\&quot;,\&quot;mar\&quot;,\&quot;apr\&quot;,\&quot;may\&quot;,\&quot;jun\&quot;,\&quot;jul\&quot;,\&quot;aug\&quot;,\&quot;sep\&quot;,\&quot;oct\&quot;,\&quot;nov\&quot;,\&quot;dec\&quot;);\r\
    \n:global ano ([:pick \$data 7 11])\r\
    \n:global mestxt ([:pick \$data 0 3])\r\
    \n:global mm ([ :find \$meses \$mestxt -1 ] + 1);\r\
    \n:if (\$mm &lt; 10) do={ :set mm (\&quot;0\&quot; . \$mm); }\r\
    \n:global mes ([:pick \$ds 7 11] . \$mm . [:pick \$ds 4 6])\r\
    \n:global dia ([:pick \$data 4 6])\r\
    \n:log info \&quot;Gerando backup: \$ano-\$mes-\$dia.\$identifica.backup\&quot;;\r\
    \n/system backup save name=\&quot;\$ano-\$mes-\$dia.\$identifica\&quot;;\r\
    \n:log info \&quot;Gerando export: \$ano-\$mes-\$dia.\$identifica.rsc\&quot;;\r\
    \n/export file=\&quot;\$ano-\$mes-\$dia.\$identifica\&quot;\r\
    \n:log info \&quot;Processando...\&quot;;\r\
    \n:delay 5s\r\
    \n:log info \&quot;Conectando FTP Server...\&quot;;\r\
    \n:log info \&quot;Enviando Backup [\$ano-\$mes-\$dia.\$identifica.backup] ...\&quot;;\r\
    \n/tool fetch address=\$host src-path=\&quot;\$ano-\$mes-\$dia.\$identifica.backup\&quot; user=\&quot;\$usuario\&quot; password=\&quot;\$senha\&quot; port=21 upload=yes mode=ftp dst-path=\&quot;\$diretorio/\$ano-\$mes-\$dia.\$identifica.backup\&quot;\
    \r\
    \n:log info \&quot;Enviando Export [\$ano-\$mes-\$dia.\$identifica.rsc] ...\&quot;;\r\
    \n/tool fetch address=\$host src-path=\&quot;\$ano-\$mes-\$dia.\$identifica.rsc\&quot; user=\&quot;\$usuario\&quot; password=\&quot;\$senha\&quot; port=21 upload=yes mode=ftp dst-path=\&quot;\$diretorio/\$ano-\$mes-\$dia.\$identifica.rsc\&quot;\r\
    \n:delay 1\r\
    \n:log info \&quot;Backup enviado com sucesso...\&quot;;\r\
    \n:log info \&quot;Removendo arquivos...\&quot;;\r\
    \n /file remove \&quot;\$ano-\$mes-\$dia.\$identifica.backup\&quot;\r\
    \n /file remove \&quot;\$ano-\$mes-\$dia.\$identifica.rsc\&quot;\r\
    \n:log info \&quot;Rotina de backup finalizada...\&quot;;\r\
    \n:log warning \&quot;***************************************\&quot;;&quot;

/system scheduler
add interval=3d name=backup_ftp on-event=backup_ftp policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive start-date=dec/17/2019 start-time=12:00:00</pre>
<p>Simples né! Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!<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/3878">Criando backup do RouterOS/Mikrotik via FTP</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/3878/feed</wfw:commentRss>
			<slash:comments>19</slash:comments>
		
		
			</item>
		<item>
		<title>Modelo simples e funcional de Firewall com iptables</title>
		<link>https://blog.remontti.com.br/2435</link>
					<comments>https://blog.remontti.com.br/2435#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Fri, 04 May 2018 21:10:53 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[bloqueio]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[portas]]></category>
		<category><![CDATA[Segurança]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=2435</guid>

					<description><![CDATA[<p>Neste tutorial vou deixar um scrip bem simples para criar seu firewall, a ideia é que ele seja funcional sem precisar ter que está alterando diversas linhas. Primeiramente precisamos saber quais os serviços (portas)&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/2435">Modelo simples e funcional de Firewall com iptables</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/2018/05/iptables-remontti-300x177.png" alt="" width="300" height="177" class="aligncenter size-medium wp-image-2451" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/05/iptables-remontti-300x177.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/05/iptables-remontti-768x454.png 768w, https://blog.remontti.com.br/wp-content/uploads/2018/05/iptables-remontti-1024x605.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/05/iptables-remontti.png 1115w" sizes="auto, (max-width: 300px) 100vw, 300px" /><br />
Neste tutorial vou deixar um scrip bem simples para criar seu firewall, a ideia é que ele seja funcional sem precisar ter que está alterando diversas linhas.</p>
<p>Primeiramente precisamos saber quais os serviços (portas) estão rodando em nosso servidor, para que possamos saber o que queremos proteger. Você pode usar o comando nmpa para fazer scanner de portas, instale ele com apt, e utilize <em>ex: nmap localhost</em>. </p>
<p>No meu exemplo vamos suporte que nosso servidor esteja com SSH e o APACHE instalado, logo temos a porta 22, e a porta 80. Agora preciso saber quem irá ter acesso a este servidor, quais IPs qual eu chamo normalmente de <em>&#8220;IPs de gerencia&#8221;</em> </p>
<p>Agora que sei que vou fechar as portas 22 e 80 e que meus IPs de gerencia são 192.168.254.0/24, 250.250.250.0/28 vamos as alterações do nosso script:</p>
<p>Defina as portas que deseja proteger separada por &#8220;<strong><font color="red">;</font></strong>&#8221;</p>
<pre class="remontti-code">PORTAS=&quot;22;80&quot;</pre>
<p>Defina os IPv4s que terão acesso separado por &#8220;<strong><font color="red">;</font></strong>&#8221;<br />
<em>É válido lembrar do IP de localhost <strong>127.0.0.1</strong>, caso contrário alguma aplicações local não ira funcionar ex.: mysql seria uma.</em></p>
<pre class="remontti-code">IP4GERENCIA=&quot;127.0.0.1;192.168.254.0/24;250.250.250.0/28&quot;</pre>
<p>Defina os IPv4s que terão acesso. (localhost <strong>::1</strong>)</p>
<pre class="remontti-code">IP6GERENCIA=&quot;::1;2001:db8:bebe:c0ca::/64&quot;</pre>
<p>Crie o arquivo do nosso script /etc/init.d/rr-firewall, irei utilizar o editor vim, mas você pode usar o seu favorito.</p>
<pre class="remontti-code"># vim /etc/init.d/rr-firewall</pre>
<pre class="remontti-code">#!/bin/bash
### BEGIN INIT INFO
# Provides:          rr-firewall
# Required-Start:    $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
### END INIT INFO

#Defina as portas que deseja proteger
PORTAS=&quot;22;80&quot;
#Defina os IPv4s que terão acesso a estas portas
IP4GERENCIA=&quot;127.0.0.1;192.168.254.0/24;250.250.250.0/28&quot;
#Defina os IPv4s que terão acesso a estas portas
IP6GERENCIA=&quot;::1;2001:db8:bebe:c0ca::/64&quot;

# Não altere as linhas abaixo
VERMELHO=&#039;\033[1;31m&#039;
VERDE=&#039;\033[1;32m&#039;
AZUL=&#039;\033[1;36m&#039;
AMARELO=&#039;\033[1;33m&#039;
ROSA=&#039;\033[1;35m&#039;
NC=&#039;\033[0m&#039;

function startFirewall(){
    /sbin/iptables -F
    /sbin/iptables -X
    /sbin/iptables -t nat -F
    /sbin/iptables -X -t nat
    /sbin/iptables -F -t mangle
    /sbin/iptables -X -t mangle
    /sbin/ip6tables -F
    /sbin/ip6tables -X
    /sbin/ip6tables -F -t mangle
    /sbin/ip6tables -X -t mangle
    /sbin/modprobe ip_conntrack_ftp
    /sbin/modprobe ip_nat_ftp
    /sbin/modprobe ipt_state
    /sbin/modprobe ipt_limit
    /sbin/modprobe ipt_MASQUERADE
    /sbin/modprobe ipt_LOG
    /sbin/modprobe iptable_nat
    /sbin/modprobe iptable_filter
    /sbin/modprobe ip_gre
    #Protege portas IPv4
    echo; echo -e &quot;[${ROSA} Regras IPv4 ${NC}]&quot;; echo
    portas=$(echo $PORTAS | tr &quot;;&quot; &quot;\n&quot;)
    for porta in $portas
    do
        ip4s=$(echo $IP4GERENCIA | tr &quot;;&quot; &quot;\n&quot;)
        for ip4 in $ip4s
        do
            /sbin/iptables -A INPUT -s $ip4 -p tcp --dport $porta -j ACCEPT
            /sbin/iptables -A INPUT -s $ip4 -p udp --dport $porta -j ACCEPT
            echo -e &quot;[${VERDE} ok ${NC}] Porta ${AMARELO}[$porta]${NC} aberta para ${AZUL}$ip4${NC}&quot;
            sleep 0.1
        done
    done
    portas=$(echo $PORTAS | tr &quot;;&quot; &quot;\n&quot;)
    for porta in $portas
    do
        /sbin/iptables -A INPUT -p tcp --dport $porta -j DROP
        echo -e &quot;[${VERDE} ok ${NC}] Porta ${VERMELHO}[$porta]${NC} fechada&quot;
        sleep 0.1
    done
    #Protege portas IPv6
    echo; echo -e &quot;[${ROSA} Regras IPv6 ${NC}]&quot;; echo

    portas=$(echo $PORTAS | tr &quot;;&quot; &quot;\n&quot;)
    for porta in $portas
    do
        ip6s=$(echo $IP6GERENCIA | tr &quot;;&quot; &quot;\n&quot;)
        for ip6 in $ip6s
        do
            /sbin/ip6tables -A INPUT -s $ip6 -p tcp --dport $porta -j ACCEPT
            /sbin/ip6tables -A INPUT -s $ip6 -p udp --dport $porta -j ACCEPT
            echo -e &quot;[${VERDE} ok ${NC}] Porta ${AMARELO}[$porta]${NC} aberta para ${AZUL}$ip6${NC}&quot;
        done
    done
    portas=$(echo $PORTAS | tr &quot;;&quot; &quot;\n&quot;)
    for porta in $portas
    do
        /sbin/ip6tables -A INPUT -p tcp --dport $porta -j DROP
        echo -e &quot;[${VERDE} ok ${NC}] Porta ${VERMELHO}[$porta]${NC} fechada&quot;
        sleep 0.1
    done
}

function stopFirewall(){
    /sbin/iptables -F
    /sbin/iptables -X
    /sbin/iptables -t nat -F
    /sbin/iptables -X -t nat
    /sbin/iptables -F -t mangle
    /sbin/iptables -X -t mangle

    /sbin/ip6tables -F
    /sbin/ip6tables -X
    /sbin/ip6tables -F -t mangle
    /sbin/ip6tables -X -t mangle

    /sbin/modprobe ip_conntrack_ftp
    /sbin/modprobe ip_nat_ftp
    /sbin/modprobe ipt_state
    /sbin/modprobe ipt_limit
    /sbin/modprobe ipt_MASQUERADE
    /sbin/modprobe ipt_LOG
    /sbin/modprobe iptable_nat
    /sbin/modprobe iptable_filter
    /sbin/modprobe ip_gre
}

case &quot;$1&quot; in
    start )
        startFirewall
        echo; echo -e &quot;[${VERDE} Firewall carregado ${NC}]&quot;; 
        echo &quot;Use: /etc/init.d/rr-firewall status&quot;
        echo &quot;para verificar as regras&quot;
        ;;

    stop )
        stopFirewall
        echo; echo -e &quot;[${VERDE} Regras de firewall removidas ${NC}]&quot;; echo
        ;;

    restart )
        stopFirewall
        sleep 1
        startFirewall
        ;;

    status )
        echo; echo -e &quot;[${VERDE} Regras IPv4 ${NC}]&quot;; echo
        /sbin/iptables -nL
        echo; echo -e &quot;[${VERDE} Regras IPv6 ${NC}]&quot;; echo
        /sbin/ip6tables -nL
        ;;

    * )
        echo &quot;Opção inválida, use rr-firewall start | stop | restart | status&quot;
        ;;
esac</pre>
<p>Por fim aplicamos as permissões necessárias.</p>
<pre class="remontti-code"># chmod a+x  /etc/init.d/rr-firewall</pre>
<p>Para executa-lo use:<br />
<strong>/etc/init.d/rr-firewall start </strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175400.png" data-rel="lightbox-gallery-ozXTCKqd" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175400-300x188.png" alt="" width="300" height="188" class="alignnone size-medium wp-image-2441" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175400-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175400-768x482.png 768w, https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175400-1024x643.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175400.png 1354w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p><strong>/etc/init.d/rr-firewall status</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175413.png" data-rel="lightbox-gallery-ozXTCKqd" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175413-300x188.png" alt="" width="300" height="188" class="alignnone size-medium wp-image-2442" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175413-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175413-768x482.png 768w, https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175413-1024x643.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175413.png 1354w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p><strong>/etc/init.d/rr-firewall stop</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175430.png" data-rel="lightbox-gallery-ozXTCKqd" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175430-300x188.png" alt="" width="300" height="188" class="alignnone size-medium wp-image-2443" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175430-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175430-768x482.png 768w, https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175430-1024x643.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175430.png 1354w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p><strong>/etc/init.d/rr-firewall restart   </strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175449.png" data-rel="lightbox-gallery-ozXTCKqd" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175449-300x188.png" alt="" width="300" height="188" class="alignnone size-medium wp-image-2444" srcset="https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175449-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175449-768x482.png 768w, https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175449-1024x643.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2018/05/Screenshot_20180504_175449.png 1354w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><br />
<em>Nos prints estou fechando a porta 3306 e 80</em></p>
<p>Pronto! Seu servidor já vai estar protegido <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>Como carregar ele na inicialização? Acesse: <a href="https://blog.remontti.com.br/2478" rel="noopener noreferrer" target="_blank"> Como usar o systemd para iniciar seu script/Aplicação no Debian</a></p>
<p>Dúvidas sugestões deixe seu comentário.</p>
<p>O post <a href="https://blog.remontti.com.br/2435">Modelo simples e funcional de Firewall com iptables</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/2435/feed</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title>Zabbix 3.0.x com notificações via Telegram</title>
		<link>https://blog.remontti.com.br/1366</link>
					<comments>https://blog.remontti.com.br/1366#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Sun, 25 Sep 2016 22:59:33 +0000</pubDate>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[alertas]]></category>
		<category><![CDATA[sms]]></category>
		<category><![CDATA[telegram]]></category>
		<category><![CDATA[zabbiz]]></category>
		<guid isPermaLink="false">http://blog.remontti.com.br/?p=1366</guid>

					<description><![CDATA[<p>Antes de começar é necessário fazer o tutorial onde explico como ter um Cliente Telegram! Agora que você já terminou o tutorial vamos lá! Primeiramente vamos deixar de dono do /opt/telegram nosso usuário zabbix.&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/1366">Zabbix 3.0.x com notificações via Telegram</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/2016/09/z-t.png" alt="z-t" width="370" height="150" class="alignnone size-full wp-image-1393" srcset="https://blog.remontti.com.br/wp-content/uploads/2016/09/z-t.png 370w, https://blog.remontti.com.br/wp-content/uploads/2016/09/z-t-300x122.png 300w" sizes="auto, (max-width: 370px) 100vw, 370px" /></p>
<p>Antes de começar é necessário fazer o tutorial onde explico como ter um <a href="https://blog.remontti.com.br/1325" target="_blank">Cliente Telegram</a>!</p>
<p>Agora que você já terminou o tutorial vamos lá!</p>
<p>Primeiramente vamos deixar de dono do /opt/telegram nosso usuário zabbix.</p>
<pre class="remontti-code"># chown zabbix. -R /opt/telegram</pre>
<p>Vamos informar nosso diretório /opt/telegram para nosso servidor zabbix.</p>
<pre class="remontti-code"># vim /etc/zabbix/zabbix_server.conf</pre>
<p>Procure por AlertScriptsPath</p>
<p>Comente:</p>
<pre class="remontti-code">#AlertScriptsPath=/usr/lib/zabbix/alertscripts</pre>
<p>Adicione:</p>
<pre class="remontti-code">AlertScriptsPath=/opt/telegram</pre>
<p>Salve o arquivo e restarte o servidor zabbix.</p>
<pre class="remontti-code"># /etc/init.d/zabbix-server restart</pre>
<p>Agora vamos a interface web do Zabbix:</p>
<p>Menu:<br />
Administração -> Tipos de mídia<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_153600.png" data-rel="lightbox-gallery-fw72H3Bl" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_153600-300x187.png" alt="screenshot_20160925_153600" width="300" height="187" class="alignnone size-medium wp-image-1369" srcset="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_153600-300x187.png 300w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_153600-768x480.png 768w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_153600-1024x640.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_153600.png 1183w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Na lateral direita, clique no botão [Criar tipo de mídia] e preencha conforme a imagem.<br />
Nome: Telegram<br />
Tipo: Script<br />
Nome script: telegram-cmd<br />
Parâmetros do script (Adicione 2)<br />
{ALERT.SENDTO}<br />
{ALERT.SUBJECT}<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_193910.png" data-rel="lightbox-gallery-fw72H3Bl" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_193910-300x129.png" alt="screenshot_20160925_193910" width="300" height="129" class="alignnone size-medium wp-image-1385" srcset="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_193910-300x129.png 300w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_193910-768x330.png 768w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_193910.png 966w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Menu:<br />
Administração -> Usuários<br />
Edite um de seus usuários (no meu caso sera o Admin) e clique na aba Mídia<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_165133.png" data-rel="lightbox-gallery-fw72H3Bl" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_165133-300x187.png" alt="screenshot_20160925_165133" width="300" height="187" class="alignnone size-medium wp-image-1371" srcset="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_165133-300x187.png 300w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_165133-768x478.png 768w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_165133-1024x637.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_165133.png 1183w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Clique em Adicionar, uma nova janela se abrirá conforme imagem a baixo:<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_165238.png" data-rel="lightbox-gallery-fw72H3Bl" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_165238-300x126.png" alt="screenshot_20160925_165238" width="300" height="126" class="alignnone size-medium wp-image-1372" srcset="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_165238-300x126.png 300w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_165238-768x323.png 768w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_165238-1024x431.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_165238.png 1052w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><br />
Tipo: Telgram<br />
Enviar para: user#201149282 OU chat#123456789<br />
Escolha quando ele estará funcionando: 1-7,00:00-24:00 (Sempre)<br />
Maquer as classificações de alertas que queira receber e e marque p box Ativo.</p>
<p>Agora Atualize seu usuário<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_165650.png" data-rel="lightbox-gallery-fw72H3Bl" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_165650-300x187.png" alt="screenshot_20160925_165650" width="300" height="187" class="alignnone size-medium wp-image-1374" srcset="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_165650-300x187.png 300w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_165650-768x480.png 768w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_165650-1024x640.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_165650.png 1183w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Menu:<br />
Configurações -> Ações<br />
Clique no botão do lado direito Criar ação<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_195040.png" data-rel="lightbox-gallery-fw72H3Bl" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_195040-300x152.png" alt="screenshot_20160925_195040" width="300" height="152" class="alignnone size-medium wp-image-1388" srcset="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_195040-300x152.png 300w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_195040-768x389.png 768w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_195040.png 950w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><br />
Nome: Relatar um problema<br />
Assunto padrão: </p>
<pre class="remontti-code">[{TRIGGER.STATUS}] • {HOST.NAME} • {TRIGGER.NAME} = {ITEM.NAME1} {ITEM.VALUE1}</pre>
<p>Mensagem padrão: </p>
<pre class="remontti-code">
Trigger: {TRIGGER.NAME}
Status: {TRIGGER.STATUS}
Severidade: {TRIGGER.SEVERITY}

Item values:
1. {ITEM.NAME1} ({HOST.NAME1}:{ITEM.KEY1}): {ITEM.VALUE1}

ID: {EVENT.ID}</pre>
<p>Agora na aba Condições vamos adicionar também a condição de OK, assim receberemos uma alerta de quando o problema foi resolvido.<br />
Para isso va em:<br />
Nova condição e selecione Valor da trigger = OK e clique em Adiconar<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170330.png" data-rel="lightbox-gallery-fw72H3Bl" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170330-300x187.png" alt="screenshot_20160925_170330" width="300" height="187" class="alignnone size-medium wp-image-1376" srcset="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170330-300x187.png 300w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170330-768x479.png 768w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170330-1024x639.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170330.png 1183w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170335.png" data-rel="lightbox-gallery-fw72H3Bl" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170335-300x187.png" alt="screenshot_20160925_170335" width="300" height="187" class="alignnone size-medium wp-image-1377" srcset="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170335-300x187.png 300w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170335-768x479.png 768w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170335-1024x639.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170335.png 1183w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Agora na aba Operações vamos criar uma nova Operações da ação<br />
Clique em nova:<br />
Em -> Enviar para usuários: Adicione o usuário que você c configurou a mídia.<br />
Em -> Enviar apenas para: Selecione Telegram<br />
Agora clique no botão Adicionar (O botão texto. o Adicionar da Operações)<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170809.png" data-rel="lightbox-gallery-fw72H3Bl" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170809-300x187.png" alt="screenshot_20160925_170809" width="300" height="187" class="alignnone size-medium wp-image-1379" srcset="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170809-300x187.png 300w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170809-768x479.png 768w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170809-1024x639.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170809.png 1183w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170824.png" data-rel="lightbox-gallery-fw72H3Bl" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170824-300x187.png" alt="screenshot_20160925_170824" width="300" height="187" class="alignnone size-medium wp-image-1380" srcset="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170824-300x187.png 300w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170824-768x478.png 768w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170824-1024x638.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170824.png 1183w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Agora sim clique no botão Adicionar </p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170915.png" data-rel="lightbox-gallery-fw72H3Bl" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170915-300x188.png" alt="screenshot_20160925_170915" width="300" height="188" class="alignnone size-medium wp-image-1381" srcset="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170915-300x188.png 300w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170915-768x480.png 768w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170915-1024x641.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_170915.png 1183w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Pronto! Agora para testar você pode criar um host, um IP da sua rede e depois alterar para algum endereço IP que não responda.</p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_195547.png" data-rel="lightbox-gallery-fw72H3Bl" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_195547-167x300.png" alt="screenshot_20160925_195547" width="167" height="300" class="alignnone size-medium wp-image-1391" srcset="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_195547-167x300.png 167w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_195547.png 400w" sizes="auto, (max-width: 167px) 100vw, 167px" /></a></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 <a href="http://blog.remontti.net.br/meucontato">Contato</a> lá você encontra meios de falar comigo!</p>
<p>Valeu! <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>O post <a href="https://blog.remontti.com.br/1366">Zabbix 3.0.x com notificações via Telegram</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/1366/feed</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>Cliente Telegram no seu terminal bash &#8211; Debian 8/9</title>
		<link>https://blog.remontti.com.br/1325</link>
					<comments>https://blog.remontti.com.br/1325#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Sun, 25 Sep 2016 03:02:26 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[cliente]]></category>
		<category><![CDATA[linha de comando]]></category>
		<category><![CDATA[telegram]]></category>
		<guid isPermaLink="false">http://blog.remontti.com.br/?p=1325</guid>

					<description><![CDATA[<p>Projeto: https://github.com/vysheng/tg Distribuição testadas: Debian 8&#038; 9 / Instalação Limpa (Tutorial de instalação aqui) Instalando pacotes necessários # apt install git libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make build-essential zlib1g-dev # cd&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/1325">Cliente Telegram no seu terminal bash &#8211; Debian 8/9</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Projeto: <a href="https://github.com/vysheng/tg" target="_blank" rel="noopener">https://github.com/vysheng/tg</a></p>
<p>Distribuição testadas: Debian 8&#038; 9 / Instalação Limpa <a href="https://blog.remontti.com.br/1152" target="_blank" rel="noopener">(Tutorial de instalação aqui)</a></p>
<p>Instalando pacotes necessários </p>
<pre class="remontti-code">
# apt install git libreadline-dev libconfig-dev libssl-dev lua5.2 liblua5.2-dev libevent-dev libjansson-dev libpython-dev make build-essential zlib1g-dev
# cd /tmp/
# git clone --recursive https://github.com/vysheng/tg.git 
# cd tg
</pre>
<p>Agora vamos compila-lo:</p>
<p><font color="blue"><strong>Debian 8</strong></font></p>
<pre class="remontti-code">
# ./configure
# make
</pre>
<p><font color="blue"><strong>Debian 9</strong></font> precisei desativar o openssl:</p>
<pre class="remontti-code"># apt install libcrypto++-dev libgcrypt11-dev
# ./configure --disable-openssl
# make</pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160924_215935.png" data-rel="lightbox-gallery-TFqZfcrg" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160924_215935-150x150.png" alt="screenshot_20160924_215935" width="150" height="150" class="alignnone size-thumbnail wp-image-1326" srcset="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160924_215935-150x150.png 150w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160924_215935-160x160.png 160w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160924_215935-320x320.png 320w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160924_220232.png" data-rel="lightbox-gallery-TFqZfcrg" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160924_220232-150x150.png" alt="screenshot_20160924_220232" width="150" height="150" class="alignnone size-thumbnail wp-image-1327" srcset="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160924_220232-150x150.png 150w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160924_220232-160x160.png 160w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160924_220232-320x320.png 320w" sizes="auto, (max-width: 150px) 100vw, 150px" /></a></p>
<pre class="remontti-code">
# mkdir /opt/telegram
# cp bin/telegram-cli /opt/telegram/
# cp tg-server.pub /opt/telegram/
# cd /opt/telegram/
</pre>
<p>Crie o arquivo telegram.config, utilizarei o editor vim, utilize o de sua preferência.</p>
<pre class="remontti-code">
# vim telegram.config 
</pre>
<p>Adicione as seguintes linhas:</p>
<pre class="remontti-code">
default_profile = &quot;rrprofile&quot;;

rrprofile = {
    config_directory = &quot;/opt/telegram/&quot;;
    #test = false;
    #msg_num = true;
    #binlog_enabled = true;
    log_level = 2;
};
</pre>
<p>Vamos inicia-lo! Para isso digite o seguinte comando:</p>
<pre class="remontti-code">
# ./telegram-cli --rsa-key tg-server.pub --config telegram.config
</pre>
<pre class="remontti-code">
change_user_group: can&#039;t find the user telegramd to switch to
Telegram-cli version 1.4.1, Copyright (C) 2013-2015 Vitaly Valtman
Telegram-cli comes with ABSOLUTELY NO WARRANTY; for details type `show_license&#039;.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show_license&#039; for details.
Telegram-cli uses libtgl version 2.1.0
Telegram-cli includes software developed by the OpenSSL Project
for use in the OpenSSL Toolkit. (http://www.openssl.org/)
[/opt/telegram//downloads] created
phone number: +555599999999 &lt;strong&gt;(Infome seu nº celular)&lt;/strong&gt;
code (&#039;CALL&#039; for phone code): 12345 &lt;strong&gt;(Código via SMS)&lt;/strong&gt;
password: &lt;strong&gt;(Se sua conto tiver senha)&lt;/strong&gt;
&gt;
</pre>
<p>Agora o telegram-cli está configurado para utilizar a sua conta.</p>
<p>O comando contact_list irá exibir seus contatos e o dialog_list suas conversas. Execute user_info seguido do nome do contato conforme está na sua agenda, se quiser enviar para um grupo, execute chat_info seguido do nome do grupo. Observe que a tecla TAB pode ser utilizada para autocompletar as palavras.<br />
Nota: nos nomes de contatos e grupos, espaços são transformados em underscore (_), cerquilhas (#) em arrobas (@) e contatos com mesmo nome tem um #1 acrescentado ao nome.</p>
<pre class="remontti-code">   
&gt; contact_list 
Nome Contato1
Nome Contato2
Nome Contato3
Nome Contato4
&gt; user_info Rudimar_Remontti 
User Rudimar Remontti @remontti (#123456789):
        phone: 555599999999
        offline (was online [2016/09/24 22:14:23])
&gt;
&gt; chat_info Tutorial 
Chat Tutorial updated members
Chat Tutorial (id 987654321) members:
                Fulano de tal invited by Rudimar Remontti at [2016/09/24 22:22:03]
                Rudimar Remontti invited by user#0 at [1969/12/31 21:00:00]
&gt;
&gt; msg Rudimar_Remontti Teste
 [23:29]  Rudimar Remontti &lt;&lt;&lt; Teste
&gt; msg Rudimar_Remontti Mensagem via terminal ;) 
 [23:29]  Rudimar Remontti &lt;&lt;&lt; Mensagem via terminal ;)
&gt; 
&gt; quit
</pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160924_234513.png" data-rel="lightbox-gallery-TFqZfcrg" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160924_234513.png" alt="screenshot_20160924_234513" width="699" height="330" class="alignnone size-full wp-image-1328" srcset="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160924_234513.png 699w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160924_234513-300x142.png 300w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160924_234513-520x245.png 520w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160924_234513-720x340.png 720w" sizes="auto, (max-width: 699px) 100vw, 699px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160924_234841.png" data-rel="lightbox-gallery-TFqZfcrg" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160924_234841-282x300.png" alt="screenshot_20160924_234841" width="282" height="300" class="alignnone size-medium wp-image-1329" srcset="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160924_234841-282x300.png 282w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160924_234841.png 401w" sizes="auto, (max-width: 282px) 100vw, 282px" /></a></p>
<p>Em <a href="https://github.com/vysheng/tg/blob/master/README.md" target="_blank" rel="noopener">https://github.com/vysheng/tg</a> você encontra uma lista com todos os comandos.</p>
<p>Vamos criar um arquivo chamado de <strong>telegram-on</strong> para entrarmos automaticamente na nossa qual já está autorizada. </p>
<pre class="remontti-code"># vim /opt/telegram/telegram-on</pre>
<p>Adicione:</p>
<pre class="remontti-code">
#!/bin/bash
/opt/telegram/telegram-cli --rsa-key /opt/telegram/tg-server.pub --config /opt/telegram/telegram.config
</pre>
<p>Alteramos as permissões do arquivo para podermos executar, e criamos uma atalho em /usr/bin/ para podermos rodar o comando a partir de qualquer diretório. </p>
<pre class="remontti-code"># chmod +x /opt/telegram/telegram-on
# ln -s /opt/telegram/telegram-on /usr/bin/telegram-on</pre>
<p>Agora basta dar o comando # telegram-on</p>
<p>Com base no que vimos podemos &#8220;ter ideias&#8221; exemplo um script para enviar alguns alertas do nosso servidor, utilizo algo assim com o Zabbix.<br />
Vamos ao script.</p>
<p>Crie o arquivo /opt/telegram/telegram-cmd</p>
<pre class="remontti-code"># vim /opt/telegram/telegram-cmd</pre>
<p>Adicione:</p>
<pre class="remontti-code">
#!/bin/bash

MAIN_DIRECTORY=&quot;/opt/telegram/&quot;
# Utilize: user#user_id ou chat#chat_id
# ./telegram-cmd user#123456789 &quot;Minha mensagem&quot;
# ./telegram-cmd chat#987654321 &quot;Minha mensagem&quot;

USER=$1
SUBJECT=$2
TEXT=$3

cd $MAIN_DIRECTORY
if [[ $? -ne 0 ]]; then
        echo &quot;Erro! Diretorio nao encontrado.&quot;
        exit 1
fi

$MAIN_DIRECTORY/telegram-cli -k $MAIN_DIRECTORY/tg-server.pub -c $MAIN_DIRECTORY/telegram.config -WR -U rrprofile -e &quot;msg $USER $SUBJECT&quot; || exit 1

exit 0
</pre>
<p>Alteramos as permissão para execução, e vamos também criar um atalho em /usr/bin/ para executar o comando de qualquer diretório.</p>
<pre class="remontti-code"># chmod +x /opt/telegram/telegram-cmd
# ln -s /opt/telegram/telegram-cmd /usr/bin/telegram-cmd</pre>
<p>Perceba que quando damos o comando user_info ou chat_info é exibido um código de usuário ou de grupo, nestes casos será esse &#8220;ID&#8221; que utilizaremos para escolher nosso destinatário.</p>
<pre class="remontti-code">
&gt; user_info Rudimar_Remontti 
User Rudimar Remontti @remontti (#&lt;strong&gt;123456789&lt;/strong&gt;):
        phone: 555599999999
        offline (was online [2016/09/24 22:14:23])
&gt;
&gt; chat_info Tutorial 
Chat Tutorial updated members
Chat Tutorial (id &lt;strong&gt;987654321&lt;/strong&gt;) members:
                Fulano de tal invited by Rudimar Remontti at [2016/09/24 22:22:03]
                Rudimar Remontti invited by user#0 at [1969/12/31 21:00:00]
&gt;
</pre>
<p>Agora que sabemos os ID de user ou chat vamos aos teste: </p>
<pre class="remontti-code"># telegram-cmd user#123456789 &quot;Minha mensagem&quot;
# telegram-cmd chat#987654321 &quot;Minha mensagem&quot;</pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_150502.png" data-rel="lightbox-gallery-TFqZfcrg" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_150502.png" alt="screenshot_20160925_150502" width="663" height="217" class="alignnone size-full wp-image-1350" srcset="https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_150502.png 663w, https://blog.remontti.com.br/wp-content/uploads/2016/09/Screenshot_20160925_150502-300x98.png 300w" sizes="auto, (max-width: 663px) 100vw, 663px" /></a></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 <a href="http://blog.remontti.net.br/meucontato">Contato</a> lá você encontra meios de falar comigo!</p>
<p>Abraço!    </p>
<p>O post <a href="https://blog.remontti.com.br/1325">Cliente Telegram no seu terminal bash &#8211; Debian 8/9</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/1325/feed</wfw:commentRss>
			<slash:comments>18</slash:comments>
		
		
			</item>
		<item>
		<title>Aumentando o nível de seguraça na conexão SSH</title>
		<link>https://blog.remontti.com.br/97</link>
					<comments>https://blog.remontti.com.br/97#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Wed, 01 Jun 2016 05:10:46 +0000</pubDate>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[debian buster]]></category>
		<category><![CDATA[Fail2ban]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[sshd]]></category>
		<guid isPermaLink="false">http://www.remontti.com.br/blog/?p=97</guid>

					<description><![CDATA[<p>Distribuição testada: Debian 10 Buster Requisitos SSH intalado # apt install ssh Primeiramente vamos mudar a porta do SSH  de preferencia para uma porta bem alta (são mais difíceis serem escaneadas) e após definir&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/97">Aumentando o nível de seguraça na conexão SSH</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Distribuição testada: Debian 10 Buster</p>
<p>Requisitos SSH intalado</p>
<pre class="remontti-code"># apt install ssh</pre>
<p>Primeiramente vamos mudar a porta do SSH  de preferencia para uma porta bem alta (são mais difíceis serem escaneadas) e após definir apenas um único usuário para conexão<br />
<span id="more-97"></span></p>
<pre class="remontti-code"># vim /etc/ssh/sshd_config</pre>
<p>Aletere as seguintes linhas:</p>
<pre class="remontti-code"># Aqui vai da porta
Port 60321 
# Tempo que o usuario tem para fazer login
LoginGraceTime 10 
# Não permita que o usuário root se conecte
PermitRootLogin prohibit-password 
</pre>
<p>Adicione a linha:</p>
<pre class="remontti-code"># Apenas este usuário chamado &quot;seu_usuario&quot; irá conseguir 
# conectar-se via ssh por mais que exita outros usuários que 
# teriam permissões de acessa o bash.
AllowUsers seu_usuario </pre>
<p>Salve e reinicie o serviço:</p>
<pre class="remontti-code"># /etc/init.d/ssh restart</pre>
<p>Pronto!</p>
<pre class="remontti-code"># ssh usuariodossh@seuip -p 60321</pre>
<p>Agora sua porta de conexão SSH é a 60321, e só loga pleo &#8220;seu_usuario&#8221; terminou? Não!!!</p>
<p>Que tal enganar um pouco! <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 />
Vamos criar uma regra de firewall com iptables, caso você já tenha um script de firewall adicione a ele. A regra será um DROP na porta 22 assim vai dar uma falsa impressão que sua porta está protegia quando alguém usar algum scanner, vai passar aquele impressão: <em>&#8220;- iii tem firewall na 22, vamos procurar outro&#8230;.&#8221;</em></p>
<p>Drop falso na porta 22</p>
<pre class="remontti-code"># iptables -A INPUT -p tcp --dport 22 -j DROP</pre>
<p>Se desejar filtrar sua porta de SSH (60321) e deixar apenas IP X ou Y conectarem-se, no meu exemplo deixo apenas os IP 200.1.2.3 e toda a classe 10.0.0.0-10.0.0.255.</p>
<pre class="remontti-code"># iptables -A INPUT -s 200.1.2.3 -p tcp --dport 60321 -j ACCEPT # IP Especifico 
# iptables -A INPUT -s 10.0.0.0/24 -p tcp --dport 60321 -j ACCEPT # Uma Classe
# ip6tables -A INPUT -s 3001:1234::/32 -p tcp --dport 60321 -j ACCEPT # Uma Classe v6
# iptables -A INPUT -p tcp --dport 60321 -j DROP
# ip6tables -A INPUT -p tcp --dport 60321 -j DROP v6</pre>
<p>Como dito no momento que seu servidor for scanear seu servidor a porta 22 ira aparecer como filtrada.<br />
Para verificar os filtros </p>
<pre class="remontti-code">iptables -nL
ip6tables -nL</pre>
<p>Mas você ira precisar criar um script e colocar ele para iniciarlizar, e é por isso q eu recomendo você usar o nftables o nftables em vez do iptables, já que provavelmente vamos ver ele próximas distribuições no lugar do iptables. (Mas quis explicar o iptables também) </p>
<pre class="remontti-code"># apt install nftables
# systemctl enable nftables
# nft list ruleset
# vim /etc/nftables.conf </pre>
<pre class="remontti-code">#!/usr/sbin/nft -f
  
flush ruleset

table inet filter {
        chain input {
                type filter hook input priority 0;
                ip saddr 200.1.2.3 tcp dport 60123 counter accept
                ip saddr 10.0.0.0/24 tcp dport 60123 counter accept
                ip6 saddr 3001:1234::/32 tcp dport 60123 counter accept
                tcp dport 60123 counter drop
                tcp dport 22 counter drop
        }
        chain forward {
                type filter hook forward priority 0;
        }
        chain output {
                type filter hook output priority 0;
        }
}</pre>
<p>Reinicie o serviço, verifique as regras</p>
<pre class="remontti-code"># systemctl restart nftables
# nft list ruleset</pre>
<p>Instale o nmpa e faça um scanner</p>
<pre class="remontti-code"># apt install nmap
# nmap localhost</pre>
<p>Resultado:</p>
<pre class="remontti-code">Not shown: 1674 closed ports
PORT STATE SERVICE
22/tcp filtered ssh</pre>
<p>Assim já estou &#8220;protegido&#8221;! Legal!!!<br />
Suficiente? Eu sou mais paranoico, então se desejar prossiga <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 />
O que vamos fazer, é meio que redundante como que fizemos no firewall, porém se por alguma &#8220;zica&#8221; seu firewall não tiver rodando/ou foi quebrado o próximo passo vai salvar! Vamos configurar nos hosts para bloquear o serviço SSH e liberar apenas para seu IP ou classe.</p>
<pre class="remontti-code"># vim /etc/hosts.allow</pre>
<p>Adicione:</p>
<pre class="remontti-code">sshd: 200.1.2.3 # Ip Especifico
sshd: 10.0.0.0/24 # Uma Classe de IP</pre>
<pre class="remontti-code"># vim /etc/hosts.deny</pre>
<p>Adicione:</p>
<pre class="remontti-code">sshd: ALL</pre>
<p>Agora sim né! Humm.. Sei não que tal instalar o <strong><a href="http://www.fail2ban.org/">fail2ban</a></strong>?</p>
<pre class="remontti-code"> # apt install fail2ban</pre>
<p>Por padrão o modulo de proteção do SSH vem ativo (true) no Debian, no parâmetro <strong>maxretry</strong> você define o número de tentativas que poderá errar a senha para conexão a partir de um determinado IP.</p>
<p>Para alterar as configurações do fail2ban edite o arquivo <strong>/etc/fail2ban/jail.conf</strong></p>
<pre class="remontti-code">vim /etc/fail2ban/jail.conf</pre>
<p>Por padrão os tempos de banimento é de 10m e numero de tentativas é 5</p>
<pre class="remontti-code">bantime = 10m # Duração para um IP ficar banido
findtime = 10m # Se nenhuma correspondência nos logs é encontrada dentro de X tempo
maxretry = 5 # Tentativas ate o banimento</pre>
<p>Adicione também a porta 60123 já que alteramos a mesma</p>
<pre class="remontti-code">[sshd]
# To use more aggressive sshd modes set filter parameter &quot;mode&quot; in jail.local:
# normal (default), ddos, extra or aggressive (combines all).
# See &quot;tests/files/logs/sshd&quot; or &quot;filter.d/sshd.conf&quot; for usage example and details.
#mode   = normal
port    = ssh,60123
logpath = %(sshd_log)s
backend = %(sshd_backend)s
</pre>
<p>O filtro fica ativo em /etc/fail2ban/jail.d/defaults-debian.conf, você pode incluir maxretry so para ele bem como bantime, personalizando somente o filtro SSH. Ex.:</p>
<pre class="remontti-code"># vim /etc/fail2ban/jail.d/defaults-debian.conf</pre>
<pre class="remontti-code">[sshd]
enabled = true
maxretry = 2
bantime  = 12h</pre>
<p>Estamos 100% seguro? Nada é 100% seguro, mas certamente você levou seu nível de segurança a um nível &#8220;hard core&#8221;!</p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento! (Esse deu trabalho!)</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>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>Abraço!</p>
<p>O post <a href="https://blog.remontti.com.br/97">Aumentando o nível de seguraça na conexão SSH</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/97/feed</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title>Proteja diretórios do  Apache 2.4 com Senha &#038; Restrinja o acesso por IP</title>
		<link>https://blog.remontti.com.br/121</link>
					<comments>https://blog.remontti.com.br/121#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Thu, 01 Jan 2015 14:00:42 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[diretório]]></category>
		<guid isPermaLink="false">http://www.remontti.com.br/blog/?p=121</guid>

					<description><![CDATA[<p>Vamos aprender como adicionando senha à um diretório com Apache 2.4, e também restringi-lo à um endereço IP. Primeiramente vamos gerar nosso arquivo de senha. htpasswd -c arquivo usuário (-c criar arquivo) Vamos supor&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/121">Proteja diretórios do  Apache 2.4 com Senha &#038; Restrinja o acesso por IP</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Vamos aprender como adicionando senha à um diretório com Apache 2.4, e também restringi-lo à um endereço IP.</p>
<p><a href="http://www.remontti.com.br/blog/wp-content/uploads/2009/04/apachelogin.png" data-rel="lightbox-gallery-QfJumGzu" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" class="size-medium wp-image-1008 alignnone" src="https://www.remontti.com.br/blog/wp-content/uploads/2009/04/apachelogin-300x236.png" alt="apachelogin" width="300" height="236" srcset="https://blog.remontti.com.br/wp-content/uploads/2009/04/apachelogin-300x236.png 300w, https://blog.remontti.com.br/wp-content/uploads/2009/04/apachelogin.png 361w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Primeiramente vamos gerar nosso arquivo de senha.<br />
htpasswd -c arquivo usuário (<strong>-c</strong> criar arquivo)<br />
Vamos supor que queira proteger o diretório <strong>/var/www/html</strong>, e restringir ainda o acesso apenas ao IPs 192.168.0.0/24 e 2001:db8::/32<br />
<span id="more-121"></span></p>
<pre class="remontti-code"># htpasswd -c /var/www/html/.htpasswd admin</pre>
<p>Digite sua senha para o usuário admin</p>
<p>Agora existe duas maneiras, uma é criando um <strong>.htaccess</strong> ou editando seu /etc/apache2/sites-enabled/xxxxxxx.conf</p>
<p>Com <strong>.htaccess</strong></p>
<pre class="remontti-code"># vim /var/www/html/.htaccess</pre>
<p>Adicione</p>
<pre class="remontti-code">&lt;RequireAll&gt;
    &lt;RequireAny&gt;
        Require ip 192.168.0.0/24
        Require ip 2001:db8::/32
    &lt;/RequireAny&gt;
    &lt;RequireAll&gt;
        Require valid-user
        AuthBasicProvider file
        AuthType Basic
        AuthName &quot;Login&quot;
        AuthUserFile /var/www/html/.htpasswd
    &lt;/RequireAll&gt;
&lt;/RequireAll&gt;</pre>
<p>Ou no arquivo de configuração do seu apache</p>
<pre class="remontti-code"># vim /etc/apache2/sites-enabled/minha-conf-manual.conf </pre>
<pre class="remontti-code">&lt;VirtualHost *:80&gt;
   ServerAdmin webmaster@remontti.com.br
   DocumentRoot /var/www/html

   # Caso a pessoa que tiver acessando não tiver
   # permissões será redirecionada para uma pagina
   ErrorDocument 403 http://www.remontti.com.br

   &lt;Directory /var/www/html/&gt;
      Options FollowSymLinks
      AllowOverride All

      Require all denied
      &lt;RequireAll&gt;
         &lt;RequireAny&gt;
            Require ip 192.168.0.0/24
            Require ip 2001:db8::/32
         &lt;/RequireAny&gt;
         &lt;RequireAll&gt;
            Require valid-user
            AuthBasicProvider file
            AuthType Basic
            AuthName &quot;Login&quot;
            AuthUserFile /var/www/html/.htpasswd
         &lt;/RequireAll&gt;
      &lt;/RequireAll&gt;

   &lt;/Directory&gt;


ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
&lt;/VirtualHost&gt;

</pre>
<p>Por segurança recomendo remover a assinatura do servidor, evitando os &#8220;espertinhos&#8221;</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>
<pre class="remontti-code"># /etc/init.d/apache2 restart</pre>
<p>Agora ao acessar http://ip-server/ deverá aparecer uma tela de login, se você não estiver também com os usando os IPs permitidos, você vai receber uma pagina de Proibido ou se você configurou  ErrorDocument 403 será redirecionado para página que &#8220;remontti.com.br&#8221; como no exemplo.</p>
<p>Gostou?</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>FONTE: <a href="https://httpd.apache.org/docs/2.4/howto/auth.html" rel="noopener noreferrer" target="_blank">https://httpd.apache.org/docs/2.4/howto/auth.html</a></p>
<p>O post <a href="https://blog.remontti.com.br/121">Proteja diretórios do  Apache 2.4 com Senha &#038; Restrinja o acesso 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/121/feed</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title>Dica: Rodando VM do virtualbox em background</title>
		<link>https://blog.remontti.com.br/836</link>
					<comments>https://blog.remontti.com.br/836#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Wed, 04 Jul 2012 12:46:19 +0000</pubDate>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Windows]]></category>
		<guid isPermaLink="false">http://www.remontti.com.br/blog/?p=836</guid>

					<description><![CDATA[<p>Dica simples e muito útil de como rodar uma VM do virtualbox em background! Linux: * crie o script com o código a baixo e basta executar #!/bin/bash /PATH_DO_VIRTUALBOX/VBoxHeadless -s NOME_DE_SUA_VM &#38; Windows: *&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/836">Dica: Rodando VM do virtualbox em background</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>Dica simples e muito útil de como rodar uma VM do virtualbox em background!</strong></p>
<p><span style="color: #800000;"><strong>Linux:</strong></span><br />
<em>* crie o script com o código a baixo e basta executar</em><br />
<code><br />
#!/bin/bash<br />
/PATH_DO_VIRTUALBOX/VBoxHeadless -s NOME_DE_SUA_VM &amp;<br />
</code><br />
<span style="color: #800000;"><strong>Windows:</strong></span><br />
<em>*  Crie um arquivo de texto com o conteúdo abaixo e salve como nomeQualquer.vbs</em><br />
<code><br />
Set WshShell = WScript.CreateObject("WScript.Shell")<br />
obj = WshShell.Run(chr(34) &amp; "%ProgramFiles%\Oracle\VirtualBox\VBoxHeadless.exe" &amp; chr(34) &amp; " -s NOME_DE_SUA_VM", 0,false)<br />
set WshShell = Nothing<br />
</code><br />
&nbsp;</p>
<p>O post <a href="https://blog.remontti.com.br/836">Dica: Rodando VM do virtualbox em background</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/836/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Msn-Proxy &#8211; Interface web lenta (Deprecated)</title>
		<link>https://blog.remontti.com.br/528</link>
					<comments>https://blog.remontti.com.br/528#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Tue, 01 Dec 2009 13:15:06 +0000</pubDate>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[controle]]></category>
		<category><![CDATA[lento]]></category>
		<category><![CDATA[messenger]]></category>
		<category><![CDATA[msn]]></category>
		<category><![CDATA[msn-proxy]]></category>
		<category><![CDATA[proxy]]></category>
		<guid isPermaLink="false">http://www.remontti.com.br/blog/?p=528</guid>

					<description><![CDATA[<p>O motivo pela lentidão é que o arquivo view.php fica fazendo loop de pesquisa no mysql, até encontrar o fechamento da janela, onde o loop para. O problema é que eventualmente quando você vai&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/528">Msn-Proxy &#8211; Interface web lenta (Deprecated)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>O motivo pela lentidão é que o arquivo view.php fica fazendo loop de pesquisa no mysql, até encontrar o fechamento da janela, onde o loop para. O problema é que eventualmente quando você vai consultar as conversas de alguém com a janela ainda aberta, para tudo de funcionar até que a pessoa feche a janela ou a sessão do browser expire, e o loop do php pare de rodar.</p>
<p>O patch abaixo adiciona uma pesquisa contando os registros antes do loop, e altera o loop para não ser inifinito, e sim até o número de registros efetivamente encontrado no banco.</p>
<p>Patch contra a versão 0.7:<br />
<span id="more-528"></span><br />
<span style="color: #ff9900;"># cd /var/www/msn-proxy/</span></p>
<p><span style="color: #ff9900;"># vim view.patch</span></p>
<p>Adicione o seguinte em seu arquivo:</p>
<pre class="remontti-code">
--- view.php	2009-02-05 16:37:40.000000000 -0200
+++ view.php	2009-11-24 09:58:43.000000000 -0200
@@ -40,7 +40,13 @@
 &lt;?php
     $date = &quot;&quot;;;
     $eof = 0;
-    while(1) {
+    $loop = 0;
+    $sqlcount = &quot;SELECT COUNT(*) AS count FROM log WHERE sb_id = &#039;&quot;.$_REQUEST[&#039;sb_id&#039;].&quot;&#039; &quot;;
+    $result = mysql_query($sqlcount);
+    while ($row = mysql_fetch_array($result))
+        $count = $row[&quot;count&quot;];
+
+    while($loop &lt;= $count ) {
 
 	$sql  = &quot;SELECT * from log WHERE sb_id = &#039;&quot;.$_REQUEST[&#039;sb_id&#039;].&quot;&#039; &quot;;
 	if ($date) {
@@ -80,9 +86,8 @@
 	    if ($eof == 1)
 		break;
 	}
-	if ($eof == 1)
-	    break;
-	sleep(1);
+	if ($eof == 1) break;
+	$loop = $loop + 1;
     }
     mysql_close($mysql);
 ?&gt;

</pre>
<p><span style="color: #ff9900;"># patch -p0 &lt; view.patch</span><br />
<span style="color: #808080;"><em>patching file view.php</em></span></p>
<address>Fonte:  http://sourceforge.net/projects/msn-proxy/</address>
<p>O post <a href="https://blog.remontti.com.br/528">Msn-Proxy &#8211; Interface web lenta (Deprecated)</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/528/feed</wfw:commentRss>
			<slash:comments>27</slash:comments>
		
		
			</item>
		<item>
		<title>Script PHP &#038; MySQL Monitorando status de serviços</title>
		<link>https://blog.remontti.com.br/501</link>
					<comments>https://blog.remontti.com.br/501#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Fri, 30 Oct 2009 17:55:23 +0000</pubDate>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<guid isPermaLink="false">http://www.remontti.com.br/blog/?p=501</guid>

					<description><![CDATA[<p>Ai vai uma dica para quem quiser monitorar os serviços de seu servidor, ou então ate mesmo para saber se o servidor esta on ou off, use a criatividade, não investi neste script em&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/501">Script PHP &#038; MySQL Monitorando status de serviços</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Ai vai uma dica para quem quiser monitorar os serviços de seu servidor, ou então ate mesmo para saber se o servidor esta on ou off, use a criatividade, não investi neste script em layout, nem mesmo coloquei ele em uma tabela. A criatividade é por sua conta. Particularmente eu uso estre script em um sistema, interno da empresa, que se por ventura um dos servidores parar envio um sms para meu celular, bom como já mencionei&#8230; “use da sua criatividade”.</p>
<p>Primeiramente vamos criar nosso banco de dados para ficar algo mais interessante, e inserir alguns valores, depois vc pode criar um painel para administrar essas informação, ou usar o phpmyadmin para ejetar valores. <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>
<pre class="remontti-code">
CREATE TABLE IF NOT EXISTS StatusPortas (
id int(10) NOT NULL auto_increment,
servico varchar(255) default NULL,
ip varchar(25) default NULL,
porta int(7) default NULL,
PRIMARY KEY  (id)
);

INSERT INTO StatusPortas (servico, ip, porta) VALUES
(&#039;Apache&#039;, &#039;remontti.com.br&#039;, &#039;80&#039;),
(&#039;FTP&#039;, &#039;remontti.com.br&#039;, &#039;21&#039;),
(&#039;Apache&#039;, &#039;remontti.com.br&#039;, &#039;80&#039;);

</pre>
<p><span id="more-501"></span></p>
<p>Agora crie um arquivo com o seguite:</p>
<pre class="remontti-code">
&lt;html&gt;
&lt;head&gt;
&lt;META HTTP-EQUIV=&quot;Refresh&quot; CONTENT=&quot;600&quot;&gt; &lt;!-- 600=5min --&gt;
&lt;/head&gt;
&lt;center&gt;&lt;h3&gt;Painel de Monitoramento&lt;/h3&gt;&lt;/center&gt;
&lt;?php
$hostname_config = &quot;localhost&quot;;
$database_config = &quot;NOME-BANCO&quot;;
$username_config = &quot;USUER&quot;;
$password_config = &quot;SENHA&quot;;

$config = mysql_pconnect($hostname_config, $username_config, $password_config) or trigger_error(mysql_error(),E_USER_ERROR); 

$bd = mysql_select_db(&quot;$database_config&quot;, $config);

$consulta = mysql_query(&quot;SELECT * FROM StatusPortas ORDER by ip ASC&quot;);
while($v = mysql_fetch_array($consulta)){
$id = $v[&quot;id&quot;];
$servico = $v[&quot;servico&quot;];
$ip = $v[&quot;ip&quot;];
$porta = $v[&quot;porta&quot;];

$stream = @fsockopen ($ip, $porta, $errono, $errostr, 30);
echo &quot;$servico -&gt; $ip -&gt; $porta&quot;;
	if ($stream) {
		echo &quot;&lt;b&gt;&lt;font color=green&gt;Online&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&quot;;
	}
	else
	{
		echo &quot;&lt;font color=red&gt;&quot; . $errostr . &quot;&lt;/font&gt;&lt;br /&gt;&quot;;
	}
}
?&gt;
&lt;/table&gt;
&lt;/body&gt;
&lt;/html&gt; 

</pre>
<p>Envie ele para seu servidor&#8230; e uáláá&#8230;</p>
<p>Abraço a todos&#8230; não postei mais pois ultimamente estou na correria&#8230;</p>
<p>O post <a href="https://blog.remontti.com.br/501">Script PHP &#038; MySQL Monitorando status de serviços</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/501/feed</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title>Dicas para Squid</title>
		<link>https://blog.remontti.com.br/486</link>
					<comments>https://blog.remontti.com.br/486#respond</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Mon, 31 Aug 2009 16:15:33 +0000</pubDate>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[regras]]></category>
		<category><![CDATA[squid]]></category>
		<category><![CDATA[squid.conf]]></category>
		<guid isPermaLink="false">http://www.remontti.com.br/blog/?p=486</guid>

					<description><![CDATA[<p>Alguns amigos me pedem seguido algumas regras para squid, então vou deixar aqui as mais comuns&#8230; Primeiramente vamos criar uma pasta chamada &#8220;conf&#8221; dentro do nosso squid. # Ips Liberando acl IP_LIBERADO src &#8220;/etc/squid/conf/ips_liberado.cf&#8221;&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/486">Dicas para Squid</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Alguns amigos me pedem seguido algumas regras para squid, então vou deixar aqui as mais comuns&#8230;</p>
<p>Primeiramente vamos criar uma pasta chamada &#8220;conf&#8221; dentro do nosso squid.</p>
<p><span style="color: #3366ff;"># Ips Liberando<br />
acl IP_LIBERADO src &#8220;/etc/squid/conf/ips_liberado.cf&#8221;<br />
http_access allow IP_LIBERADO</span></p>
<p>Crie o arquivo <strong>/etc/squid/conf/ips_liberado.cf</strong> e nele adicione os ips (um a baixo do outro) que não passaram por nenhuma regra, lembre de colocar essa regra antes de qlqr outra.<br />
Da mesma forma vc ira criar os arquivos nas próximas regras&#8230;<span id="more-486"></span></p>
<p><span style="color: #3366ff;"># IPs bloqueados<br />
acl IP_BLOQUEADO src &#8220;/etc/squid/conf/ips_bloqueados.cf&#8221;<br />
http_access deny IP_BLOQUEADO</span></p>
<p><span style="color: #3366ff;"># Bloqueando determinadas paginas para determinados ips</span><br />
<span style="color: #3366ff;">acl BL_SITE dstdom_regex &#8220;/etc/squid/conf/paginas_bloqueadas_ip.cf&#8221;<br />
acl BL_IP src &#8220;/etc/squid/conf/ips_paginas_bloqueadas.cf&#8221;<br />
http_access deny BL_SITE BL_IP<br />
deny_info http://ip-da-sua-rede/alerta.html BL_SITE BL_IP</span><br />
# Nesta última linha criamos uma pagina para o erro! Assim vc pode personalizar o erro.</p>
<p><span style="color: #3366ff;"># Vamos bloquear os downloads maior que 50 MB, e criar um arquivo com os ips que podem baixar sem restrições.<br />
acl SEM_CONTROLE src &#8220;/etc/squid/conf/ips_download_liberado.cf&#8221;<br />
reply_body_max_size 100 MB  all !SEM_CONTROLE</span></p>
<p># Agendando para liberar  determinados sites em determinado horário<br />
<span style="color: #3366ff;"># AGENDADO PARA 12:00 &#8211; 13:30<br />
acl AGENDA_12  url_regex -i &#8220;/etc/squid/conf/paginas_liberada_horario.cf&#8221;<br />
acl TIME_12  time MTWHFS 12:00-13:30<br />
http_access allow AGENDA_12  TIME_12</span></p>
<p><span style="color: #3366ff;"># Sites Bloqueados<br />
acl SITES_BLOQUEADOS dstdom_regex &#8220;/etc/squid/conf/sites_bloqueados.cf&#8221;<br />
http_access deny SITES_BLOQUEADOS<br />
deny_info http://rede.local/alerta SITES_BLOQUEADOS</span></p>
<p><span style="color: #3366ff;"># Bloqueio de extensão<br />
acl DOWNLOAD url_regex &#8220;/etc/squid/conf/ext_download.cf&#8221;<br />
http_access deny DOWNLOAD<br />
deny_info http://rede.local/alerta DOWNLOAD</span></p>
<p>No arquivo /etc/squid/conf/ext_download.cf adicione desta forma: ($.bat) cada extensão a baixo da outra.</p>
<p><span style="color: #3366ff;"># Palavras Bloqueadas<br />
acl PALAVRAS_BLOQUEADAS url_regex -i &#8220;/etc/squid/conf/bloqueio_palavras.cf&#8221;<br />
http_access deny PALAVRAS_BLOQUEADAS<br />
deny_info http://rede.local/alerta PALAVRAS_BLOQUEADAS</span></p>
<p><span style="color: #3366ff;"># Palavras liberadas<br />
acl PALAVRAS_LIBERADAS url_regex -i &#8220;/etc/squid/conf/libera_palavras.cf&#8221;<br />
http_access allow PALAVRAS_LIBERADAS</span></p>
<p>Isso ai, curto e grosso =P<br />
Desculpa nao postar mais, mas o problema é tempo mesmo!</p>
<p>Abraço</p>
<p>O post <a href="https://blog.remontti.com.br/486">Dicas para Squid</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/486/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Balanceamento de Carga</title>
		<link>https://blog.remontti.com.br/328</link>
					<comments>https://blog.remontti.com.br/328#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Tue, 09 Jun 2009 18:04:28 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[balance]]></category>
		<category><![CDATA[balanceamento]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[cool]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[flush]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[ping]]></category>
		<category><![CDATA[rotas]]></category>
		<category><![CDATA[route]]></category>
		<category><![CDATA[uplink]]></category>
		<guid isPermaLink="false">http://www.remontti.com.br/blog/?p=328</guid>

					<description><![CDATA[<p>Este tuto foi feito em cima da distribuição Debian 5, com dois links de mesma velocidade. Neste exemplo teremos 3 interface [eth0 192.168.1.100 e eth1 192.168.2.100 as duas internet] [eth2 192.168.3.1 rede local] Primeiramente&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/328">Balanceamento de Carga</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Este tuto foi feito em cima da distribuição Debian 5, com dois links de mesma velocidade.<br />
Neste exemplo teremos 3 interface [eth0 192.168.1.100 e eth1 192.168.2.100 as duas internet] [eth2 192.168.3.1 rede local]</p>
<p>Primeiramente instalamos o pacote iproute 2<br />
<span style="color: #ff6600;"># aptitude update<br />
# aptitude install iproute</span></p>
<p>Após configure as tabelas:</p>
<p><span style="color: #ff6600;"># vim /etc/iproute2/rt_tables</span><br />
Adicione essas duas linhas no final do arquivo:</p>
<p><span style="color: #008080;">200 uplink1<br />
201 uplink2</span></p>
<p><span style="color: #008080;"><span id="more-328"></span></span>Vamos configurar nossa interface onde em eth0 192.168.1.1 / eth1 192.168.2.1 são os gateways<br />
<span style="color: #ff6600;"># vim /etc/network/interfaces</span></p>
<pre class="remontti-code"># LOCALHOST
auto lo
iface lo inet loopback

# LINK 1

auto eth0
iface eth0 inet static
        address 192.168.1.100
        netmask 255.255.255.0

        post-up ip route add 192.168.1.1/32 dev eth1 src 192.168.1.100 table uplink1
        post-up ip route add default via 192.168.1.1 table uplink1
        post-up ip rule add from 192.168.1.100 table uplink1
        post-down ip rule del from 192.168.1.100 table uplink1

# LINK 2

auto eth1
iface eth1 inet static
        address 192.168.2.100
        netmask 255.255.255.0

        post-up ip route add 192.168.2.1/32 dev eth1 src 192.168.2.210 table uplink2
        post-up ip route add default via 192.168.2.1 table uplink2
        post-up ip rule add from 192.168.2.210 table uplink2
        post-down ip rule del from 192.168.2.210 table uplink2

# REDE CLIENTE
auto eth2
iface eth2 inet static
        address 192.168.3.1
        netmask 255.255.255.0</pre>
<p>Reinicie o serviço:<br />
<span style="color: #ff6600;"># /etc/init.d/networking  restart</span></p>
<p>Agora vamos criar um firewall, criaremos as rotas.</p>
<pre class="remontti-code">#! /bin/sh

# Ativa forward
echo &quot;1&quot; &gt; /proc/sys/net/ipv4/ip_forward

# Limpa regras
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -t nat -F
/sbin/iptables -X -t nat
/sbin/iptables -F -t mangle
/sbin/iptables -X -t mangle

# Carrega modulos
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_REJECT
/sbin/modprobe ipt_MASQUERADE

#Libera navegacao nas interfaces
/sbin/iptables -t nat -A POSTROUTING -s 192.168.30/24 -o eth0 -j MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -s 192.168.30/24 -o eth1 -j MASQUERADE

# Configurações Proxy
# /sbin/iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 80 -j REDIRECT --to-port 3128
# /sbin/iptables -A PREROUTING -t mangle -s 192.168.3.0/24 -d 0/0 -j MARK --set-mark 3
# /sbin/iptables -t mangle -A OUTPUT -p TCP -d ! 192.168.3.0/24 --dport 80 -m owner --uid-owner 23 -j MARK --set-mark 3

# Faz com que o servico dns faca consultas pelo outro link
/sbin/iptables -t mangle -A OUTPUT -p UDP --dport 53 -m owner --uid-owner 25 -j MARK --set-mark 2

# Deleta rotas
route del default

# Load balance
ip route add default scope global nexthop via 192.168.1.1 dev eth0 weight 1 nexthop via 192.168.2.1 dev eth1 weight 1

# Limpa cache
ip route flush cached</pre>
<p>Use o comando &#8220;ip route show table main&#8221; para ver como ficou&#8230;<br />
<span style="color: #ff6600;"> # ip route show table main</span></p>
<p><span style="color: #999999;">192.168.1.1/24 dev eth0  proto kernel  scope link  src 192.168.1.100<br />
<em>192.168.2.1/24 dev eth1  proto kernel  scope link  src 192.168.2.100<br />
192.168.3.1/24 dev eth2  proto kernel  scope link  src 192.168.3.1<br />
default<br />
nexthop via 192.168.1.100  dev eth0 weight 1<br />
nexthop via 192.168.2.100  dev eth1 weight 1</em></span></p>
<p>Adicione no cron o comando para limpar o cache dos dns a cada 10 min<br />
<span style="color: #ff6600;"> # vim /etc/crontab</span><br />
00-59/10   *   * * *   root   ip route flush cached</p>
<p>Aqui fiz o siguinte script para verificar se algum dos link cai, assim refazendo a rota e deixadondo para o que estiver online.</p>
<p><span style="color: #ff6600;"># vim /root/uplink.sh</span></p>
<pre class="remontti-code">#! /bin/sh
# - - - - - - - - - - - - - - - #
# Script por Rudimar Remontti   #
# www.remontti.com.br           #
# - - - - - - - - - - - - - - - #
echo -e &#039;\e[33;1mVerificando Links: \e[m&#039;

# - - - - - - - - - - - #
# Configuracoes         #
# - - - - - - - - - - - #
GTW_1=192.168.1.1
ITF_1=eth0
GTW_2=192.168.2.1
ITF_2=eth1
RT_BRT_1=200.176.3.142 # Ip do terra.com.br ele ira pingar p/ verificar se responde
RT_BRT_2=200.176.3.142 # Ip do terra.com.br...
# - - - - - - - - - - - #

echo
echo -e &quot;\e[30;1mLink 1: $GTW_1\e[m&quot;
echo -e &quot;\e[30;1mLink 2: $GTW_2\e[m&quot;
echo 

# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
PING_1=`ping $RT_BRT_1 -I $ITF_1 -c 1 |grep packets |cut -c 24`
PING_2=`ping $RT_BRT_2 -I $ITF_2 -c 1 |grep packets |cut -c 24`
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #

UP=`echo &quot;($PING_1 + $PING_2)&quot; | bc`
if [ $UP = 2 ]; then 

        route del default
        ip route add default scope global nexthop via $GTW_1 dev $ITF_1 weight 1 nexthop via $GTW_2 dev $ITF_2 weight 1
        ip route flush cached

        echo -n &#039;Link 1 e Link 2  Status:     &#039;
        echo -e &#039;\e[32;1m[ ON ] \e[m&#039;
        echo

elif [ $UP = 0 ]; then

        route del default
        ip route add default scope global nexthop via $GTW_1 dev $ITF_1 weight 1 nexthop via $GTW_2 dev $ITF_2 weight 1
        ip route flush cached

        echo
        echo -n Link 1:
        echo -e &#039;\e[32;1m  [  OKAY  ] \e[m&#039;
        echo -n Link 2:
        echo -e &#039;\e[32;1m  [  OKAY  ] \e[m&#039;
        echo

elif [ $UP = 1 ]; then
        echo
        if [ $PING_1 = 1 ]; then
                echo -n Link 1:
                echo -e &#039;\e[32;1m  [  OKAY  ] \e[m&#039;
        else
                route del default
                ip route add default scope global nexthop via $GTW_2 dev $ITF_2 weight 1
                ip route flush cached
                data=`date`
                echo &quot;$data -&gt; Link 1 OFF&quot; &gt;&gt; /root/links.log
                echo -n Link 1:
                echo -e &#039;\e[31;1m  [  OFF   ] \e[m&#039;
        fi
        if [ $PING_2 = 1 ]; then
                echo -n Link 2:
                echo -e &#039;\e[32;1m  [  OKAY  ] \e[m&#039;
        else
                route del default
                ip route add default scope global nexthop via $GTW_1 dev $ITF_1 weight 1
                ip route flush cached
                data=`date`
                echo &quot;$data -&gt; Link 2 OFF&quot; &gt;&gt; /root/links.log
                echo -n Link 2:
                echo -e &#039;\e[31;1m  [  OFF   ] \e[m&#039;

        fi
        echo
        if [ $PING_1 = 0 ]; then
                echo -e &#039;\e[30;1mRotas reconfigurada, gatway através do Link 2.\e[m&#039;
                ROTE=`ip route show |grep default |cut -c 9-100`
                echo -e &quot;\e[30;1m$ROTE\e[m&quot;

        elif [ $PING_2 = 0 ]; then
                echo -e &#039;\e[30;1mRotas reconfigurada, gatway através do Link 1.\e[m&#039;
                ROTE=`ip route show |grep default |cut -c 9-100`
                echo -e &quot;\e[30;1m$ROTE\e[m&quot;
        fi
else
        echo ERRO!
fi
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
echo
ip route show |grep nexthop
echo</pre>
<p><span style="color: #ff6600;"># chmod 755 /root/uplink.sh</span></p>
<p>Adicionamos ao cron (5min)<br />
<span style="color: #ff6600;"> # vim /etc/crontab</span><br />
<span style="color: #008080;"> 00-59/5   *   * * *   root   /root/uplink.sh</span></p>
<p>Carregue seu firewall na inicialização do sistema, utilize o iptraf para ver o trafego saindo pelas duas interfaces.<br />
Se vc tem dois link com cargas diferente altere o weight.</p>
<p>Abraço</p>
<p>O post <a href="https://blog.remontti.com.br/328">Balanceamento de Carga</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/328/feed</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>E-mail na linha de comando com sSMTP</title>
		<link>https://blog.remontti.com.br/211</link>
					<comments>https://blog.remontti.com.br/211#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Thu, 07 May 2009 14:01:41 +0000</pubDate>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[e-mail]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[linha de comando]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[smtp]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">http://www.remontti.com.br/blog/?p=211</guid>

					<description><![CDATA[<p>Ai vai uma boa solução para quem não quer passa tempo configurando um servidor de e-mail para ter seu MTA (Mail Transfer Agents) configurado. Para resolver nossa solução vamos instalar o sSMTP, que envia&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/211">E-mail na linha de comando com sSMTP</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Ai vai uma boa solução para quem não quer passa tempo configurando um servidor de e-mail para ter seu MTA (Mail Transfer Agents) configurado. Para resolver nossa solução vamos instalar o sSMTP, que envia e-mail utilizando um SMTP externo.</p>
<p>No nosso debian ou ubuntu:<br />
<span style="color: #ff6600;"># aptitude install ssmtp</span></p>
<p>A remoção do<strong> exim4</strong> será solicitada, prossiga&#8230;<br />
<span id="more-211"></span><br />
Nosso arquivo de configuração ficaram em <strong>/etc/ssmtp</strong>, vamos a configuração, ele deverá fica + &#8211; assim:</p>
<p><span style="color: #ff6600;"># vim /etc/ssmtp/ssmtp.conf</span></p>
<p><span style="color: #808080;">#<br />
# Config file for sSMTP sendmail<br />
#<br />
# The person who gets all mail for userids &lt; 1000<br />
# Make this empty to disable rewriting.<br />
root=meu-mail@dominio.com.br # Seu e-mail</p>
<p># The place where the mail goes. The actual machine name is required no<br />
# MX records are consulted. Commonly mailhosts are named mail.domain.com<br />
mailhub=<strong>smtp.dominio.com.br</strong> <em># Seu servidor smtp vc pode usar :porta tb caso a porta nao seja a padrão 25</em></p>
<p># Where will the mail seem to come from?<br />
RewriteDomain=<strong>dominio.com.br </strong><em># Domínio que será exibido</em></p>
<p># The full hostname<br />
hostname=<strong>dominio.com.br</strong> <em># Seu domínio </em></p>
<p># Are users allowed to set their own From: address?<br />
# YES &#8211; Allow the user to specify their own From: address<br />
# NO &#8211; Use the system generated From: address<br />
#FromLineOverride=YES</p>
<p>AuthUser=<strong>meu-mail@dominio.com.br</strong> <em># Seu usruário</em><br />
AuthPass=<strong>minha_senha</strong> <em># Sua Senha</em></span></p>
<p><em>Salve :wq! </em></p>
<p>Testando!<br />
<span style="color: #ff6600;"># ssmtp para@destino.com.br</span><br />
<em>digite então:</em><br />
<span style="color: #808080;"><strong>To:</strong> para@destino.com.br<br />
<strong>Subject:</strong> Assunto da minha mensagem<br />
Conteúdo da mensagem<br />
a ser enviada.</span></p>
<p>Finaliza e envia com <strong>Crtl + D.</strong></p>
<p>Você pode utilizar também arquivo<br />
<span style="color: #ff6600;"># vim meu-email.txt</span></p>
<p><span style="color: #808080;">To: para@destino.com.br<br />
Subject: Assunto da minha mensagem</p>
<p>Meu texto qualquer, que poderia ser alguma informação do<br />
sistema, podendo um shell script + ssmtp combinam!</span></p>
<p><em>Salve :wq! </em></p>
<p>Enviar o e-mail com o comando abaixo:<br />
<span style="color: #ff6600;"># ssmtp para@destino.com.br &lt; meu-email.txt</span></p>
<p>Fonte: http://tombuntu.com</p>
<p>O post <a href="https://blog.remontti.com.br/211">E-mail na linha de comando com sSMTP</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/211/feed</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Script para limpar memória cache/swap do Linux</title>
		<link>https://blog.remontti.com.br/92</link>
					<comments>https://blog.remontti.com.br/92#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Fri, 17 Apr 2009 04:51:57 +0000</pubDate>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[buster]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[cheio]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[jessie]]></category>
		<category><![CDATA[memoria]]></category>
		<category><![CDATA[Stretch]]></category>
		<guid isPermaLink="false">http://remontti.com.br/blog/?p=92</guid>

					<description><![CDATA[<p>Distribuição Testada: Debian 8/9/10/11/12 Vamos criar um arquivinho para checar nossa memória e limpar ela. Comandos: # vim /bin/limpamemoria #!/bin/sh # ********************** # # remontti.com.br # # ********************** # # Porcentagem máxima (mude se&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/92">Script para limpar memória cache/swap do Linux</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Distribuição Testada: Debian 8/9/10/11/12</p>
<p>Vamos criar um arquivinho para checar nossa memória e limpar ela.<br />
Comandos:</p>
<pre class="remontti-code"># vim /bin/limpamemoria</pre>
<p><span id="more-92"></span></p>
<pre class="remontti-code">#!/bin/sh

# ********************** #
#    remontti.com.br     #
# ********************** #

# Porcentagem máxima (mude se você achar necessário)
percent=85

# Total da memoria:
ramtotal=`grep -F &quot;MemTotal:&quot; &lt; /proc/meminfo | awk &#039;{print $2}&#039;`
# Memoria livre:
ramlivre=`grep -F &quot;MemFree:&quot; &lt; /proc/meminfo | awk &#039;{print $2}&#039;`

# RAM utilizada pelo sistema:
ramusada=`expr $ramtotal - $ramlivre`

# Porcentagem de RAM utilizada pelo sistema:
putil=`expr $ramusada \* 100 / $ramtotal`

echo =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
date
echo
echo &quot;Mem. utilizada: $putil %&quot;;

if [ $putil -gt $percent ]
then
date=`date`
echo $date &gt;&gt; /var/log/memoria.log
echo &quot;Mem. utilizada: $putil %&quot; &gt;&gt; /var/log/memoria.log

echo &quot;Memoria acima de $percent %, cache foi limpado!&quot;;
sync
# &#039;Dropando&#039; cache:
echo 3 &gt; /proc/sys/vm/drop_caches
# Caso nao esteja utilizanod debian, descomente a linha abaixo
# sysctl -w vm.drop_caches=3 
# Zera SWAP
swapoff -a
swapon -a
echo
free -m
echo
echo =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
else
echo &quot;Cache não foi limpado!&quot;;
echo =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
unset percent ramtotal ramlivre ramusada putil
exit $?
fi</pre>
<p>De permissão para executá-lo:</p>
<pre class="remontti-code"># chmod +x /bin/limpamemoria</pre>
<p><strong>Agendando no CRON</strong></p>
<p>Vamos adicionar ao cron para rodar a cada 30 min.<br />
Adicione ao final de /etc/crontab:</p>
<pre class="remontti-code"># echo &#039;# Limpa memoria a cada 30min&#039; &gt;&gt; /etc/crontab
# echo &#039;*/30 *  * * *   root   /bin/limpamemoria&#039; &gt;&gt; /etc/crontab</pre>
<p>Verifique se inseriu</p>
<pre class="remontti-code"># cat /etc/crontab</pre>
<p>Reinicie o CRON</p>
<pre class="remontti-code"># systemctl restart cron</pre>
<p>Para distribuição mais antigas</p>
<pre class="remontti-code"># /etc/init.d/cron restart</pre>
<p>Feito, cada vez q ele limpar vai gerar um log em <strong>/var/log/memoria.log</strong></p>
<p>Gostou? 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>O post <a href="https://blog.remontti.com.br/92">Script para limpar memória cache/swap do Linux</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/92/feed</wfw:commentRss>
			<slash:comments>12</slash:comments>
		
		
			</item>
	</channel>
</rss>
