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