terça-feira, 31 de dezembro de 2013

Instalação do GNS3 no Linux Ubuntu via Launchpad

Olá Pessoal.

Escrevo para informá-los que agora há pouco atualizei o repositório do blog (aba "Downloads & Laboratórios") com a última versão do GNS3 (0.8.6) para Windows. Estou disponibilizando o instalador all-in-one (aproximadamente 60MB) que é composto pelos seguintes softwares: Dynamips (32-bits e 64-bits), Qemu/Pemu, Putty, VPCS, WinPCAP e Wireshark.


Já para os usuários do Linux, ambos o GNS3 (interface gráfica) e o Dynamips (emulador) podem ser facilmente instalados/atualizados no Linux Ubuntu através de um PPA (Personal Package Archive) no Launchpad, bastando o usuário utilizar as seguintes linhas de comando:

sudo add-apt-repository ppa:gns3/ppa
sudo apt-get update
sudo apt-get install dynamips gns3

Abraço.

Samuel.

quarta-feira, 18 de dezembro de 2013

Caros Leitores, Boas Festas!

Olá Pessoal.

Estamos nos aproximando do final de mais um ano e agora é época de festas. Esse "artigo" é na realidade uma mensagem de carinho que deixo para todos vocês leitores do blog que têm colaborado no processo de divulgação de todo o conteúdo que tenho produzido, a exemplo dos artigos técnicos, dos livros, cursos, vídeos, etc. Espero que em 2014 o blog fique ainda mais popular e com uma comunidade técnica fortalecida, repleto de muitos novos artigos!

Feliz Natal e Próspero Ano Novo!

Samuel.


quinta-feira, 12 de dezembro de 2013

Laboratório de Roteamento Estático IPv6 no Linux

Olá Pessoal.

No artigo anterior intitulado "Laboratório de Roteamento Estático no Linux" o leitor aprendeu a configurar roteamento estático no Linux. Pois bem, agora chegou a hora do leitor aprender a configurar roteamento estático em redes IPv6 no Linux! Esse artigo irá utilizar a mesma topologia de rede, no entanto todo o plano de endereçamento será baseado em IPv6 (vide figura abaixo). 

Continuaremos a trabalhar em uma topologia que possui uma rede de longa distância conectando duas unidades remotas, uma com 3 sub-redes locais e outra com 2 sub-redes locais. Estarei utilizando a rede 2001:db8:cafe:ffff::/127 na longa distância (WAN), uma boa prática recomendada na RFC 6164, enquanto que as demais serão sub-redes /64.


Seguindo a mesma lógica de raciocínio do artigo anterior (e do livro prático de laboratórios), abaixo trago duas tabelas organizando algumas informações importantes para a configuração do roteamento estático. A primeira tabela apresenta o mapeamento das redes diretamente conectadas nas interfaces dos roteadores, enquanto que a segunda tabela traz uma relação das rotas que precisamos incrementar através da configuração de roteamento estático. 


Preenchidas essas tabelas fica fácil enxergar que no roteador n1-LinuxRouter1 é necessário adicoinar as redes 2001:db8:cafe:8::/64 e 2001:db8:cafe:9::/64; e que no roteador n2-Li;nuxRouter2 é necessário adicionar as redes 2001:db8:cafe:1::/64, 2001:db8:cafe:2::/64 e 2001:db8:cafe:3::/64. Mas antes de fazer qualquer configuração de roteamento estático é importante lembrar que o Linux não se comporta como roteador por padrão, negando todo o encaminhamento de pacotes entre redes distintas. 

Por isso, até esse momento nem mesmo as redes diretamente conectadas em cada unidade remota conseguem se comunicar, mesmo com informações automáticas nas tabelas de roteamento. O comando para instruir o kernel do Linux a fazer roteamento e permitir o tráfego inter-rede deve ser realizado em ambos os roteadores:

nX-LinuxRouterX# echo "1" > /proc/sys/net/ipv6/conf/all/forwarding

Com esse comando as redes diretamente conectadas em cada unidade já passam a se comunicar, no entanto ainda não há comunicação entre as redes das unidades remotas porque cada roteador somente conhece suas redes. Para viabilizar essa comunicação iremos configurar roteamento estático em ambos os roteadores, alimentando suas tabelas de roteamento para que seja possível fazer o encaminhamento. Os comandos necessários para configurar o roteamento estático são trazidos abaixo, reparem que estamos nos balizando na tabela de incremento de rotas anteriormente preenchida para organizar as informações:

n1-LinuxRouter1# route -A inet6 add 2001:db8:cafe:8::/64 gateway 2001:db8:cafe:ffff::1
n1-LinuxRouter1# route -A inet6 add 2001:db8:cafe:9::/64 gateway 2001:db8:cafe:ffff::1

n2-LinuxRouter2# route -A inet6 add 2001:db8:cafe:1::/64 gateway 2001:db8:cafe:ffff::0
n2-LinuxRouter2# route -A inet6 add 2001:db8:cafe:2::/64 gateway 2001:db8:cafe:ffff::0
n2-LinuxRouter2# route -A inet6 add 2001:db8:cafe:2::/64 gateway 2001:db8:cafe:ffff::0

Apenas para constar, essa mesma configuração poderia ser feita através do comando "ip" ao invés do comando "route". Nesse caso, a configuração ficaria da seguinte forma:

n1-LinuxRouter1# ip -6 route add 2001:db8:cafe:8::/64 via 2001:db8:cafe:ffff::1
n1-LinuxRouter1# ip -6 route add 2001:db8:cafe:9::/64 via 2001:db8:cafe:ffff::1

n2-LinuxRouter2# ip -6 route add 2001:db8:cafe:1::/64 via 2001:db8:cafe:ffff::0
n2-LinuxRouter2# ip -6 route add 2001:db8:cafe:2::/64 via 2001:db8:cafe:ffff::0
n2-LinuxRouter2# ip -6 route add 2001:db8:cafe:3::/64 via 2001:db8:cafe:ffff::0

Pronto, é só isso! Mais uma vez vale relembrar que uma rota é uma tupla composta por duas informações: (rede adicionada, próximo salto). Para finalizar o artigo, abaixo trago as saídas das tabelas de roteamento de ambos os roteadores após essa configuração:



Adendo de 02/02/2014:

No dia 31/jan (sexta-feira) participei da sétima edição da Campus Party Brasil a convite dos amigos do NIC.br, oportunidade em que ministrei uma "palestra" sobre Roteamento Estático IPv6 no Linux. A apresentação consistiu exatamente na resolução do laboratório apresentado nesse artigo, por isso estou compartilhando com vocês a gravação da minha palestra.


Abraço.

Samuel.

sexta-feira, 6 de dezembro de 2013

Laboratório de Roteamento Estático no Linux

Olá Pessoal.

No Lab02 do livro "Laboratórios de Tecnologias Cisco em Infraestrutura de Redes" (figura abaixo) o leitor aprende, através da prática, a configurar roteamento estático no ambiente de uma inter-rede utilizando roteadores da Cisco. 


A proposta desse artigo em formato de laboratório é reproduzir esse mesmo cenário utilizando o Emulador CORE (Common Open Research Emulator), um projeto da marinha norte-americana que é totalmente baseado em Linux. Ao fazê-lo é possível trazer ao leitor do blog um paralelo de como configurar o roteamento estático através de roteadores Linux.

Para tanto, primeiro é necessário reproduzir a topologia da rede que iremos configurar,  um processo bastante simples através da interface gráfica do CORE - tão simples quanto montar topologias no Simulador Cisco Packet Tracer ou no Emulador GNS3. A figura abaixo traz o resultado da reprodução da topologia no CORE, destacando que temos duas unidades remotas conectadas por uma rede de longa distância (WAN 192.168.0.248/30), uma com 3 sub-redes locais e outra com 2 sub-redes locais.


O mais importante para configurar roteamento estático é a organização das informações que serão posteriormente utilizadas na interface de linha de comando. A sintaxe da linha de comando para inserção de rotas é bastante simples, desde que o administrador saiba exatamente quais redes precisam ser adicionadas em quais roteadores e através de qual interface (ou endereço de próximo salto) é possível alcançá-las. 

Cabe destacar que toda interface de rede configurada com um endereço IP implica na inserção automática de uma rota referente àquela rede diretamente conectada, o que é natural porque a interface passa a ser membro da rede. Por isso é importante identificar quais redes estão diretamente conectadas através de quais interfaces para que, posteriormente, fique fácil visualizar quais redes precisam ser adicionadas em cada um dos roteadores. 

Seguindo a mesma lógica de raciocínio apresentada no livro, abaixo trago duas tabelas organizando essas informações. A primeira tabela apresenta o mapeamento das redes diretamente conectadas nas interfaces dos roteadores, enquanto que a segunda tabela traz uma relação das rotas que precisamos incrementar através da configuração de roteamento estático.


Preenchidas essas tabelas fica fácil enxergar que no roteador n1-LinuxRouter1 é necessário adicionar as redes 192.168.8.0/24 e 192.168.9.0/24; e que no roteador n2-LinuxRouter2 é necessário adicionar as redes 192.168.1.0/24, 192.168.2.0/24 e 192.168.3.0/24. Mas antes de fazer qualquer configuração de roteamento estático no Linux é importante lembrar que o Linux não se comporta como roteador por padrão, negando todo o encaminhamento de pacotes entre redes distintas.

Por isso até esse momento nem mesmo as redes diretamente conectadas em cada unidade remota conseguem se comunicar, mesmo com informações automáticas nas tabelas de roteamento. O comando para instruir o kernel do Linux a fazer roteamento e permitir o tráfego inter-rede deve ser realizado em ambos os roteadores:

nX-LinuxRouterX# echo "1" > /proc/sys/net/ipv4/ip_forward

Com esse comando as redes diretamente conectadas em cada unidade já passam a se comunicar, no entanto ainda não há comunicação entre as redes das unidades remotas porque cada roteador somente conhece suas redes. Para viabilizar essa comunicação iremos configurar roteamento estático em ambos roteadores, alimentando suas tabelas de roteamento para que seja possível fazer o encaminhamento. Os comandos necessários para configurar o roteamento estático são trazidos abaixo, reparem que estamos nos balizando na tabela de incremento de rotas anteriormente preenchida para organizar as informações:

n1-LinuxRouter1# route add -net 192.168.8.0/24 gateway 192.168.0.250
n1-LinuxRouter1# route add -net 192.168.9.0/24 gateway 192.168.0.250

n2-LinuxRouter2# route add -net 192.168.1.0/24 gateway 192.168.0.249
n2-LinuxRouter2# route add -net 192.168.2.0/24 gateway 192.168.0.249
n2-LinuxRouter2# route add -net 192.168.3.0/24 gateway 192.168.0.249

Apenas para constar, essa mesma configuração poderia ser feita através do comando "ip" ao invés do comando "route". Nesse caso, a configuração ficaria da segiunte forma:

n1-LinuxRouter1# ip route add 192.168.8.0/24 dev eth0
n1-LinuxRouter1# ip route add 192.168.9.0/24 dev eth0

n2-LinuxRouter2# ip route add 192.168.1.0/24 dev eth0
n2-LinuxRouter2# ip route add 192.168.2.0/24 dev eth0
n2-LinuxRouter2# ip route add 192.168.3.0/24 dev eth0

Pronto, é só isso! No caso do Cisco/IOS é comum informarmos o endereço IP da interface do roteador vizinho (próximo salto) para chegar na rede de destino, mas também é possível informar a interface de saída do roteador local. No Linux vale a mesma regra, ou seja, podemos informar a interface de saída do roteador local (por ex.: route add -net 192.168.1.0/24 dev eth0) ou o endereço da interface do roteador vizinho (por ex.: route add -net 192.168.1.0/24 gateway 192.168.0.249). Tenham em mente que uma rota é uma tupla composta por duas informações: (rede adicionada, próximo salto). Para finalizar o artigo, abaixo trago as saídas das tabelas de roteamento de ambos os roteadores:



Abraço.

Samuel.

domingo, 1 de dezembro de 2013

III Semana de Infraestrutura da Internet no Brasil

Olá Pessoal.

No período de 02 a 07 de dezembro (2013) ocorre a 3a Semana de Infraestrutura da Internet no Brasil, organizada pelo Comite Gestor da Internet no Brasil (CGI.br). Em uma mesma semana, em um único local (São Paulo), serão conduzidos três importantes eventos que discutirão temas diretamente ligados à infraestrutura da Internet no Brasil, a saber:


  • GTER 36 / GTS 22 - A Internet somente atingiu o atual estágio de desenvolvimento por contar basicamente com a troca de boas práticas entre seus interessados. O Grupo de Trabalho de Engenharia e Operação de Redes (GTER) e o Grupo de Trabalho em Segurança de Redes (GTS) se reúnem desde 1994 e 2003, respectivamente, para promover esse tipo de interação;

Na quarta-feira, dia 04/12, estarei compondo a mesa que irá discorrer sobre "IPv6 nas Universidades e Redes Acadêmicas", uma das discussões do Fórum Brasileiro de Implementadores de IPv6. Aqueles interessados nos detalhes de cada um dos evento individuais pode acessar os links acima ou acessar o link geral da semana: http://nic.br/semanainfrabr/

Além desses eventos principais, em 07/12 (sábado), também haverá um importante evento convidado que integra a semana. Trata-se do 1o Encontro Nacional da ISOC no Brasil: Em Defesa do Marco Civil da Internet, evento que tive o privilégio de "batizar" ainda nas listas de discussão da Internet Society (ISOC) Chapter Brazil.


O ponto principal das discussões será o Marco Civil da Internet, legislação em vias de votação no Congresso Nacional. Seu objetivo é assegurar a universalização indiscriminatória da Internet e a neutralidade da rede, princípios importantes para seus usuários. Vale destacar que o Marco Civil é um projeto de lei que vem sendo discutido desde 2009 e que foi construído a partir das contribuições de mais de cerca de duas mil pessoas da sociedade civil. Também serão conduzidas outras discussões sobre: espionagem na rede, compartilhamento das conexões, preço das conexões de banda larga e outros.

Programem-se para prestigiar os eventos. Para aqueles que não puderem comparecer presencialmente, haverá transmissão online via Internet. Lembrando que vocês encontram mais informações nos links acima...

Abraço.

Samuel.