<?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 VyOS - Remontti</title>
	<atom:link href="https://blog.remontti.com.br/tag/vyos/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.remontti.com.br/tag/vyos</link>
	<description>rudimar@remontti</description>
	<lastBuildDate>Thu, 30 Mar 2023 14:42:50 +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 VyOS - Remontti</title>
	<link>https://blog.remontti.com.br/tag/vyos</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Aprenda a instalar um dos melhores Looking Glasses de código aberto: o Hyperglass</title>
		<link>https://blog.remontti.com.br/7201</link>
					<comments>https://blog.remontti.com.br/7201#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Thu, 30 Mar 2023 13:56:07 +0000</pubDate>
				<category><![CDATA[Huawei]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mikrotik]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Arista EOS]]></category>
		<category><![CDATA[BGP AS Path]]></category>
		<category><![CDATA[BGP Community]]></category>
		<category><![CDATA[BIRD]]></category>
		<category><![CDATA[Cisco IOS-XR]]></category>
		<category><![CDATA[Cisco IOS/IOS-XE]]></category>
		<category><![CDATA[Cisco NX-OS]]></category>
		<category><![CDATA[Código Aberto]]></category>
		<category><![CDATA[debian 11]]></category>
		<category><![CDATA[frrouting]]></category>
		<category><![CDATA[Hyperglass]]></category>
		<category><![CDATA[Juniper JunOS]]></category>
		<category><![CDATA[looking glass]]></category>
		<category><![CDATA[Nokia SR OS]]></category>
		<category><![CDATA[Personalização]]></category>
		<category><![CDATA[ping]]></category>
		<category><![CDATA[Rota BGP]]></category>
		<category><![CDATA[TNSR]]></category>
		<category><![CDATA[Traceroute]]></category>
		<category><![CDATA[VyOS]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7201</guid>

					<description><![CDATA[<p>O que é o Hyperglass O hyperglass é um espelho de rede de código aberto escrito por um engenheiro de rede para outros engenheiros de rede. O objetivo de um espelho é fornecer aos&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7201">Aprenda a instalar um dos melhores Looking Glasses de código aberto: o Hyperglass</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/2023/03/hyperglass.jpg" alt="" width="720" height="340" class="size-full wp-image-7229" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass.jpg 720w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass-300x142.jpg 300w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass-520x245.jpg 520w" sizes="(max-width: 720px) 100vw, 720px" /></p>
<h3>O que é o <a href="https://hyperglass.dev/docs/introduction" rel="noopener" target="_blank">Hyperglass</a></h3>
<p>O hyperglass é um espelho de rede de código aberto escrito por um engenheiro de rede para outros engenheiros de rede. O objetivo de um espelho é fornecer aos clientes, colegas e completos estranhos uma visibilidade autônoma da rede de uma operadora. A hyperglass foi criada com o grande objetivo de beneficiar a comunidade da Internet em geral, fornecendo uma maneira mais rápida, fácil e segura para as operadoras fornecerem serviços de espelhos a seus clientes, colegas e outras operadoras de rede.</p>
<p><strong>Recursos:</strong><br />
 &#8211; Rota BGP<br />
 &#8211; BGP Community<br />
 &#8211; BGP AS Path<br />
 &#8211; Ping<br />
 &#8211; Traceroute</p>
<p><strong>Suporte para: </strong><br />
 &#8211; Arista EOS<br />
 &#8211; BIRD<br />
 &#8211; Cisco IOS-XR<br />
 &#8211; Cisco IOS/IOS-XE<br />
 &#8211; Cisco NX-OS<br />
 &#8211; FRRouting<br />
 &#8211; Huawei<br />
 &#8211; Juniper JunOS<br />
 &#8211; Mikrotik<br />
 &#8211; Nokia SR OS<br />
 &#8211; TNSR<br />
 &#8211; VyOS</p>
<p>Personalização recursos, tema, texto da UI/API, mensagens de erro e comandos.</p>
<p>Ao decorrer do tutorial irei deixar todos os links com referencia a documentação <a href="https://hyperglass.dev/docs/" rel="noopener" target="_blank">https://hyperglass.dev/docs/</a>, pois o mesmo tem muita possibilidades.</p>
<h4>Notas e agradecimento</h4>
<p>O hyperglass é tem sua principal base desenvolvida em Python e está disponível no github.com por <a href="https://github.com/thatmattlove" rel="noopener" target="_blank">thatmattlove</a>, no entanto conta com um grupo no <a href="https://t.me/hyperglasslg" rel="noopener" target="_blank">telegram</a> onde encontrei algumas soluções para huawei, meu conhecimento em Python é limitado (ainda), mas criei meu próprio <a href="https://github.com/remontti/hyperglass" rel="noopener" target="_blank">fork</a> do projeto, e realizei <a href="https://github.com/remontti/hyperglass/commits/main" rel="noopener" target="_blank">algumas alterações</a>. Deixar aqui uma agradecimento a <a href="https://github.com/thatmattlove/hyperglass/compare/main...eaitelecomunicacoes:hyperglass:add_huawei_support" rel="noopener" target="_blank">eaitelecomunicacoes</a> onde encontrei uma contribuição que me ajudou muito. Contamos com ajuda de todos para tornar o projeto algo ainda melhor! Se tiver melhorias nao deixe de realizar um <a href="https://github.com/remontti/hyperglass/pulls" rel="noopener" target="_blank">Pull requests</a>.</p>
<h4>Distribuição Linux</h4>
<p>Todos meus testes foram realizando em cima do Debian 11<br />
&#8211; <strong><a href="https://blog.remontti.com.br/5792" rel="noopener" target="_blank">Instalação do Debian 11 Bullseye limpa passo-a-passo</a></strong></p>
<p>Acesse seu servidor e se torne root da forma correta:</p>
<pre class="remontti-code"># su -</pre>
<h4>Pacotes necessários</h4>
<pre class="remontti-code"># apt install -y python3-dev python3-pip python3-pil python3-pil.imagetk\
 python3-libtiff python3-glymur libtiff-dev libfreetype-dev liblcms2-2\
 liblcms2-utils libwebp-dev libboost-dev libimagequant-dev libraqm-dev\
 libjpeg-dev wget unzip zip git curl gnupg2</pre>
<h4>Script de instalação</h4>
<pre class="remontti-code"># cd /tmp
# wget https://raw.githubusercontent.com/remontti/hyperglass/main/install.sh
# bash install.sh</pre>
<p>Ao finalize execute o comando hyperglass &#8211;help para ver se a instalação esta funcionando.</p>
<pre class="remontti-code"># hyperglass --help</pre>
<pre class="remontti-code-plain">
Usage: hyperglass [OPTIONS] COMMAND [ARGS]...

   hyperglass Command Line Interface

Options:
   -v, --version  <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f522.png" alt="🔢" class="wp-smiley" style="height: 1em; max-height: 1em;" /> hyperglass version
   -h, --help     <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f64f.png" alt="🙏" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Show this help message

Commands:
   build-ui     <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f98b.png" alt="🦋" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Create a new UI build
   clear-cache  <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9fc.png" alt="🧼" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Clear the Redis cache
   secret       <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f512.png" alt="🔒" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Generate agent secret
   setup        <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9f0.png" alt="🧰" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Run the setup wizard
   start        <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f680.png" alt="🚀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Start web server
   system-info  <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f321.png" alt="🌡" class="wp-smiley" style="height: 1em; max-height: 1em;" />  Get system information for a bug report</pre>
<h3>Configurando hyperglass</h3>
<pre class="remontti-code"># hyperglass setup</pre>
<p>Vamos definir o diretório de configurações, selecione com a seta para baixo <strong>/etc/hyperglass</strong></p>
<pre class="remontti-code-plain">[?] Choose a directory for hyperglass: /etc/hyperglass
   /root/hyperglass
 &gt; /etc/hyperglass</pre>
<p>Antes de deixar você chanar no <strong>erro webpack</strong>:</p>
<pre class="remontti-code-plain">
[ERROR] 20230330 10:02:32 | hyperglass.util.frontend:401 | build_frontend → 
Messages:
info  - Using webpack 5. Reason: future.webpack5 option enabled https://nextjs.org/docs/messages/webpack5</pre>
<p>Vamos a solução localize `webpack5: true,` e altere para `webpack5: false,`</p>
<pre class="remontti-code"># sed -i &#039;s/webpack5: true,/webpack5: false,/g&#039; /usr/local/lib/python3.9/dist-packages/hyperglass/ui/next.config.js</pre>
<h4>Parâmetros de configuração</h4>
<p>Crie o arquivo /etc/hyperglass/hyperglass.yaml</p>
<pre class="remontti-code"># vim /etc/hyperglass/hyperglass.yaml</pre>
<p>Ajuste suas informações. <a href="https://hyperglass.dev/docs/parameters" rel="noopener" target="_blank">Doc</a>.</p>
<pre class="remontti-code-plain">
# https://hyperglass.dev/docs/parameters
debug: false
developer_mode: false
org_name: Remontti Telecom
primary_asn: 12345
site_title: Looking Glass Remontti
site_description: &quot;{org_name} Network Looking Glass&quot;
site_keywords: [hyperglass, looking glass, routing, bgp]
request_timeout: 30
listen_address: &quot;172.18.18.79&quot;  # IP que ira startar o serviço
listen_port: 80  # Porta do servico
#
# https://hyperglass.dev/docs/response-caching
cache:
  database: 0
  host: localhost
  port: 6379
  show_text: true
  timeout: 120
#
# https://hyperglass.dev/docs/messages/
messages:
  acl_denied: &quot;{target} is a member of {denied_network}, which is not allowed.&quot;
  acl_not_allowed: &quot;{target} is not allowed.&quot;
  authentication_error: Authentication error occurred.
  connection_error: &quot;Error connecting to {device_name}: {error}&quot;
  feature_not_enabled: &quot;{feature} is not enabled for {device_name}.&quot;
  general: Something went wrong.
  invalid_field: &quot;{input} is an invalid {field}.&quot;
  invalid_input: &quot;{target} is not a valid {query_type} target.&quot;
  no_input: &quot;{field} must be specified.&quot;
  no_output: The query completed, but no matching results were found.
  no_response: No response.
  parsing_error: An error occurred while parsing the query output.
  request_timeout: Request timed out.
  vrf_not_associated: VRF {vrf_name} is not associated with {device_name}.
  vrf_not_found: VRF {vrf_name} is not defined.
#
# https://hyperglass.dev/docs/logging/ (/var/log/hyperglass.log)
logging:
  directory: /var/log
  format: text
  max_size: 50 MB
#
# https://hyperglass.dev/docs/query-settings/
queries:
  bgp_route:
    display_name: BGP Route
    enable: true
  bgp_community:
    #Huwei modo structured não fuciona
    display_name: BGP Community
    enable: false
    mode: select
    communities:
      - community: 12345:666
        display_name: Blackhole
        description: 12345:666
  bgp_aspath:
    #Huwei modo structured não fuciona
    display_name: BGP AS Path
    enable: false
    pattern:
      asdot: &#039;^(\^|^\_)((\d+\.\d+)\_|(\d+\.\d+)\$|(\d+\.\d+)\(\_\.\+\_\))+$&#039;
      asplain: &#039;^(\^|^\_)(\d+\_|\d+\$|\d+\(\_\.\+\_\))+$&#039;
      mode: asplain
  ping:
    display_name: Ping
    enable: true
  traceroute:
    display_name: Traceroute
    enable: true
    #
# https://hyperglass.dev/docs/table-output/
structured:
  rpki:
    mode: external

#  communities:
#    #Para não exibir nenhuma communities    
#    mode: deny

#  communities:
#    # Para permitir apenas...
#    mode: permit
#    items:
#      - &#039;65000:\d+&#039;
#      - &#039;65[1-4]00:\d+&#039;

# https://hyperglass.dev/docs/ui/configuration/
web:
  links:
    - title: PeeringDB
      url: https://www.peeringdb.com/asn/12345
      side: left
      order: 1
    - title: Qrator
      url: https://radar.qrator.net/AS12345
      side: left
      order: 2
    - title: RADb
      url: https://www.radb.net/query?advanced_query=&amp;keywords=AS12345
      side: left
      order: 3
    - title: IRR Explorer
      url: https://irrexplorer.nlnog.net/asn/AS12345
      side: left
      order: 4
    - title: RDAP
      url: https://rdap.registro.br/autnum/12345
      side: left
      order: 5    
    - title: Remontti
      url: https://www.remontti.com.br
      side: right
      order: 0
  menus:
    - title: Contato
      content: &quot;Please contact [noc@remontti.com.br](mailto:noc@remontti.com.br) to get support.&quot;
      side: right
    - title: Termos e Condições
      content: /etc/hyperglass/terms-and-conditions.md
      side: right
  # https://hyperglass.dev/docs/ui/logo
  logo:
    dark: /etc/hyperglass/static/images/hyperglass-dark.svg
    light: /etc/hyperglass/static/images/hyperglass-light.svg
    favicon: /etc/hyperglass/static/images/hyperglass-icon.svg
    height: null
    width: 100%
  # https://hyperglass.dev/docs/ui/text
  text:
    cache_icon: Cached from {time} UTC
    cache_prefix: &quot;Results cached for &quot;
    complete_time: Completed in {seconds}
    fqdn_error: Unable to resolve {fqdn}
    fqdn_error_button: Try Again
    fqdn_message: Your browser has resolved {fqdn} to
    fqdn_tooltip: Use {protocol}
    no_communities: No Communities
    query_location: Location
    query_target: Target
    query_type: Query Type
    query_vrf: Routing Table
    rpki_invalid: Invalid
    rpki_unknown: No ROAs Exist
    rpki_unverified: Not Verified
    rpki_valid: Valid
    subtitle: Network Looking Glass
    title: hyperglass
    title_mode: logo_subtitle
  # https://hyperglass.dev/docs/ui/theme
  # https://hyperglass.dev/docs/ui/example</pre>
<h4>Adicionando Dispositivos</h4>
<p>Para adicionar seus dispositivos para cunsultas LG, crie o arquivo /etc/hyperglass/devices.yaml. Vou deixar um exemplo básico para Huawei, Mikrotik e comando personalizados com Linux. <a href="https://hyperglass.dev/docs/adding-devices" rel="noopener" target="_blank">Docs</a>  </p>
<pre class="remontti-code"># vim /etc/hyperglass/devices.yaml</pre>
<p>Adicione de acordo suas configurações</p>
<pre class="remontti-code-plain">
# https://hyperglass.dev/docs/adding-devices
routers:
  - name: AS12345 Remontti
    address: 10.50.50.25
    network:
      name: as12345
      display_name: Huawei
    credential:
      username: lookingglass
      password: supersenha
    port: 22
    nos: huawei
    vrfs:
      - name: global
        default: true
        ipv4:
          source_address: 200.200.200.200
          access_list:
            - network: 10.0.0.0/8
              action: deny
            - network: 192.168.0.0/16
              action: deny
            - network: 100.64.0.0/10
              action: deny
            - network: 172.16.0.0/12
              action: deny
            - network: 0.0.0.0/0
              action: permit
              ge: 8
              le: 32
        ipv6:
          source_address: 2000:2000:1::1
          access_list:
            - network: ::/0
              action: permit
              ge: 32
              le: 128

  - name: Mkzao Remontti
    address: 172.18.18.1
    network:
      name: routerosrr
      display_name: Mikrotik
    credential:
      username: usuario
      password: senha
    port: 22
    nos: mikrotik_routeros
    vrfs:
      - name: global
        default: true
        ipv4:
          source_address: 172.18.18.1
        ipv6:
          source_address: 2001:db8::2

  - name: Localhost Hyperglass
    address: 127.0.0.1
    network:
      name: test1
      display_name: Linux
    credential:
      username: usuario
      password: senha
    nos: linux
    commands: linux_comando_personlizado
    vrfs:
      - name: global
        default: true
        ipv4:
          source_address: 192.168.0.5
        ipv6:
          source_address: 2001:db8:bebe:cafe:5</pre>
<h4>Comandos personalizados</h4>
<pre class="remontti-code"># vim /etc/hyperglass/commands.yaml</pre>
<p>Acima adicionei um device linux, qual temos <a href="https://hyperglass.dev/docs/commands" rel="noopener" target="_blank">comandos personalizado</a>, segue um exemplo de como seria. Crie o arquivo /etc/hyperglass/commands.yaml</p>
<pre class="remontti-code-plain">#https://hyperglass.dev/docs/commands
linux_comando_personlizado:
  ipv4_default:
    bgp_route: &#039;echo bgp_route &quot;{target}&quot;&#039;
    bgp_aspath: &#039;echo bgp_aspath &quot;{target}&quot;&#039;
    bgp_community: &#039;echo bgp_community &quot;{target}&quot;&#039;
    ping: &#039;ping -c 4 &quot;{target}&quot;&#039;
    traceroute: &#039;traceroute -n &quot;{target}&quot;&#039;
  ipv6_default:
    bgp_route: &#039;echo &quot;{target}&quot;&#039;
    bgp_aspath: &#039;echo &quot;{target}&quot;&#039;
    bgp_community: &#039;echo &quot;{target}&quot;&#039;
    ping: &#039;echo &quot;{target}&quot;&#039;
    traceroute: &#039;echo &quot;{target}&quot;&#039;
  ipv4_vpn:
    bgp_route: &#039;echo &quot;{vrf} {target}&quot;&#039;
    bgp_aspath: &#039;echo &quot;{vrf} {target}&quot;&#039;
    bgp_community: &#039;echo &quot;{vrf} {target}&quot;&#039;
    ping: &#039;echo &quot;{vrf} {target}&quot;&#039;
    traceroute: &#039;echo &quot;{vrf} {target}&quot;&#039;
  ipv6_vpn:
    bgp_route: &#039;echo &quot;{vrf} {target}&quot;&#039;
    bgp_aspath: &#039;echo &quot;{vrf} {target}&quot;&#039;
    bgp_community: &#039;echo &quot;{vrf} {target}&quot;&#039;
    ping: &#039;echo &quot;{vrf} {target}&quot;&#039;
    traceroute: &#039;echo &quot;{vrf} {target}&quot;&#039;</pre>
<p>Crie um arquivo para seis termos:</p>
<pre class="remontti-code"># vim /etc/hyperglass/terms-and-conditions.md</pre>
<p>Descreva de acordo suas políticas.</p>
<pre class="remontti-code-plain">Ao usar {site_title}, você concorda em cumprir os seguintes termos de uso:

Todas as consultas executadas nesta página são registradas para análise e solução de problemas. 
Os usuários estão proibidos de automatizar consultas ou tentar processar consultas em massa. Este serviço é fornecido com base no melhor esforço, e {org_name} não oferece garantias ou garantias de disponibilidade ou desempenho.</pre>
<p>Agora vamos a construção da interface do usuário. o Comando a baixo pode levar uns minutinho.</p>
<pre class="remontti-code"># cd /etc/hyperglass/
# hyperglass build-ui</pre>
<p>Aguarde até ter a resposta:</p>
<pre class="remontti-code-plain">[SUCCESS] 20230329 21:36:48 | hyperglass.util.frontend:386 | build_frontend → Completed UI build
<img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2705.png" alt="✅" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Completed UI build in production mode</pre>
<h4>Iniciando o serviço</h4>
<p>Poderíamos iniciar com o comando `hyperglass start`, mas vamos criar um serviço no linux para fazer esse trabalho, para deixar até mesmo automatizado durante o boot. para isso irei criar uma pasta /etc/hyperglass/service/ onde irei criar nosso serviço.</p>
<pre class="remontti-code"># mkdir /etc/hyperglass/service/
# vim /etc/hyperglass/service/hyperglass.service</pre>
<p>Agora vamos instruir o que deve ser feito.</p>
<pre class="remontti-code-plain">
[Unit]
Description=hyperglass
After=network.target
Requires=redis-server.service

[Service]
User=root
Group=root
ExecStart=/usr/local/bin/hyperglass start
ExecStop=/usr/bin/pkill -f hyperglass

TimeoutStartSec=120
TimeoutStopSec=300

[Install]
WantedBy=multi-user.target</pre>
<p>Vamos cria um apontamento, recarecar nosso daemon, dar um enable para deixar iniciando com o boot, em seguida vamos iniciar o serviço.</p>
<pre class="remontti-code"># ln -s /etc/hyperglass/service/hyperglass.service /etc/systemd/system/hyperglass.service
# systemctl daemon-reload
# systemctl enable hyperglass 
# systemctl start hyperglass
# systemctl status hyperglass</pre>
<p>Pode levar um minutinho até iniciar, você pode acompanhar os logs.</p>
<pre class="remontti-code"># tail -f /var/log/hyperglass.log</pre>
<p>Quando aparecer a mensagem a baixo você pode acessar em seu navegador:</p>
<pre class="remontti-code-plain">
...Started hyperglass 1.0.4 on http://SEUIP:PORTA with 6 workers</pre>
<p>Pode verificar também as portas que estão sendo ouvidas.</p>
<pre class="remontti-code"># ss -putan  | grep LISTEN | grep hyperglass</pre>
<p>Acesse me seu navegador http://SEUIP:PORTA</p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0.png" data-rel="lightbox-gallery-Ep7Ro7pJ" data-rl_title="" data-rl_caption="" title=""><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0.png" alt="" width="1773" height="773" class="alignnone size-full wp-image-7215" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0.png 1773w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0-300x131.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0-1024x446.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0-768x335.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0-1536x670.png 1536w" sizes="(max-width: 1773px) 100vw, 1773px" /></a></p>
<h3>Bonus: Proxy Nginx + Https</h3>
<p>É bem comum querer executar o hyperglass em outra porta e somente para localhost, e criar um proxy para acesso web bem como ativar suporte https para sua página, pois em alguns casos ele pode esta rodando junto com outros serviços sem problema algum. Não é necessário ter uma &#8220;VM&#8221; só para isso. Vamos ao exemplo</p>
<pre class="remontti-code"># vim /etc/hyperglass/hyperglass.yaml</pre>
<p>Altere o IP em <strong>listen_address</strong> para nosso endereço da loopback <strong>127.0.0.1</strong> e defina outra porta <strong>listen_port</strong> que ira rodar o serviço, no meu caso vou usar <strong>58000</strong></p>
<pre class="remontti-code-plain">listen_address: &quot;127.0.0.1&quot;
listen_port: 58000</pre>
<p>Reinicie o hyperglass</p>
<pre class="remontti-code">systemctl restart hyperglass</pre>
<p><strong>Instale o Nxgix</strong></p>
<pre class="remontti-code"># apt install nginx
# sed -i &#039;s/# server_tokens/server_tokens/&#039; /etc/nginx/nginx.conf</pre>
<p>Em alguns caso recomendo deletar as conf padrões, caso tiver problemas.</p>
<pre class="remontti-code"># rm /etc/nginx/sites-enabled/default</pre>
<p>Crie um arquivo de configuração o nginx criar um proxy do nosso hyperglass</p>
<pre class="remontti-code"># vim /etc/nginx/sites-available/hyperglass.conf</pre>
<p>Adicione</p>
<pre class="remontti-code-plain">
server {
  listen 80;
  listen [::]:80;
  server_name lg.remontti.com.br;
  #server_name _;

  # Descomente para deixar restrito apenas para determinados prefixos ou IPs.
  #allow  192.168.87.0/24;
  #allow  127.0.0.1;
  #allow  2001:0db8::/32;
  #allow  ::1;
  #deny   all;
  #error_page  403   http://www.remontti.com.br;

  client_max_body_size 2M;
  root /etc/hyperglass/static;

  location / {
    try_files $uri $uri/ /ui /ui/$uri =404;
    index /ui/index.html;
  }

  location /openapi.json {
      try_files $uri @proxy_to_app;
  }

  location /custom/ {
      try_files $uri $uri/ /custom;
  }

  location /images/ {
      try_files $uri $uri/ /images;
  }

  location /api {
      try_files $uri @proxy_to_app;
  }

  location @proxy_to_app {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://127.0.0.1:58000;
  }
}</pre>
<p>Link o arquivo no diretório /etc/nginx/sites-enabled qual será carregado ao iniciar o nginx, em seguira reinicie o serviço do nginx.</p>
<pre class="remontti-code"># ln -s /etc/nginx/sites-available/hyperglass.conf /etc/nginx/sites-enabled/hyperglass.conf
# systemctl restart nginx</pre>
<p>Agora você já pode acessar seu hyperglass através do nginx.</p>
<h4>Criando certificado</h4>
<p>Ao executar o <strong>Certbot</strong> instalado via apt tive alguns erros do python, acredito que conflitou alguma coisa com o hyperglass, (como meu tempo é bem curto inclusive para esta escrevendo aqui) realizei a instalação via <strong>snap</strong> qual resolveu meu problema.<br />
Segue a instalação do snap:</p>
<pre class="remontti-code"># apt install snapd
# snap install core</pre>
<p>Instale o certbot via snap, crie um link em nossos binários, em seguida execute ele. </p>
<pre class="remontti-code"># snap install --classic certbot
# ln -s /snap/bin/certbot /usr/bin/certbot
# certbot</pre>
<p>Informe os dados, ao finalizar o mesmo irá já ajustar seu arquivo do nginx, e basta acessar seu domínio.</p>
<p>Não esqueça que a cada 90 dias o certificado expira, então crie uma rotina para renovação, você pode adicionar ao cron agendando por exemplo para todo dia primeiro tentar renovar.</p>
<pre class="remontti-code"># echo &#039;00 00   1 * *   root     certbot renew -q&#039; &gt;&gt; /etc/crontab
# systemctl restart cron</pre>
<p><strong>Parabéns você finalizou! 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>
<h4>Prints</h4>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0.png" data-rel="lightbox-gallery-Ep7Ro7pJ" data-rl_title="" data-rl_caption="" title=""><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0-300x131.png" alt="" width="300" height="131" class="alignnone size-medium wp-image-7215" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0-300x131.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0-1024x446.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0-768x335.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0-1536x670.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_0.png 1773w" sizes="(max-width: 300px) 100vw, 300px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1.png" data-rel="lightbox-gallery-Ep7Ro7pJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1-300x141.png" alt="" width="300" height="141" class="alignnone size-medium wp-image-7216" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1-300x141.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1-1024x482.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1-768x362.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1-1536x723.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1-520x245.png 520w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1-720x340.png 720w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1.png 1773w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_3.png" data-rel="lightbox-gallery-Ep7Ro7pJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_3-300x131.png" alt="" width="300" height="131" class="alignnone size-medium wp-image-7214" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_3-300x131.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_3-1024x446.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_3-768x335.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_3-1536x670.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_3.png 1773w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_4.png" data-rel="lightbox-gallery-Ep7Ro7pJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_4-300x137.png" alt="" width="300" height="137" class="alignnone size-medium wp-image-7213" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_4-300x137.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_4-1024x468.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_4-768x351.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_4-1536x702.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_4-980x450.png 980w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_4.png 1773w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_2.png" data-rel="lightbox-gallery-Ep7Ro7pJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_2-300x131.png" alt="" width="300" height="131" class="alignnone size-medium wp-image-7211" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_2-300x131.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_2-1024x446.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_2-768x335.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_2-1536x670.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_2.png 1773w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_5.png" data-rel="lightbox-gallery-Ep7Ro7pJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_5-300x216.png" alt="" width="300" height="216" class="alignnone size-medium wp-image-7210" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_5-300x216.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_5-1024x737.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_5-768x553.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_5-1536x1105.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_5.png 1773w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a> <a href="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1_1.png" data-rel="lightbox-gallery-Ep7Ro7pJ" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1_1-300x131.png" alt="" width="300" height="131" class="alignnone size-medium wp-image-7212" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1_1-300x131.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1_1-1024x446.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1_1-768x335.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1_1-1536x670.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2023/03/hyperglass_huawei_1_1.png 1773w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Abraço!</p>
<p><strong>Fontes:</strong><br />
<a href="https://hyperglass.dev/" rel="noopener" target="_blank">https://hyperglass.dev/</a><br />
<a href="https://hyperglass.dev/docs/" rel="noopener" target="_blank">https://hyperglass.dev/docs/</a></p>
<p>O post <a href="https://blog.remontti.com.br/7201">Aprenda a instalar um dos melhores Looking Glasses de código aberto: o Hyperglass</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7201/feed</wfw:commentRss>
			<slash:comments>17</slash:comments>
		
		
			</item>
		<item>
		<title>Instalação do Routinator 3000, um software para validação RPKI</title>
		<link>https://blog.remontti.com.br/5720</link>
					<comments>https://blog.remontti.com.br/5720#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Thu, 22 Jul 2021 20:56:32 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[BIRD]]></category>
		<category><![CDATA[cisco]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[frrouting]]></category>
		<category><![CDATA[GoBGP]]></category>
		<category><![CDATA[Huawei]]></category>
		<category><![CDATA[junos]]></category>
		<category><![CDATA[OpenBGPD]]></category>
		<category><![CDATA[routinator]]></category>
		<category><![CDATA[rpki]]></category>
		<category><![CDATA[VyOS]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=5720</guid>

					<description><![CDATA[<p>O Routinator 3000 é um software RPKI Relying Party gratuito e de código aberto desenvolvido pela NLnet Labs na linguagem de programação Rust. O aplicativo foi desenvolvido para ser seguro e ter ótima portabilidade.&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/5720">Instalação do Routinator 3000, um software para validação RPKI</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/07/routinator.webp" alt="" width="2400" height="400" class="alignnone size-full wp-image-5754" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/07/routinator.webp 2400w, https://blog.remontti.com.br/wp-content/uploads/2021/07/routinator-300x50.webp 300w, https://blog.remontti.com.br/wp-content/uploads/2021/07/routinator-1024x171.webp 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/07/routinator-768x128.webp 768w, https://blog.remontti.com.br/wp-content/uploads/2021/07/routinator-1536x256.webp 1536w, https://blog.remontti.com.br/wp-content/uploads/2021/07/routinator-2048x341.webp 2048w" sizes="auto, (max-width: 2400px) 100vw, 2400px" /><br />
O Routinator 3000 é um software RPKI Relying Party gratuito e de código aberto desenvolvido pela <a href="https://nlnetlabs.nl/" rel="noopener" target="_blank">NLnet Labs</a> na linguagem de programação Rust. O aplicativo foi desenvolvido para ser seguro e ter ótima portabilidade. É uma implementação leve que pode ser executada sem esforço em quase qualquer sistema operacional usando hardware minimalista.</p>
<p>O Routinator se conecta às âncoras de confiança dos cinco Registros Regionais da Internet (RIRs) &#8211; APNIC, AFRINIC, ARIN, LACNIC e RIPE NCC &#8211; baixa todos os certificados e ROAs nos vários repositórios, verifica as assinaturas e disponibiliza o resultado para uso em seu fluxo de trabalho BGP.</p>
<p>É um pacote de software completo que pode realizar a validação RPKI como uma operação única e armazenar o resultado no disco em formatos como CSV e JSON, ou executar como um serviço que faz download e verifica periodicamente os dados RPKI. Os roteadores podem se conectar ao Routinator para buscar dados verificados por meio do protocolo <strong>RPKI-RTR</strong>. O servidor HTTP embutido oferece uma interface de usuário e terminais para os vários formatos de arquivo, bem como registro, status e monitoramento do Prometheus.</p>
<p>Mas antes de você querer validar, você já tem seus prefixos validado??? Leia:<br />
<a href="https://blog.remontti.com.br/4848" rel="noopener" target="_blank">Como configurar o RPKI de forma simples</a></p>
<p>Para essa instalação irei usar o <a href="https://blog.remontti.com.br/2966" rel="noopener" target="_blank">Debian 10</a> ou Debian 11</p>
<p>Acesse seu servidor, e não esqueça de virar root da forma correta. Irei atualizar os pacotes e em seguida instalar alguns pacotes que serão necessários para a instalação do Routinator.</p>
<pre class="remontti-code"># su - 
# apt update ; apt upgrade 
# apt install wget gnupg2 apt-transport-https software-properties-common net-tools</pre>
<p>Agora adicione ao repositório do Debian os pacotes da nlnetlabs. Para <a href="https://github.com/NLnetLabs/routinator" rel="noopener" target="_blank">outras distribuição</a> leia a documentação <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f61b.png" alt="😛" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Debian 10</strong></p>
<pre class="remontti-code"># echo &#039;deb [arch=amd64] https://packages.nlnetlabs.nl/linux/debian/ buster main&#039; &gt;  /etc/apt/sources.list.d/nlnetlabs.list</pre>
<p><strong>Debian 11</strong></p>
<pre class="remontti-code"># echo &#039;deb [arch=amd64] https://packages.nlnetlabs.nl/linux/debian/ bullseye main&#039; &gt;  /etc/apt/sources.list.d/nlnetlabs.list</pre>
<p>Em seguida, execute os seguintes comandos para adicionar a chave pública e atualizar a lista de repositórios:</p>
<pre class="remontti-code"># wget -qO- https://packages.nlnetlabs.nl/aptkey.asc | apt-key add -
# apt update</pre>
<p>Procure o pacote para ver se o mesmo se encontra em seu repositório.</p>
<pre class="remontti-code"># apt search routinator</pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2021/07/routinator.deb_.png" data-rel="lightbox-gallery-ya3VxLXC" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/07/routinator.deb_.png" alt="" width="340" height="116" class="alignnone size-full wp-image-5737" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/07/routinator.deb_.png 340w, https://blog.remontti.com.br/wp-content/uploads/2021/07/routinator.deb_-300x102.png 300w" sizes="auto, (max-width: 340px) 100vw, 340px" /></a></p>
<p>Você pode então instala-lo e habilita-lo para iniciar o Routinator com o sistema. </p>
<pre class="remontti-code"># apt install routinator
# systemctl enable routinator
# routinator-init --accept-arin-rpa</pre>
<p>Terá o seguinte retorno:</p>
<pre class="remontti-code">Running command as user routinator: routinator --config /etc/routinator/routinator.conf init --accept-arin-rpa
Created local repository directory /var/lib/routinator/rpki-cache
Installed 5 TALs in /var/lib/routinator/tal</pre>
<p>Por padrão, o Routinator escuta apenas em seu serviço em localhost (tcp/127.0.0.1). Se você quiser que outros dispositivos possam ter acesso o serviço (e vamos querer é claro!) precisamos ajustar para ter acesso de qualquer local, fica tranquilo que já já vamos realizar um firewall para resolver as questões de segurança.</p>
<pre class="remontti-code"># vim /etc/routinator/routinator.conf</pre>
<p>Altere rtr-listen e http-listen:</p>
<pre class="remontti-code">#rtr-listen = [&quot;127.0.0.1:3323&quot;]
#http-listen = [&quot;127.0.0.1:8323&quot;]
rtr-listen = [ &quot;[::]:3323&quot; ]
http-listen = [ &quot;[::]:8323&quot; ]</pre>
<p>Inicie o serviço (Ele leva alguns minutos para fazer a sincronização)</p>
<pre class="remontti-code"># systemctl start routinator</pre>
<p>Verifique se o mesmo não teve nenhum erro.</p>
<pre class="remontti-code"># systemctl status routinator</pre>
<p>Você pode consultar se as portas 8323 e 3323 estão rodando, e se o servidor estebeleceu conexões com os servidores</p>
<pre class="remontti-code"># netstat -putan |grep routinator</pre>
<pre class="remontti-code">tcp        0      0 192.168.254.121:58014   170.39.226.189:443      ESTABELECIDA 354/routinator      
tcp        0     84 192.168.254.121:47658   103.235.88.190:443      ESTABELECIDA 354/routinator      
tcp        0      0 192.168.254.121:53364   149.56.154.148:443      ESTABELECIDA 354/routinator      
tcp        0      0 192.168.254.121:42862   218.241.105.61:443      ESTABELECIDA 354/routinator      
tcp        0      0 192.168.254.121:58334   141.98.88.107:443       ESTABELECIDA 354/routinator      
tcp        0      0 192.168.254.121:60420   45.89.251.100:443       ESTABELECIDA 354/routinator      
tcp        0      0 192.168.254.121:43290   44.242.33.211:443       ESTABELECIDA 354/routinator      
tcp        0      0 192.168.254.121:57370   35.205.101.187:443      ESTABELECIDA 354/routinator      
tcp6       0      0 9999:bebe:bebe:f0d:51314 2602:feda:4:dead:21:443 ESTABELECIDA 354/routinator      
tcp6       0      0 9999:bebe:bebe:f0d:55342 2406:6cc0:a100:4622:443 ESTABELECIDA 354/routinator      
tcp6       0      0 9999:bebe:bebe:f0d:60814 2a01:4f9:c010:206e::443 ESTABELECIDA 354/routinator      
tcp6       0      0 9999:bebe:bebe:f0d:43562 2001:12ff:0:2::50:443   ESTABELECIDA 354/routinator      
tcp6       0      0 9999:bebe:bebe:f0d:58358 2a0e:1cc1:1::1:7:443    ESTABELECIDA 354/routinator      
tcp6       0      0 9999:bebe:bebe:f0d:40998 2a01:6f0:101:17::1:443  ESTABELECIDA 354/routinator      
tcp6       0      0 9999:bebe:bebe:f0d:52372 2001:dd8:9:2::101:1:443 ESTABELECIDA 354/routinator      
tcp6       0      0 9999:bebe:bebe:f0d:55418 2001:67c:2e8:22::c1:443 ESTABELECIDA 354/routinator      
tcp6       0      0 9999:bebe:bebe:f0d:50044 2a04:4e42:5c::729:443   ESTABELECIDA 354/routinator      
tcp6       0      0 9999:bebe:bebe:f0d:50292 2401:2000:6660::14:443  ESTABELECIDA 354/routinator      
tcp6       0      0 9999:bebe:bebe:f0d:56746 2600:6ce4:0:202::7:443  ESTABELECIDA 354/routinator      
tcp6       0      0 9999:bebe:bebe:f0d:39656 2001:13c7:7002:4128:443 ESTABELECIDA 354/routinator      
tcp6       0      0 9999:bebe:bebe:f0d:59412 2001:500:13::149:443    ESTABELECIDA 354/routinator      
tcp6       0      0 9999:bebe:bebe:f0d:50094 2001:dd8:9:2::101:9:443 ESTABELECIDA 354/routinator      
tcp6       0      0 9999:bebe:bebe:f0d:36894 2a09:0:8::21:443        ESTABELECIDA 354/routinator      
tcp6       0      0 9999:bebe:bebe:f0d:50128 2600:9000:20bb:ae00:443 ESTABELECIDA 354/routinator 
tcp6       0      0 :::8080                 :::*                    OUÇA       354/routinator      
tcp6       0      0 :::3323                 :::*                    OUÇA       354/routinator      </pre>
<p>Acesse serviço HTTP <strong>(http://IP:8323)</strong> do Routinator, o mesmo fornece uma interface de usuário, uma <a href="https://routinator.docs.nlnetlabs.nl/en/stable/api-endpoints.html#doc-routinator-api" rel="noopener" target="_blank">API</a>, <a href="https://routinator.docs.nlnetlabs.nl/en/stable/monitoring.html#doc-routinator-monitoring" rel="noopener" target="_blank">monitoramento</a> e <a href="https://routinator.docs.nlnetlabs.nl/en/stable/logging.html#doc-routinator-logging" rel="noopener" target="_blank">log</a> de endpoints.  para ter </p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2021/07/routinator-debian10.png" data-rel="lightbox-gallery-ya3VxLXC" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2021/07/routinator-debian10.png" alt="" width="1920" height="1034" class="alignnone size-full wp-image-5724" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/07/routinator-debian10.png 1920w, https://blog.remontti.com.br/wp-content/uploads/2021/07/routinator-debian10-300x162.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/07/routinator-debian10-1024x551.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/07/routinator-debian10-768x414.png 768w, https://blog.remontti.com.br/wp-content/uploads/2021/07/routinator-debian10-1536x827.png 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>Não podemos esquecer o firewall para proteger nosso Routinator, usarei o nftables para fechar as portas 3323 e 8323 permitindo apenas as listas de IPs <strong>acesso-routinator-v4/acesso-routinator-v6</strong>.</p>
<p>Instale o nftables e ative-o para iniciar com o sistema.</p>
<pre class="remontti-code"># apt install nftables 
# systemctl enable nftables</pre>
<p>Criando as regras:</p>
<pre class="remontti-code"># vim /etc/nftables.conf </pre>
<p>Ajustes para os ips da sua rede que terão acesso ao routinator.</p>
<pre class="remontti-code">#!/usr/sbin/nft -f
  
flush ruleset
 
table inet filter {
 
    # IPs que serão permitidos ter acesso ao routinator
    set acesso-routinator-v4 {
        type ipv4_addr
        flags interval
        elements = { 127.0.0.1, 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8, 100.64.0.0/10, 200.200.200.0/22 }
    }
    set acesso-routinator-v6 {
        type ipv6_addr
        flags interval
        elements = { ::1,  2804:bebe:bebe::/48 }
    }
  
    chain input {
        type filter hook input priority 0;
 
        # RTR
        ip saddr  @acesso-routinator-v4 udp dport 3323 counter accept
        ip6 saddr @acesso-routinator-v6 udp dport 3323 counter accept
        udp dport 3323 counter drop
        
        # HTTP
        ip saddr  @acesso-routinator-v4 udp dport 8323 counter accept
        ip6 saddr @acesso-routinator-v6 udp dport 8323 counter accept
        udp dport 8323 counter drop
 
        type filter hook input priority 0;
    }
    chain forward {
        type filter hook forward priority 0;
    }
    chain output {
        type filter hook output priority 0;
    }
}
</pre>
<p>Reinicie o serviço</p>
<pre class="remontti-code"># systemctl restart nftables</pre>
<p>Verificar as regras com o comando:</p>
<pre class="remontti-code"># nft list ruleset</pre>
<p>Seu Routinator está pronto para receber a conexão de seu roteador. </p>
<h3>Soluções de Hardware</h3>
<p>As versões listadas aqui são as primeiras em que o suporte RPKI foi disponibilizado. No entanto, uma versão mais recente pode ser necessária para obter melhorias recomendadas e correções de bugs.<br />
├── <a href="https://www.juniper.net/documentation/en_US/junos/topics/topic-map/bgp-origin-as-validation.html" rel="noopener" target="_blank">Juniper</a> – Junos versão 12.2 e mais recente. Leia PR1461602 e PR1309944 antes de implantar.<br />
├── <a href="https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/iproute_bgp/configuration/15-s/irg-15-s-book/irg-origin-as.html" rel="noopener" target="_blank">Cisco</a> – IOS versão 15.2 e mais recente, bem como Cisco IOS / XR desde a versão 4.3.2.<br />
├── <a href="https://infocenter.alcatel-lucent.com/public/7750SR160R4A/index.jsp?topic=%2Fcom.sr.unicast%2Fhtml%2Fbgp.html&#038;cp=22_4_7_2&#038;anchor=d2e5366" rel="noopener" target="_blank">Nokia</a> – SR OS 12.0.R4 e mais recente, rodando no 7210 SAS, 7250 IXR, 7750 SR, 7950 XRS e no VSR.<br />
├── <a href="https://support.huawei.com/hedex/hdx.do?lib=EDOC1000142112AEI0520D&#038;docid=EDOC1000142112&#038;lang=en&#038;v=05&#038;tocLib=EDOC1000142112AEI0520D&#038;tocV=05&#038;id=dc_vrp_bgp_cfg_3099&#038;tocURL=resources%2525252Fvrp%2525252Fdc_vrp_bgp_cfg_3099.html&#038;p=t&#038;fe=1&#038;ui=3&#038;keyword=configuring%25252Brpki" rel="noopener" target="_blank">Huawei</a> – VRP 8.150 and newer.<br />
└── <a href="https://forum.mikrotik.com/viewtopic.php?f=1&#038;t=161980" rel="noopener" target="_blank">Mikrotik</a> <a href="https://help.mikrotik.com/docs/pages/viewpage.action?pageId=59277471">RouterOSv7</a> – 7.0beta7 and newer</p>
<h3>Soluções de software</h3>
<p>Várias soluções de software têm suporte para validação de origem:<br />
├── <a href="https://bird.network.cz/" rel="noopener" target="_blank">BIRD</a><br />
├── <a href="http://openbgpd.org/" rel="noopener" target="_blank">OpenBGPD</a><br />
├── <a href="https://frrouting.org/" rel="noopener" target="_blank">FRRouting</a><br />
├── <a href="https://osrg.github.io/gobgp/" rel="noopener" target="_blank">GoBGP</a><br />
└── <a href="https://www.vyos.io/" rel="noopener" target="_blank">VyOS</a></p>
<p>Curtiu o conteúdo? Quer me ajudar manter essa p*** ? <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Participe do canal no <a href="https://t.me/blogremontti" rel="noopener noreferrer" target="_blank">telegram</a> para ficar atualizado sempre que publicar um novo tutorial. </p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p>Fontes:<br />
<a href="https://routinator.docs.nlnetlabs.nl/en/stable/" rel="noopener" target="_blank">https://routinator.docs.nlnetlabs.nl/en/stable/</a><br />
<a href="https://nlnetlabs.nl/projects/rpki/about/" rel="noopener" target="_blank">https://nlnetlabs.nl/projects/rpki/about/</a><br />
<a href="https://github.com/NLnetLabs/routinator" rel="noopener" target="_blank">https://github.com/NLnetLabs/routinator</a><br />
<a href="https://docs.ixpmanager.org/features/rpki/routinator/" rel="noopener" target="_blank">https://docs.ixpmanager.org/features/rpki/routinator/</a></p>
<p>O post <a href="https://blog.remontti.com.br/5720">Instalação do Routinator 3000, um software para validação RPKI</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/5720/feed</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
	</channel>
</rss>
