Rotas no Linux Quando configuramos o Gateway de uma interface
Transcrição
Rotas no Linux Quando configuramos o Gateway de uma interface
Rotas no Linux Quando configuramos o Gateway de uma interface de rede no Linux, estamos configurando a rota de saída para os pacotes de nossa interface. Por exemplo, quando digitamos o seguinte comando no host de IP 192.168.0.2: route add default gw 192.168.0.1 eth0 Estamos nesse caso configurando a saída de nossa interface de rede eth0 para o endereço 192.168.0.1. Este host (192.168.0.1) deverá possuir mecanismos de encaminhar nossos pacotes para um próximo roteador, ou ainda conectar diferentes redes de um mesmo segmento. Imagine agora outra máquina da outra rede, com IP 10.0.0.2/8, com a rota: route add default gw 10.0.0.1 eth0 O comentário anterior continua valendo, ou seja, o host de IP 10.0.0.1 deverá possuir mecanismos de encaminhar nossos pacotes para o próximo roteador, ou ainda conectar redes distintas. Por exemplo, considere um servidor com duas interfaces de rede: Eth0 configurada com: ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up Eth1 configurada com: ifconfig eth1 10.0.0.1 netmask 255.0.0.0 up Imagine então que este servidor está conectando duas redes distintas 192.168.0.0 e 10.0.0.0. Até então não temos nenhuma configuração que habilite o encaminhamento de pacotes de uma interface para outra. Como o roteador tem acesso as duas redes locais, e estamos utilizando IPs “frios”, que não serão roteados para a Internet, basta encaminhamento de pacotes do servidor, digitando o comando: echo 1 > /proc/sys/net/ipv4/ip_forward habilitar o Este arquivo tem apenas um byte dentro dele, representando um bit de configuração, inicialmente configurado em 0 (zero) e com o comando anterior passa a ter valor 1 (um). Isso faz com que o encaminhamento de pacotes (ip_forward) seja habilitado, então os hosts de um rede conseguirão acessar os hosts da outra rede. Se a estivéssemos conectando uma rede local, por exemplo, a nossa rede 192.168.0.0 a Internet via conexão de modem ou ADSL, a situação é um pouco diferente. Nesse caso devemos fazer uso do NAT, para traduzir os endereços frios de nossa rede local para a Internet. Imagine que temos uma conexão com a Internet em nosso servidor na interface ppp0, então nossa linha de configuração no servidor ficaria da seguinte maneira: iptables –t nat –A POSTROUTING –o ppp0 –j MASQUERADE Note que nesse caso utilizamos a tabela NAT, acrescentando uma regra a chain POSTROUNG (consultada após o roteamento) dizendo que a saída que os pacotes encaminhados para a interface ppp0 devem ser mascarados pelo servidor. Se a conexão de Internet fosse com um IP fixo ligado a interface de rede eth0: iptables –t nat –A POSTROUTING –o eth0 –j SNAT --to 200.204.0.3 Nesse caso com IP fio 200.204.0.3, seria feito o encaminhamento via NAT. Nunca se esqueça de habilitar o bit de encaminhamento informado anteriormente, pois sem eles seus pacotes não serão direcionados entre as interfaces presentes no servidor. Verifique sempre as regras de firewall, elas podem estar impedindo algum procedimento que você precisa realizar, portanto configure-as com atenção. ATIVIDADE - Considerando o cenário anterior e implementado em sala de aula: Máquina 1/Rede 1: 192.168.0.2 / 255.255.255.0 Gateway: 192.168.0.1 Máquina 1/Rede 2: 10.0.0.2 / 255.0.0.0 Gateway: 10.0.0.1 - O roteador possui duas interfaces de rede: Eth0 configurada com: ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up Eth1 configurada com: ifconfig eth1 10.0.0.1 netmask 255.0.0.0 up - Configurado com o encaminhamento de pacotes: echo 1 > /proc/sys/net/ipv4/ip_forward Agora você deverá fazer o seguinte: - Habilitar um servidor de FTP na Máquina 1 / Rede 2 - Desabilitar o FTP no roteador - Toda solicitação de FTP encaminhada ao roteador deverá ser direcionada para a Máquina 1 / Rede 2 - Não permitir que ninguém consiga pingar a Máquina 1 / Rede 1, somente o roteador poderá pingar tal máquina - Quando alguém tentar acessar o endereço 69 na Máquina 1 / Rede 2 deverá ser encaminhado para o FTP - Todas as configurações realizadas deverão sempre ser carregas junto do sistema operacional - O arquivo /etc/rc.d/rc.local é sempre executado quando a máquina é iniciada, portanto linhas podem ser acrescentadas ao mesmo