Mudanças entre as edições de "Como Ter Seu Proprio Looking Glass"
Linha 129: | Linha 129: | ||
Repita a senha | Repita a senha | ||
− | <code>usermod -aG | + | <code>usermod -aG frrvty lookingglass</code> |
Habilite o forwarding IPv4 e IPv6 no linux: | Habilite o forwarding IPv4 e IPv6 no linux: | ||
Linha 149: | Linha 149: | ||
<code>sysctl -p</code> | <code>sysctl -p</code> | ||
− | Acesse a pasta do FRR: | + | Acesse a pasta o arquivo daemons do FRR: |
− | <code> | + | <code>nano /etc/frr/daemons</code> |
+ | |||
+ | Altere a linha bgpd=no para bgpd=yes e reinicie o FRR: | ||
+ | |||
+ | <code>service frr restart</code> | ||
+ | |||
+ | Utilize o comando vtysh para acessar a VTY do frr. | ||
+ | |||
+ | O próximo passo é basicamente fechar uma sessão iBGP entre seu roteador de borda, e o FRR. Caso não esteja habituado com configuração Cisco-Like, segue um exemplo: | ||
+ | |||
+ | <code>router bgp 65000</code> | ||
+ | |||
+ | <code>neighbor 192.168.0.1 remote-as 65000</code> | ||
+ | |||
+ | <code>!</code> | ||
+ | |||
+ | <code>address-family ipv4 unicast</code> | ||
+ | |||
+ | <code> neighbor 192.168.0.1 route-map IMPORT in</code> | ||
+ | |||
+ | <code> neighbor 192.168.0.1 route-map EXPORT out</code> | ||
+ | |||
+ | <code>exit-address-family</code> | ||
+ | |||
+ | <code>!</code> | ||
+ | |||
+ | <code>route-map IMPORT permit 10</code> | ||
+ | |||
+ | <code>!</code> | ||
+ | |||
+ | <code>route-map EXPORT deny 1</code> | ||
+ | |||
+ | '''Autor: André Dias''' |
Edição das 21h32min de 3 de novembro de 2019
ARTIGO EM DESENVOLVIMENTO
Assim como explicado em detalhes no artigo Looking Glass, ter um LG é fundamental para sua rede, principalmente se o ISP em questão for transito. Mesmo se tratando de casos onde não é transito, ter um LG facilita muito o troubleshoot para seu time técnico.
Na tentativa de incentivar todos os ISP's a terem seu próprio Looking Glass, vou explicar passo-a-passo como configurar um utilizando um LG OpenSource Web utilizando Debian 10, caso tenha preferencia por outra distribuição, apenas adapte conforme sua necessidade.
Após instalar seu Debian 10, atualize seus repositórios com o comando abaixo:
apt update -y
Instale as dependências:
apt install git apache2 libapache2-mod-php php php-common -y
Faça o clone do LG no GitHub:
git clone https://github.com/respawner/looking-glass.git /var/www/html/lg
Reinicie o serviço do Apache2:
service apache2 restart
Por padrão você só conseguirá acessar o LG a partir do momento que copiar o arquivo config.php.example para config.php, e é exatamente o que faremos agora.
(Prefira copiar a mover/renomear, para que possa ter backup da configuração padrão)
cd /var/www/html/lg
cp config.php.example config.php
Caso tenha deixado seu linux em DHCP, verifique qual o IP recebido utilizando seguinte comando:
ip addr
Supondo que o IP seja 192.168.0.10, acesse com a seguinte URL:
O próximo passo é editar o arquivo de configuração que copiamos, para isso, utilize o editor de texto de sua preferencia.
nano /var/www/html/lg/config.php
No arquivo de configuração possuímos alguns campos básicos como:
- Nome;
- E-mail;
- Titulo;
- Logo;
- Disclaimer.
Esses campos deverão ser preenchidos mediante suas informações, segue um exemplo:
$config['contact']['name'] = 'NOC HexaNetworks';
$config['contact']['mail'] = 'andredias@hexanetworks.com.br';
// Frontpage configuration
// Title of the page
$config['frontpage']['title'] = 'Looking Glass - Hexa Networks';
// Logo to display (remove it to not display any logo)
$config['frontpage']['image'] = 'logo.png';
// Disclaimer to inform people using the looking glass
// Set it to null to not display a disclaimer
$config['frontpage']['disclaimer'] = '';
Esse arquivo vem pré-configurado para conversar com varios roteadores. Aqui explicarei um cenário simples, onde o FRRouting estará instalado no mesmo S.O. que o LG. Caso precise que funcione em um ambiente diferente, você terá que adaptar para o cenário de sua rede, utilizando a mesma lógica aqui explicada.
Da linha 38 em diante, teremos as configuraçoes relacionadas aos roteadores, vamos editar apenas as linhas relacionadas ao "router1".
Configure mediante o exemplo:
// Authentication based on SSH or Telnet with password
// The hostname or the IP address
$config['routers']['router1']['host'] = '127.0.0.1';
// The user to use to connect to the router
$config['routers']['router1']['user'] = 'lookingglass';
// The password of the given user
$config['routers']['router1']['pass'] = 'SENHA-DO-USUARIO-LOOKINGGLASS';
// The authentication mechanism to use (can be ssh-password or telnet)
$config['routers']['router1']['auth'] = 'ssh-password';
// The router type (can be cisco, ios, juniper or junos)
$config['routers']['router1']['type'] = 'quagga';
// The router source interface to be used
//$config['routers']['router1']['source-interface-id'] = 'lo0';
// The router description to be displayed in the router list
$config['routers']['router1']['desc'] = 'Roteador de Borda';
Acima determinamos que:
- O LG fará consultas local;
- Utilizará o usuário "lookingglass" para tal;
- Com a senha "SENHA-DO-USUARIO-LOOKINGGLASS";
- Utilizando SSH;
- Definimos que ele consultará um Quagga, porém na verdade será um FRRouting;
- Comentamos a interface de origem;
- A descrição do roteador é "Roteador de Borda".
Caso queira remover o restante dos roteadores que aparecem, basta apagar ou comentar (//) as linhas referente aos outros roteadores.
O proximo passo é instalar o FRRouting:
apt-get install frr
Adicione o usuario "lookingglass" no seu linux, e o adicione ao grupo "frr":
adduser lookingglass
Informe a senha
Repita a senha
usermod -aG frrvty lookingglass
Habilite o forwarding IPv4 e IPv6 no linux:
echo "net.ipv4.conf.all.forwarding=1" | tee -a /etc/sysctl.conf
echo "net.ipv4.conf.default.forwarding=1" | tee -a /etc/sysctl.conf
sed 's/#net.ipv6.conf.all.forwarding=1/net.ipv6.conf.all.forwarding=1/g' /etc/sysctl.conf | tee /etc/sysctl.conf
echo "net.ipv6.conf.default.forwarding=1" | tee -a /etc/sysctl.conf
sysctl -p
echo "net.ipv4.conf.all.mc_forwarding=1" | tee -a /etc/sysctl.conf
echo "net.ipv4.conf.default.mc_forwarding=1" | tee -a /etc/sysctl.conf
sysctl -p
Acesse a pasta o arquivo daemons do FRR:
nano /etc/frr/daemons
Altere a linha bgpd=no para bgpd=yes e reinicie o FRR:
service frr restart
Utilize o comando vtysh para acessar a VTY do frr.
O próximo passo é basicamente fechar uma sessão iBGP entre seu roteador de borda, e o FRR. Caso não esteja habituado com configuração Cisco-Like, segue um exemplo:
router bgp 65000
neighbor 192.168.0.1 remote-as 65000
!
address-family ipv4 unicast
neighbor 192.168.0.1 route-map IMPORT in
neighbor 192.168.0.1 route-map EXPORT out
exit-address-family
!
route-map IMPORT permit 10
!
route-map EXPORT deny 1
Autor: André Dias