Servidor Looking Glass simples e rápido!
Um servidor Looking Glass (ou servidor LG) é muito útil para acesso remoto com o objetivo de disponibilizar informações de roteamento publicamente. O servidor atua como um portal limitado e somente leitura para roteadores de qualquer organização que esteja executando o servidor LG.
Para montar o servidor vamos usar um projeto muito simples que basicamente tem 2 arquivos, o PHP Looking Glass qual é um fork do projeto russo hsdn.
Você encontra outros projetos legais também como o da respawner qual o pessoal da BPF já fez tutorial sobre o mesmo.
Características do PHP Looking Glass
Suporte a Telnet e SSH (plink ou sshpass).
Suporte aos roteadores Cisco, MikroTik (RouterOS), Juniper, Huawei (Comware), Quagga (Zebra) e OpenBGPD.
Suppores aos protocolos IPv4 e IPv6.
Conversão automática de IPs em sub-redes usando Merit RADb para MikroTik (http://www.ra.net/).
Desenho do gráfico BGP AS usando o kit de ferramentas GraphViz.
Funciona no php 5.2.0 e superiores.
Para subir o projeto em seu servidor você precisa ter um serviço web como apache por exemplo e PHP basicamente. Você pode subir ele em um servido já em produção, não é necessário criar um servidor apenas para essa finalidade. (Porém fica a seu critério)
Vou trazer uma instalação limpa com base na instalação zerada do Debian 10.
Com Debian instalado vamos instalar os pacotes necessários:
# apt install apache2 apache2-utils sshpass graphviz # apt install libapache2-mod-php php php-cli php-pear php-gmp php-gd php-bcmath php-mbstring php-curl php-xml php-zip # pear install Image_GraphViz-1.3.0
Vou colocar o projeto no diretório padrão do apache /var/www/html/, mas você pode criar um domínio virtual para isso ficar muito mais legal e ainda criar um certificado gratuitamente com o Let’s Encrypt
# mkdir /var/www/html/lg # cd /var/www/html/lg # apt install wget # wget https://github.com/remontti/lg/raw/master/htdocs/favicon.ico # wget https://github.com/remontti/lg/raw/master/htdocs/lg_logo.gif # wget https://raw.githubusercontent.com/remontti/lg/master/htdocs/index.php # wget https://raw.githubusercontent.com/remontti/lg/master/htdocs/lg_config.php
Agora basta vocÊ editar o arquivo lg_config.php e alterar os valores das variáveis:
$_CONFIG[‘asn’] – Seu AS para exibição na página LG.
$_CONFIG[‘company’] – Nome da empresa para exibição na página LG.
$_CONFIG[‘logo’] – O logotipo da sua empresa para exibição na página LG.
$_CONFIG[‘color’] – Cor principal dos elementos de design na página LG.
A configuração dos roteadores é especificada em $_CONFIG[‘routers’], no seguinte formato:
$_CONFIG['routers'] = array ( 'router1' = array ( // Router valores ), 'router2' = array ( // Router valores ), // etc. );
No nosso arquivo atual já consta com 3 exemplos sendo um o do IX.BR (SP). Basta você configurar seu roteado seguindo os padrões:
url – Endereço no formato: [ssh|telnet]://[login]:[password]@[host]:[port].
pingtraceurl – Endereço URL para ferramentas de ping e traceroute para roteadores Quagga (ou * FALSE *).
description – Descrição do roteador.
group – Nome do grupo de roteadores (AS) (ou FALSE).
ipv6 – Suporte IPv6? (TRUE ou FALSE).
os – Tipo do Router (ios, mikrotik, quagga, junos, openbgpd, huawei).
Configurações ajustada basta acessar o endereço http://ip-servidor/lg ou se você fez bonitinho via domínio 🙂
Curtiu o conteúdo? Quer me ajudar? 🙂
Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento! (Esse deu trabalho!)
Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato clique aqui.
Participe do canal no telegram para ficar atualizado sempre que publicar um novo tutorial.
Abraço!
Demos
http://dev.hsdn.org/lg/
http://lg.campus-rv.net/
http://lg.lankabell.com/
Gráfico da demonstração (BGP AS)
http://dev.hsdn.org/lg/?command=graph&protocol=ipv4&query=8.8.8.8&router=example1
Olá, bom dia. Fiz um servidor frr recebendo a sessão full, porem o comando show ip bgp 8.8.8.8 so me retorna % [ZEBRA] Unknown command: show ip bgp 8.8.8.8, estou usando o telnet para fazer a busca, dentro do servidor frr ao rodar o comando vtysh ele entra normal e faz a busca.
Quando troco o Array pro meu, ele simplesmente nao abre mais a pagina WEB
Como sempre top o tutorial, só não consegui subir o gráfico no F1A alguém conseguiu? se sim poderia me dar uma ajuda
Alguém que consiga implementar esse projeto do Lg em huawei ne8000 F1 ?
eu, porem não subiu o gráfico
Porque o Graph não funciona no Huawei, não consegui fazer aparecer, apenas clicando execute comando bgp neste roteador
Primeiramente agradecer pelo otimo tutorial. PARABENS!!!
Alguem teve dificuade de fazer com ne8k da huawei? Pq pra min aparece so Command failed. E pelo que percebi ele nem tem historicoo dos comandos executas no equipamento.
Boa tarde Igor.
Chegou a solucionar a dificuldade no NE8000 ? Também apresento o mesmo problema somente no NE8k, no NE40 ficou funcionando normalmente.
Boa noite fiz um teste no ne40 ele nao responde ICMP e nem TRACERT
Segue uma ajuda!!
‘LG-INTERNEXA’ => array
(
‘url’ => ‘ssh://bgp_view:bgp_view@177.84.161.226’,
‘pingtraceurl’ => TRUE,
‘description’ => ‘LG-INTERNEXA’,
‘group’ => ‘Public Route Servers’,
‘ipv6’ => TRUE,
‘os’ => ‘junos’,
),
‘GBLX | Level 3’ => array
(
‘url’ => ‘telnet://route-server.gblx.net’,
‘pingtraceurl’ => TRUE,
‘description’ => ‘gblx-as3549’,
‘group’ => ‘Public Route Servers’,
‘ipv6’ => TRUE,
‘os’ => ‘ios’,
),
‘Equinix – AS14609’ => array
(
‘url’ => ‘telnet://route-views.eqix.routeviews.org’,
‘pingtraceurl’ => TRUE,
‘description’ => ‘Equinix – AS14609’,
‘group’ => ‘Public Route Servers’,
‘ipv6’ => TRUE,
‘os’ => ‘ios’,
),
‘Telefonica Brasil – AS18881’ => array
(
‘url’ => ‘ssh://gvt_view:gvt_view@route-server.gvt.net.br’,
‘pingtraceurl’ => TRUE,
‘description’ => ‘gvt-as18881’,
‘group’ => ‘Public Route Servers’,
‘ipv6’ => TRUE,
‘os’ => ‘ios’,
),
‘Hurricane Electric – AS6939’ => array
(
‘url’ => ‘telnet://route-server.he.net’,
‘pingtraceurl’ => TRUE,
‘description’ => ‘HE-as6939’,
‘group’ => ‘Public Route Servers’,
‘ipv6’ => TRUE,
‘os’ => ‘ios’,
),
👏👏👏👏
Quando eu coloco a minah URL ele simplesmnete nao abre a pagina
o meu ficou com esse erro quando faço uma consulta ao router que tem o routerOS
mikrotik,
https://prnt.sc/10gk6ay
como faço para sanar esse erro?
não sei se aqui é o melhor lugar para peguntar, mas lá vai…
Sabe dizer como eu faço para monitorar o tráfego entre AS’s?
por exemplo quero saber quanto utilizo de tráfego para Google, Netflix, Akamai etc..
tem dois tutoriais no blog:
https://blog.remontti.com.br/5129
e
https://blog.remontti.com.br/3368
Olá amigos, como sempre nosso amigo Rudimar e seus maravilhosos e valiosos tutoriais, estou tentando fazer funcionar com o vyos, alguém conseguiu fazer funcionar com ele ?
Show de bola Remontti, so me tira um duvida como ADD a logo do Provedor ?
Remontti primeiramente gostaria de agradecer pelo excelente artigo, muito bem feito e explicado, fácil e intuitivo. Amigo tenho somente uma dúvida eu tenho um router-server quagga, porém se eu usar esse comando URL formato: [ssh|telnet]://[login]:[password]@[host]:[port] vou ter acesso ao linux, mais para acessar o quagga no linux ainda preciso usar o vtysh. como faria para funcionar essa comunicação? pq o comando show ip bgp 8.8.8.8 só vai funcionar dentro do quagga e não dentro do linux
Bom dia amigo, você direciona para porta do bgpd
Remontti, estou configurando no NE40, porém, não está funcionando o comando “trace” e o “graph”, tem alguma dica para resolver estes problemas?
Para o traceroute você precisa colocar ‘pingtraceurl’ => FALSE, na configuração do roteador no arquivo lg_config.php.
O gráfico também não consegui fazer funcionar.
E quando a senha tem caracter especial ? não está nem iniciando o ssh, como que faço para ele ler os caracters especiais da senha ?
no meu ne40 só nao funcionou o graph, Not found BGP information of request. alguma coisa que fiz errado?
Eduardo, poderia me auxiliar a configurar o trace no ne40? Pois não estou conseguindo
Excelente tutorial cara, parabéns!!!
aqui tbem nao retorna nada. uso um NE20
Remmotti vc tem como me da uma dica de como retiara o bgp advertised-routes e o bgp summary da tela do LG igual a esse ai que vc mandou como exemplo http://lg.lankabell.com/
no arquivo index.php remova ou comente as linhas 512 e 513
muito obrigado
muito obrigado meu querido esta funcionando perfeito agora .
adorei muito porem com Huawei ele nao aparece os comandos fica travada a tela.
ele nao aplica o comando, olhei no historico do huawei nao parace la
Instala isso e restarta o apache
Veja se resolve. Alguem que tentou subir em ubuntu teve stress pq alguns pacotes tiveram q ser instalado um por um.
Provável que o Rômulo tenha criado um usuário novo. Veja se no usuário novo você deu o comando:
[~NE40-aaa] local-user USUARIO enable
Lembrando que o comando é diferente de: [~NE40-aaa] local-user USUARIO state active
abs.
estou tentando subir no NE40 mas nao ta indo tbm estou usando meu proprio user
Estou o mesmo problema, ele mostra o comando na pagina, mas no NE nao tem nada…e na web fica o comando sem resultado
Como sempre, mais um tutorial de Qualidade!
Parabéns pelo trabalho Rudimar!