Wisdown_Eye
(usa Outra)
Enviado em 12/07/2012 - 20:39h
Boa Noite Pessoal,
Estou aqui com uma briga com o IPTables, onde estou sendo massacrado, se alguém puder me indicar onde posso buscar informações de como resolver esse caso ou dar dicas eu ficaria muito agradecido.
Devo salientar que não manjo nada de IPtables / BIND9, estou aprendendo agora ;)
Estou usando o Ubuntu Server 12.04
Ativei DHCP / BIND9
O servidor possui 3 NICs que deveriam funcionar assim:
eth0 = Internet (Aguardando a liberação do IP válido)
eth1 = Servidores
eth2 = Workstations
Assim que for liberado o IP válido desejo hospedar alguns sites.
Não sei s configurei certo o BIND9.
As duas redes Servidores e Workstations deveriam ter alguns compartilhamentos entre si como:
HTTP / FTP / MySQL
Fiz um script que carrega o firewall no boot desa maneira:
#####################################
# Limpando Configuracoes Anteriores #
#####################################
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
iptables -Z
iptables -t nat -Z
iptables -t mangle -Z
#############################
# Configurações Segurança #
#############################
# tcp_syncookies = Protecao Contra Ataques SYN Flood
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
# icmp_echo_ignore_all = Nao Aceita Ping Externo
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
# icmp_echo_ignore_broadcasts = Nao Aceita Requisicao de ICMP
# destinado a Broadcasts e Multicasts
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# icmp_ignore_bogus_error_responses = Ignora Mensagens Falsas de erros ICMP
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
for i in /proc/sys/net/ipv4/conf/*; do
# Nao Redirecionar Mensagens ICMP
echo 0 > $i/accept_redirects
# Protecao Contra Ataques IP Spoofing
echo 0 > $i/accept_source_route
# O Kernel Decide se Envia Resposta pelo Mesmo Endereco ou Nao
echo 1 > $i/arp_filter
# Permitir que Pacotes Falsos Sejam Logados Pelo Proprio Kernel
echo 1 > $i/log_martians
# Verificar ENdereco de Origem dos Pacotes
# (Protecao contra Atatques IP Spoofing)
echo 1 > $i/rp_filter
done
###################
# Politica Padrao #
###################
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# Bind9 - Servidor DNS
iptables -A INPUT -p udp --dport 53 -j ACCEPT
# DHCP - Servidor DHCP
iptables -A INPUT -i eth1 -p udp --sport 68 --dport 67 -j ACCEPT
iptables -A INPUT -i eth2 -p udp --sport 68 --dport 67 -j ACCEPT
# DNS - Servico de Nomes de Dominios
iptables -A FORWARD -o eth0 -p udp -m multiport --dports 53,5353 -j ACCEPT
# FTP - Protocolo de Transferencia de Arquivo
iptables -A FORWARD -o eth0 -p tcp --dport 21 -j ACCEPT
# HTTP - Protocolo de Transferencia de Hypertext
iptables -A FORWARD -o eth0 -p tcp -m multiport --dports 80,8080 -j ACCEPT
# HTTPS - Protocolo de Transferencia de Hypertext Seguro
iptables -A FORWARD -o eth0 -p tcp --dport 443 -j ACCEPT
###########################
# COMPARTILHANDO INTERNET #
###########################
# Masquerade para as redes interna pela eth0
iptables -t nat -A POSTROUTING -s 10.0.0.0/255.255.255.0 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth0 -j MASQUERADE
# ip_forward = Redireciona os pacotes IPs
echo "1" > /proc/sys/net/ipv4/ip_forward
####################################
# Problemas com essa configuração: #
####################################
1 - Meus clientes DHCP caem da rede intermitentemente, as vezes a cada 30 min, as vezes a cada 5 min, não há um padrão...
2 - MSN está funcionando, pensei que pela politica ser DROP o que não tiver regra ele ficaria travado.
3 - DHCP depois de n quedas do cliente se nega a fornecer IP ai tenho que reiniciar servidor + cliente
4 - No meu /var/log/syslog há inumeros relados de pacotes marcianos, sei que dá para desabilitar, mas não sei se isso seria uma pista do problema
5 - No servidor usando "apt-get update" / "apt-get upgrade" dá erro (tenho que liberar alguma porta?)
6 - Quando mando reiniciar o servidor fica uns 5 min na mensagem: "Stopping domain name service... bind9"
7 - Quando mando reiniciar o servidor fica uns 3 min na mensagem: "Deconfiguring network interfaces"
------------------------------------------------------------------------------------------
Ignorando o IPtables e deixando tudo aberto, os problemas acima que continua são: 4 - 6 - 7
Para deixar tudo aberto eu uso o seguinte:
------------------------------------------------------------------------------------------
#####################################
# Limpando Configuracoes Anteriores #
#####################################
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X
iptables -Z
iptables -t nat -Z
iptables -t mangle -Z
###################
# Politica Padrao #
###################
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
###########################
# COMPARTILHANDO INTERNET #
###########################
iptables -t nat -A POSTROUTING -s 10.0.0.0/255.255.255.0 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -o eth0 -j MASQUERADE
# ip_forward = Redireciona os pacotes IPs
echo "1" > /proc/sys/net/ipv4/ip_forward
------------------------------------------------------------------------------------------
Com a ultima configuração não é dropada nenhuma conexão, a internet é compartilhada perfeitamente em ambas as redes.
Com a primeira configuracao tanto a eth1 quanto a eth2 sofre DROPs aleatórios.
Esses drops seriam por falta de regras de forward?