Firewall/Proxy (solução completa)
Nesse artigo tento passar da melhor forma possível uma receita para configuração de um firewall/proxy com grande ênfase em segurança.
Parte 2: Configuração de rede (interfaces de rede), autenticação com ADSL para empresas
Após a configuração do sistema, devemos voltar para a configuração das interfaces de rede. Devemo verificar quais interfaces foram reconhecidas na instalação.
O comando dmesg ajuda muito nessa hora:
# dmesg | grep eth
eth0: Realtek RTL8139 at 0xc89e2e00, 00:e0:7d:9e:fb:fd, IRQ 11
eth0: Identified 8139 chip type 'RTL-8139C'
eth1: RealTek RTL8139 at 0xc89e4f00, 00:40:f4:42:50:0d, IRQ 9
eth1: Identified 8139 chip type 'RTL-8139C'
Bom, como as duas placas foram reconhecidas, devemos agora configurar a rede:
No caso estou utilizando o link ADSL para empresas da Telefônica com autenticação. No caso devemos elaborar um script que faça automaticamente a autenticação.
Assim devemos criar um script que faça isso para nós. Criei um script chamado rc.authadsl no /etc/rc.d (lembrando para quem usa outra distro, procurar o diretório padrão de inicialização de serviços). Segue o conteúdo do arquivo:
O comando dmesg ajuda muito nessa hora:
# dmesg | grep eth
eth0: Realtek RTL8139 at 0xc89e2e00, 00:e0:7d:9e:fb:fd, IRQ 11
eth0: Identified 8139 chip type 'RTL-8139C'
eth1: RealTek RTL8139 at 0xc89e4f00, 00:40:f4:42:50:0d, IRQ 9
eth1: Identified 8139 chip type 'RTL-8139C'
Bom, como as duas placas foram reconhecidas, devemos agora configurar a rede:
eth0 -> 10.0.0.254 Rede Interna eth1 -> 200.x.x.7 Rede Externa# ifconfig eth0 10.0.0.254
No caso estou utilizando o link ADSL para empresas da Telefônica com autenticação. No caso devemos elaborar um script que faça automaticamente a autenticação.
Assim devemos criar um script que faça isso para nós. Criei um script chamado rc.authadsl no /etc/rc.d (lembrando para quem usa outra distro, procurar o diretório padrão de inicialização de serviços). Segue o conteúdo do arquivo:
#!/bin/bash
USERNAME="user@provedor.com.br"; # Login necessário p/ autenticação
PASSWORD="senha"; # Senha
URL_TEST="www.uol.com.br";
POST_DATA="username=$USERNAME&password=$PASSWORD";
RET_TEST=`ping -c1 $URL_TEST |grep '100% packet loss'`; # Verifica conectividade com a internet
if [ -z "$RET_TEST" ];
then
echo "Conectado!";
else
echo "Conectando ..."; # Linha abaixo deve estar em uma linha única
echo -e $POST_DATA | lynx --dump --accept_all_cookies -post_data http://200.171.222.97:86/speedywebapp/servlet/\
logon?opcion=internet&CPURL=&username=$USERNAME&password=$PASSWORD;
fi
USERNAME="user@provedor.com.br"; # Login necessário p/ autenticação
PASSWORD="senha"; # Senha
URL_TEST="www.uol.com.br";
POST_DATA="username=$USERNAME&password=$PASSWORD";
RET_TEST=`ping -c1 $URL_TEST |grep '100% packet loss'`; # Verifica conectividade com a internet
if [ -z "$RET_TEST" ];
then
echo "Conectado!";
else
echo "Conectando ..."; # Linha abaixo deve estar em uma linha única
echo -e $POST_DATA | lynx --dump --accept_all_cookies -post_data http://200.171.222.97:86/speedywebapp/servlet/\
logon?opcion=internet&CPURL=&username=$USERNAME&password=$PASSWORD;
fi
Deixe esse script executável:
# chmod +x rc.authadsl
Agora com as informações de IP válido e DNS em mãos, vamos configurar o acesso a internet.
Atribuindo IP a interface eth1:
# ifconfig eth1 200.x.x.7
Agora devemos mudar a rota padrão de nosso sistema.
Configurando a rota padrão:
# route add default eth1
Configurando o IP do Gateway (verificar com a Telefônica):
# route add default gw 200.x.x.1
Agora podemos configurar o DNS do servidor editando o arquivo /etc/resolv.conf:
search dominio.com.br
nameserver 200.204.0.10 #DNS do Terra
nameserver 200.204.0.138
nameserver 200.204.0.10 #DNS do Terra
nameserver 200.204.0.138
Devemos agora executar o script que criamos:
# sh /etc/rc.d/rc.authadsl
Conectando...
Executamos ele novamente para verificar se a autenticação foi sucedida:
# sh /etc/rc.d/rc.authadsl
Conectado!
Agora podemos realizar um teste de ping.
# ping -c5 www.terra.com.br
PING www.terra.com.br (200.176.3.142) 56(84) bytes of data.
64 bytes from www.terra.com.br (200.176.3.142): icmp_seq=1 ttl=245 time=134 ms
64 bytes from www.terra.com.br (200.176.3.142): icmp_seq=2 ttl=245 time=48.9 ms
64 bytes from www.terra.com.br (200.176.3.142): icmp_seq=3 ttl=245 time=48.3 ms
64 bytes from www.terra.com.br (200.176.3.142): icmp_seq=4 ttl=245 time=48.9 ms
64 bytes from www.terra.com.br (200.176.3.142): icmp_seq=5 ttl=245 time=48.1 ms
--- www.terra.com.br ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4039ms
rtt min/avg/max/mdev = 48.149/65.730/134.299/34.286 ms
Para não passarmos pelo problema da autenticação expirar, vamos agendar uma tarefa no crontab em que ele executa o script /etc/rc.d/rc.authadsl a cada 5 minutos:
# crontab -e
E adicionamos a linha:
5 * * * * /etc/rc.d/rc.authadsl
Assim estaremos tranqüilos em relação a conexão e autenticação.
Excelente artigo.