<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pt-BR">
	<id>https://wiki.brasilpeeringforum.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Diorges</id>
	<title>Wiki BPF - Contribuições do(a) usuário(a) [pt-br]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.brasilpeeringforum.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Diorges"/>
	<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/w/Especial:Contribui%C3%A7%C3%B5es/Diorges"/>
	<updated>2026-04-19T20:51:30Z</updated>
	<subtitle>Contribuições do(a) usuário(a)</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Protegendo_seu_ASN_com_RPKI&amp;diff=2499</id>
		<title>Protegendo seu ASN com RPKI</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Protegendo_seu_ASN_com_RPKI&amp;diff=2499"/>
		<updated>2020-05-31T01:48:56Z</updated>

		<summary type="html">&lt;p&gt;Diorges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Neste artigo iremos mostrar quais os passos necessários para criar ROAs (Route Origin Authorisation) dos prefixos de seu ASN.&lt;br /&gt;
&lt;br /&gt;
Antes de mais nada, deem uma lida nesse artigo: [[Redes que descartam RPKI Invalidos|https://wiki.brasilpeeringforum.org/w/Redes_que_descartam_RPKI_Invalidos]]&lt;br /&gt;
&lt;br /&gt;
Antes de começarmos, se você leu o artigo que deixei o link, você deve ter entendido que todo AS que ainda não criou ROAs de seus prefixos ou ainda não criou o CA para seu ASN, seus prefixos são conhecidos na internet como &amp;quot;unknown&amp;quot; ou &amp;quot;desconhecidos&amp;quot; e com isso seus prefixos ainda serão roteados pela internet, então não se preocupe com isso, esse artigo vai apenas ensinar a você deixar seus prefixos como &amp;quot;valid&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Quero também enfatizar que '''RPKI''' é algo muito importante e devemos tomar cuidado com o que fazemos, sempre que fizermos qualquer alteração em algum ROA, verifique se está correto para não ter problemas, pois, redes que descartam RPKIs inválidos podem parar de rotear seus prefixos que erradamente você não autorizou e pode gerar dor de cabeça (ex.: intermitência ou perda total de comunicação com redes que dropam RPKI inválido), por isso, antes de continuar tenha certeza que vai cuidar direitinho do seus ROAs. PAZ!&lt;br /&gt;
&lt;br /&gt;
Neste artigo será utilizado o '''Krill''' para ativarmos o '''RPKI''' no seu ASN.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
Instalação e Configuração do Krill.&lt;br /&gt;
&lt;br /&gt;
Primeiramente você precisa de uma máquina virtual rodando linux Debian ou Ubuntu, com isso iremos prosseguir para os passos de instalação:&lt;br /&gt;
&lt;br /&gt;
Instalando as dependências para compilar o Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apt install build-essential libssl-dev openssl pkg-config curl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora vamos criar uma pasta para instalar e rodar o Krill:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p /opt/krill/&lt;br /&gt;
cd /opt/krill&lt;br /&gt;
touch krill.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora vamos compilar/instalar o Krill, logo no primeiro comando ele irá fazer uma pergunta, apenas aperte ENTER e siga para os próximos comandos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl --proto '=https' --tlsv1.2 -sSf &amp;lt;nowiki&amp;gt;https://sh.rustup.rs&amp;lt;/nowiki&amp;gt; | sh&lt;br /&gt;
source ~/.cargo/env&lt;br /&gt;
cargo install krill&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute o seguinte comando: &amp;lt;code&amp;gt;krill -V&amp;lt;/code&amp;gt; e se o resultado for algo assim: &amp;lt;code&amp;gt;Krill 0.6.2&amp;lt;/code&amp;gt; o Krill foi instalado com sucesso.&lt;br /&gt;
&lt;br /&gt;
Caso de algum erro, faça os seguintes comandos e tente novamente:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ln -s /root/.cargo/bin/krill /usr/bin&lt;br /&gt;
ln -s /root/.cargo/bin/krillc /usr/bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos agora criar a config inicial do Krill, e criar uma senha/token seguro para o Krill, copie todas as linhas e cole no terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;/opt/krill/krill.conf&lt;br /&gt;
ip = &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
port = 3000&lt;br /&gt;
auth_token = &amp;quot;ColoqueAquiSeuTokenSenhaSeguro&amp;quot;&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Configuração =&lt;br /&gt;
Enfim, nosso Krill já está pronto para ser usado, antes precisamos iniciar o daemon do Krill, mas ainda, infelizmente o Krill não vem com script para iniciar e parar, a NTLabs disponibilizou dois scripts que podemos usar para iniciar e parar o daemon:&lt;br /&gt;
&lt;br /&gt;
Para iniciar (copiar todas as linhas abaixo e colar no terminal do seu Linux):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;/usr/bin/krill_start&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
KRILL=&amp;quot;krill&amp;quot;&lt;br /&gt;
DATA_DIR=&amp;quot;/opt/krill&amp;quot;&lt;br /&gt;
KRILL_PID=&amp;quot;$DATA_DIR/krill.pid&amp;quot;&lt;br /&gt;
CONF=&amp;quot;$DATA_DIR/krill.conf&amp;quot;&lt;br /&gt;
SCRIPT_OUT=&amp;quot;$DATA_DIR/krill.log&amp;quot;&lt;br /&gt;
nohup $KRILL -c $CONF &amp;gt;$SCRIPT_OUT 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
echo $! &amp;gt; $KRILL_PID&lt;br /&gt;
EOF&lt;br /&gt;
chmod +x /usr/bin/krill_start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para parar (copiar todas as linhas abaixo e colar no terminal do seu Linux):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;/usr/bin/krill_stop&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
DATA_DIR=&amp;quot;/opt/krill&amp;quot;&lt;br /&gt;
KRILL_PID=&amp;quot;$DATA_DIR/krill.pid&amp;quot;&lt;br /&gt;
kill `cat $KRILL_PID`&lt;br /&gt;
EOF&lt;br /&gt;
chmod +x /usr/bin/krill_stop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora temos 2 novos comandos no terminal do linux &amp;lt;code&amp;gt;krill_start&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;krill_stop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Então iniciemos o daemon do Krill com o comando &amp;lt;code&amp;gt;krill_start&amp;lt;/code&amp;gt; direto no seu terminal, pronto, agora temos o daemon do Krill rodando e já podemos criar nossos ROAs.&lt;br /&gt;
&lt;br /&gt;
= Habilitando RPKI e Autorizando os ROAs =&lt;br /&gt;
Vamos então criar nosso CA utilizando o cliente do Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc add --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos criar agora nosso child_request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc parents request --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esse último comando gerou um XML chamado child_request, com ele conseguiremos gerar o parent_response no site do registro.br, então copie o XML.&lt;br /&gt;
&lt;br /&gt;
Para gerar o parent_response siga os passos abaixo:&lt;br /&gt;
# Entre na sua conta no Registro.br&lt;br /&gt;
# Vá em Titularidade e clique no seu ASN&lt;br /&gt;
# No final da página clique em '''CONFIGURAR RPKI'''&lt;br /&gt;
# No campo '''child request''' cole o XML que foi gerado pelo comando e clique em '''HABILITAR RPKI.'''&lt;br /&gt;
[[Arquivo:Rpki.png|semmoldura|640x640px|borda]]&lt;br /&gt;
&lt;br /&gt;
O Registro.br irá gerar um outro XML chamado '''parent_response:'''&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Parent response rpki.png|semmoldura|640x640px|borda]]&lt;br /&gt;
&lt;br /&gt;
Copie o conteúdo e volte ao linux!&lt;br /&gt;
&lt;br /&gt;
Agora vou facilitar para você criar um arquivo com o conteúdo do parent_response dentro do seu Linux, copie o comando abaixo e cole no seu Editor de Texto preferido e substitua no indicado com o XML gerado e execute todo o comando no terminal do linux.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;parent_response.xml&lt;br /&gt;
COLE AQUI O XML PARENT RESPONSE&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aqui como meu SO é Windows, optei pelo Bloco de Notas, segue um exemplo do comando preenchido:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Parent response.png|semmoldura|640x640px|borda]]&lt;br /&gt;
&lt;br /&gt;
E aqui um exemplo dele &amp;quot;colado&amp;quot; no terminal do linux:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Parent response terminal.png|semmoldura|640x640px]]&lt;br /&gt;
&lt;br /&gt;
Temos agora um arquivo chamado parent_response.xml, vamos adicionar ele ao nosso Krill.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc parents add remote --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --parent nicbr_ca --rfc8183 parent_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pronto, agora sim, o RPKI está ativo no seu ASN!&lt;br /&gt;
&lt;br /&gt;
Vamos então gerar os ROAs de seus prefixos para protegê-los e prevenir que sofram hijack.&lt;br /&gt;
&lt;br /&gt;
Mas antes vamos ativar para que o Krill faça publicação remota no registro.br, volte ao terminal do seu linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc repo request --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O comando anterior gerou um XML chamado publisher_request, com ele copiado volte ao registro.br onde você ativou o RPKI e logo abaixo do Parent response, tem um link &amp;quot;Configurar publicação remota&amp;quot;, clique nele, no campo que apareceu cole o XML e clique em '''HABILITAR PUBLICAÇÃO REMOTA.'''&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Publicacao remota rpki.png|semmoldura|640x640px|borda]]&lt;br /&gt;
&lt;br /&gt;
Agora você tem outro XML, chamado Repository response:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Repository response rpki.png|semmoldura|640x640px|borda]]&lt;br /&gt;
&lt;br /&gt;
Seguindo o mesmo principio, precisamos criar um arquivo no linux com esse XML.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;repository_response.xml&lt;br /&gt;
COLE AQUI O XML REPOSITORY RESPONSE&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora que temos o arquivo xml criado no Linux, vamos autorizar em nosso Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc repo update remote --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --rfc8183 repository_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E, finalmente podemos criar os ROAs deu seus prefixos, para isso vamos criar um arquivo, mas antes de mais nada, abra seu Editor de Texto preferido e cole o seguinte comando:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;meus_roas.txt&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Irei utilizar como exemplo o ASN 65535, substituir pelo seu ASN e seus prefixos.&lt;br /&gt;
&lt;br /&gt;
Após o meus_roas.txt, na segunda linha, vamos adicionar os ROAs que queremos que sejam válidos, eu vou explanar antes como funciona isso e depois você pode brincar um pouco.&lt;br /&gt;
&lt;br /&gt;
Você pode adicionar &amp;quot;A&amp;quot; ou remover &amp;quot;R&amp;quot; um ROA sempre que quiser e é bem simples, no arquivo que vamos utilizar para publicar os ROAs você pode fazer o seguinte:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8::/32-48 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
Exemplo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Roas exemplo notepad.png|semmoldura|543x543px|borda]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note que coloquei 22-24 para IPv4 e 32-48 para IPv6, ou seja, estamos dizendo que seus prefixos dentro desse range serão válidos para serem exportados!&lt;br /&gt;
Outro caso:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 192.168.1.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 192.168.2.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 192.168.3.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8::/48 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8:9000::/48 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nesse caso, estamos dizendo que os blocos /24 são os únicos válidos, ou seja, quando algum provedor for exportar seus blocos, e por algum motivo ele tentar exportar seu prefixo /23 para um AS que valide os prefixos por RPKI, esse AS vai aceitar somente os prefixos /24 pois você não validou o /23 e com isso o prefixo é descartado e não será roteado por esse AS.&lt;br /&gt;
&lt;br /&gt;
Vamos para outro exemplo, vamos supor que você fez o primeiro exemplo de validar os prefixo 22 até 24, e você resolveu que não quer mais assim e quer somente validar os prefixos /22 e /23, para isso você abre o seu arquivo de roas, apague tudo e faça o seguinte:&lt;br /&gt;
&lt;br /&gt;
R: 192.168.0.0/22-24 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Salve o arquivo e atualize seus ROAs, e agora abra denovo o arquivo e faça o seguinte:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-23 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E agora pode atualizar novamente seus ROAs, nesse momento, todos os AS que fazem drop de RPKI invalid, não irão mais aceitar prefixos /24 do seu AS originados por qualquer AS, e perceberam que toda vez que quero mudar alguma coisa eu tenho que apagar o que fiz anteriormente e &amp;quot;R&amp;quot;emover ou &amp;quot;A&amp;quot;adicionar? Entenderam a mecânica?&lt;br /&gt;
&lt;br /&gt;
Bom, agora que você entendeu como funciona, vamos aos comandos para atualizar e autorizar os ROAs.&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8::/32-48 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Você colocou seus prefixos no arquivo, agora execute o seguinte comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc roas update --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --delta meus_roas.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pronto, com isso você já atualizou os ROAs, e seus prefixos agora são válidos e não mais desconhecidos.&lt;br /&gt;
&lt;br /&gt;
= Validando ROAs =&lt;br /&gt;
&lt;br /&gt;
Para saber se tudo funcionou, vamos fazer um whois no BGPmon.net:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois -h whois.bgpmon.net 192.168.0.0/22&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ou&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois -h whois.bgpmon.net &amp;quot; --roa 65535 192.168.0.0/22&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue um exemplo de como deve ser o resultado:&lt;br /&gt;
&lt;br /&gt;
Exemplo resultado do primeiro comando:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:ROA_Valido.png|640x640px]]&lt;br /&gt;
&lt;br /&gt;
Exemplo resultado do segundo comando:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:ROA_Valido_02.png|640x640px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Outros lugares que você pode validar seu ASN se está protegido com RPKI:&lt;br /&gt;
&lt;br /&gt;
[1] https://sg-pub.ripe.net/jasper/rpki-web-test/&lt;br /&gt;
&lt;br /&gt;
[2] https://rpki-validator.ripe.net/roas&lt;br /&gt;
&lt;br /&gt;
[3] https://rpki.cloudflare.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esse é o primeiro passo, agora que você tem seu ASN protegido com RPKI, o próximo passo é você também validar prefixos de outros ASs e dropar prefixos inválidos direto no seu BGP utilizando Routinator para validação, mas isso vai ficar para outro artigo.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE:''' Manter seu Krill sempre atualizado, rodando, ligado e nunca pare o daemon.&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Artigo feito por: '''Diorges Rocha'''&lt;br /&gt;
[[Categoria:Roteamento]]&lt;br /&gt;
[[Categoria:BCOPs]]&lt;/div&gt;</summary>
		<author><name>Diorges</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Protegendo_seu_ASN_com_RPKI&amp;diff=2498</id>
		<title>Protegendo seu ASN com RPKI</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Protegendo_seu_ASN_com_RPKI&amp;diff=2498"/>
		<updated>2020-05-31T01:43:30Z</updated>

		<summary type="html">&lt;p&gt;Diorges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Neste artigo iremos mostrar quais os passos necessários para criar ROAs (Route Origin Authorisation) dos prefixos de seu ASN.&lt;br /&gt;
&lt;br /&gt;
Antes de mais nada, deem uma lida nesse artigo: [[Redes que descartam RPKI Invalidos|https://wiki.brasilpeeringforum.org/w/Redes_que_descartam_RPKI_Invalidos]]&lt;br /&gt;
&lt;br /&gt;
Antes de começarmos, se você leu o artigo que deixei o link, você deve ter entendido que todo AS que ainda não criou ROAs de seus prefixos ou ainda não criou o CA para seu ASN, seus prefixos são conhecidos na internet como &amp;quot;unknown&amp;quot; ou &amp;quot;desconhecidos&amp;quot; e com isso seus prefixos ainda serão roteados pela internet, então não se preocupe com isso, esse artigo vai apenas ensinar a você deixar seus prefixos como &amp;quot;valid&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Quero também enfatizar que '''RPKI''' é algo muito importante e devemos tomar cuidado com o que fazemos, sempre que fizermos qualquer alteração em algum ROA, verifique se está correto para não ter problemas, pois, redes que descartam RPKIs inválidos podem parar de rotear seus prefixos que erradamente você não autorizou e pode gerar dor de cabeça (ex.: intermitência ou perda total de comunicação com redes que dropam RPKI inválido), por isso, antes de continuar tenha certeza que vai cuidar direitinho do seus ROAs. PAZ!&lt;br /&gt;
&lt;br /&gt;
Neste artigo será utilizado o '''Krill''' para ativarmos o '''RPKI''' no seu ASN.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
Instalação e Configuração do Krill.&lt;br /&gt;
&lt;br /&gt;
Primeiramente você precisa de uma máquina virtual rodando linux Debian ou Ubuntu, com isso iremos prosseguir para os passos de instalação:&lt;br /&gt;
&lt;br /&gt;
Instalando as dependências para compilar o Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apt install build-essential libssl-dev openssl pkg-config curl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora vamos criar uma pasta para instalar e rodar o Krill:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p /opt/krill/&lt;br /&gt;
cd /opt/krill&lt;br /&gt;
touch krill.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora vamos compilar/instalar o Krill, logo no primeiro comando ele irá fazer uma pergunta, apenas aperte ENTER e siga para os próximos comandos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl --proto '=https' --tlsv1.2 -sSf &amp;lt;nowiki&amp;gt;https://sh.rustup.rs&amp;lt;/nowiki&amp;gt; | sh&lt;br /&gt;
source ~/.cargo/env&lt;br /&gt;
cargo install krill&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute o seguinte comando: &amp;lt;code&amp;gt;krill -V&amp;lt;/code&amp;gt; e se o resultado for algo assim: &amp;lt;code&amp;gt;Krill 0.6.2&amp;lt;/code&amp;gt; o Krill foi instalado com sucesso.&lt;br /&gt;
&lt;br /&gt;
Caso de algum erro, faça os seguintes comandos e tente novamente:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ln -s /root/.cargo/bin/krill /usr/bin&lt;br /&gt;
ln -s /root/.cargo/bin/krillc /usr/bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos agora criar a config inicial do Krill, e criar uma senha/token seguro para o Krill, copie todas as linhas e cole no terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;/opt/krill/krill.conf&lt;br /&gt;
ip = &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
port = 3000&lt;br /&gt;
auth_token = &amp;quot;ColoqueAquiSeuTokenSenhaSeguro&amp;quot;&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Configuração =&lt;br /&gt;
Enfim, nosso Krill já está pronto para ser usado, antes precisamos iniciar o daemon do Krill, mas ainda, infelizmente o Krill não vem com script para iniciar e parar, a NTLabs disponibilizou dois scripts que podemos usar para iniciar e parar o daemon:&lt;br /&gt;
&lt;br /&gt;
Para iniciar (copiar todas as linhas abaixo e colar no terminal do seu Linux):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;/usr/bin/krill_start&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
KRILL=&amp;quot;krill&amp;quot;&lt;br /&gt;
DATA_DIR=&amp;quot;/opt/krill&amp;quot;&lt;br /&gt;
KRILL_PID=&amp;quot;$DATA_DIR/krill.pid&amp;quot;&lt;br /&gt;
CONF=&amp;quot;$DATA_DIR/krill.conf&amp;quot;&lt;br /&gt;
SCRIPT_OUT=&amp;quot;$DATA_DIR/krill.log&amp;quot;&lt;br /&gt;
nohup $KRILL -c $CONF &amp;gt;$SCRIPT_OUT 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
echo $! &amp;gt; $KRILL_PID&lt;br /&gt;
EOF&lt;br /&gt;
chmod +x /usr/bin/krill_start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para parar (copiar todas as linhas abaixo e colar no terminal do seu Linux):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;/usr/bin/krill_stop&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
DATA_DIR=&amp;quot;/opt/krill&amp;quot;&lt;br /&gt;
KRILL_PID=&amp;quot;$DATA_DIR/krill.pid&amp;quot;&lt;br /&gt;
kill `cat $KRILL_PID`&lt;br /&gt;
EOF&lt;br /&gt;
chmod +x /usr/bin/krill_stop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora temos 2 novos comandos no terminal do linux &amp;lt;code&amp;gt;krill_start&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;krill_stop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Então iniciemos o daemon do Krill com o comando &amp;lt;code&amp;gt;krill_start&amp;lt;/code&amp;gt; direto no seu terminal, pronto, agora temos o daemon do Krill rodando e já podemos criar nossos ROAs.&lt;br /&gt;
&lt;br /&gt;
= Habilitando RPKI e Autorizando os ROAs =&lt;br /&gt;
Vamos então criar nosso CA utilizando o cliente do Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc add --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos criar agora nosso child_request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc parents request --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esse último comando gerou um XML chamado child_request, com ele conseguiremos gerar o parent_response no site do registro.br, então copie o XML.&lt;br /&gt;
&lt;br /&gt;
Para gerar o parent_response siga os passos abaixo:&lt;br /&gt;
# Entre na sua conta no Registro.br&lt;br /&gt;
# Vá em Titularidade e clique no seu ASN&lt;br /&gt;
# No final da página clique em '''CONFIGURAR RPKI'''&lt;br /&gt;
# No campo '''child request''' cole o XML que foi gerado pelo comando e clique em '''HABILITAR RPKI.'''&lt;br /&gt;
[[Arquivo:Rpki.png|semmoldura|812x812px|borda]]&lt;br /&gt;
&lt;br /&gt;
O Registro.br irá gerar um outro XML chamado '''parent_response:'''&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Parent response rpki.png|semmoldura|640x640px|borda]]&lt;br /&gt;
&lt;br /&gt;
Copie o conteúdo e volte ao linux!&lt;br /&gt;
&lt;br /&gt;
Agora vou facilitar para você criar um arquivo com o conteúdo do parent_response dentro do seu Linux, copie o comando abaixo e cole no seu Editor de Texto preferido e substitua no indicado com o XML gerado e execute todo o comando no terminal do linux.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;parent_response.xml&lt;br /&gt;
COLE AQUI O XML PARENT RESPONSE&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aqui como meu SO é Windows, optei pelo Bloco de Notas, segue um exemplo do comando preenchido:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Parent response.png|semmoldura|640x640px|borda]]&lt;br /&gt;
&lt;br /&gt;
E aqui um exemplo dele &amp;quot;colado&amp;quot; no terminal do linux:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Parent response terminal.png|semmoldura|640x640px]]&lt;br /&gt;
&lt;br /&gt;
Temos agora um arquivo chamado parent_response.xml, vamos adicionar ele ao nosso Krill.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc parents add remote --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --parent nicbr_ca --rfc8183 parent_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pronto, agora sim, o RPKI está ativo no seu ASN!&lt;br /&gt;
&lt;br /&gt;
Vamos então gerar os ROAs de seus prefixos para protegê-los e prevenir que sofram hijack.&lt;br /&gt;
&lt;br /&gt;
Mas antes vamos ativar para que o Krill faça publicação remota no registro.br, volte ao terminal do seu linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc repo request --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O comando anterior gerou um XML chamado publisher_request, com ele copiado volte ao registro.br onde você ativou o RPKI e logo abaixo do Parent response, tem um link &amp;quot;Configurar publicação remota&amp;quot;, clique nele, no campo que apareceu cole o XML e clique em '''HABILITAR PUBLICAÇÃO REMOTA.'''&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Publicacao remota rpki.png|semmoldura|786x786px|borda]]&lt;br /&gt;
&lt;br /&gt;
Agora você tem outro XML, chamado Repository response:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Repository response rpki.png|semmoldura|640x640px|borda]]&lt;br /&gt;
&lt;br /&gt;
Seguindo o mesmo principio, precisamos criar um arquivo no linux com esse XML.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;repository_response.xml&lt;br /&gt;
COLE AQUI O XML REPOSITORY RESPONSE&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora que temos o arquivo xml criado no Linux, vamos autorizar em nosso Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc repo update remote --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --rfc8183 repository_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E, finalmente podemos criar os ROAs deu seus prefixos, para isso vamos criar um arquivo, mas antes de mais nada, abra seu Editor de Texto preferido e cole o seguinte comando:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;meus_roas.txt&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Irei utilizar como exemplo o ASN 65535, substituir pelo seu ASN e seus prefixos.&lt;br /&gt;
&lt;br /&gt;
Após o meus_roas.txt, na segunda linha, vamos adicionar os ROAs que queremos que sejam válidos, eu vou explanar antes como funciona isso e depois você pode brincar um pouco.&lt;br /&gt;
&lt;br /&gt;
Você pode adicionar &amp;quot;A&amp;quot; ou remover &amp;quot;R&amp;quot; um ROA sempre que quiser e é bem simples, no arquivo que vamos utilizar para publicar os ROAs você pode fazer o seguinte:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8::/32-48 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
Exemplo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Roas exemplo notepad.png|semmoldura|543x543px|borda]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note que coloquei 22-24 para IPv4 e 32-48 para IPv6, ou seja, estamos dizendo que seus prefixos dentro desse range serão válidos para serem exportados!&lt;br /&gt;
Outro caso:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 192.168.1.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 192.168.2.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 192.168.3.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8::/48 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8:9000::/48 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nesse caso, estamos dizendo que os blocos /24 são os únicos válidos, ou seja, quando algum provedor for exportar seus blocos, e por algum motivo ele tentar exportar seu prefixo /23 para um AS que valide os prefixos por RPKI, esse AS vai aceitar somente os prefixos /24 pois você não validou o /23 e com isso o prefixo é descartado e não será roteado por esse AS.&lt;br /&gt;
&lt;br /&gt;
Vamos para outro exemplo, vamos supor que você fez o primeiro exemplo de validar os prefixo 22 até 24, e você resolveu que não quer mais assim e quer somente validar os prefixos /22 e /23, para isso você abre o seu arquivo de roas, apague tudo e faça o seguinte:&lt;br /&gt;
&lt;br /&gt;
R: 192.168.0.0/22-24 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Salve o arquivo e atualize seus ROAs, e agora abra denovo o arquivo e faça o seguinte:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-23 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E agora pode atualizar novamente seus ROAs, nesse momento, todos os AS que fazem drop de RPKI invalid, não irão mais aceitar prefixos /24 do seu AS originados por qualquer AS, e perceberam que toda vez que quero mudar alguma coisa eu tenho que apagar o que fiz anteriormente e &amp;quot;R&amp;quot;emover ou &amp;quot;A&amp;quot;adicionar? Entenderam a mecânica?&lt;br /&gt;
&lt;br /&gt;
Bom, agora que você entendeu como funciona, vamos aos comandos para atualizar e autorizar os ROAs.&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8::/32-48 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Você colocou seus prefixos no arquivo, agora execute o seguinte comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc roas update --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --delta meus_roas.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pronto, com isso você já atualizou os ROAs, e seus prefixos agora são válidos e não mais desconhecidos.&lt;br /&gt;
&lt;br /&gt;
= Validando ROAs =&lt;br /&gt;
&lt;br /&gt;
Para saber se tudo funcionou, vamos fazer um whois no BGPmon.net:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois -h whois.bgpmon.net 192.168.0.0/22&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ou&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois -h whois.bgpmon.net &amp;quot; --roa 65535 192.168.0.0/22&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue um exemplo de como deve ser o resultado:&lt;br /&gt;
&lt;br /&gt;
Exemplo resultado do primeiro comando:&lt;br /&gt;
[[Arquivo:ROA Valido.png|nenhum]]&lt;br /&gt;
&lt;br /&gt;
Exemplo resultado do segundo comando:&lt;br /&gt;
[[Arquivo:ROA Valido 02.png|nenhum]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Outros lugares que você pode validar seu ASN se está protegido com RPKI:&lt;br /&gt;
&lt;br /&gt;
[1] https://sg-pub.ripe.net/jasper/rpki-web-test/&lt;br /&gt;
&lt;br /&gt;
[2] https://rpki-validator.ripe.net/roas&lt;br /&gt;
&lt;br /&gt;
[3] https://rpki.cloudflare.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esse é o primeiro passo, agora que você tem seu ASN protegido com RPKI, o próximo passo é você também validar prefixos de outros ASs e dropar prefixos inválidos direto no seu BGP utilizando Routinator para validação, mas isso vai ficar para outro artigo.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE:''' Manter seu Krill sempre atualizado, rodando, ligado e nunca pare o daemon.&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Artigo feito por: '''Diorges Rocha'''&lt;br /&gt;
[[Categoria:Roteamento]]&lt;br /&gt;
[[Categoria:BCOPs]]&lt;/div&gt;</summary>
		<author><name>Diorges</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:Parent_response_terminal.png&amp;diff=2497</id>
		<title>Arquivo:Parent response terminal.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:Parent_response_terminal.png&amp;diff=2497"/>
		<updated>2020-05-31T01:42:48Z</updated>

		<summary type="html">&lt;p&gt;Diorges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Parent Response RPKI terminal exemplo&lt;/div&gt;</summary>
		<author><name>Diorges</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Protegendo_seu_ASN_com_RPKI&amp;diff=2496</id>
		<title>Protegendo seu ASN com RPKI</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Protegendo_seu_ASN_com_RPKI&amp;diff=2496"/>
		<updated>2020-05-31T01:39:16Z</updated>

		<summary type="html">&lt;p&gt;Diorges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Neste artigo iremos mostrar quais os passos necessários para criar ROAs (Route Origin Authorisation) dos prefixos de seu ASN.&lt;br /&gt;
&lt;br /&gt;
Antes de mais nada, deem uma lida nesse artigo: [[Redes que descartam RPKI Invalidos|https://wiki.brasilpeeringforum.org/w/Redes_que_descartam_RPKI_Invalidos]]&lt;br /&gt;
&lt;br /&gt;
Antes de começarmos, se você leu o artigo que deixei o link, você deve ter entendido que todo AS que ainda não criou ROAs de seus prefixos ou ainda não criou o CA para seu ASN, seus prefixos são conhecidos na internet como &amp;quot;unknown&amp;quot; ou &amp;quot;desconhecidos&amp;quot; e com isso seus prefixos ainda serão roteados pela internet, então não se preocupe com isso, esse artigo vai apenas ensinar a você deixar seus prefixos como &amp;quot;valid&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Quero também enfatizar que '''RPKI''' é algo muito importante e devemos tomar cuidado com o que fazemos, sempre que fizermos qualquer alteração em algum ROA, verifique se está correto para não ter problemas, pois, redes que descartam RPKIs inválidos podem parar de rotear seus prefixos que erradamente você não autorizou e pode gerar dor de cabeça (ex.: intermitência ou perda total de comunicação com redes que dropam RPKI inválido), por isso, antes de continuar tenha certeza que vai cuidar direitinho do seus ROAs. PAZ!&lt;br /&gt;
&lt;br /&gt;
Neste artigo será utilizado o '''Krill''' para ativarmos o '''RPKI''' no seu ASN.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
Instalação e Configuração do Krill.&lt;br /&gt;
&lt;br /&gt;
Primeiramente você precisa de uma máquina virtual rodando linux Debian ou Ubuntu, com isso iremos prosseguir para os passos de instalação:&lt;br /&gt;
&lt;br /&gt;
Instalando as dependências para compilar o Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apt install build-essential libssl-dev openssl pkg-config curl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora vamos criar uma pasta para instalar e rodar o Krill:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p /opt/krill/&lt;br /&gt;
cd /opt/krill&lt;br /&gt;
touch krill.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora vamos compilar/instalar o Krill, logo no primeiro comando ele irá fazer uma pergunta, apenas aperte ENTER e siga para os próximos comandos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl --proto '=https' --tlsv1.2 -sSf &amp;lt;nowiki&amp;gt;https://sh.rustup.rs&amp;lt;/nowiki&amp;gt; | sh&lt;br /&gt;
source ~/.cargo/env&lt;br /&gt;
cargo install krill&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute o seguinte comando: &amp;lt;code&amp;gt;krill -V&amp;lt;/code&amp;gt; e se o resultado for algo assim: &amp;lt;code&amp;gt;Krill 0.6.2&amp;lt;/code&amp;gt; o Krill foi instalado com sucesso.&lt;br /&gt;
&lt;br /&gt;
Caso de algum erro, faça os seguintes comandos e tente novamente:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ln -s /root/.cargo/bin/krill /usr/bin&lt;br /&gt;
ln -s /root/.cargo/bin/krillc /usr/bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos agora criar a config inicial do Krill, e criar uma senha/token seguro para o Krill, copie todas as linhas e cole no terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;/opt/krill/krill.conf&lt;br /&gt;
ip = &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
port = 3000&lt;br /&gt;
auth_token = &amp;quot;ColoqueAquiSeuTokenSenhaSeguro&amp;quot;&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Configuração =&lt;br /&gt;
Enfim, nosso Krill já está pronto para ser usado, antes precisamos iniciar o daemon do Krill, mas ainda, infelizmente o Krill não vem com script para iniciar e parar, a NTLabs disponibilizou dois scripts que podemos usar para iniciar e parar o daemon:&lt;br /&gt;
&lt;br /&gt;
Para iniciar (copiar todas as linhas abaixo e colar no terminal do seu Linux):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;/usr/bin/krill_start&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
KRILL=&amp;quot;krill&amp;quot;&lt;br /&gt;
DATA_DIR=&amp;quot;/opt/krill&amp;quot;&lt;br /&gt;
KRILL_PID=&amp;quot;$DATA_DIR/krill.pid&amp;quot;&lt;br /&gt;
CONF=&amp;quot;$DATA_DIR/krill.conf&amp;quot;&lt;br /&gt;
SCRIPT_OUT=&amp;quot;$DATA_DIR/krill.log&amp;quot;&lt;br /&gt;
nohup $KRILL -c $CONF &amp;gt;$SCRIPT_OUT 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
echo $! &amp;gt; $KRILL_PID&lt;br /&gt;
EOF&lt;br /&gt;
chmod +x /usr/bin/krill_start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para parar (copiar todas as linhas abaixo e colar no terminal do seu Linux):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;/usr/bin/krill_stop&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
DATA_DIR=&amp;quot;/opt/krill&amp;quot;&lt;br /&gt;
KRILL_PID=&amp;quot;$DATA_DIR/krill.pid&amp;quot;&lt;br /&gt;
kill `cat $KRILL_PID`&lt;br /&gt;
EOF&lt;br /&gt;
chmod +x /usr/bin/krill_stop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora temos 2 novos comandos no terminal do linux &amp;lt;code&amp;gt;krill_start&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;krill_stop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Então iniciemos o daemon do Krill com o comando &amp;lt;code&amp;gt;krill_start&amp;lt;/code&amp;gt; direto no seu terminal, pronto, agora temos o daemon do Krill rodando e já podemos criar nossos ROAs.&lt;br /&gt;
&lt;br /&gt;
= Habilitando RPKI e Autorizando os ROAs =&lt;br /&gt;
Vamos então criar nosso CA utilizando o cliente do Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc add --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos criar agora nosso child_request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc parents request --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esse último comando gerou um XML chamado child_request, com ele conseguiremos gerar o parent_response no site do registro.br, então copie o XML.&lt;br /&gt;
&lt;br /&gt;
Para gerar o parent_response siga os passos abaixo:&lt;br /&gt;
# Entre na sua conta no Registro.br&lt;br /&gt;
# Vá em Titularidade e clique no seu ASN&lt;br /&gt;
# No final da página clique em '''CONFIGURAR RPKI'''&lt;br /&gt;
# No campo '''child request''' cole o XML que foi gerado pelo comando e clique em '''HABILITAR RPKI.'''&lt;br /&gt;
[[Arquivo:Rpki.png|semmoldura|812x812px|borda]]&lt;br /&gt;
&lt;br /&gt;
O Registro.br irá gerar um outro XML chamado '''parent_response:'''&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Parent response rpki.png|semmoldura|640x640px|borda]]&lt;br /&gt;
&lt;br /&gt;
Copie o conteúdo e volte ao linux!&lt;br /&gt;
&lt;br /&gt;
Agora vou facilitar para você criar um arquivo com o conteúdo do parent_response dentro do seu Linux, copie o comando abaixo e cole no seu Editor de Texto preferido e substitua no indicado com o XML gerado e execute todo o comando no terminal do linux.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;parent_response.xml&lt;br /&gt;
COLE AQUI O XML PARENT RESPONSE&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aqui como meu SO é Windows, optei pelo Bloco de Notas, segue um exemplo do comando preenchido:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Parent response.png|semmoldura|640x640px|borda]]&lt;br /&gt;
&lt;br /&gt;
Temos agora um arquivo chamado parent_response.xml, vamos adicionar ele ao nosso Krill.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc parents add remote --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --parent nicbr_ca --rfc8183 parent_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pronto, agora sim, o RPKI está ativo no seu ASN!&lt;br /&gt;
&lt;br /&gt;
Vamos então gerar os ROAs de seus prefixos para protegê-los e prevenir que sofram hijack.&lt;br /&gt;
&lt;br /&gt;
Mas antes vamos ativar para que o Krill faça publicação remota no registro.br, volte ao terminal do seu linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc repo request --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O comando anterior gerou um XML chamado publisher_request, com ele copiado volte ao registro.br onde você ativou o RPKI e logo abaixo do Parent response, tem um link &amp;quot;Configurar publicação remota&amp;quot;, clique nele, no campo que apareceu cole o XML e clique em '''HABILITAR PUBLICAÇÃO REMOTA.'''&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Publicacao remota rpki.png|semmoldura|786x786px|borda]]&lt;br /&gt;
&lt;br /&gt;
Agora você tem outro XML, chamado Repository response:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Repository response rpki.png|semmoldura|640x640px|borda]]&lt;br /&gt;
&lt;br /&gt;
Seguindo o mesmo principio, precisamos criar um arquivo no linux com esse XML.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;repository_response.xml&lt;br /&gt;
COLE AQUI O XML REPOSITORY RESPONSE&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora que temos o arquivo xml criado no Linux, vamos autorizar em nosso Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc repo update remote --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --rfc8183 repository_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E, finalmente podemos criar os ROAs deu seus prefixos, para isso vamos criar um arquivo, mas antes de mais nada, abra seu Editor de Texto preferido e cole o seguinte comando:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;meus_roas.txt&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Irei utilizar como exemplo o ASN 65535, substituir pelo seu ASN e seus prefixos.&lt;br /&gt;
&lt;br /&gt;
Após o meus_roas.txt, na segunda linha, vamos adicionar os ROAs que queremos que sejam válidos, eu vou explanar antes como funciona isso e depois você pode brincar um pouco.&lt;br /&gt;
&lt;br /&gt;
Você pode adicionar &amp;quot;A&amp;quot; ou remover &amp;quot;R&amp;quot; um ROA sempre que quiser e é bem simples, no arquivo que vamos utilizar para publicar os ROAs você pode fazer o seguinte:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8::/32-48 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
Exemplo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Roas exemplo notepad.png|semmoldura|543x543px|borda]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note que coloquei 22-24 para IPv4 e 32-48 para IPv6, ou seja, estamos dizendo que seus prefixos dentro desse range serão válidos para serem exportados!&lt;br /&gt;
Outro caso:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 192.168.1.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 192.168.2.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 192.168.3.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8::/48 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8:9000::/48 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nesse caso, estamos dizendo que os blocos /24 são os únicos válidos, ou seja, quando algum provedor for exportar seus blocos, e por algum motivo ele tentar exportar seu prefixo /23 para um AS que valide os prefixos por RPKI, esse AS vai aceitar somente os prefixos /24 pois você não validou o /23 e com isso o prefixo é descartado e não será roteado por esse AS.&lt;br /&gt;
&lt;br /&gt;
Vamos para outro exemplo, vamos supor que você fez o primeiro exemplo de validar os prefixo 22 até 24, e você resolveu que não quer mais assim e quer somente validar os prefixos /22 e /23, para isso você abre o seu arquivo de roas, apague tudo e faça o seguinte:&lt;br /&gt;
&lt;br /&gt;
R: 192.168.0.0/22-24 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Salve o arquivo e atualize seus ROAs, e agora abra denovo o arquivo e faça o seguinte:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-23 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E agora pode atualizar novamente seus ROAs, nesse momento, todos os AS que fazem drop de RPKI invalid, não irão mais aceitar prefixos /24 do seu AS originados por qualquer AS, e perceberam que toda vez que quero mudar alguma coisa eu tenho que apagar o que fiz anteriormente e &amp;quot;R&amp;quot;emover ou &amp;quot;A&amp;quot;adicionar? Entenderam a mecânica?&lt;br /&gt;
&lt;br /&gt;
Bom, agora que você entendeu como funciona, vamos aos comandos para atualizar e autorizar os ROAs.&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8::/32-48 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Você colocou seus prefixos no arquivo, agora execute o seguinte comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc roas update --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --delta meus_roas.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pronto, com isso você já atualizou os ROAs, e seus prefixos agora são válidos e não mais desconhecidos.&lt;br /&gt;
&lt;br /&gt;
= Validando ROAs =&lt;br /&gt;
&lt;br /&gt;
Para saber se tudo funcionou, vamos fazer um whois no BGPmon.net:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois -h whois.bgpmon.net 192.168.0.0/22&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ou&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois -h whois.bgpmon.net &amp;quot; --roa 65535 192.168.0.0/22&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue um exemplo de como deve ser o resultado:&lt;br /&gt;
&lt;br /&gt;
Exemplo resultado do primeiro comando:&lt;br /&gt;
[[Arquivo:ROA Valido.png|nenhum]]&lt;br /&gt;
&lt;br /&gt;
Exemplo resultado do segundo comando:&lt;br /&gt;
[[Arquivo:ROA Valido 02.png|nenhum]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Outros lugares que você pode validar seu ASN se está protegido com RPKI:&lt;br /&gt;
&lt;br /&gt;
[1] https://sg-pub.ripe.net/jasper/rpki-web-test/&lt;br /&gt;
&lt;br /&gt;
[2] https://rpki-validator.ripe.net/roas&lt;br /&gt;
&lt;br /&gt;
[3] https://rpki.cloudflare.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esse é o primeiro passo, agora que você tem seu ASN protegido com RPKI, o próximo passo é você também validar prefixos de outros ASs e dropar prefixos inválidos direto no seu BGP utilizando Routinator para validação, mas isso vai ficar para outro artigo.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE:''' Manter seu Krill sempre atualizado, rodando, ligado e nunca pare o daemon.&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Artigo feito por: '''Diorges Rocha'''&lt;br /&gt;
[[Categoria:Roteamento]]&lt;br /&gt;
[[Categoria:BCOPs]]&lt;/div&gt;</summary>
		<author><name>Diorges</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Protegendo_seu_ASN_com_RPKI&amp;diff=2495</id>
		<title>Protegendo seu ASN com RPKI</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Protegendo_seu_ASN_com_RPKI&amp;diff=2495"/>
		<updated>2020-05-31T01:36:55Z</updated>

		<summary type="html">&lt;p&gt;Diorges: Adicionado mais algumas imagens de exemplo.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Neste artigo iremos mostrar quais os passos necessários para criar ROAs (Route Origin Authorisation) dos prefixos de seu ASN.&lt;br /&gt;
&lt;br /&gt;
Antes de mais nada, deem uma lida nesse artigo: [[Redes que descartam RPKI Invalidos|https://wiki.brasilpeeringforum.org/w/Redes_que_descartam_RPKI_Invalidos]]&lt;br /&gt;
&lt;br /&gt;
Antes de começarmos, se você leu o artigo que deixei o link, você deve ter entendido que todo AS que ainda não criou ROAs de seus prefixos ou ainda não criou o CA para seu ASN, seus prefixos são conhecidos na internet como &amp;quot;unknown&amp;quot; ou &amp;quot;desconhecidos&amp;quot; e com isso seus prefixos ainda serão roteados pela internet, então não se preocupe com isso, esse artigo vai apenas ensinar a você deixar seus prefixos como &amp;quot;valid&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Quero também enfatizar que '''RPKI''' é algo muito importante e devemos tomar cuidado com o que fazemos, sempre que fizermos qualquer alteração em algum ROA, verifique se está correto para não ter problemas, pois, redes que descartam RPKIs inválidos podem parar de rotear seus prefixos que erradamente você não autorizou e pode gerar dor de cabeça (ex.: intermitência ou perda total de comunicação com redes que dropam RPKI inválido), por isso, antes de continuar tenha certeza que vai cuidar direitinho do seus ROAs. PAZ!&lt;br /&gt;
&lt;br /&gt;
Neste artigo será utilizado o '''Krill''' para ativarmos o '''RPKI''' no seu ASN.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
Instalação e Configuração do Krill.&lt;br /&gt;
&lt;br /&gt;
Primeiramente você precisa de uma máquina virtual rodando linux Debian ou Ubuntu, com isso iremos prosseguir para os passos de instalação:&lt;br /&gt;
&lt;br /&gt;
Instalando as dependências para compilar o Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apt install build-essential libssl-dev openssl pkg-config curl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora vamos criar uma pasta para instalar e rodar o Krill:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p /opt/krill/&lt;br /&gt;
cd /opt/krill&lt;br /&gt;
touch krill.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora vamos compilar/instalar o Krill, logo no primeiro comando ele irá fazer uma pergunta, apenas aperte ENTER e siga para os próximos comandos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl --proto '=https' --tlsv1.2 -sSf &amp;lt;nowiki&amp;gt;https://sh.rustup.rs&amp;lt;/nowiki&amp;gt; | sh&lt;br /&gt;
source ~/.cargo/env&lt;br /&gt;
cargo install krill&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute o seguinte comando: &amp;lt;code&amp;gt;krill -V&amp;lt;/code&amp;gt; e se o resultado for algo assim: &amp;lt;code&amp;gt;Krill 0.6.2&amp;lt;/code&amp;gt; o Krill foi instalado com sucesso.&lt;br /&gt;
&lt;br /&gt;
Caso de algum erro, faça os seguintes comandos e tente novamente:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ln -s /root/.cargo/bin/krill /usr/bin&lt;br /&gt;
ln -s /root/.cargo/bin/krillc /usr/bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos agora criar a config inicial do Krill, e criar uma senha/token seguro para o Krill, copie todas as linhas e cole no terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;/opt/krill/krill.conf&lt;br /&gt;
ip = &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
port = 3000&lt;br /&gt;
auth_token = &amp;quot;ColoqueAquiSeuTokenSenhaSeguro&amp;quot;&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Configuração =&lt;br /&gt;
Enfim, nosso Krill já está pronto para ser usado, antes precisamos iniciar o daemon do Krill, mas ainda, infelizmente o Krill não vem com script para iniciar e parar, a NTLabs disponibilizou dois scripts que podemos usar para iniciar e parar o daemon:&lt;br /&gt;
&lt;br /&gt;
Para iniciar (copiar todas as linhas abaixo e colar no terminal do seu Linux):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;/usr/bin/krill_start&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
KRILL=&amp;quot;krill&amp;quot;&lt;br /&gt;
DATA_DIR=&amp;quot;/opt/krill&amp;quot;&lt;br /&gt;
KRILL_PID=&amp;quot;$DATA_DIR/krill.pid&amp;quot;&lt;br /&gt;
CONF=&amp;quot;$DATA_DIR/krill.conf&amp;quot;&lt;br /&gt;
SCRIPT_OUT=&amp;quot;$DATA_DIR/krill.log&amp;quot;&lt;br /&gt;
nohup $KRILL -c $CONF &amp;gt;$SCRIPT_OUT 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
echo $! &amp;gt; $KRILL_PID&lt;br /&gt;
EOF&lt;br /&gt;
chmod +x /usr/bin/krill_start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para parar (copiar todas as linhas abaixo e colar no terminal do seu Linux):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;/usr/bin/krill_stop&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
DATA_DIR=&amp;quot;/opt/krill&amp;quot;&lt;br /&gt;
KRILL_PID=&amp;quot;$DATA_DIR/krill.pid&amp;quot;&lt;br /&gt;
kill `cat $KRILL_PID`&lt;br /&gt;
EOF&lt;br /&gt;
chmod +x /usr/bin/krill_stop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora temos 2 novos comandos no terminal do linux &amp;lt;code&amp;gt;krill_start&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;krill_stop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Então iniciemos o daemon do Krill com o comando &amp;lt;code&amp;gt;krill_start&amp;lt;/code&amp;gt; direto no seu terminal, pronto, agora temos o daemon do Krill rodando e já podemos criar nossos ROAs.&lt;br /&gt;
&lt;br /&gt;
= Habilitando RPKI e Autorizando os ROAs =&lt;br /&gt;
Vamos então criar nosso CA utilizando o cliente do Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc add --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos criar agora nosso child_request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc parents request --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esse último comando gerou um XML chamado child_request, com ele conseguiremos gerar o parent_response no site do registro.br, então copie o XML.&lt;br /&gt;
&lt;br /&gt;
Para gerar o parent_response siga os passos abaixo:&lt;br /&gt;
# Entre na sua conta no Registro.br&lt;br /&gt;
# Vá em Titularidade e clique no seu ASN&lt;br /&gt;
# No final da página clique em '''CONFIGURAR RPKI'''&lt;br /&gt;
# No campo '''child request''' cole o XML que foi gerado pelo comando e clique em '''HABILITAR RPKI.'''&lt;br /&gt;
[[Arquivo:Rpki.png|semmoldura|812x812px]]&lt;br /&gt;
&lt;br /&gt;
O Registro.br irá gerar um outro XML chamado '''parent_response:'''&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Parent response rpki.png|semmoldura|640x640px]]&lt;br /&gt;
&lt;br /&gt;
Copie o conteúdo e volte ao linux!&lt;br /&gt;
&lt;br /&gt;
Agora vou facilitar para você criar um arquivo com o conteúdo do parent_response dentro do seu Linux, copie o comando abaixo e cole no seu Editor de Texto preferido e substitua no indicado com o XML gerado e execute todo o comando no terminal do linux.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;parent_response.xml&lt;br /&gt;
COLE AQUI O XML PARENT RESPONSE&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aqui como meu SO é Windows, optei pelo Bloco de Notas, segue um exemplo do comando preenchido:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Parent response.png|semmoldura|640x640px]]&lt;br /&gt;
&lt;br /&gt;
Temos agora um arquivo chamado parent_response.xml, vamos adicionar ele ao nosso Krill.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc parents add remote --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --parent nicbr_ca --rfc8183 parent_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pronto, agora sim, o RPKI está ativo no seu ASN!&lt;br /&gt;
&lt;br /&gt;
Vamos então gerar os ROAs de seus prefixos para protegê-los e prevenir que sofram hijack.&lt;br /&gt;
&lt;br /&gt;
Mas antes vamos ativar para que o Krill faça publicação remota no registro.br, volte ao terminal do seu linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc repo request --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O comando anterior gerou um XML chamado publisher_request, com ele copiado volte ao registro.br onde você ativou o RPKI e logo abaixo do Parent response, tem um link &amp;quot;Configurar publicação remota&amp;quot;, clique nele, no campo que apareceu cole o XML e clique em '''HABILITAR PUBLICAÇÃO REMOTA.'''&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Publicacao remota rpki.png|semmoldura|786x786px]]&lt;br /&gt;
&lt;br /&gt;
Agora você tem outro XML, chamado Repository response:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Repository response rpki.png|semmoldura|640x640px]]&lt;br /&gt;
&lt;br /&gt;
Seguindo o mesmo principio, precisamos criar um arquivo no linux com esse XML.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;repository_response.xml&lt;br /&gt;
COLE AQUI O XML REPOSITORY RESPONSE&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora que temos o arquivo xml criado no Linux, vamos autorizar em nosso Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc repo update remote --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --rfc8183 repository_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E, finalmente podemos criar os ROAs deu seus prefixos, para isso vamos criar um arquivo, mas antes de mais nada, abra seu Editor de Texto preferido e cole o seguinte comando:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;meus_roas.txt&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Irei utilizar como exemplo o ASN 65535, substituir pelo seu ASN e seus prefixos.&lt;br /&gt;
&lt;br /&gt;
Após o meus_roas.txt, na segunda linha, vamos adicionar os ROAs que queremos que sejam válidos, eu vou explanar antes como funciona isso e depois você pode brincar um pouco.&lt;br /&gt;
&lt;br /&gt;
Você pode adicionar &amp;quot;A&amp;quot; ou remover &amp;quot;R&amp;quot; um ROA sempre que quiser e é bem simples, no arquivo que vamos utilizar para publicar os ROAs você pode fazer o seguinte:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8::/32-48 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
Exemplo:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Roas exemplo notepad.png|semmoldura|543x543px]]&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note que coloquei 22-24 para IPv4 e 32-48 para IPv6, ou seja, estamos dizendo que seus prefixos dentro desse range serão válidos para serem exportados!&lt;br /&gt;
Outro caso:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 192.168.1.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 192.168.2.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 192.168.3.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8::/48 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8:9000::/48 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nesse caso, estamos dizendo que os blocos /24 são os únicos válidos, ou seja, quando algum provedor for exportar seus blocos, e por algum motivo ele tentar exportar seu prefixo /23 para um AS que valide os prefixos por RPKI, esse AS vai aceitar somente os prefixos /24 pois você não validou o /23 e com isso o prefixo é descartado e não será roteado por esse AS.&lt;br /&gt;
&lt;br /&gt;
Vamos para outro exemplo, vamos supor que você fez o primeiro exemplo de validar os prefixo 22 até 24, e você resolveu que não quer mais assim e quer somente validar os prefixos /22 e /23, para isso você abre o seu arquivo de roas, apague tudo e faça o seguinte:&lt;br /&gt;
&lt;br /&gt;
R: 192.168.0.0/22-24 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Salve o arquivo e atualize seus ROAs, e agora abra denovo o arquivo e faça o seguinte:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-23 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E agora pode atualizar novamente seus ROAs, nesse momento, todos os AS que fazem drop de RPKI invalid, não irão mais aceitar prefixos /24 do seu AS originados por qualquer AS, e perceberam que toda vez que quero mudar alguma coisa eu tenho que apagar o que fiz anteriormente e &amp;quot;R&amp;quot;emover ou &amp;quot;A&amp;quot;adicionar? Entenderam a mecânica?&lt;br /&gt;
&lt;br /&gt;
Bom, agora que você entendeu como funciona, vamos aos comandos para atualizar e autorizar os ROAs.&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8::/32-48 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Você colocou seus prefixos no arquivo, agora execute o seguinte comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc roas update --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --delta meus_roas.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pronto, com isso você já atualizou os ROAs, e seus prefixos agora são válidos e não mais desconhecidos.&lt;br /&gt;
&lt;br /&gt;
= Validando ROAs =&lt;br /&gt;
&lt;br /&gt;
Para saber se tudo funcionou, vamos fazer um whois no BGPmon.net:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois -h whois.bgpmon.net 192.168.0.0/22&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ou&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois -h whois.bgpmon.net &amp;quot; --roa 65535 192.168.0.0/22&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue um exemplo de como deve ser o resultado:&lt;br /&gt;
&lt;br /&gt;
Exemplo resultado do primeiro comando:&lt;br /&gt;
[[Arquivo:ROA Valido.png|nenhum]]&lt;br /&gt;
&lt;br /&gt;
Exemplo resultado do segundo comando:&lt;br /&gt;
[[Arquivo:ROA Valido 02.png|nenhum]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Outros lugares que você pode validar seu ASN se está protegido com RPKI:&lt;br /&gt;
&lt;br /&gt;
[1] https://sg-pub.ripe.net/jasper/rpki-web-test/&lt;br /&gt;
&lt;br /&gt;
[2] https://rpki-validator.ripe.net/roas&lt;br /&gt;
&lt;br /&gt;
[3] https://rpki.cloudflare.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esse é o primeiro passo, agora que você tem seu ASN protegido com RPKI, o próximo passo é você também validar prefixos de outros ASs e dropar prefixos inválidos direto no seu BGP utilizando Routinator para validação, mas isso vai ficar para outro artigo.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE:''' Manter seu Krill sempre atualizado, rodando, ligado e nunca pare o daemon.&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Artigo feito por: '''Diorges Rocha'''&lt;br /&gt;
[[Categoria:Roteamento]]&lt;br /&gt;
[[Categoria:BCOPs]]&lt;/div&gt;</summary>
		<author><name>Diorges</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:Parent_response.png&amp;diff=2494</id>
		<title>Arquivo:Parent response.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:Parent_response.png&amp;diff=2494"/>
		<updated>2020-05-31T01:36:18Z</updated>

		<summary type="html">&lt;p&gt;Diorges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Exemplo Parent Response&lt;/div&gt;</summary>
		<author><name>Diorges</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:Roas_exemplo_notepad.png&amp;diff=2493</id>
		<title>Arquivo:Roas exemplo notepad.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:Roas_exemplo_notepad.png&amp;diff=2493"/>
		<updated>2020-05-31T01:33:43Z</updated>

		<summary type="html">&lt;p&gt;Diorges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Exemplo de ROAs para autorizar&lt;/div&gt;</summary>
		<author><name>Diorges</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:Parent_response_notepad.png&amp;diff=2492</id>
		<title>Arquivo:Parent response notepad.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:Parent_response_notepad.png&amp;diff=2492"/>
		<updated>2020-05-31T01:31:40Z</updated>

		<summary type="html">&lt;p&gt;Diorges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Parent Response Notepad Exemplo&lt;/div&gt;</summary>
		<author><name>Diorges</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Protegendo_seu_ASN_com_RPKI&amp;diff=2491</id>
		<title>Protegendo seu ASN com RPKI</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Protegendo_seu_ASN_com_RPKI&amp;diff=2491"/>
		<updated>2020-05-31T01:24:37Z</updated>

		<summary type="html">&lt;p&gt;Diorges: Adicionado algumas informações importantes e algumas imagens para ajudar!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Neste artigo iremos mostrar quais os passos necessários para criar ROAs (Route Origin Authorisation) dos prefixos de seu ASN.&lt;br /&gt;
&lt;br /&gt;
Antes de mais nada, deem uma lida nesse artigo: [[Redes que descartam RPKI Invalidos|https://wiki.brasilpeeringforum.org/w/Redes_que_descartam_RPKI_Invalidos]]&lt;br /&gt;
&lt;br /&gt;
Antes de começarmos, se você leu o artigo que deixei o link, você deve ter entendido que todo AS que ainda não criou ROAs de seus prefixos ou ainda não criou o CA para seu ASN, seus prefixos são conhecidos na internet como &amp;quot;unknown&amp;quot; ou &amp;quot;desconhecidos&amp;quot; e com isso seus prefixos ainda serão roteados pela internet, então não se preocupe com isso, esse artigo vai apenas ensinar a você deixar seus prefixos como &amp;quot;valid&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Quero também enfatizar que '''RPKI''' é algo muito importante e devemos tomar cuidado com o que fazemos, sempre que fizermos qualquer alteração em algum ROA, verifique se está correto para não ter problemas, pois, redes que descartam RPKIs inválidos podem parar de rotear seus prefixos que erradamente você não autorizou e pode gerar dor de cabeça (ex.: intermitência ou perda total de comunicação com redes que dropam RPKI inválido), por isso, antes de continuar tenha certeza que vai cuidar direitinho do seus ROAs. PAZ!&lt;br /&gt;
&lt;br /&gt;
Neste artigo será utilizado o '''Krill''' para ativarmos o '''RPKI''' no seu ASN.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
Instalação e Configuração do Krill.&lt;br /&gt;
&lt;br /&gt;
Primeiramente você precisa de uma máquina virtual rodando linux Debian ou Ubuntu, com isso iremos prosseguir para os passos de instalação:&lt;br /&gt;
&lt;br /&gt;
Instalando as dependências para compilar o Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apt install build-essential libssl-dev openssl pkg-config curl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora vamos criar uma pasta para instalar e rodar o Krill:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p /opt/krill/&lt;br /&gt;
cd /opt/krill&lt;br /&gt;
touch krill.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora vamos compilar/instalar o Krill, logo no primeiro comando ele irá fazer uma pergunta, apenas aperte ENTER e siga para os próximos comandos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl --proto '=https' --tlsv1.2 -sSf &amp;lt;nowiki&amp;gt;https://sh.rustup.rs&amp;lt;/nowiki&amp;gt; | sh&lt;br /&gt;
source ~/.cargo/env&lt;br /&gt;
cargo install krill&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute o seguinte comando: &amp;lt;code&amp;gt;krill -V&amp;lt;/code&amp;gt; e se o resultado for algo assim: &amp;lt;code&amp;gt;Krill 0.6.2&amp;lt;/code&amp;gt; o Krill foi instalado com sucesso.&lt;br /&gt;
&lt;br /&gt;
Caso de algum erro, faça os seguintes comandos e tente novamente:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ln -s /root/.cargo/bin/krill /usr/bin&lt;br /&gt;
ln -s /root/.cargo/bin/krillc /usr/bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos agora criar a config inicial do Krill, e criar uma senha/token seguro para o Krill, copie todas as linhas e cole no terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;/opt/krill/krill.conf&lt;br /&gt;
ip = &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
port = 3000&lt;br /&gt;
auth_token = &amp;quot;ColoqueAquiSeuTokenSenhaSeguro&amp;quot;&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Configuração =&lt;br /&gt;
Enfim, nosso Krill já está pronto para ser usado, antes precisamos iniciar o daemon do Krill, mas ainda, infelizmente o Krill não vem com script para iniciar e parar, a NTLabs disponibilizou dois scripts que podemos usar para iniciar e parar o daemon:&lt;br /&gt;
&lt;br /&gt;
Para iniciar (copiar todas as linhas abaixo e colar no terminal do seu Linux):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;/usr/bin/krill_start&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
KRILL=&amp;quot;krill&amp;quot;&lt;br /&gt;
DATA_DIR=&amp;quot;/opt/krill&amp;quot;&lt;br /&gt;
KRILL_PID=&amp;quot;$DATA_DIR/krill.pid&amp;quot;&lt;br /&gt;
CONF=&amp;quot;$DATA_DIR/krill.conf&amp;quot;&lt;br /&gt;
SCRIPT_OUT=&amp;quot;$DATA_DIR/krill.log&amp;quot;&lt;br /&gt;
nohup $KRILL -c $CONF &amp;gt;$SCRIPT_OUT 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
echo $! &amp;gt; $KRILL_PID&lt;br /&gt;
EOF&lt;br /&gt;
chmod +x /usr/bin/krill_start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para parar (copiar todas as linhas abaixo e colar no terminal do seu Linux):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;/usr/bin/krill_stop&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
DATA_DIR=&amp;quot;/opt/krill&amp;quot;&lt;br /&gt;
KRILL_PID=&amp;quot;$DATA_DIR/krill.pid&amp;quot;&lt;br /&gt;
kill `cat $KRILL_PID`&lt;br /&gt;
EOF&lt;br /&gt;
chmod +x /usr/bin/krill_stop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora temos 2 novos comandos no terminal do linux &amp;lt;code&amp;gt;krill_start&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;krill_stop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Então iniciemos o daemon do Krill com o comando &amp;lt;code&amp;gt;krill_start&amp;lt;/code&amp;gt; direto no seu terminal, pronto, agora temos o daemon do Krill rodando e já podemos criar nossos ROAs.&lt;br /&gt;
&lt;br /&gt;
= Habilitando RPKI e Autorizando os ROAs =&lt;br /&gt;
Vamos então criar nosso CA utilizando o cliente do Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc add --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos criar agora nosso child_request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc parents request --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esse último comando gerou um XML chamado child_request, com ele conseguiremos gerar o parent_response no site do registro.br, então copie o XML.&lt;br /&gt;
&lt;br /&gt;
Para gerar o parent_response siga os passos abaixo:&lt;br /&gt;
# Entre na sua conta no Registro.br&lt;br /&gt;
# Vá em Titularidade e clique no seu ASN&lt;br /&gt;
# No final da página clique em '''CONFIGURAR RPKI'''&lt;br /&gt;
# No campo '''child request''' cole o XML que foi gerado pelo comando e clique em '''HABILITAR RPKI.'''&lt;br /&gt;
[[Arquivo:Rpki.png|semmoldura|812x812px]]&lt;br /&gt;
&lt;br /&gt;
O Registro.br irá gerar um outro XML chamado '''parent_response:'''&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Parent response rpki.png|semmoldura|640x640px]]&lt;br /&gt;
&lt;br /&gt;
Copie o conteúdo e volte ao linux!&lt;br /&gt;
&lt;br /&gt;
Agora vou facilitar para você criar um arquivo com o conteúdo do parent_response dentro do seu Linux, copie o comando abaixo e cole no seu Editor de Texto preferido e substitua no indicado com o XML gerado e execute todo o comando no terminal do linux.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;parent_response.xml&lt;br /&gt;
COLE AQUI O XML PARENT RESPONSE&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Temos agora um arquivo chamado parent_response.xml, vamos adicionar ele ao nosso Krill.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc parents add remote --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --parent nicbr_ca --rfc8183 parent_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pronto, agora sim, o RPKI está ativo no seu ASN!&lt;br /&gt;
&lt;br /&gt;
Vamos então gerar os ROAs de seus prefixos para protegê-los e prevenir que sofram hijack.&lt;br /&gt;
&lt;br /&gt;
Mas antes vamos ativar para que o Krill faça publicação remota no registro.br, volte ao terminal do seu linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc repo request --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O comando anterior gerou um XML chamado publisher_request, com ele copiado volte ao registro.br onde você ativou o RPKI e logo abaixo do Parent response, tem um link &amp;quot;Configurar publicação remota&amp;quot;, clique nele, no campo que apareceu cole o XML e clique em '''HABILITAR PUBLICAÇÃO REMOTA.'''&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Publicacao remota rpki.png|semmoldura|786x786px]]&lt;br /&gt;
&lt;br /&gt;
Agora você tem outro XML, chamado Repository response:&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Repository response rpki.png|semmoldura|640x640px]]&lt;br /&gt;
&lt;br /&gt;
Seguindo o mesmo principio, precisamos criar um arquivo no linux com esse XML.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;repository_response.xml&lt;br /&gt;
COLE AQUI O XML REPOSITORY RESPONSE&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora que temos o arquivo xml criado no Linux, vamos autorizar em nosso Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc repo update remote --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --rfc8183 repository_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E, finalmente podemos criar os ROAs deu seus prefixos, para isso vamos criar um arquivo, mas antes de mais nada, abra seu Editor de Texto preferido e cole o seguinte comando:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;meus_roas.txt&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Irei utilizar como exemplo o ASN 65535, substituir pelo seu ASN e seus prefixos.&lt;br /&gt;
&lt;br /&gt;
Após o meus_roas.txt, na segunda linha, vamos adicionar os ROAs que queremos que sejam válidos, eu vou explanar antes como funciona isso e depois você pode brincar um pouco.&lt;br /&gt;
&lt;br /&gt;
Você pode adicionar &amp;quot;A&amp;quot; ou remover &amp;quot;R&amp;quot; um ROA sempre que quiser e é bem simples, no arquivo que vamos utilizar para publicar os ROAs você pode fazer o seguinte:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8::/32-48 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note que coloquei 22-24 para IPv4 e 32-48 para IPv6, ou seja, estamos dizendo que seus prefixos dentro desse range serão válidos para serem exportados!&lt;br /&gt;
Outro caso:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 192.168.1.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 192.168.2.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 192.168.3.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8::/48 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8:9000::/48 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nesse caso, estamos dizendo que os blocos /24 são os únicos válidos, ou seja, quando algum provedor for exportar seus blocos, e por algum motivo ele tentar exportar seu prefixo /23 para um AS que valide os prefixos por RPKI, esse AS vai aceitar somente os prefixos /24 pois você não validou o /23 e com isso o prefixo é descartado e não será roteado por esse AS.&lt;br /&gt;
&lt;br /&gt;
Vamos para outro exemplo, vamos supor que você fez o primeiro exemplo de validar os prefixo 22 até 24, e você resolveu que não quer mais assim e quer somente validar os prefixos /22 e /23, para isso você abre o seu arquivo de roas, apague tudo e faça o seguinte:&lt;br /&gt;
&lt;br /&gt;
R: 192.168.0.0/22-24 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Salve o arquivo e atualize seus ROAs, e agora abra denovo o arquivo e faça o seguinte:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-23 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E agora pode atualizar novamente seus ROAs, nesse momento, todos os AS que fazem drop de RPKI invalid, não irão mais aceitar prefixos /24 do seu AS originados por qualquer AS, e perceberam que toda vez que quero mudar alguma coisa eu tenho que apagar o que fiz anteriormente e &amp;quot;R&amp;quot;emover ou &amp;quot;A&amp;quot;adicionar? Entenderam a mecânica?&lt;br /&gt;
&lt;br /&gt;
Bom, agora que você entendeu como funciona, vamos aos comandos para atualizar e autorizar os ROAs.&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8::/32-48 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Você colocou seus prefixos no arquivo, agora execute o seguinte comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc roas update --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --delta meus_roas.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pronto, com isso você já atualizou os ROAs, e seus prefixos agora são válidos e não mais desconhecidos.&lt;br /&gt;
&lt;br /&gt;
= Validando ROAs =&lt;br /&gt;
&lt;br /&gt;
Para saber se tudo funcionou, vamos fazer um whois no BGPmon.net:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois -h whois.bgpmon.net 192.168.0.0/22&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ou&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois -h whois.bgpmon.net &amp;quot; --roa 65535 192.168.0.0/22&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue um exemplo de como deve ser o resultado:&lt;br /&gt;
&lt;br /&gt;
Exemplo resultado do primeiro comando:&lt;br /&gt;
[[Arquivo:ROA Valido.png|nenhum]]&lt;br /&gt;
&lt;br /&gt;
Exemplo resultado do segundo comando:&lt;br /&gt;
[[Arquivo:ROA Valido 02.png|nenhum]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Outros lugares que você pode validar seu ASN se está protegido com RPKI:&lt;br /&gt;
&lt;br /&gt;
[1] https://sg-pub.ripe.net/jasper/rpki-web-test/&lt;br /&gt;
&lt;br /&gt;
[2] https://rpki-validator.ripe.net/roas&lt;br /&gt;
&lt;br /&gt;
[3] https://rpki.cloudflare.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esse é o primeiro passo, agora que você tem seu ASN protegido com RPKI, o próximo passo é você também validar prefixos de outros ASs e dropar prefixos inválidos direto no seu BGP utilizando Routinator para validação, mas isso vai ficar para outro artigo.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE:''' Manter seu Krill sempre atualizado, rodando, ligado e nunca pare o daemon.&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Artigo feito por: '''Diorges Rocha'''&lt;br /&gt;
[[Categoria:Roteamento]]&lt;br /&gt;
[[Categoria:BCOPs]]&lt;/div&gt;</summary>
		<author><name>Diorges</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:Repository_response_rpki.png&amp;diff=2490</id>
		<title>Arquivo:Repository response rpki.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:Repository_response_rpki.png&amp;diff=2490"/>
		<updated>2020-05-31T01:21:30Z</updated>

		<summary type="html">&lt;p&gt;Diorges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Repository Response RPKI&lt;/div&gt;</summary>
		<author><name>Diorges</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:Publicacao_remota_rpki.png&amp;diff=2489</id>
		<title>Arquivo:Publicacao remota rpki.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:Publicacao_remota_rpki.png&amp;diff=2489"/>
		<updated>2020-05-31T01:19:40Z</updated>

		<summary type="html">&lt;p&gt;Diorges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Publicação Remota RPKI&lt;/div&gt;</summary>
		<author><name>Diorges</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:Parent_response_rpki.png&amp;diff=2488</id>
		<title>Arquivo:Parent response rpki.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:Parent_response_rpki.png&amp;diff=2488"/>
		<updated>2020-05-31T01:17:03Z</updated>

		<summary type="html">&lt;p&gt;Diorges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Parent Response RPKI&lt;/div&gt;</summary>
		<author><name>Diorges</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:Rpki.png&amp;diff=2487</id>
		<title>Arquivo:Rpki.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:Rpki.png&amp;diff=2487"/>
		<updated>2020-05-31T01:11:20Z</updated>

		<summary type="html">&lt;p&gt;Diorges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Habilitando RPKI&lt;/div&gt;</summary>
		<author><name>Diorges</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Protegendo_seu_ASN_com_RPKI&amp;diff=2473</id>
		<title>Protegendo seu ASN com RPKI</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Protegendo_seu_ASN_com_RPKI&amp;diff=2473"/>
		<updated>2020-05-26T12:43:25Z</updated>

		<summary type="html">&lt;p&gt;Diorges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Neste artigo iremos mostrar quais os passos necessários para criar ROAs (Route Origin Authorisation) dos prefixos de seu ASN.&lt;br /&gt;
&lt;br /&gt;
Antes de mais nada, deem uma lida nesse artigo: [[Redes que descartam RPKI Invalidos|https://wiki.brasilpeeringforum.org/w/Redes_que_descartam_RPKI_Invalidos]]&lt;br /&gt;
&lt;br /&gt;
Antes de começarmos, se você leu o artigo que deixei o link, você deve ter entendido que todo AS que ainda não criou ROAs de seus prefixos ou ainda não criou o CA para seu ASN, seus prefixos são conhecidos na internet como &amp;quot;unknown&amp;quot; ou &amp;quot;desconhecidos&amp;quot; e com isso seus prefixos ainda serão roteados pela internet, então não se preocupe com isso, esse artigo vai apenas ensinar a você deixar seus prefixos como &amp;quot;valid&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Neste artigo será utilizado o '''Krill''' para ativarmos o RPKI no seu ASN.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
Instalação e Configuração do Krill.&lt;br /&gt;
&lt;br /&gt;
Primeiramente você precisa de uma máquina virtual rodando linux Debian ou Ubuntu, com isso iremos prosseguir para os passos de instalação:&lt;br /&gt;
&lt;br /&gt;
Instalando as dependências para compilar o Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apt install build-essential libssl-dev openssl pkg-config curl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora vamos criar uma pasta para instalar e rodar o Krill:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p /opt/krill/&lt;br /&gt;
cd /opt/krill&lt;br /&gt;
touch krill.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora vamos compilar/instalar o Krill, logo no primeiro comando ele irá fazer uma pergunta, apenas aperte ENTER e siga para os próximos comandos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl --proto '=https' --tlsv1.2 -sSf &amp;lt;nowiki&amp;gt;https://sh.rustup.rs&amp;lt;/nowiki&amp;gt; | sh&lt;br /&gt;
source ~/.cargo/env&lt;br /&gt;
cargo install krill&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute o seguinte comando: &amp;lt;code&amp;gt;krill -V&amp;lt;/code&amp;gt; e se o resultado for algo assim: &amp;lt;code&amp;gt;Krill 0.6.2&amp;lt;/code&amp;gt; o Krill foi instalado com sucesso.&lt;br /&gt;
&lt;br /&gt;
Caso de algum erro, faça os seguintes comandos e tente novamente:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ln -s /root/.cargo/bin/krill /usr/bin&lt;br /&gt;
ln -s /root/.cargo/bin/krillc /usr/bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos agora criar a config inicial do Krill, e criar uma senha/token seguro para o Krill, copie todas as linhas e cole no terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;/opt/krill/krill.conf&lt;br /&gt;
ip = &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
port = 3000&lt;br /&gt;
auth_token = &amp;quot;ColoqueAquiSeuTokenSenhaSeguro&amp;quot;&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Configuração =&lt;br /&gt;
Enfim, nosso Krill já está pronto para ser usado, antes precisamos iniciar o daemon do Krill, mas ainda, infelizmente o Krill não vem com script para iniciar e parar, a NTLabs disponibilizou dois scripts que podemos usar para iniciar e parar o daemon:&lt;br /&gt;
&lt;br /&gt;
Para iniciar (copiar todas as linhas abaixo e colar no terminal do seu Linux):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;/usr/bin/krill_start&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
KRILL=&amp;quot;krill&amp;quot;&lt;br /&gt;
DATA_DIR=&amp;quot;/opt/krill&amp;quot;&lt;br /&gt;
KRILL_PID=&amp;quot;$DATA_DIR/krill.pid&amp;quot;&lt;br /&gt;
CONF=&amp;quot;$DATA_DIR/krill.conf&amp;quot;&lt;br /&gt;
SCRIPT_OUT=&amp;quot;$DATA_DIR/krill.log&amp;quot;&lt;br /&gt;
nohup $KRILL -c $CONF &amp;gt;$SCRIPT_OUT 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
echo $! &amp;gt; $KRILL_PID&lt;br /&gt;
EOF&lt;br /&gt;
chmod +x /usr/bin/krill_start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para parar (copiar todas as linhas abaixo e colar no terminal do seu Linux):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;/usr/bin/krill_stop&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
DATA_DIR=&amp;quot;/opt/krill&amp;quot;&lt;br /&gt;
KRILL_PID=&amp;quot;$DATA_DIR/krill.pid&amp;quot;&lt;br /&gt;
kill `cat $KRILL_PID`&lt;br /&gt;
EOF&lt;br /&gt;
chmod +x /usr/bin/krill_stop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora temos 2 novos comandos no terminal do linux &amp;lt;code&amp;gt;krill_start&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;krill_stop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Então iniciemos o daemon do Krill com o comando &amp;lt;code&amp;gt;krill_start&amp;lt;/code&amp;gt; direto no seu terminal, pronto, agora temos o daemon do Krill rodando e já podemos criar nossos ROAs.&lt;br /&gt;
&lt;br /&gt;
= Habilitando RPKI e Autorizando os ROAs =&lt;br /&gt;
Vamos então criar nosso CA utilizando o cliente do Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc add --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos criar agora nosso child_request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc parents request --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esse último comando gerou um XML chamado child_request, com ele conseguiremos gerar o parent_response no site do registro.br, então copie o XML.&lt;br /&gt;
&lt;br /&gt;
Para gerar o parent_response siga os passos abaixo:&lt;br /&gt;
# Entre na sua conta no Registro.br&lt;br /&gt;
# Vá em Titularidade e clique no seu ASN&lt;br /&gt;
# No final da página clique em '''CONFIGURAR RPKI'''&lt;br /&gt;
# No campo '''child request''' cole o XML que foi gerado pelo comando e clique em '''HABILITAR RPKI.'''&lt;br /&gt;
O Registro.br irá gerar um outro XML chamado '''parent_response''', copie o conteúdo e volte ao linux.&lt;br /&gt;
&lt;br /&gt;
Agora vou facilitar para você criar um arquivo com o conteúdo do parent_response dentro do seu Linux, copie o comando abaixo e cole no seu Editor de Texto preferido e substitua no indicado com o XML gerado e execute todo o comando no terminal do linux.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;parent_response.xml&lt;br /&gt;
COLE AQUI O XML PARENT RESPONSE&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Temos agora um arquivo chamado parent_response.xml, vamos adicionar ele ao nosso Krill.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc parents add remote --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --parent nicbr_ca --rfc8183 parent_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pronto, agora sim, o RPKI está ativo no seu ASN!&lt;br /&gt;
&lt;br /&gt;
Vamos então gerar os ROAs de seus prefixos para protegê-los e prevenir que sofram hijack.&lt;br /&gt;
&lt;br /&gt;
Mas antes vamos ativar para que o Krill faça publicação remota no registro.br, volte ao terminal do seu linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc repo request --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O comando anterior gerou um XML chamado publisher_request, com ele copiado volte ao registro.br onde você ativou o RPKI e logo abaixo do Parent response, tem um link &amp;quot;Configurar publicação remota&amp;quot;, clique nele, no campo que apareceu cole o XML e clique em '''HABILITAR PUBLICAÇÃO REMOTA''', agora você tem outro XML, chamado Repository response, seguindo o mesmo principio, precisamos criar um arquivo no linux com esse XML.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;repository_response.xml&lt;br /&gt;
COLE AQUI O XML REPOSITORY RESPONSE&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora que temos o arquivo xml criado no Linux, vamos autorizar em nosso Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc repo update remote --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --rfc8183 repository_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E, finalmente podemos criar os ROAs deu seus prefixos, para isso vamos criar um arquivo, mas antes de mais nada, abra seu Editor de Texto preferido e cole o seguinte comando:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;meus_roas.txt&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Após o meus_roas.txt, na segunda linha, vamos adicionar os ROAs que queremos que sejam válidos, eu vou explanar antes como funciona isso e depois você pode brincar um pouco.&lt;br /&gt;
&lt;br /&gt;
Você pode adicionar &amp;quot;A&amp;quot; ou remover &amp;quot;R&amp;quot; um ROA sempre que quiser e é bem simples, no arquivo que vamos utilizar para publicar os ROAs você pode fazer o seguinte:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8::/32-48 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note que coloquei 22-24 para IPv4 e 32-48 para IPv6, ou seja, estamos dizendo que seus prefixos dentro desse range serão válidos para serem exportados!&lt;br /&gt;
Outro caso:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 192.168.1.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 192.168.2.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 192.168.3.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8::/48 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8:9000::/48 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nesse caso, estamos dizendo que os blocos /24 são os únicos válidos, ou seja, quando algum provedor for exportar seus blocos, e por algum motivo ele tentar exportar seu prefixo /23 para um AS que valide os prefixos por RPKI, esse AS vai aceitar somente os prefixos /24 pois você não validou o /23 e com isso o prefixo é descartado e não será roteado por esse AS.&lt;br /&gt;
&lt;br /&gt;
Vamos para outro exemplo, vamos supor que você fez o primeiro exemplo de validar os prefixo 22 até 24, e você resolveu que não quer mais assim e quer somente validar os prefixos /22 e /23, para isso você abre o seu arquivo de roas, apague tudo e faça o seguinte:&lt;br /&gt;
&lt;br /&gt;
R: 192.168.0.0/22-24 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Salve o arquivo e atualize seus ROAs, e agora abra denovo o arquivo e faça o seguinte:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-23 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E agora pode atualizar novamente seus ROAs, nesse momento, todos os AS que fazem drop de RPKI invalid, não irão mais aceitar prefixos /24 do seu AS originados por qualquer AS, e perceberam que toda vez que quero mudar alguma coisa eu tenho que apagar o que fiz anteriormente e &amp;quot;R&amp;quot;emover ou &amp;quot;A&amp;quot;adicionar? Entenderam a mecânica?&lt;br /&gt;
&lt;br /&gt;
Bom, agora que você entendeu como funciona, vamos aos comandos para atualizar e autorizar os ROAs.&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8::/32-48 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Você colocou seus prefixos no arquivo, agora execute o seguinte comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc roas update --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --delta meus_roas.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pronto, com isso você já atualizou os ROAs, e seus prefixos agora são válidos e não mais desconhecidos.&lt;br /&gt;
&lt;br /&gt;
= Validando ROAs =&lt;br /&gt;
&lt;br /&gt;
Para saber se tudo funcionou, vamos fazer um whois no BGPmon.net:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois -h whois.bgpmon.net 192.168.0.0/22&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ou&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois -h whois.bgpmon.net &amp;quot; --roa 65535 192.168.0.0/22&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue um exemplo de como deve ser o resultado:&lt;br /&gt;
&lt;br /&gt;
Exemplo resultado do primeiro comando:&lt;br /&gt;
[[Arquivo:ROA Valido.png|nenhum]]&lt;br /&gt;
&lt;br /&gt;
Exemplo resultado do segundo comando:&lt;br /&gt;
[[Arquivo:ROA Valido 02.png|nenhum]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Outros lugares que você pode validar seu ASN se está protegido com RPKI:&lt;br /&gt;
&lt;br /&gt;
[1] https://sg-pub.ripe.net/jasper/rpki-web-test/&lt;br /&gt;
&lt;br /&gt;
[2] https://rpki-validator.ripe.net/roas&lt;br /&gt;
&lt;br /&gt;
[3] https://rpki.cloudflare.com/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esse é o primeiro passo, agora que você tem seu ASN protegido com RPKI, o próximo passo é você também validar prefixos de outros ASs e dropar prefixos inválidos direto no seu BGP, mas isso vai ficar para outro artigo.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE:''' Manter seu Krill sempre atualizado, rodando, ligado e nunca pare o daemon.&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Artigo feito por: '''Diorges Rocha'''&lt;br /&gt;
[[Categoria:Roteamento]]&lt;br /&gt;
[[Categoria:BCOPs]]&lt;/div&gt;</summary>
		<author><name>Diorges</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Protegendo_seu_ASN_com_RPKI&amp;diff=2472</id>
		<title>Protegendo seu ASN com RPKI</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Protegendo_seu_ASN_com_RPKI&amp;diff=2472"/>
		<updated>2020-05-26T12:30:27Z</updated>

		<summary type="html">&lt;p&gt;Diorges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Neste artigo iremos mostrar quais os passos necessários para criar ROAs (Route Origin Authorisation) dos prefixos de seu ASN.&lt;br /&gt;
&lt;br /&gt;
Antes de mais nada, deem uma lida nesse artigo: [[Redes que descartam RPKI Invalidos|https://wiki.brasilpeeringforum.org/w/Redes_que_descartam_RPKI_Invalidos]]&lt;br /&gt;
&lt;br /&gt;
Antes de começarmos, se você leu o artigo que deixei o link, você deve ter entendido que todo AS que ainda não criou ROAs de seus prefixos ou ainda não criou o CA para seu ASN, seus prefixos são conhecidos na internet como &amp;quot;unknown&amp;quot; ou &amp;quot;desconhecidos&amp;quot; e com isso seus prefixos ainda serão roteados pela internet, então não se preocupe com isso, esse artigo vai apenas ensinar a você deixar seus prefixos como &amp;quot;valid&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Neste artigo será utilizado o '''Krill''' para ativarmos o RPKI no seu ASN.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
Instalação e Configuração do Krill.&lt;br /&gt;
&lt;br /&gt;
Primeiramente você precisa de uma máquina virtual rodando linux Debian ou Ubuntu, com isso iremos prosseguir para os passos de instalação:&lt;br /&gt;
&lt;br /&gt;
Instalando as dependências para compilar o Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apt install build-essential libssl-dev openssl pkg-config curl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora vamos criar uma pasta para instalar e rodar o Krill:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir -p /opt/krill/&lt;br /&gt;
cd /opt/krill&lt;br /&gt;
touch krill.conf&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora vamos compilar/instalar o Krill, logo no primeiro comando ele irá fazer uma pergunta, apenas aperte ENTER e siga para os próximos comandos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl --proto '=https' --tlsv1.2 -sSf &amp;lt;nowiki&amp;gt;https://sh.rustup.rs&amp;lt;/nowiki&amp;gt; | sh&lt;br /&gt;
source ~/.cargo/env&lt;br /&gt;
cargo install krill&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute o seguinte comando: &amp;lt;code&amp;gt;krill -V&amp;lt;/code&amp;gt; e se o resultado for algo assim: &amp;lt;code&amp;gt;Krill 0.6.2&amp;lt;/code&amp;gt; o Krill foi instalado com sucesso.&lt;br /&gt;
&lt;br /&gt;
Caso de algum erro, faça os seguintes comandos e tente novamente:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ln -s /root/.cargo/bin/krill /usr/bin&lt;br /&gt;
ln -s /root/.cargo/bin/krillc /usr/bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos agora criar a config inicial do Krill, e criar uma senha/token seguro para o Krill, copie todas as linhas e cole no terminal:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;/opt/krill/krill.conf&lt;br /&gt;
ip = &amp;quot;0.0.0.0&amp;quot;&lt;br /&gt;
port = 3000&lt;br /&gt;
auth_token = &amp;quot;ColoqueAquiSeuTokenSenhaSeguro&amp;quot;&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Configuração =&lt;br /&gt;
Enfim, nosso Krill já está pronto para ser usado, antes precisamos iniciar o daemon do Krill, mas ainda, infelizmente o Krill não vem com script para iniciar e parar, a NTLabs disponibilizou dois scripts que podemos usar para iniciar e parar o daemon:&lt;br /&gt;
&lt;br /&gt;
Para iniciar (copiar todas as linhas abaixo e colar no terminal do seu Linux):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;/usr/bin/krill_start&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
KRILL=&amp;quot;krill&amp;quot;&lt;br /&gt;
DATA_DIR=&amp;quot;/opt/krill&amp;quot;&lt;br /&gt;
KRILL_PID=&amp;quot;$DATA_DIR/krill.pid&amp;quot;&lt;br /&gt;
CONF=&amp;quot;$DATA_DIR/krill.conf&amp;quot;&lt;br /&gt;
SCRIPT_OUT=&amp;quot;$DATA_DIR/krill.log&amp;quot;&lt;br /&gt;
nohup $KRILL -c $CONF &amp;gt;$SCRIPT_OUT 2&amp;gt;&amp;amp;1 &amp;amp;&lt;br /&gt;
echo $! &amp;gt; $KRILL_PID&lt;br /&gt;
EOF&lt;br /&gt;
chmod +x /usr/bin/krill_start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para parar (copiar todas as linhas abaixo e colar no terminal do seu Linux):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;/usr/bin/krill_stop&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
DATA_DIR=&amp;quot;/opt/krill&amp;quot;&lt;br /&gt;
KRILL_PID=&amp;quot;$DATA_DIR/krill.pid&amp;quot;&lt;br /&gt;
kill `cat $KRILL_PID`&lt;br /&gt;
EOF&lt;br /&gt;
chmod +x /usr/bin/krill_stop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora temos 2 novos comandos no terminal do linux &amp;lt;code&amp;gt;krill_start&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;krill_stop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Então iniciemos o daemon do Krill com o comando &amp;lt;code&amp;gt;krill_start&amp;lt;/code&amp;gt; direto no seu terminal, pronto, agora temos o daemon do Krill rodando e já podemos criar nossos ROAs.&lt;br /&gt;
&lt;br /&gt;
= Habilitando RPKI e Autorizando os ROAs =&lt;br /&gt;
Vamos então criar nosso CA utilizando o cliente do Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc add --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos criar agora nosso child_request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc parents request --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esse último comando gerou um XML chamado child_request, com ele conseguiremos gerar o parent_response no site do registro.br, então copie o XML.&lt;br /&gt;
&lt;br /&gt;
Para gerar o parent_response siga os passos abaixo:&lt;br /&gt;
# Entre na sua conta no Registro.br&lt;br /&gt;
# Vá em Titularidade e clique no seu ASN&lt;br /&gt;
# No final da página clique em '''CONFIGURAR RPKI'''&lt;br /&gt;
# No campo '''child request''' cole o XML que foi gerado pelo comando e clique em '''HABILITAR RPKI.'''&lt;br /&gt;
O Registro.br irá gerar um outro XML chamado '''parent_response''', copie o conteúdo e volte ao linux.&lt;br /&gt;
&lt;br /&gt;
Agora vou facilitar para você criar um arquivo com o conteúdo do parent_response dentro do seu Linux, copie o comando abaixo e cole no seu Editor de Texto preferido e substitua no indicado com o XML gerado e execute todo o comando no terminal do linux.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;parent_response.xml&lt;br /&gt;
COLE AQUI O XML PARENT RESPONSE&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Temos agora um arquivo chamado parent_response.xml, vamos adicionar ele ao nosso Krill.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc parents add remote --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --parent nicbr_ca --rfc8183 parent_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pronto, agora sim, o RPKI está ativo no seu ASN!&lt;br /&gt;
&lt;br /&gt;
Vamos então gerar os ROAs de seus prefixos para protegê-los e prevenir que sofram hijack.&lt;br /&gt;
&lt;br /&gt;
Mas antes vamos ativar para que o Krill faça publicação remota no registro.br, volte ao terminal do seu linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc repo request --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
O comando anterior gerou um XML chamado publisher_request, com ele copiado volte ao registro.br onde você ativou o RPKI e logo abaixo do Parent response, tem um link &amp;quot;Configurar publicação remota&amp;quot;, clique nele, no campo que apareceu cole o XML e clique em '''HABILITAR PUBLICAÇÃO REMOTA''', agora você tem outro XML, chamado Repository response, seguindo o mesmo principio, precisamos criar um arquivo no linux com esse XML.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;repository_response.xml&lt;br /&gt;
COLE AQUI O XML REPOSITORY RESPONSE&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora que temos o arquivo xml criado no Linux, vamos autorizar em nosso Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc repo update remote --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --rfc8183 repository_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E, finalmente podemos criar os ROAs deu seus prefixos, para isso vamos criar um arquivo, mas antes de mais nada, abra seu Editor de Texto preferido e cole o seguinte comando:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat &amp;lt;&amp;lt;\EOF &amp;gt;meus_roas.txt&lt;br /&gt;
EOF&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Após o meus_roas.txt, na segunda linha, vamos adicionar os ROAs que queremos que sejam válidos, eu vou explanar antes como funciona isso e depois você pode brincar um pouco.&lt;br /&gt;
&lt;br /&gt;
Você pode adicionar &amp;quot;A&amp;quot; ou remover &amp;quot;R&amp;quot; um ROA sempre que quiser e é bem simples, no arquivo que vamos utilizar para publicar os ROAs você pode fazer o seguinte:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8::/32-48 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note que coloquei 22-24 para IPv4 e 32-48 para IPv6, ou seja, estamos dizendo que seus prefixos dentro desse range serão válidos para serem exportados!&lt;br /&gt;
Outro caso:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 192.168.1.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 192.168.2.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 192.168.3.0/24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8::/48 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8:9000::/48 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nesse caso, estamos dizendo que os blocos /24 são os únicos válidos, ou seja, quando algum provedor for exportar seus blocos, e por algum motivo ele tentar exportar seu prefixo /23 para um AS que valide os prefixos por RPKI, esse AS vai aceitar somente os prefixos /24 pois você não validou o /23 e com isso o prefixo é descartado e não será roteado por esse AS.&lt;br /&gt;
&lt;br /&gt;
Vamos para outro exemplo, vamos supor que você fez o primeiro exemplo de validar os prefixo 22 até 24, e você resolveu que não quer mais assim e quer somente validar os prefixos /22 e /23, para isso você abre o seu arquivo de roas, apague tudo e faça o seguinte:&lt;br /&gt;
&lt;br /&gt;
R: 192.168.0.0/22-24 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Salve o arquivo e atualize seus ROAs, e agora abra denovo o arquivo e faça o seguinte:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-23 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E agora pode atualizar novamente seus ROAs, nesse momento, todos os AS que fazem drop de RPKI invalid, não irão mais aceitar prefixos /24 do seu AS originados por qualquer AS, e perceberam que toda vez que quero mudar alguma coisa eu tenho que apagar o que fiz anteriormente e &amp;quot;R&amp;quot;emover ou &amp;quot;A&amp;quot;adicionar? Entenderam a mecânica?&lt;br /&gt;
&lt;br /&gt;
Bom, agora que você entendeu como funciona, vamos aos comandos para atualizar e autorizar os ROAs.&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-24 =&amp;gt; 65535&amp;lt;BR&amp;gt;&lt;br /&gt;
A: 2001:db8::/32-48 =&amp;gt; 65535&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Você colocou seus prefixos no arquivo, agora execute o seguinte comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc roas update --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --delta meus_roas.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pronto, com isso você já atualizou os ROAs, e seus prefixos agora são válidos e não mais desconhecidos.&lt;br /&gt;
&lt;br /&gt;
= Validando ROAs =&lt;br /&gt;
&lt;br /&gt;
Para saber se tudo funcionou, vamos fazer um whois no BGPmon.net:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois -h whois.bgpmon.net 192.168.0.0/22&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ou&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whois -h whois.bgpmon.net &amp;quot; --roa 65535 192.168.0.0/22&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Segue um exemplo de como deve ser o resultado:&lt;br /&gt;
&lt;br /&gt;
Exemplo resultado do primeiro comando:&lt;br /&gt;
[[Arquivo:ROA Valido.png|nenhum]]&lt;br /&gt;
&lt;br /&gt;
Exemplo resultado do segundo comando:&lt;br /&gt;
[[Arquivo:ROA Valido 02.png|nenhum]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Esse é o primeiro passo, agora que você tem seu ASN protegido com RPKI, o próximo passo é você também validar prefixos de outros ASs e dropar prefixos inválidos direto no seu BGP, mas isso vai ficar para outro artigo.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE:''' Manter seu Krill sempre atualizado, rodando, ligado e nunca pare o daemon.&amp;lt;BR&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Artigo feito por: '''Diorges Rocha'''&lt;br /&gt;
[[Categoria:Roteamento]]&lt;br /&gt;
[[Categoria:BCOPs]]&lt;/div&gt;</summary>
		<author><name>Diorges</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:ROA_Valido_02.png&amp;diff=2471</id>
		<title>Arquivo:ROA Valido 02.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:ROA_Valido_02.png&amp;diff=2471"/>
		<updated>2020-05-26T12:27:45Z</updated>

		<summary type="html">&lt;p&gt;Diorges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;ROA valido.&lt;/div&gt;</summary>
		<author><name>Diorges</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:ROA_Valido.png&amp;diff=2470</id>
		<title>Arquivo:ROA Valido.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Arquivo:ROA_Valido.png&amp;diff=2470"/>
		<updated>2020-05-26T12:25:29Z</updated>

		<summary type="html">&lt;p&gt;Diorges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Exemplo de ROA valido.&lt;/div&gt;</summary>
		<author><name>Diorges</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Protegendo_seu_ASN_com_RPKI&amp;diff=2466</id>
		<title>Protegendo seu ASN com RPKI</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Protegendo_seu_ASN_com_RPKI&amp;diff=2466"/>
		<updated>2020-05-25T23:19:08Z</updated>

		<summary type="html">&lt;p&gt;Diorges: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Neste artigo iremos mostrar quais os passos necessários para criar ROAs (Route Origin Authorisation) dos prefixos de seu ASN.&lt;br /&gt;
&lt;br /&gt;
Antes de mais nada, deem uma lida nesse artigo: [[Redes que descartam RPKI Invalidos|https://wiki.brasilpeeringforum.org/w/Redes_que_descartam_RPKI_Invalidos]]&lt;br /&gt;
&lt;br /&gt;
Antes de começarmos, se você leu o artigo que deixei o link, você deve ter entendido que todo AS que ainda não criou ROAs de seus prefixos ou ainda não criou o CA para seu ASN, seus prefixos são conhecidos na internet como &amp;quot;unknown&amp;quot; ou &amp;quot;desconhecidos&amp;quot; e com isso seus prefixos ainda serão roteados pela internet, então não se preocupe com isso, esse artigo vai apenas ensinar a você deixar seus prefixos como &amp;quot;valid&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Neste artigo será utilizado o '''Krill''' para ativarmos o RPKI no seu ASN.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
Instalação e Configuração do Krill.&lt;br /&gt;
&lt;br /&gt;
Primeiramente você precisa de uma máquina virtual rodando linux Debian ou Ubuntu, com isso iremos prosseguir para os passos de instalação:&lt;br /&gt;
&lt;br /&gt;
Instalando as dependências para compilar o Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apt install build-essential libssl-dev openssl pkg-config curl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora vamos criar uma pasta para instalar e rodar o Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkdir -p /opt/krill/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd /opt/krill&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;touch krill.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Agora vamos compilar/instalar o Krill, logo no primeiro comando ele irá fazer uma pergunta, apenas aperte ENTER e siga para os próximos comandos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;curl --proto '=https' --tlsv1.2 -sSf &amp;lt;nowiki&amp;gt;https://sh.rustup.rs&amp;lt;/nowiki&amp;gt; | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;source ~/.cargo/env&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cargo install krill&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Execute o seguinte comando: &amp;lt;code&amp;gt;krill -V&amp;lt;/code&amp;gt; e se o resultado for algo assim: &amp;lt;code&amp;gt;Krill 0.6.2&amp;lt;/code&amp;gt; o Krill foi instalado com sucesso.&lt;br /&gt;
&lt;br /&gt;
Caso de algum erro, faça os seguintes comandos e tente novamente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ln -s /root/.cargo/bin/krill /usr/bin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ln -s /root/.cargo/bin/krillc /usr/bin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Vamos agora criar a config inicial do Krill, e criar uma senha/token seguro para o Krill, copie todas as linhas e cole no terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat &amp;lt;&amp;lt;\EOF &amp;gt;/opt/krill/krill.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip = &amp;quot;0.0.0.0&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;port = 3000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;auth_token = &amp;quot;ColoqueAquiSeuTokenSenhaSeguro&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EOF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
= Configuração =&lt;br /&gt;
Enfim, nosso Krill já está pronto para ser usado, antes precisamos iniciar o daemon do Krill, mas ainda, infelizmente o Krill não vem com script para iniciar e parar, a NTLabs disponibilizou dois scripts que podemos usar para iniciar e parar o daemon:&lt;br /&gt;
&lt;br /&gt;
Para iniciar (copiar todas as linhas abaixo e colar no terminal do seu Linux):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat &amp;lt;&amp;lt;\EOF &amp;gt;/usr/bin/krill_start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/bash&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;KRILL=&amp;quot;krill&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DATA_DIR=&amp;quot;/opt/krill&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;KRILL_PID=&amp;quot;$DATA_DIR/krill.pid&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CONF=&amp;quot;$DATA_DIR/krill.conf&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;SCRIPT_OUT=&amp;quot;$DATA_DIR/krill.log&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;nohup $KRILL -c $CONF &amp;gt;$SCRIPT_OUT 2&amp;gt;&amp;amp;1 &amp;amp;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;echo $! &amp;gt; $KRILL_PID&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EOF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;chmod +x /usr/bin/krill_start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Para parar (copiar todas as linhas abaixo e colar no terminal do seu Linux):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat &amp;lt;&amp;lt;\EOF &amp;gt;/usr/bin/krill_stop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/bash&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DATA_DIR=&amp;quot;/opt/krill&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;KRILL_PID=&amp;quot;$DATA_DIR/krill.pid&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;kill `cat $KRILL_PID`&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EOF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;chmod +x /usr/bin/krill_stop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Agora temos 2 novos comandos no terminal do linux &amp;lt;code&amp;gt;krill_start&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;krill_stop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Então iniciemos o daemon do Krill com o comando &amp;lt;code&amp;gt;krill_start&amp;lt;/code&amp;gt; direto no seu terminal, pronto, agora temos o daemon do Krill rodando e já podemos criar nossos ROAs.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
= Habilitando RPKI e Autorizando os ROAs =&lt;br /&gt;
Vamos então criar nosso CA utilizando o cliente do Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc add --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Vamos criar agora nosso child_request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc parents request --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
. &lt;br /&gt;
&lt;br /&gt;
Esse último comando gerou um XML chamado child_request, com ele conseguiremos gerar o parent_response no site do registro.br, então copie o XML.&lt;br /&gt;
&lt;br /&gt;
Para gerar o parent_response siga os passos abaixo:&lt;br /&gt;
&lt;br /&gt;
1 - Entre na sua conta no Registro.br;&lt;br /&gt;
&lt;br /&gt;
2 - Vá em Titularidade e clique no seu ASN;&lt;br /&gt;
&lt;br /&gt;
3 - No final da página clique em '''CONFIGURAR RPKI'''; e&lt;br /&gt;
&lt;br /&gt;
4 - No campo Child request cole o XML que foi gerado pelo comando e clique em '''HABILITAR RPKI.'''&lt;br /&gt;
&lt;br /&gt;
O registro.br vai gerar um outro XML chamado parent_response, copie o conteúdo e volte ao linux.&lt;br /&gt;
&lt;br /&gt;
Agora vou facilitar para você criar um arquivo com o conteúdo do parent_response dentro do seu Linux, copie o comando abaixo e cole no seu Editor de Texto preferido e substitua no indicado com o XML gerado e execute todo o comando no terminal do linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat &amp;lt;&amp;lt;\EOF &amp;gt;parent_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;COLE AQUI O XML PARENT RESPONSE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EOF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Temos agora um arquivo chamado parent_response.xml, vamos adicionar ele ao nosso Krill.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc parents add remote --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --parent nicbr_ca --rfc8183 parent_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Pronto, agora sim, o RPKI está ativo no seu ASN!&lt;br /&gt;
&lt;br /&gt;
Vamos então gerar os ROAs de seus prefixos para protege-los e prevenir que sofram hijack.&lt;br /&gt;
&lt;br /&gt;
Mas antes vamos ativar para que o Krill faça publicação remota no registro.br, volte ao terminal do seu linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc repo request --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
O comando anterior gerou um XML chamado publisher_request, com ele copiado volte ao registro.br onde você ativou o RPKI e logo abaixo do Parent response, tem um link &amp;quot;Configurar publicação remota&amp;quot;, clique nele, no campo que apareceu cole o XML e clique em '''HABILITAR PUBLICAÇÃO REMOTA''', agora você tem outro XML, chamado Repository response, seguindo o mesmo principio, precisamos criar um arquivo no linux com esse XML.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat &amp;lt;&amp;lt;\EOF &amp;gt;repository_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;COLE AQUI O XML REPOSITORY RESPONSE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EOF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Agora que temos o arquivo xml criado no Linux, vamos autorizar em nosso Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc repo update remote --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --rfc8183 repository_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E, finalmente podemos criar os ROAs deu seus prefixos, para isso vamos criar um arquivo, mas antes de mais nada, abra seu Editor de Texto preferido e cole o seguinte comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat &amp;lt;&amp;lt;\EOF &amp;gt;meus_roas.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EOF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Após o meus_roas.txt, na segunda linha, vamos adicionar os ROAs que queremos que sejam válidos, eu vou explanar antes como funciona isso e depois você pode brincar um pouco.&lt;br /&gt;
&lt;br /&gt;
Você pode adicionar &amp;quot;A&amp;quot; ou remover &amp;quot;R&amp;quot; um ROA sempre que quiser e é bem simples, no arquivo que vamos utilizar para publicar os ROAs você pode fazer o seguinte:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-24 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
A: 2001:db8::/32-48 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Note que coloquei 22-24 para IPv4 e 32-48 para IPv6, ou seja, estamos dizendo que seus prefixos dentro desse range serão válidos para serem exportados!&lt;br /&gt;
&lt;br /&gt;
Outro caso:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/24 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
A: 192.168.1.0/24 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
A: 192.168.2.0/24 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
A: 192.168.3.0/24 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
A: 2001:db8::/48 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
A: 2001:db8:9000::/48 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Nesse caso, estamos dizendo que os blocos /24 são os únicos válidos, ou seja, quando algum provedor for exportar seus blocos, e por algum motivo ele tentar exportar seu prefixo /23 para um AS que valide os prefixos por RPKI, esse AS vai aceitar somente os prefixos /24 pois você não validou o /23 e com isso o prefixo é descartado e não será roteado por esse AS.&lt;br /&gt;
&lt;br /&gt;
Vamos para outro exemplo, vamos supor que você fez o primeiro exemplo de validar os prefixo 22 até 24, e você resolveu que não quer mais assim e quer somente validar os prefixos /22 e /23, para isso você abre o seu arquivo de roas, apague tudo e faça o seguinte:&lt;br /&gt;
&lt;br /&gt;
R: 192.168.0.0/22-24 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Salve o arquivo e atualize seus ROAs, e agora abra denovo o arquivo e faça o seguinte:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-23 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
E agora pode atualizar novamente seus ROAs, nesse momento, todos os AS que fazem drop de RPKI invalid, não irão mais aceitar prefixos /24 do seu AS originados por qualquer AS, e perceberam que toda vez que quero mudar alguma coisa eu tenho que apagar o que fiz anteriormente e &amp;quot;R&amp;quot;emover ou &amp;quot;A&amp;quot;adicionar? Entenderam a mecânica?&lt;br /&gt;
&lt;br /&gt;
Bom, agora que você entendeu como funciona, vamos aos comandos para atualizar e autorizar os ROAs.&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-24 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
A: 2001:db8::/32-48 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Você colocou seus prefixos no arquivo, agora faça o seguinte comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc roas update --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --delta meus_roas.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Pronto, com isso você já atualizou os ROAs, e seus prefixos agora são válidos e não mais desconhecidos.&lt;br /&gt;
&lt;br /&gt;
Esse é o primeiro passo, agora que você tem seu ASN protegido com RPKI, o próximo passo é você também validar prefixos de outros ASs e dropar prefixos inválidos direto no seu BGP, mas isso vai ficar para outro artigo.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE:''' Manter seu Krill sempre atualizado, rodando, ligado e nunca pare o daemon.&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Artigo feito por: '''Diorges Rocha'''&lt;br /&gt;
[[Categoria:BCOPs]]&lt;br /&gt;
[[Categoria:Roteamento]]&lt;/div&gt;</summary>
		<author><name>Diorges</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Protegendo_seu_ASN_com_RPKI&amp;diff=2465</id>
		<title>Protegendo seu ASN com RPKI</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Protegendo_seu_ASN_com_RPKI&amp;diff=2465"/>
		<updated>2020-05-25T23:15:45Z</updated>

		<summary type="html">&lt;p&gt;Diorges: Criou página com 'Neste artigo iremos mostrar quais os passos necessários para criar ROAs (Route Origin Authorisation) dos prefixos de seu ASN.  Antes de mais nada, deem uma lida nesse artigo:...'&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Neste artigo iremos mostrar quais os passos necessários para criar ROAs (Route Origin Authorisation) dos prefixos de seu ASN.&lt;br /&gt;
&lt;br /&gt;
Antes de mais nada, deem uma lida nesse artigo: [[Redes que descartam RPKI Invalidos|https://wiki.brasilpeeringforum.org/w/Redes_que_descartam_RPKI_Invalidos]]&lt;br /&gt;
&lt;br /&gt;
Antes de começarmos, se você leu o artigo que deixei o link, você deve ter entendido que todo AS que ainda não criou ROAs de seus prefixos ou ainda não criou o CA para seu ASN, seus prefixos são conhecidos na internet como &amp;quot;unknown&amp;quot; ou &amp;quot;desconhecidos&amp;quot; e com isso seus prefixos ainda serão roteados pela internet, então não se preocupe com isso, esse artigo vai apenas ensinar a você deixar seus prefixos como &amp;quot;valid&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Neste artigo será utilizado o '''Krill''' para ativarmos o RPKI no seu ASN.&lt;br /&gt;
&lt;br /&gt;
= Instalação =&lt;br /&gt;
Instalação e Configuração do Krill.&lt;br /&gt;
&lt;br /&gt;
Primeiramente você precisa de uma máquina virtual rodando linux Debian ou Ubuntu, com isso iremos prosseguir para os passos de instalação:&lt;br /&gt;
&lt;br /&gt;
Instalando as dependências para compilar o Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apt install build-essential libssl-dev openssl pkg-config curl&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora vamos criar uma pasta para instalar e rodar o Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkdir -p /opt/krill/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cd /opt/krill&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;touch krill.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora vamos compilar/instalar o Krill, logo no primeiro comando ele irá fazer uma pergunta, apenas aperte ENTER e siga para os próximos comandos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;curl --proto '=https' --tlsv1.2 -sSf &amp;lt;nowiki&amp;gt;https://sh.rustup.rs&amp;lt;/nowiki&amp;gt; | sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;source ~/.cargo/env&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cargo install krill&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Execute o seguinte comando: &amp;lt;code&amp;gt;krill -V&amp;lt;/code&amp;gt; e se o resultado for algo assim: &amp;lt;code&amp;gt;Krill 0.6.2&amp;lt;/code&amp;gt; o Krill foi instalado com sucesso.&lt;br /&gt;
&lt;br /&gt;
Caso de algum erro, faça os seguintes comandos e tente novamente:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ln -s /root/.cargo/bin/krill /usr/bin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ln -s /root/.cargo/bin/krillc /usr/bin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos agora criar a config inicial do Krill, e criar uma senha/token seguro para o Krill, copie todas as linhas e cole no terminal:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat &amp;lt;&amp;lt;\EOF &amp;gt;/opt/krill/krill.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;ip = &amp;quot;0.0.0.0&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;port = 3000&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;auth_token = &amp;quot;ColoqueAquiSeuTokenSenhaSeguro&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EOF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Configuração =&lt;br /&gt;
Enfim, nosso Krill já está pronto para ser usado, antes precisamos iniciar o daemon do Krill, mas ainda, infelizmente o Krill não vem com script para iniciar e parar, a NTLabs disponibilizou dois scripts que podemos usar para iniciar e parar o daemon:&lt;br /&gt;
&lt;br /&gt;
Para iniciar (copiar todas as linhas abaixo e colar no terminal do seu Linux):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat &amp;lt;&amp;lt;\EOF &amp;gt;/usr/bin/krill_start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/bash&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;KRILL=&amp;quot;krill&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DATA_DIR=&amp;quot;/opt/krill&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;KRILL_PID=&amp;quot;$DATA_DIR/krill.pid&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CONF=&amp;quot;$DATA_DIR/krill.conf&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;SCRIPT_OUT=&amp;quot;$DATA_DIR/krill.log&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;nohup $KRILL -c $CONF &amp;gt;$SCRIPT_OUT 2&amp;gt;&amp;amp;1 &amp;amp;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;echo $! &amp;gt; $KRILL_PID&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EOF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;chmod +x /usr/bin/krill_start&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para parar (copiar todas as linhas abaixo e colar no terminal do seu Linux):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat &amp;lt;&amp;lt;\EOF &amp;gt;/usr/bin/krill_stop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;#!/bin/bash&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;DATA_DIR=&amp;quot;/opt/krill&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;KRILL_PID=&amp;quot;$DATA_DIR/krill.pid&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;kill `cat $KRILL_PID`&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EOF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;chmod +x /usr/bin/krill_stop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora temos 2 novos comandos no terminal do linux &amp;lt;code&amp;gt;krill_start&amp;lt;/code&amp;gt; e &amp;lt;code&amp;gt;krill_stop&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Então iniciemos o daemon do Krill com o comando &amp;lt;code&amp;gt;krill_start&amp;lt;/code&amp;gt; direto no seu terminal, pronto, agora temos o daemon do Krill rodando e já podemos criar nossos ROAs.&lt;br /&gt;
&lt;br /&gt;
= Habilitando RPKI e Autorizando os ROAs =&lt;br /&gt;
Vamos então criar nosso CA utilizando o cliente do Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc add --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vamos criar agora nosso child_request:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc parents request --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Esse último comando gerou um XML chamado child_request, com ele conseguiremos gerar o parent_response no site do registro.br, então copie o XML.&lt;br /&gt;
&lt;br /&gt;
Para gerar o parent_response siga os passos abaixo:&lt;br /&gt;
&lt;br /&gt;
1 - Entre na sua conta no Registro.br;&lt;br /&gt;
&lt;br /&gt;
2 - Vá em Titularidade e clique no seu ASN;&lt;br /&gt;
&lt;br /&gt;
3 - No final da página clique em '''CONFIGURAR RPKI'''; e&lt;br /&gt;
&lt;br /&gt;
4 - No campo Child request cole o XML que foi gerado pelo comando e clique em '''HABILITAR RPKI.'''&lt;br /&gt;
&lt;br /&gt;
O registro.br vai gerar um outro XML chamado parent_response, copie o conteúdo e volte ao linux.&lt;br /&gt;
&lt;br /&gt;
Agora vou facilitar para você criar um arquivo com o conteúdo do parent_response dentro do seu Linux, copie o comando abaixo e cole no seu Editor de Texto preferido e substitua no indicado com o XML gerado e execute todo o comando no terminal do linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat &amp;lt;&amp;lt;\EOF &amp;gt;parent_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;COLE AQUI O XML PARENT RESPONSE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EOF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Temos agora um arquivo chamado parent_response.xml, vamos adicionar ele ao nosso Krill.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc parents add remote --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --parent nicbr_ca --rfc8183 parent_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pronto, agora sim, o RPKI está ativo no seu ASN!&lt;br /&gt;
&lt;br /&gt;
Vamos então gerar os ROAs de seus prefixos para protege-los e prevenir que sofram hijack.&lt;br /&gt;
&lt;br /&gt;
Mas antes vamos ativar para que o Krill faça publicação remota no registro.br, volte ao terminal do seu linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc repo request --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
O comando anterior gerou um XML chamado publisher_request, com ele copiado volte ao registro.br onde você ativou o RPKI e logo abaixo do Parent response, tem um link &amp;quot;Configurar publicação remota&amp;quot;, clique nele, no campo que apareceu cole o XML e clique em '''HABILITAR PUBLICAÇÃO REMOTA''', agora você tem outro XML, chamado Repository response, seguindo o mesmo principio, precisamos criar um arquivo no linux com esse XML.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat &amp;lt;&amp;lt;\EOF &amp;gt;repository_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;COLE AQUI O XML REPOSITORY RESPONSE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EOF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Agora que temos o arquivo xml criado no Linux, vamos autorizar em nosso Krill:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc repo update remote --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --rfc8183 repository_response.xml&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
E, finalmente podemos criar os ROAs deu seus prefixos, para isso vamos criar um arquivo, mas antes de mais nada, abra seu Editor de Texto preferido e cole o seguinte comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat &amp;lt;&amp;lt;\EOF &amp;gt;meus_roas.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EOF&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Após o meus_roas.txt, na segunda linha, vamos adicionar os ROAs que queremos que sejam válidos, eu vou explanar antes como funciona isso e depois você pode brincar um pouco.&lt;br /&gt;
&lt;br /&gt;
Você pode adicionar &amp;quot;A&amp;quot; ou remover &amp;quot;R&amp;quot; um ROA sempre que quiser e é bem simples, no arquivo que vamos utilizar para publicar os ROAs você pode fazer o seguinte:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-24 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
A: 2001:db8::/32-48 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
Note que coloquei 22-24 para IPv4 e 32-48 para IPv6, ou seja, estamos dizendo que seus prefixos dentro desse range serão válidos para serem exportados!&lt;br /&gt;
&lt;br /&gt;
Outro caso:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/24 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
A: 192.168.1.0/24 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
A: 192.168.2.0/24 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
A: 192.168.3.0/24 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
A: 2001:db8::/48 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
A: 2001:db8:9000::/48 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
Nesse caso, estamos dizendo que os blocos /24 são os únicos válidos, ou seja, quando algum provedor for exportar seus blocos, e por algum motivo ele tentar exportar seu prefixo /23 para um AS que valide os prefixos por RPKI, esse AS vai aceitar somente os prefixos /24 pois você não validou o /23 e com isso o prefixo é descartado e não será roteado por esse AS.&lt;br /&gt;
&lt;br /&gt;
Vamos para outro exemplo, vamos supor que você fez o primeiro exemplo de validar os prefixo 22 até 24, e você resolveu que não quer mais assim e quer somente validar os prefixos /22 e /23, para isso você abre o seu arquivo de roas, apague tudo e faça o seguinte:&lt;br /&gt;
&lt;br /&gt;
R: 192.168.0.0/22-24 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
Salve o arquivo e atualize seus ROAs, e agora abra denovo o arquivo e faça o seguinte:&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-23 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
E agora pode atualizar novamente seus ROAs, nesse momento, todos os AS que fazem drop de RPKI invalid, não irão mais aceitar prefixos /24 do seu AS originados por qualquer AS, e perceberam que toda vez que quero mudar alguma coisa eu tenho que apagar o que fiz anteriormente e &amp;quot;R&amp;quot;emover ou &amp;quot;A&amp;quot;adicionar? Entenderam a mecânica?&lt;br /&gt;
&lt;br /&gt;
Bom, agora que você entendeu como funciona, vamos aos comandos para atualizar e autorizar os ROAs.&lt;br /&gt;
&lt;br /&gt;
A: 192.168.0.0/22-24 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
A: 2001:db8::/32-48 =&amp;gt; 65535&lt;br /&gt;
&lt;br /&gt;
Você colocou seus prefixos no arquivo, agora faça o seguinte comando:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;krillc roas update --server &amp;lt;nowiki&amp;gt;https://localhost:3000/&amp;lt;/nowiki&amp;gt; --token ColoqueAquiSeuTokenSenhaSeguro --ca MEU_CA --delta meus_roas.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pronto, com isso você já atualizou os ROAs, e seus prefixos agora são válidos e não mais desconhecidos.&lt;br /&gt;
&lt;br /&gt;
Esse é o primeiro passo, agora que você tem seu ASN protegido com RPKI, o próximo passo é você também validar prefixos de outros ASs e dropar prefixos inválidos direto no seu BGP, mas isso vai ficar para outro artigo.&lt;br /&gt;
&lt;br /&gt;
'''IMPORTANTE:''' Manter seu Krill sempre atualizado, rodando, ligado e nunca pare o daemon.&lt;br /&gt;
&lt;br /&gt;
Artigo feito por: '''Diorges Rocha'''&lt;br /&gt;
[[Categoria:BCOPs]]&lt;br /&gt;
[[Categoria:Roteamento]]&lt;/div&gt;</summary>
		<author><name>Diorges</name></author>
	</entry>
	<entry>
		<id>https://wiki.brasilpeeringforum.org/index.php?title=Compatibilidade_de_GBICs_e_Cabos_Twinax&amp;diff=686</id>
		<title>Compatibilidade de GBICs e Cabos Twinax</title>
		<link rel="alternate" type="text/html" href="https://wiki.brasilpeeringforum.org/index.php?title=Compatibilidade_de_GBICs_e_Cabos_Twinax&amp;diff=686"/>
		<updated>2019-03-18T15:17:50Z</updated>

		<summary type="html">&lt;p&gt;Diorges: Adição de SFP+ da Mikrotik para Switch Huawei 6720&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Introdução ===&lt;br /&gt;
O intuito desta página é reunir informações sobre a compatibilidade de GBICs e cabos Twinax utilizados em Switches e Roteadores mais comuns do mercado e facilitar a avaliação por operadores de rede em geral antes de realizar a aquisição.&lt;br /&gt;
&lt;br /&gt;
Como trata-se de uma Wiki qualquer pessoa pode contribuir com suas experiências de uso inserindo novas informações como novos modelos de GBICs, equipamentos, versões de firmware/software ou adicionando informações complementares às existentes. Um detalhe importante para se atentar é de que é sabido que alguns GBICs funcionam em determinadas versões de firmware/software e não em outras . Nesse casos é importante verificar os detalhes na coluna Observações.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;u&amp;gt;Aviso&amp;lt;/u&amp;gt;''': Por se tratar de uma página aberta e de construção colaborativa é importante deixar claro que &amp;lt;u&amp;gt;o Brasil Peering Forum NÃO se responsabiliza pelas informações aqui contidas&amp;lt;/u&amp;gt; ou pelos efeitos que o uso delas causem. É recomendado que em caso de dúvida antes de fazer a compra solicitar ao seu fornecedor confirmar por escrito a compatibilidade de um modelo especifico para seu hardware. Também é possível que as informações abaixo possam não sejam mais válidas da forma como apresentadas.&lt;br /&gt;
&lt;br /&gt;
A intenção é que seja apenas mais uma referência e que auxilie o trabalho de operadores de rede baseado-se nas contribuições da comunidade.&lt;br /&gt;
&lt;br /&gt;
Caso houver alguma dúvida que esta página não seja capaz de esclarecer envie um email para a Lista de Discussão do BPF.&lt;br /&gt;
&lt;br /&gt;
=== Como contribuir ===&lt;br /&gt;
Para contribuir é simples: verifique na listagem abaixo se existem modelos de GBICs que você possui não listados para cada switch ou roteador, edite a página e adicione os que você utiliza ou já tentou utilizar e observou algum problema descrevendo-o brevemente na coluna Observações. Por exemplo se não funcionou totalmente ou se a princípio funcionou e após colocado em operação houveram problemas e instabilidades. &lt;br /&gt;
&lt;br /&gt;
Para adicionar uma nova linha utilizando o VisualEditor (editor padrão da Wiki) clique na linha acima ou abaixo de onde se deseja inserir um novo modelo e aparecerá uma seta do lado da tabela. Clique na seta e selecione a opção &amp;quot;Inserir acima&amp;quot; ou &amp;quot;Inserir abaixo&amp;quot; para criar uma nova linha na tabela. Para inserir a imagem na columa Status clique com o botão direito na imagem correspondente na seção Legenda, clique em Copiar e na nova linha a ser inserida clique com o botão direito e clique em Colar. &lt;br /&gt;
&lt;br /&gt;
É também válido complementar uma informação já existente por exemplo adicionando uma versão de software ainda não listada.&lt;br /&gt;
&lt;br /&gt;
O mais importante quando for adicionar um novo GBIC é se atentar aos seguintes detalhes:&lt;br /&gt;
* Verificar se o modelo do Switch ou Roteador é &amp;lt;u&amp;gt;exatamente&amp;lt;/u&amp;gt; o mesmo da seção.&lt;br /&gt;
* Part Number do Vendor / Modelo do GBIC (cuidado para não confundir o Part Number do Vendor com a especificação)&lt;br /&gt;
* Adicione também a Revision do GBIC caso houver.&lt;br /&gt;
&lt;br /&gt;
* Versão do firmware / software do switch ou roteador (é possível que alguns GBICs funcionem em versões específicas então caso a versão que você está utilizando não está listada adicione-a dentro da respectiva coluna).&lt;br /&gt;
* Caso existir alguma condição especial descreva-a de maneira resumida na coluna Observações.&lt;br /&gt;
* Procure manter as GBICs de mesma marca juntas na listagem para facilitar a leitura. Se for necessário insira novas linhas no meio da tabela.&lt;br /&gt;
&amp;lt;u&amp;gt;Obs&amp;lt;/u&amp;gt;: Não é necessário reportar GBICs do mesmo fabricante que o switch ou roteador como compatíveis (ex: Switch Juniper e GBIC Juniper). Apenas nos casos onde houver problemas de compatibilidade.&lt;br /&gt;
&lt;br /&gt;
==== Juniper ====&lt;br /&gt;
&amp;lt;u&amp;gt;Router&amp;lt;/u&amp;gt; - &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Switch&amp;lt;/u&amp;gt; - show chassis pic pic-slot 0 fpc-slot 0&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Referências&amp;lt;/u&amp;gt;: [https://www.juniper.net/documentation/en_US/release-independent/junos/topics/concept/pic-mx-series-overview.html MX Series FPC and PIC Overview]&lt;br /&gt;
&lt;br /&gt;
==== Cisco ====&lt;br /&gt;
&lt;br /&gt;
==== Huawei ====&lt;br /&gt;
&amp;lt;u&amp;gt;Router&amp;lt;/u&amp;gt; - display optical-module brief&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Switch&amp;lt;/u&amp;gt; - display transciever verbose&lt;br /&gt;
&lt;br /&gt;
==== Mikrotik ====&lt;br /&gt;
&amp;lt;u&amp;gt;Router&amp;lt;/u&amp;gt; - /interface ethernet monitor sfp1 (Substituir sfp1 pela interface com GBIC conectado. Anotar os seguintes detalhes: sfp-vendor-name (Marca), sfp-vendor-part-number (Modelo) e sfp-vendor-revision (Revision))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Verificar versão do software&amp;lt;/u&amp;gt;: /system upgrade export&lt;br /&gt;
&lt;br /&gt;
==== Datacom ====&lt;br /&gt;
&amp;lt;u&amp;gt;Switch EDD&amp;lt;/u&amp;gt; - show hardware-status transcievers&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Switches (DM3000, DM4100, DM4004, DM4008)&amp;lt;/u&amp;gt; - show hardware-satus transcievers detail&lt;br /&gt;
&lt;br /&gt;
=== Legenda ===&lt;br /&gt;
[[Arquivo:Sim.png|semmoldura]] - GBIC reportado como funcionando sem problemas.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Arquivo:Atencao.png|semmoldura]] - GBIC reportado como funcionando parcialmente ou com restrições. Verificar Observações. &amp;lt;br&amp;gt;&lt;br /&gt;
[[Arquivo:Não.png|semmoldura]] - GBIC reportado como problemático para o equipamento. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Lista de Equipamentos ===&lt;br /&gt;
&lt;br /&gt;
==== Roteadores ====&lt;br /&gt;
&lt;br /&gt;
===== Juniper =====&lt;br /&gt;
&lt;br /&gt;
====== MX 5/10/40/80 ======&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Status&lt;br /&gt;
!Velocidade&lt;br /&gt;
!Marca&lt;br /&gt;
!Modelo/Part-Number&lt;br /&gt;
!Revision&lt;br /&gt;
!Versões de Software&lt;br /&gt;
!Observações&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|PRE-SFP-SX&lt;br /&gt;
|&lt;br /&gt;
|15.1R7-S1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|PRE-XFP-SR&lt;br /&gt;
|&lt;br /&gt;
|15.1R7-S1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
====== MX 104 ======&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Status&lt;br /&gt;
!Velocidade&lt;br /&gt;
!Marca&lt;br /&gt;
!Modelo/Part-Number&lt;br /&gt;
!Revision&lt;br /&gt;
!Versões de Software&lt;br /&gt;
!Observações&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|PRE-SFP-SX&lt;br /&gt;
|&lt;br /&gt;
|15.1R7.8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|PRE-SFP-B53-20&lt;br /&gt;
|&lt;br /&gt;
|15.1R7.8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|PRE-SFP10G-SR&lt;br /&gt;
|&lt;br /&gt;
|15.1R7.8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Finisar&lt;br /&gt;
|FTLX1471D3BNL-J1&lt;br /&gt;
|&lt;br /&gt;
|15.1R7.8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Finisar&lt;br /&gt;
|FTLX8571D3BCL-HW&lt;br /&gt;
|&lt;br /&gt;
|15.1R7.8&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== MX 150 ======&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Status&lt;br /&gt;
!Velocidade&lt;br /&gt;
!Marca&lt;br /&gt;
!Modelo/Part-Number&lt;br /&gt;
!Revision&lt;br /&gt;
!Versões de Software&lt;br /&gt;
!Observações&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|Mikrotik&lt;br /&gt;
|S-53LC20D&lt;br /&gt;
|&lt;br /&gt;
|17.4R2.4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Finisar&lt;br /&gt;
|FTLX8574D3BCL&lt;br /&gt;
|01&lt;br /&gt;
|17.4L20180504_0805&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Finisar&lt;br /&gt;
|FTLX8574D3BCL-DL&lt;br /&gt;
|&lt;br /&gt;
|17.4L20180504_0805&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
====== MX 204 ======&lt;br /&gt;
&lt;br /&gt;
====== MX 480 ======&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Status&lt;br /&gt;
!Velocidade&lt;br /&gt;
!Marca&lt;br /&gt;
!Modelo/Part-Number&lt;br /&gt;
!Revision&lt;br /&gt;
!Versões de Software&lt;br /&gt;
!Observações&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Finisar&lt;br /&gt;
|FTLX1471D3BCL-EX&lt;br /&gt;
|&lt;br /&gt;
|16.1R7.7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Finisar&lt;br /&gt;
|FTLX1471D3BNL-J1&lt;br /&gt;
|&lt;br /&gt;
|16.1R7.7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Finisar&lt;br /&gt;
|FTLX8574D3BCL&lt;br /&gt;
|&lt;br /&gt;
|16.1R7.7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Finisar&lt;br /&gt;
|FTLX8571D3BCL-HW&lt;br /&gt;
|&lt;br /&gt;
|16.1R7.7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Finisar&lt;br /&gt;
|FTRX-1411D3&lt;br /&gt;
|&lt;br /&gt;
|16.1R7.7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Finisar&lt;br /&gt;
|FTLX8512D3BCL-J3&lt;br /&gt;
|&lt;br /&gt;
|16.1R7.7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|PRESFP10G-B23-40&lt;br /&gt;
|&lt;br /&gt;
|16.1R7.7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|SumitomoElectric&lt;br /&gt;
|SXP3101LX-H3-H3C&lt;br /&gt;
|&lt;br /&gt;
|16.1R7.7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|CISCO-OPNEXT&lt;br /&gt;
|TRF5015FN-CB030&lt;br /&gt;
|&lt;br /&gt;
|16.1R7.7&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|40Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|PRE-QSFP-ER4&lt;br /&gt;
|&lt;br /&gt;
|16.1R4-S9.2&lt;br /&gt;
|40Km&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|40Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|PRE-QSFP-eSR4&lt;br /&gt;
|&lt;br /&gt;
|16.1R4-S9.2&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Cisco =====&lt;br /&gt;
&lt;br /&gt;
====== ASR920 ======&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Status&lt;br /&gt;
!Velocidade&lt;br /&gt;
!Marca&lt;br /&gt;
!Modelo/Part-Number&lt;br /&gt;
!Revision&lt;br /&gt;
!Versões de Software&lt;br /&gt;
!Observações&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|GLC-BX-D &lt;br /&gt;
|&lt;br /&gt;
|IOS XE 03.18.01.SP&lt;br /&gt;
|1000BASE BX10-D&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|GLC-BX-U&lt;br /&gt;
|&lt;br /&gt;
|IOS XE 03.18.01.SP&lt;br /&gt;
|1000BASE BX10-U&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|SFP-10G-LR&lt;br /&gt;
|&lt;br /&gt;
|IOS XE 03.18.01.SP&lt;br /&gt;
|SFP+ 10GBASE-LR&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|GBP-2733192-ERC&lt;br /&gt;
|&lt;br /&gt;
|IOS XE 03.18.01.SP&lt;br /&gt;
|SFP+ 10GBASE-ER&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== ASR903 ======&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Status&lt;br /&gt;
!Velocidade&lt;br /&gt;
!Marca&lt;br /&gt;
!Modelo/Part-Number&lt;br /&gt;
!Revision&lt;br /&gt;
!Versões de Software&lt;br /&gt;
!Observações&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
====== ASR9000 ======&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Status&lt;br /&gt;
!Velocidade&lt;br /&gt;
!Marca&lt;br /&gt;
!Modelo/Part-Number&lt;br /&gt;
!Revision&lt;br /&gt;
!Versões de Software&lt;br /&gt;
!Observações&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|XFP-10GLR-OC192SR&lt;br /&gt;
|&lt;br /&gt;
|IOS XR 6.2.3&lt;br /&gt;
|Multirate 10GBASE-LR and OC-192/STM-64 SR-1 XFP, SMF&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|SFP-10G-ER&lt;br /&gt;
|&lt;br /&gt;
|IOS XR 6.2.3&lt;br /&gt;
|10GBASE-ER 1550nm SMF 40KM&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|XFP-10GER-192IR+&lt;br /&gt;
|&lt;br /&gt;
|IOS XR 6.2.3&lt;br /&gt;
|Multirate 10GBASE-ER and OC-192/STM-64 IR-2 XFP, SMF&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|SFP-10G-LR&lt;br /&gt;
|&lt;br /&gt;
|IOS XR 6.2.3&lt;br /&gt;
|10GBASE-LR SFP+ Module for SMF&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|SFP-10G-ZR&lt;br /&gt;
|&lt;br /&gt;
|IOS XR 6.2.3&lt;br /&gt;
|10GBASE-ZR SFP+, SMF 80km&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
====== NCS540 ======&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Status&lt;br /&gt;
!Velocidade&lt;br /&gt;
!Marca&lt;br /&gt;
!Modelo/Part-Number&lt;br /&gt;
!Revision&lt;br /&gt;
!Versões de Software&lt;br /&gt;
!Observações&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|25Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|SFP-10/25G-LR-S&lt;br /&gt;
|&lt;br /&gt;
|IOS XR 6.3.3&lt;br /&gt;
|Cisco SFP28 25G LR-S Pluggable Optics Module&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|40Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|SFP-10G-LR&lt;br /&gt;
|&lt;br /&gt;
|IOS XR 6.3.3&lt;br /&gt;
|Cisco SFP+ 10G LR Pluggable Optics Module&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|40Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|SFP-10G-ER&lt;br /&gt;
|&lt;br /&gt;
|IOS XR 6.3.3&lt;br /&gt;
|Cisco SFP+ 10G ER Pluggable Optics Module&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
===== Huawei =====&lt;br /&gt;
&lt;br /&gt;
====== NE20-(S2F/S24) ======&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Status&lt;br /&gt;
!Velocidade&lt;br /&gt;
!Marca&lt;br /&gt;
!Modelo/Part-Number&lt;br /&gt;
!Revision&lt;br /&gt;
!Versões de Software&lt;br /&gt;
!Observações&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP 10G S+DA0003&lt;br /&gt;
|&lt;br /&gt;
|V800R008C10SPC500&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP+ 10G LR&lt;br /&gt;
|&lt;br /&gt;
|V800R008C10SPC500&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|CAB-10GSFP-P3M&lt;br /&gt;
|&lt;br /&gt;
|V800R008C10SPC500&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP+ WDM13-R20&lt;br /&gt;
|&lt;br /&gt;
|V800R008C10SPC500&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP-10G-LR-OEM&lt;br /&gt;
|&lt;br /&gt;
|V800R008C10SPC500&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP+ WDM12 ER&lt;br /&gt;
|&lt;br /&gt;
|V800R008C10SPC500&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|10G-SFP-DWDM-D21&lt;br /&gt;
|&lt;br /&gt;
|V800R008C10SPC500&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Mikrotik&lt;br /&gt;
|S+85DLC03D&lt;br /&gt;
|&lt;br /&gt;
|V800R008C10SPC500&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Mikrotik&lt;br /&gt;
|S+DA0003&lt;br /&gt;
|&lt;br /&gt;
|V800R008C10SPC500&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|OPTONE&lt;br /&gt;
|SFP-LX-SM-0210D&lt;br /&gt;
|&lt;br /&gt;
|V800R008C10SPC500&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|OPTONE&lt;br /&gt;
|SFP-WDM-SM-0240A&lt;br /&gt;
|&lt;br /&gt;
|V800R008C10SPC500&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OPTONE&lt;br /&gt;
|SFP+-BIDI-12-10D&lt;br /&gt;
|&lt;br /&gt;
|V800R008C10SPC500&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|TP-LINK&lt;br /&gt;
|TL-SM311LS&lt;br /&gt;
|&lt;br /&gt;
|V800R008C10SPC500&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Mikrotik =====&lt;br /&gt;
&lt;br /&gt;
====== CCR 1036-8G-2S+ ======&lt;br /&gt;
&lt;br /&gt;
====== CCR 1036-12G-4S ======&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Status&lt;br /&gt;
!Velocidade&lt;br /&gt;
!Marca&lt;br /&gt;
!Modelo/Part-Number&lt;br /&gt;
!Revision&lt;br /&gt;
!Versões de Software&lt;br /&gt;
!Observações&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP-BIDI-20KM&lt;br /&gt;
|11.0&lt;br /&gt;
|6.42.9&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP-GE-SX&lt;br /&gt;
|A&lt;br /&gt;
|6.42.7&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Switches ====&lt;br /&gt;
&lt;br /&gt;
===== Juniper =====&lt;br /&gt;
&lt;br /&gt;
====== EX4600 ======&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Status&lt;br /&gt;
!Velocidade&lt;br /&gt;
!Marca&lt;br /&gt;
!Modelo/Part-Number&lt;br /&gt;
!Revision&lt;br /&gt;
!Versões de Software&lt;br /&gt;
!Observações&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|Mikrotik&lt;br /&gt;
|S-53LC20D&lt;br /&gt;
|&lt;br /&gt;
|14.1X53-D35.3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Mikrotik&lt;br /&gt;
|S+85DLC03D&lt;br /&gt;
|&lt;br /&gt;
|14.1X53-D35.3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Finisar&lt;br /&gt;
|FTLX1471D3BNL-J1&lt;br /&gt;
|&lt;br /&gt;
|14.1X53-D35.3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Fiinsar&lt;br /&gt;
|FTLX1471D3BCL-EX&lt;br /&gt;
|&lt;br /&gt;
|14.1X53-D35.3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Fiinsar&lt;br /&gt;
|FTLX8571D3BCL-HW&lt;br /&gt;
|&lt;br /&gt;
|14.1X53-D35.3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP+ WDM12-R40&lt;br /&gt;
|&lt;br /&gt;
|14.1X53-D35.3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|GF-SFP+BXU-40D&lt;br /&gt;
|&lt;br /&gt;
|14.1X53-D35.3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Hisense&lt;br /&gt;
|LTF8502-BC+&lt;br /&gt;
|&lt;br /&gt;
|14.1X53-D35.3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|PRE-SFP10G-SR&lt;br /&gt;
|&lt;br /&gt;
|14.1X53-D35.3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|PRESFP10G-B32-20&lt;br /&gt;
|&lt;br /&gt;
|14.1X53-D35.3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|40Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|PRE-QSFP-eSR4&lt;br /&gt;
|&lt;br /&gt;
|14.1X53-D35.3&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== QFX5100 ======&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Status&lt;br /&gt;
!Velocidade&lt;br /&gt;
!Marca&lt;br /&gt;
!Modelo/Part-Number&lt;br /&gt;
!Revision&lt;br /&gt;
!Versões de Software&lt;br /&gt;
!Observações&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|40Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|PRE-QSFP-ER4&lt;br /&gt;
|&lt;br /&gt;
|17.4R1.16&lt;br /&gt;
|40Km&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|40Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|PRE-QSFP-eSR4&lt;br /&gt;
|&lt;br /&gt;
|17.4R1.16&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== QFX5110 ======&lt;br /&gt;
&lt;br /&gt;
====== QFX5200 ======&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Status&lt;br /&gt;
!Velocidade&lt;br /&gt;
!Marca&lt;br /&gt;
!Modelo/Part-Number&lt;br /&gt;
!Revision&lt;br /&gt;
!Versões de Software&lt;br /&gt;
!Observações&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|100Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|PRE-QSFP28-LR4&lt;br /&gt;
|&lt;br /&gt;
|15.1X53-D233.1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|40Gb&lt;br /&gt;
|Precision&lt;br /&gt;
|PRE-QSFP-eSR4&lt;br /&gt;
|&lt;br /&gt;
|15.1X53-D233.1&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Cisco =====&lt;br /&gt;
&lt;br /&gt;
====== Nexus 3064 ======&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Status&lt;br /&gt;
!Velocidade&lt;br /&gt;
!Marca&lt;br /&gt;
!Modelo/Part-Number&lt;br /&gt;
!Revision&lt;br /&gt;
!Versões de Software&lt;br /&gt;
!Observações&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Mikrotik&lt;br /&gt;
|S+31DLC10D&lt;br /&gt;
|&lt;br /&gt;
|7.0(3)I5(2)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP+ BX60U-I&lt;br /&gt;
|&lt;br /&gt;
|7.0(3)I5(2)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|EOPTOLINK&lt;br /&gt;
|EOLS-1312-10&lt;br /&gt;
|&lt;br /&gt;
|7.0(3)I5(2)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|Mikrotik&lt;br /&gt;
|S-53LC20D &lt;br /&gt;
|&lt;br /&gt;
|7.0(3)I5(2)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|Mikrotik&lt;br /&gt;
|S-35LC20D&lt;br /&gt;
|&lt;br /&gt;
|7.0(3)I5(2)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|WTD&lt;br /&gt;
|RTXM191-418&lt;br /&gt;
|&lt;br /&gt;
|7.0(3)I5(2)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|HTSFP-24-1111F&lt;br /&gt;
|&lt;br /&gt;
|7.0(3)I5(2)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|HI-OPTEL&lt;br /&gt;
|HTSFP241111F&lt;br /&gt;
|&lt;br /&gt;
|7.0(3)I5(2)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP-3524L-R10D&lt;br /&gt;
|&lt;br /&gt;
|7.0(3)I5(2)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|Finisar&lt;br /&gt;
|FTRJ1319P1BTL-3C&lt;br /&gt;
|&lt;br /&gt;
|7.0(3)I5(2)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Huawei =====&lt;br /&gt;
&lt;br /&gt;
====== S6720-(HI/EI/SI/LI) ======&lt;br /&gt;
A listagem abaixo foi reportada como funcional em diferentes modelos de 6720 como S6720-54C-EI-48S, S6720-30C-EI-24S e S6720S-26Q-EI-24S. Adicione outros modelos de 6720 quando reportar GBICs se for o caso. Caso existir alguma condição problemática em algum modelo específico sinalizar no campo de observações. Quando for o caso criar-se-á uma nova seção apenas para aquele modelo. Por ora leva-se em conta a versão de software como fator principal para a compatibilidade.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Atencao.png|semmoldura]] Foi reportado que GBICs de 40Gb que funcionam em portas de 40Gb não necessariamente funcionarão nas portas de 100Gb dos modelos HI.&lt;br /&gt;
&lt;br /&gt;
[[Arquivo:Atencao.png|semmoldura]] Para uso de cabos DAC em portas de 40Gb pode ser necessário desabilitar a opção training na porta (ex: ''interface 40GE/0/02 ; training disable'')&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Status&lt;br /&gt;
!Velocidade&lt;br /&gt;
!Marca&lt;br /&gt;
!Modelo/Part-Number&lt;br /&gt;
!Revision&lt;br /&gt;
!Versões de Software&lt;br /&gt;
!Observações&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|CAB-10GSFP-P1M&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600B221&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|CAB-10GSFP-P3M&lt;br /&gt;
|&lt;br /&gt;
|V200R009C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|WDM-0210AD&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600B221&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP+ BX80D-I&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600B221&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP+ SLSSB-3327B&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600B221&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP-10G32-LD40&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600B221&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|WDM-0210BD&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600B221&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP+ WDM13-R20&lt;br /&gt;
|&lt;br /&gt;
|V200R009C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP 10G S+DA0001&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600B221&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP 10G S+DA0003&lt;br /&gt;
|&lt;br /&gt;
|V200R009C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP-10G-33&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600B221&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP-10G23-CD40&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600B221&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP+ WDM12 ER&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600B221, V200R009C00SPC500,&lt;br /&gt;
V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP+ 10G LR&lt;br /&gt;
|&lt;br /&gt;
|V200R009C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP-10G-LR-OEM  &lt;br /&gt;
|&lt;br /&gt;
|V200R009C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|10G-SFP-DWDM-D21&lt;br /&gt;
|&lt;br /&gt;
|V200R009C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|40Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|QSFP+ AOC 5M&lt;br /&gt;
|&lt;br /&gt;
|V200R009C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Finisar&lt;br /&gt;
|FTLX1370W3BTL-E8&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600B221&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Finisar&lt;br /&gt;
|FTLX1471D3BCL-ER&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600B221&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|40Gb&lt;br /&gt;
|Mellanox&lt;br /&gt;
|MCP1700-B003E&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600B221&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Mikrotik&lt;br /&gt;
|S+DA0001&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600B221&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Mikrotik&lt;br /&gt;
|S+DA0003&lt;br /&gt;
|&lt;br /&gt;
|V200R009C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Mikrotik&lt;br /&gt;
|S+85DLC03D&lt;br /&gt;
|&lt;br /&gt;
|V200R009C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Mikrotik&lt;br /&gt;
|S+23LC10D&lt;br /&gt;
|&lt;br /&gt;
|V200R011C10SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|Mikrotik&lt;br /&gt;
|S+32LC10D&lt;br /&gt;
|&lt;br /&gt;
|V200R011C10SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|DELTA&lt;br /&gt;
|LCP-10G3B4QDRME2&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600B221&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|SOURCEPHOTONICS&lt;br /&gt;
|SPP10ELRIDFREN&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600B221&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|OPTONE&lt;br /&gt;
|SFP-LX-SM-0210D&lt;br /&gt;
|&lt;br /&gt;
|V200R009C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OPTONE&lt;br /&gt;
|SFP+-BIDI-12-10D&lt;br /&gt;
|&lt;br /&gt;
|V200R009C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|OPTONE&lt;br /&gt;
|SFP-WDM-SM-0240A&lt;br /&gt;
|&lt;br /&gt;
|V200R009C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1GB&lt;br /&gt;
|TP-LINK&lt;br /&gt;
|TL-SM311LS&lt;br /&gt;
|&lt;br /&gt;
|V200R009C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|40Gb&lt;br /&gt;
|TE Connectivity&lt;br /&gt;
|2163259-1&lt;br /&gt;
|&lt;br /&gt;
|V200R009C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|40Gb&lt;br /&gt;
|AOI&lt;br /&gt;
|AQOLBCQ4EDMA0776&lt;br /&gt;
|&lt;br /&gt;
|V200R009C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|40Gb&lt;br /&gt;
|Cisco&lt;br /&gt;
|AFBR-79EIPZ-CS1&lt;br /&gt;
|&lt;br /&gt;
|V200R012C00SPC500&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|40Gb&lt;br /&gt;
|Huawei&lt;br /&gt;
|02310MHR&lt;br /&gt;
|&lt;br /&gt;
|V200R012C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|DWDM-SFP10G-37.4&lt;br /&gt;
|&lt;br /&gt;
|V200R012C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|DWDM-SFP10G-38.9&lt;br /&gt;
|&lt;br /&gt;
|V200R012C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|DWDM-SFP10G-35.8&lt;br /&gt;
|&lt;br /&gt;
|V200R012C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|DWDM-SFP10G-38.1&lt;br /&gt;
|&lt;br /&gt;
|V200R012C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|DWDM-SFP10G-39.7&lt;br /&gt;
|&lt;br /&gt;
|V200R012C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|DWDM-SFP10G-36.6&lt;br /&gt;
|&lt;br /&gt;
|V200R012C00SPC500, V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====== S5720-(HI/EI/SI/LI) ======&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Status&lt;br /&gt;
!Velocidade&lt;br /&gt;
!Marca&lt;br /&gt;
!Modelo/Part-Number&lt;br /&gt;
!Revision&lt;br /&gt;
!Versões de Software&lt;br /&gt;
!Observações&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|Mikrotik&lt;br /&gt;
|S-35LC20D&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|Mikrotik&lt;br /&gt;
|S-85DLC05D&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|Mikrotik&lt;br /&gt;
|S-RJ01&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|1Gb&lt;br /&gt;
|MENTECHOPTO&lt;br /&gt;
|SGE10-D0C&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|PRECISION&lt;br /&gt;
|PRESFP10G-B23-20&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Arquivo:Sim.png|semmoldura]]&lt;br /&gt;
|10Gb&lt;br /&gt;
|OEM&lt;br /&gt;
|SFP+ WDM13 ER&lt;br /&gt;
|&lt;br /&gt;
|V200R010C00SPC600&lt;br /&gt;
|40Km&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Mikrotik =====&lt;br /&gt;
&lt;br /&gt;
====== CRS317-1G-16S+RM ======&lt;br /&gt;
&lt;br /&gt;
====== CRS328-24P-4S+RM ======&lt;br /&gt;
&lt;br /&gt;
====== CRS326-24G-2S+RM ======&lt;br /&gt;
&lt;br /&gt;
====== CRS328-4C-20S-4S+RM ======&lt;br /&gt;
[[Categoria:Infraestrutura]]&lt;/div&gt;</summary>
		<author><name>Diorges</name></author>
	</entry>
</feed>