Nesta dica, vou demonstrar como configura o sistema operacional  
GNU/Linux como roteador. Vamos usar dois sistemas distintos para realizar o roteamento, para que o leitor aprenda como se faz em distribuições baseadas em 
Red Hat e em 
Debian.
    
Roteador CentOS 6.4
    
VirtualBox: máquina virtual com 
CentOS 6.4 instalado e 4 placas de rede configuradas:
Obs.: as placas de rede nas máquinas virtuais, devem ser configuradas como rede interna.
CentOS 6.4 - n1-LinuxRouter1 :: Configurando a rede :: editei os arquivos de configuração de placas de rede no CentOS:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
Até a 
eth3, conforme a tabela:
    
    
# Intel Corporation 82540EM Gigabit Ethernet Controller
DEVICE=eth0
#BOOTPROTO=static
HWADDR=08:00:27:95:1B:87
IPADDR=192.168.0.249
NETMASK=255.255.255.252
#GATEWAY=192.168.0.1
#IPV6INIT=yes
#IPV6_AUTOCONF=yes
ONBOOT=yes
# Fazer para todas as placas
# Intel Corporation 82540EM Gigabit Ethernet Controller
DEVICE=eth1
#BOOTPROTO=static
HWADDR=08:00:27:95:1B:87
IPADDR=192.168.1.254
NETMASK=255.255.255.252
GATEWAY=192.168.0.1249
#IPV6INIT=yes
#IPV6_AUTOCONF=yes
ONBOOT=yes
# Fazer para todas as placas
    
Reiniciei as interfaces de rede:
# /etc/init.d/network stop
# /etc/init.d/network start
Ficando assim:
# ifconfig | more
eth0      Link encap:Ethernet  Endereço de HW 08:00:27:95:1B:87  
          inet end.: 192.168.0.249  Bcast:192.168.0.251  Masc:255.255.255.252
          endereço inet6: fe80::a00:27ff:fe95:1b87/64 Escopo:Link
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:138 errors:0 dropped:0 overruns:0 frame:0
          TX packets:45 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:1000 
          RX bytes:19704 (19.2 KiB)  TX bytes:6547 (6.3 KiB)
eth1      Link encap:Ethernet  Endereço de HW 08:00:27:69:12:4C  
          inet end.: 192.168.1.254  Bcast:192.168.1.255  Masc:255.255.255.0
          endereço inet6: fe80::a00:27ff:fe69:124c/64 Escopo:Link
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:139 errors:0 dropped:0 overruns:0 frame:0
          TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:1000 
          RX bytes:19755 (19.2 KiB)  TX bytes:6532 (6.3 KiB)
eth2      Link encap:Ethernet  Endereço de HW 08:00:27:CF:E4:39  
          inet end.: 192.168.2.254  Bcast:192.168.2.255  Masc:255.255.255.0
          endereço inet6: fe80::a00:27ff:fecf:e439/64 Escopo:Link
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:139 errors:0 dropped:0 overruns:0 frame:0
          TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:1000 
          RX bytes:19755 (19.2 KiB)  TX bytes:6532 (6.3 KiB)
eth3      Link encap:Ethernet  Endereço de HW 08:00:27:0B:AD:A7  
          inet end.: 192.168.3.254  Bcast:192.168.3.255  Masc:255.255.255.0
          endereço inet6: fe80::a00:27ff:fe0b:ada7/64 Escopo:Link
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:139 errors:0 dropped:0 overruns:0 frame:0
          TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:1000 
          RX bytes:19755 (19.2 KiB)  TX bytes:6532 (6.3 KiB)
    
É importante lembrar que o GNU/Linux não se comporta como roteador por padrão, negando todo o encaminhamento de pacotes entre redes distintas.
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:
# echo "1" > /proc/sys/net/ipv4/ip_forward
Criei um script chamado 
ip_forward.sh para ser executado quando a máquina der o boot, para não precisar digitar o comando acima toda vez que o sistema for reiniciado:
# vi ip_forward.sh
    
#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward
    
Deixei o script 
ip_forward.sh como executável:
# chmod +x ip_forward
Movi o script para o diretório 
/usr/local/bin:
# mv ip_forward /usr/local/bin
    
Consultei o 
runlevel padrão no CentOS 6.4, para pode criar o link simbólico no diretório correto:
# runlevel
  3
Consultei os serviços que iniciam no diretório 
/etc/rc3.d:
# ls -l /etc/rc3.d/
Criei um link simbólico em 
/etc/rc3.d/, com um número de arquivo que não existia:
# ln -s /usr/local/bin/ip_forward  /etc/rc3.d/S90ip_forward
Roteador Debian Wheezy
Debian Wheezy - n2-LinuxRouter2 :: Configurando a rede:
# vi /etc/network/interfaces
    
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
allow-hotplug eth0
iface eth0 inet static
           address 192.168.0.250
           netmask 255.255.255.252
           network 192.168.0.248
           broadcast 192.168.0.251
#          gateway 192.168.0.1
# The second network interface
auto eth1
allow-hotplug eth1
iface eth1 inet static
           address 192.168.8.254
           netmask 255.255.255.0
           network 192.168.8.0
           broadcast 192.168.8.255
           gateway 192.168.0.248
# The third network interface
auto eth2
allow-hotplug eth2
iface eth2 inet static
           address 192.168.9.254
           netmask 255.255.255.0
           network 192.168.9.0
           broadcast 192.168.9.255
           gateway 192.168.0.248
    
Reiniciei as interfaces de rede:
# /etc/init.d/network stop
# /etc/init.d/network start
Ficando assim:
    
# ifconfig | more
eth0      Link encap:Ethernet  Endereço de HW 08:00:27:c3:5f:22
          inet end.: 192.168.0.250  Bcast:192.168.0.251  Masc:255.255.255.252
          endereço inet6: fe80::a00:27ff:fec3:5f22/64 Escopo:Link
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:578 (578.0 B)
eth1      Link encap:Ethernet  Endereço de HW 08:00:27:9b:d4:9d
          inet end.: 192.168.8.254  Bcast:192.168.8.255  Masc:255.255.255.0
          endereço inet6: fe80::a00:27ff:fe9b:d49d/64 Escopo:Link
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:578 (578.0 B)
eth2      Link encap:Ethernet  Endereço de HW 08:00:27:af:cc:34
          inet end.: 192.168.9.254  Bcast:192.168.9.255  Masc:255.255.255.0
          endereço inet6: fe80::a00:27ff:feaf:cc34/64 Escopo:Link
          UP BROADCASTRUNNING MULTICAST  MTU:1500  Métrica:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:578 (578.0 B)
lo        Link encap:Loopback Local
          inet end.: 127.0.0.1  Masc:255.0.0.0
          endereço inet6: ::1/128 Escopo:Máquina
          UP LOOPBACKRUNNING  MTU:16436  Métrica:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          colisões:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    
# echo "1" > /proc/sys/net/ipv4/ip_forward
Criei um script chamado 
ip_forward.sh para ser executado quando a máquina der o boot:
# vi ip_forward.sh
    
#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward
    
Deixei o script 
ip_forward.sh como executável:
# chmod +x ip_forward
Movi o script para o diretório 
/usr/local/bin:
# mv ip_forward /usr/local/bin
Consultei o runlevel padrão no Debian para pode criar o link simbólico no diretório correto:
# runlevel
  3
Consultei os serviços que iniciam no diretório 
/etc/rc3.d:
Criei um link simbólico em 
/etc/rc3.d/S91ip_forward, com um número de arquivo que não existia:
# ln -s /usr/local/bin/ip_forward /etc/rc3.d/S91ip_forward
   
Configuração manual de rotas e testes
    
Inserindo as rotas: 
-Roteador CentOS:
# route add -net 192.168.8.0/24 gateway 192.168.0.250
# route add -net 192.168.9.0/24 gateway 192.168.0.250
-Roteador Debian Wheezy:
# route add -net 192.168.1.0/24 gateway 192.168.0.249
# route add -net 192.168.2.0/24 gateway 192.168.0.249
# route add -net 192.168.3.0/24 gateway 192.168.0.249
   
Após realizar as configurações, faça teste de 
ping em todas as interfaces de rede, e execute o comando:
# route -n
Para visualizar a tabela de rotas.
Bibliografia
-  Blog LabCisco
-  Redes de Computadores Gabriel Torres
-  Certificação Linux - Uirá Ribeiro
	
		
		
		Opa, realmente foi baba minha, eu nao estava usando cabo crossover, agora esta funcionando, mas a questão das rotas continuo apanhando muito, eu adiciono as rotas, incluo elas no network/interfaces e as vezes pinga as vezes nao, reiniciei a maquina e perdi tudo , tive que adicionar tudo de novo agora nao pinga da maquina 1 para maquina 2, mas consigo pingar da maquina1 para R1, tambem consigo pingar do R1 para R2, acredito que seja alguma baba nova minha, estou apanhando das rotas mas quando eu acertar acredito que nao esqueço nunca mais. abraço.