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

Rudimar Remontti

Trabalho atualmente como Gerente de Redes em um Provedor de Internet no Rio Grande do Sul.

Você pode gostar...

36 Resultados

  1. Paulo Ricardo disse:

    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.

  2. GUILHERME DE MENEZES JARDIN disse:

    Quando troco o Array pro meu, ele simplesmente nao abre mais a pagina WEB

  3. 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

  4. Daniel disse:

    Alguém que consiga implementar esse projeto do Lg em huawei ne8000 F1 ?

  5. Bruno disse:

    Porque o Graph não funciona no Huawei, não consegui fazer aparecer, apenas clicando execute comando bgp neste roteador

  6. igor disse:

    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.

  7. maycon disse:

    Boa noite fiz um teste no ne40 ele nao responde ICMP e nem TRACERT

  8. alexander disse:

    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’,
    ),

  9. Tiago disse:

    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?

  10. Nilton Machado disse:

    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..

  11. Jonatan disse:

    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 ?

  12. Pedro Moura disse:

    Show de bola Remontti, so me tira um duvida como ADD a logo do Provedor ?

  13. Renato Pereira disse:

    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

  14. Bruno disse:

    Remontti, estou configurando no NE40, porém, não está funcionando o comando “trace” e o “graph”, tem alguma dica para resolver estes problemas?

    • Bruno disse:

      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.

  15. Bryam disse:

    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 ?

  16. eduardo disse:

    no meu ne40 só nao funcionou o graph, Not found BGP information of request. alguma coisa que fiz errado?

  17. Matheus Julio disse:

    Excelente tutorial cara, parabéns!!!

  18. Roberto disse:

    aqui tbem nao retorna nada. uso um NE20

  19. 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/

  20. muito obrigado meu querido esta funcionando perfeito agora .

  21. Rômulo disse:

    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

      # apt install libapache2-mod-php php php-cli php-pear php-gmp php-gd php-bcmath php-mbstring php-curl php-xml php-zip
      # systemctl restart apache2

      Veja se resolve. Alguem que tentou subir em ubuntu teve stress pq alguns pacotes tiveram q ser instalado um por um.

      • Helyson Oliveira disse:

        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.

    • GUILHERME DE MENEZES JARDIN disse:

      Estou o mesmo problema, ele mostra o comando na pagina, mas no NE nao tem nada…e na web fica o comando sem resultado

  22. Rafael Barboza disse:

    Como sempre, mais um tutorial de Qualidade!

    Parabéns pelo trabalho Rudimar!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *