<?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 openbmp - Remontti</title>
	<atom:link href="https://blog.remontti.com.br/tag/openbmp/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.remontti.com.br/tag/openbmp</link>
	<description>rudimar@remontti</description>
	<lastBuildDate>Fri, 05 Aug 2022 14:56:48 +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 openbmp - Remontti</title>
	<link>https://blog.remontti.com.br/tag/openbmp</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>BGP Monitoring Protocol (BMP) aprenda a instalar o OpenBMP</title>
		<link>https://blog.remontti.com.br/6723</link>
					<comments>https://blog.remontti.com.br/6723#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Thu, 04 Aug 2022 23:47:18 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[bgp]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[grafana]]></category>
		<category><![CDATA[Huawei]]></category>
		<category><![CDATA[juniper]]></category>
		<category><![CDATA[junos]]></category>
		<category><![CDATA[monitoramento]]></category>
		<category><![CDATA[openbmp]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=6723</guid>

					<description><![CDATA[<p>openBMP é um sistema de monitoramento BGP. Compatível com protocolo de monitoramento BGP (BMP). Os dados BGP são armazenados no banco de dados PostgreSQL. Os RIBs são mantidos pelo estado, bem como o histórico&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/6723">BGP Monitoring Protocol (BMP) aprenda a instalar o OpenBMP</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><a href="https://www.openbmp.org/"><strong>openBMP</strong></a> é um sistema de monitoramento BGP. Compatível com protocolo de monitoramento BGP (BMP). Os dados BGP são armazenados no banco de dados PostgreSQL. Os RIBs são mantidos pelo estado, bem como o histórico completo para cada atualização do BGP.</p>
<p><img fetchpriority="high" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/08/openbmp-flow.png" alt="" width="640" height="565" class="alignnone size-full wp-image-6727" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/08/openbmp-flow.png 640w, https://blog.remontti.com.br/wp-content/uploads/2022/08/openbmp-flow-300x265.png 300w" sizes="(max-width: 640px) 100vw, 640px" /></p>
<p>&#8211; Dispositivos BMP (por exemplo, roteadores) enviam mensagens BMP para um coletor/daemon OpenBMP. Um daemon OpenBMP pode lidar com muitos roteadores e peers bgp, mas em uma rede grande com links de trânsito e tabelas de roteamento de internet completas, vários coletores OpenBMP são recomendados. Basta configurar no dispositivo BMP (roteador) qual servidor BMP deve ser utilizado.</p>
<p>&#8211; O Kafka permite que muitos aplicativos acessem os feeds BMP existentes de qualquer número de roteadores. Um único feed BMP via OpenBMP pode alimentar centenas de aplicativos de consumo, como MySQL, Cassandra, monitores em tempo real, arquivo simples, ELK, Apache Spark, etc.</p>
<p>&#8211; Administradores, engenheiros de rede, programas/scripts automatizados, etc. interagem com a API OpenBMP ou qualquer outro aplicativo de consumo</p>
<h5>Casos de uso</h5>
<p><em>(Tradução de: <a href="https://www.openbmp.org">https://www.openbmp.org</a>)</em><br />
Existem muitas razões para usar o OpenBMP, mas para destacar algumas comuns:</p>
<p>&#8211; Coletor BMP Centralizado &#8211; OpenBMP é um produtor para Kafka. Você pode escrever seu próprio consumidor ou usar um existente. Outros produtos podem interagir com o OpenBMP via Apache Kafka para fluxos RAW BMP ou as mensagens analisadas. Consulte Especificação da API do Barramento de Mensagens para obter mais detalhes.</p>
<p>&#8211; Monitoramento de topologia em tempo real &#8211; Pode monitorar e alertar sobre alterações de topologia, alterações de política ou falta de aplicação, vazamento de rota, seqüestro, etc.</p>
<p>&#8211; Segurança de BGP/Rota &#8211; Vazamento de rota, seqüestro por origem, por melhores caminhos de trânsito ou desvio da linha de base</p>
<p>&#8211; Espelhos &#8211; IPv4, IPv6 e VPN4</p>
<p>&#8211; Route Analytics &#8211; Rastreie tempos de convergência, histórico de prefixos conforme eles mudam ao longo do tempo, monitore e rastreie mudanças de política BGP, etc…</p>
<p>&#8211; Análise de Engenharia de Tráfego &#8211; Adapte-se dinamicamente às mudanças e saiba qual é a melhor mudança</p>
<p>&#8211; Hipóteses pré-políticas de BGP &#8211; As informações de roteamento pré-políticas fornecem informações sobre todos os atributos de caminho de vários pontos na rede, permitindo visualizações de topologia hipotéticas não intrusivas para novas validações de políticas</p>
<p>&#8211; Topologia IGP &#8211; BGP-LS (link-state) fornece a topologia completa do IGP (OSPF e/ou IS-IS). A topologia IGP fornece informações de nível de nó, link e prefixo. Isso inclui todos os próximos saltos do BGP. Agora é possível fazer uma seleção de melhor caminho BGP com métrica IGP para informações Adj-In-RIB. Também é possível monitorar o próprio IGP no que se refere a links, nós, prefixos e BGP.</p>
<p>Quem desejar se aprofundar mais tem um lindo artigo no <a href="https://wiki.brasilpeeringforum.org/w/Solucoes_para_o_gerenciamento_efetivo_do_bgp_em_um_sistema_autonomo" rel="noopener" target="_blank">Brasil Peering Fórum</a> escrito pelo <a href="https://www.linkedin.com/in/leofurtadonyc/" rel="noopener" target="_blank">Leonardo Furtado</a>. Agradeço ao <a href="https://www.linkedin.com/in/rudsoncosta/" rel="noopener" target="_blank">Rudson Costa</a> por me apresentar a ferramenta e me instigar a escrever este tutorial.</p>
<p><strong>Distribuição utilizada neste tutorial:</strong><br />
Debian 11 (Bullseye) 64 bits <a href="https://blog.remontti.com.br/5792" rel="noopener" target="_blank">instalação mínima</a><br />
<a href="https://blog.remontti.com.br/5867" rel="noopener" target="_blank">Como melhorar a produtividade no seu Debian após instalação</a> (Recomendado)</p>
<p>Atualize e instale os pacotes necessários</p>
<pre class="remontti-code"># apt update -y 
# apt upgrade -y 
# apt install wget git vim nano docker-compose htop tree -y </pre>
<p>Crie o diretório qual iremos baixar o projeto OpenBMP</p>
<pre class="remontti-code"># mkdir /root/obmp-install
# cd /root/obmp-install
# wget https://raw.githubusercontent.com/OpenBMP/obmp-docker/main/docker-compose.yml 
# git clone https://github.com/OpenBMP/obmp-grafana.git</pre>
<p>Crie todos os diretórios e de as devidas permissões <em>(segui a documentação, antes de vir me criticar do 777)</em></p>
<pre class="remontti-code"># export OBMP_DATA_ROOT=/var/openbmp
# mkdir -p $OBMP_DATA_ROOT
# mkdir -p ${OBMP_DATA_ROOT}/config
# chmod -R 777 ${OBMP_DATA_ROOT}/config
# mkdir -p ${OBMP_DATA_ROOT}/zk-data
# mkdir -p ${OBMP_DATA_ROOT}/zk-log
# chown -R 1000:1000 ${OBMP_DATA_ROOT}/zk-*/
# mkdir -p ${OBMP_DATA_ROOT}/postgres/data
# mkdir -p ${OBMP_DATA_ROOT}/postgres/ts
# chown -R 1000:1000 ${OBMP_DATA_ROOT}/postgres/
# mkdir -p ${OBMP_DATA_ROOT}/kafka-data
# chown -R 1000:1000 ${OBMP_DATA_ROOT}/kafka-data/
# chmod 777 ${OBMP_DATA_ROOT}/kafka-data
# mkdir -p ${OBMP_DATA_ROOT}/grafana
# cp -r obmp-grafana/dashboards obmp-grafana/provisioning ${OBMP_DATA_ROOT}/grafana/
# chmod -R 777 ${OBMP_DATA_ROOT}/grafana</pre>
<p>Verifique se tudo foi criado</p>
<pre class="remontti-code"># tree $OBMP_DATA_ROOT</pre>
<p>Ajuste a memória Psql-App leia mais <a href="https://www.openbmp.org/getting_started.html#vm-sizing" rel="noopener" target="_blank">aqui</a> sobre requisitos de hardware</p>
<pre class="remontti-code"># sed -i &#039;s/- MEM=3/- MEM=4/&#039; docker-compose.yml</pre>
<p>Agora iremos subir todos os containes:</p>
<pre class="remontti-code"># OBMP_DATA_ROOT=/var/openbmp docker-compose -f ./docker-compose.yml -p obmp up -d</pre>
<p>Verifique se todos os containes estão Ups</p>
<pre class="remontti-code">docker ps</pre>
<pre class="remontti-code-plain">#CONTAINER ID   IMAGE                             COMMAND                  CREATED          STATUS          PORTS                                        NAMES
#079afaaba23f   confluentinc/cp-kafka:7.1.1       &quot;/etc/confluent/dock…&quot;   24 minutes ago   Up 24 minutes   0.0.0.0:9092-&gt;9092/tcp                       obmp-kafka
#fc2f5a316138   openbmp/whois:2.2.0               &quot;/bin/sh -c &#039;/usr/lo…&quot;   24 minutes ago   Up 24 minutes   0.0.0.0:4300-&gt;43/tcp                         obmp-whois
#47d8776c4fc9   openbmp/psql-app:2.2.1            &quot;/usr/sbin/run&quot;          24 minutes ago   Up 23 minutes   0.0.0.0:9005-&gt;9005/tcp                       obmp-psql-app
#9b97cc146ff7   openbmp/postgres:2.2.0            &quot;/docker-entrypoint.…&quot;   24 minutes ago   Up 24 minutes   8008/tcp, 0.0.0.0:5432-&gt;5432/tcp, 8081/tcp   obmp-psql
#dc694dd40972   openbmp/collector:2.2.0           &quot;/usr/sbin/run&quot;          24 minutes ago   Up 24 minutes   0.0.0.0:5000-&gt;5000/tcp                       obmp-collector
#305a1f316ba8   confluentinc/cp-zookeeper:7.1.1   &quot;/etc/confluent/dock…&quot;   24 minutes ago   Up 24 minutes   2181/tcp, 2888/tcp, 3888/tcp                 obmp-zookeeper
#949272653acb   grafana/grafana:8.5.4             &quot;/run.sh&quot;                24 minutes ago   Up 24 minutes   0.0.0.0:3000-&gt;3000/tcp                       obmp-grafana</pre>
<p>Acesse o grafana na porta 3000 deslogue e logue novamente com usuário <strong>admin</strong> e senha <strong>openbmp</strong> e faça a alteração do mesmo.<br />
<img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2022/08/openbmp-grafana.png" alt="" width="1580" height="870" class="alignnone size-full wp-image-6734" srcset="https://blog.remontti.com.br/wp-content/uploads/2022/08/openbmp-grafana.png 1580w, https://blog.remontti.com.br/wp-content/uploads/2022/08/openbmp-grafana-300x165.png 300w, https://blog.remontti.com.br/wp-content/uploads/2022/08/openbmp-grafana-1024x564.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2022/08/openbmp-grafana-768x423.png 768w, https://blog.remontti.com.br/wp-content/uploads/2022/08/openbmp-grafana-1536x846.png 1536w" sizes="(max-width: 1580px) 100vw, 1580px" /></p>
<h3>Criando um firewall para proteger</h3>
<p>Podemos consultar com o comando ss várias portas abertas, por segurança vamos fecha-las.</p>
<pre class="remontti-code"># ss -putan | grep LIST</pre>
<pre class="remontti-code-plain">tcp   LISTEN 0      128          0.0.0.0:22          0.0.0.0:*     users:((&quot;sshd&quot;,pid=441,fd=3))                        
tcp   LISTEN 0      4096         0.0.0.0:5432        0.0.0.0:*     users:((&quot;docker-proxy&quot;,pid=5651,fd=4))               
tcp   LISTEN 0      4096         0.0.0.0:3000        0.0.0.0:*     users:((&quot;docker-proxy&quot;,pid=5547,fd=4))               
tcp   LISTEN 0      4096         0.0.0.0:9092        0.0.0.0:*     users:((&quot;docker-proxy&quot;,pid=6188,fd=4))               
tcp   LISTEN 0      4096         0.0.0.0:5000        0.0.0.0:*     users:((&quot;docker-proxy&quot;,pid=5576,fd=4))               
tcp   LISTEN 0      4096       127.0.0.1:42315       0.0.0.0:*     users:((&quot;containerd&quot;,pid=429,fd=13))                 
tcp   LISTEN 0      4096         0.0.0.0:4300        0.0.0.0:*     users:((&quot;docker-proxy&quot;,pid=5756,fd=4))               
tcp   LISTEN 0      4096         0.0.0.0:9005        0.0.0.0:*     users:((&quot;docker-proxy&quot;,pid=6559,fd=4))               
tcp   LISTEN 0      128             [::]:22             [::]:*     users:((&quot;sshd&quot;,pid=441,fd=4))  </pre>
<p>O nftablesjá vem por padrão instalado no Debian 11. </p>
<pre class="remontti-code"># vim /etc/nftables.conf</pre>
<p>Neste exemplo (quase q auto explicativo) vou deixar apenas a porta do Grafana aberta, as demais restritas a variável <strong>ACESSO_EXTERNO</strong>.</p>
<pre class="remontti-code">#!/usr/sbin/nft -f

flush ruleset

define PORTAS_RESTRITAS = { 22,4300,5000,5432,9092,9005 }
define PORTAS_ABERTAS = { 3000 }

define ACESSO_EXTERNO_IPv4 = { 172.16.0.0/12, 10.0.0.0/8, 200.200.200.0/24 }
define ACESSO_EXTERNO_IPv6 = { 2001:db8:1::/64 }

define ACESSO_LOCALHOST_IPv4 = { 127.0.0.0/8 }
define ACESSO_LOCALHOST_IPv6 = { ::1/128 }

table inet filter {
    set src_ipv4 {
        type ipv4_addr
        flags interval
        elements = { $ACESSO_LOCALHOST_IPv4, $ACESSO_EXTERNO_IPv4 }
    }
    set src_ipv6 {
        type ipv6_addr
        flags interval
        elements = { $ACESSO_LOCALHOST_IPv6, $ACESSO_EXTERNO_IPv6 }
    }
    chain input {
        type filter hook input priority 0;
        ip saddr  != @src_ipv4 tcp dport { $PORTAS_RESTRITAS } counter drop
        ip6 saddr != @src_ipv6 tcp dport { $PORTAS_RESTRITAS } counter drop

        tcp dport { $PORTAS_ABERTAS } counter accept
        
    }
    chain forward {
        type filter hook forward priority 0;
    }
    chain output {
        type filter hook output priority 0;
    }
}</pre>
<p>Habilite para o boot e reinicie o nftables </p>
<pre class="remontti-code"># systemctl enable nftables 
# systemctl restart nftables </pre>
<p>Se desejar matar todos os containes rode:</p>
<pre class="remontti-code"># cd /root/obmp-install
OBMP_DATA_ROOT=/var/openbmp docker-compose -p obmp down</pre>
<p>Para apagar tudo:</p>
<pre class="remontti-code"># rm -rf /var/openbmp</pre>
<h4>Integração com Huawei</h4>
<pre class="remontti-code">bmp
 #
 bmp-session __IP_SERVIDOR__ alias meuprovedor
 tcp connect port 5000
 #
 monitor public
  route-mode ipv4-family unicast adj-rib-in pre-policy
 #
 monitor peer __IP_SERVIDOR__
#
bgp xxxx
 ipv4-family unicast
 peer __IP_PEER_MONITORADO__ keep-all-routes
</pre>
<p><strong>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><strong>FONTE:</strong> <a href="https://www.openbmp.org/" rel="noopener" target="_blank">https://www.openbmp.org/</a></p>
<p>O post <a href="https://blog.remontti.com.br/6723">BGP Monitoring Protocol (BMP) aprenda a instalar o OpenBMP</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/6723/feed</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
	</channel>
</rss>
