DEV Community

Gabriel Tetzner Menegueti
Gabriel Tetzner Menegueti

Posted on • Updated on

Os primeiros passos com freeRouter

Sobre

freeRouter é definido como um roteador livre e grátis, também é um canivete suíço de rede, ele é desenvolvido para suportar protocolos de roteamento, cripto, encaminhamento, encapsulamento e túnel. freeRouter não trabalha com roteamento global, cada interface roteada deve estar em uma tabela de roteamento virtual.

Começo

Requisitos

  • Requisitos é ter um sistema operacional com o java instalado.

Instalação

A maneira mais fácil de rodar o freeRouter é ele virtualizado em um jar.

Porém existem outras maneiras, já que isso é necessário para os testes que só possam serem executados em um ambiente específico.

As outras maneiras são:

  • Rodando em uma VM.
  • Rodando em uma VM na nuvem.
  • Rodando em um equipamento físico.

Observações

  • Neste tutorial, vamos rodar o freeRouter através de um jar, nos outros casos, a instalação ocorre através de um script de instalação, recomendo não fazer isso em sua máquina, pois o freeRouter toma conta da sua máquina e você perde seu sistema.

  • A maneira através do jar é segura também, já que estaremos isolando um ambiente da sua máquina, ou seja, emulado.

Rodando o freeRouter em um arquivo jar.

Linux

Instalando o java
$ sudo apt-get install default-jre-headless --no-install-recommends

Enter fullscreen mode Exit fullscreen mode
Baixando o arquivo .jar
# wget freertr.org/rtr.jar
Enter fullscreen mode Exit fullscreen mode

Agora vamos montar uma topologia linear com dois roteadores freeRouter rodando e configurando uma conexão entre duas interfaces ethernet.

Topology

Image description

Criando arquivos da configuração da topologia

R1-HW.txt

$ sudo nano r1-hw.txt
Enter fullscreen mode Exit fullscreen mode
int eth1 ethernet 0000.1111.0001 127.0.0.1 26011 127.0.0.1 26021
tcp2vrf 1123 v1 23
Enter fullscreen mode Exit fullscreen mode
  • Isto é necessário, para determinar que você terá uma interface ethernet1 do tipo Ethernet com um endereço físico definido, porém você acaba definindo esta configuração de uma maneira lógica, a outra parte é a ligação da sua interface via uma porta, ou seja, sua interface é ligada via sockets para uma outra ponta que será uma outra interface que você definir, no caso do nosso tutorial. O tcp2vrf vai fazer uma ligação entre uma porta da nossa máquina host para uma porta utilizada dentro do nosso roteador, nesse caso como estaremos utilizando o serviço de acesso via telnet, precisaremos dessa configuração para acessar via nossa rede local.

R1-SW.txt

$ sudo nano r1-sw.txt
Enter fullscreen mode Exit fullscreen mode
hostname r1
buggy
!
logging file debug ../binTmp/zzz39r1-log.run
!
vrf definition v1
 exit
!
interface ethernet1
 vrf for v1
 ipv4 address 1.1.1.1 255.255.255.0
 no shutdown
 no log-link-change
 exit
!
!
server telnet tester
 security protocol telnet
 no exec authorization
 no login authentication
 vrf v1
 exit
!
!
end

Enter fullscreen mode Exit fullscreen mode
  • Aqui definimos várias configurações de software, primeiro o hostname que será o nome que ele vai atribuir ao seu roteador, a vrf, que vai criar uma tabela de roteamento separada para o nosso uso, a interface ethernet1 com as configurações de vrf forwarding definidas, o endereçamento IPv4 e que esta interface vai está ligada, e por último o server telnet para ter o acesso ao roteador.

R2-HW.txt

$ sudo nano r2-hw.txt
Enter fullscreen mode Exit fullscreen mode
int eth1 ethernet 0000.2222.0001 127.0.0.1 26021 127.0.0.1 26011
tcp2vrf 2223 v1 23
Enter fullscreen mode Exit fullscreen mode

R2-SW.txt

$ sudo nano r2-sw.txt
Enter fullscreen mode Exit fullscreen mode
hostname r2
buggy
!
logging file debug ../binTmp/zzz39r1-log.run
!
vrf definition v1
 exit
!
interface ethernet1
 vrf for v1
 ipv4 address 1.1.1.2 255.255.255.0
 no shutdown
 no log-link-change
 exit
!
!
server telnet tester
 security protocol telnet
 no exec authorization
 no login authentication
 vrf v1
 exit
!
!
end
Enter fullscreen mode Exit fullscreen mode

Executando o freeRouter

Execute os dois roteadores na sua pasta das configurações

$ java -jar rtr.jar routersc r1-hw.txt r1-sw.txt
Enter fullscreen mode Exit fullscreen mode
$ java -jar rtr.jar routersc r2-hw.txt r2-sw.txt
Enter fullscreen mode Exit fullscreen mode
  • R1

Image description

Image description

  • R2

Image description
Image description

Acesso aos roteadores

  • Mesmo com o acesso a partir da execução do jar, é possível acessar o freeRouter através de um telnet, lembrando que na configuração sw.txt, definimos um server telnet através da porta 23 mapeando para a nossa máquina a porta 1123 e 2223.

  • R1

$ telnet 127.0.0.1 1123
Enter fullscreen mode Exit fullscreen mode
  • R2
$ telnet 127.0.0.1 2223
Enter fullscreen mode Exit fullscreen mode

Teste de conectividade

  • Faça um teste de conectividade simples entre as duas interfaces Ethernet:

  • R1:

r1# ping 1.1.1.2 vrf v1 
Enter fullscreen mode Exit fullscreen mode
  • É esperado que seu ping funcione para a outra interface Ethernet:
pinging 1.1.1.2, src=null, vrf=v1, cnt=5, len=64, df=false, tim=1000, gap=0, ttl=255, tos=0, sgt=0, flow=0, fill=0, alrt=-1, sweep=false, multi=false
!!!!!
result=100.0%, recv/sent/lost/err=5/5/0/0, took 66, min/avg/max/dev rtt=0/1.2/4/2.1, ttl 255/255/255/0.0, tos 0/0.0/0/0.0
Enter fullscreen mode Exit fullscreen mode

Obrigado pela sua atenção pessoal. Em breve teremos vídeos sobre os tipos de conexões e outras soluções que o freeRtr entrega, e explicando alguma dessas configurações.

Meus contatos

Top comments (0)