Enviado em 01/10/2009 - 10:01h
Olá pessoal, sei que o assunto está em vários posts de vários fóruns, mas estou entrando na fase do suicidío com o iptables ou com o squid, ainda não sei onde está o problema.
Tenho um site hospedado na locaweb que direciona as solicitações para um server 2003 com IIS na minha sub rede. Já usei todas as regras de PREROUTING que poderia usar e nada acontece, no acesso externo a página não pode ser exibida e no acesso interno da Falha na conexão:(111)Connection refused. Isso está me tirando as forças! A diretoria está cobrando, pois é uma página de acesso de alunos.
Estou mandando as regras que estou utilizando para análise:
#!/bin/sh
ipt="/sbin/iptables"
mod="/sbin/modprobe"
#Interface da Internet
IFACE_WAN="eth0"
#Interface de rede local
IFACE_LAN="eth1"
iniciar(){
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $IFACE_WAN -j MASQUERADE
#modules
$mod ip_tables
$mod ip_conntrack
$mod iptable_filter
$mod iptable_nat
$mod iptable_mangle
$mod ipt_LOG
$mod ipt_limit
$mod ipt_state
$mod ipt_MASQUERADE
#IRC FTP
$mod ip_nat_ftp
$mod ip_nat _irc
$mod ip_conntrack_ftp
$mod ip_conntrack_irc
#active rules
$ipt -F
$ipt -t nat -F
$ipt -t mangle -F
$ipt -X
$ipt -t nat -X
$ipt -t mangle -X
#default policies
$ipt -P INPUT DROP
$ipt -P FORWARD DROP
$ipt -P OUTPUT ACCEPT
$ipt -t nat -P OUTPUT ACCEPT
$ipt -t nat -P PREROUTING ACCEPT
$ipt -t nat -P POSTROUTING ACCEPT
$ipt -t mangle -P PREROUTING ACCEPT
$ipt -t mangle -P POSTROUTING ACCEPT
#
#Proxy transparente
$ipt -t nat -A PREROUTING -i $IFACE_LAN -p tcp --dport 80 -j REDIRECT --to-port 3128
echo "Proxy transparente ativado..........................................."
#
# Redirecionamento para IIS
echo "Iniciando redirecionamento para o IIS.........................."
$ipt -A FORWARD -i $IFACE_WAN -p tcp --dport 8080 -d 192.168.254.2 -j ACCEPT
$ipt -t nat -A PREROUTING -i $IFACE_WAN -p tcp --dport 8080 -j DNAT --to 192.168.254.2:8080
#
# Redirecionamento para SQL Server
$ipt -t nat -A PREROUTING -p tcp --dport 1433 -j DNAT --to 192.168.254.2
$ipt -t nat -A PREROUTING -p udp --dport 1433 -j DNAT --to 192.168.254.2
$ipt -t nat -A PREROUTING -p tcp --sport 1433 -s 192.168.254.2/25 -j ACCEPT
$ipt -t nat -A PREROUTING -p udp --sport 1433 -s 192.168.254.2/25 -j ACCEPT
$ipt -A FORWARD -p tcp --dport 1433 -s 0/0 -d 192.168.254.2/25 -j ACCEPT
$ipt -A FORWARD -p udp --dport 1433 -s 0/0 -d 192.168.254.2/25 -j ACCEPT
$ipt -A FORWARD -p tcp --sport 1433 -s 192.168.254.2/25 -j ACCEPT
$ipt -A FORWARD -p udp --sport 1433 -s 192.168.254.2/25 -j ACCEPT
#
# Liberar porta do TS
echo "Iniciando redirecionamento para o TS..................................."
#$ipt -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to 192.168.254.2
$ipt -t nat -A PREROUTING -p tcp --sport 3389 -s 192.168.254.2/25 -j ACCEPT
$ipt -A FORWARD -p tcp --dport 3389 -s 0/0 -d 192.168.254.2/25 -j ACCEPT
$ipt -A FORWARD -p tcp --sport 3389 -s 192.168.254.2/25 -j ACCEPT
#$ipt -t nat -A PREROUTING -p udp --dport 3389 -j DNAT --to 192.168.254.2
$ipt -t nat -A PREROUTING -p udp --sport 3389 -s 192.168.254.2/25 -j ACCEPT
$ipt -A FORWARD -p udp --dport 3389 -s 0/0 -d 192.168.254.2/25 -j ACCEPT
$ipt -A FORWARD -p udp --sport 3389 -s 192.168.254.2/25 -j ACCEPT
$ipt -t nat -A PREROUTING -p tcp --dport 3389 -s 192.168.254.2 -j ACCEPT
$ipt -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to 192.168.254.2
$ipt -A FORWARD -p tcp --dport 3389 -j ACCEPT
#
#Autoriza pacotes da interface loopback
$ipt -A INPUT -i lo -j ACCEPT
#Autoriza pacotes da rede local
$ipt -A INPUT -i $IFACE_LAN -j ACCEPT
# Abre a porta 22 usada pelo SSH
$ipt -t nat -A PREROUTING -p tcp --dport 22 -j ACCEPT
#$ipt -t nat -A PREROTUING -p udp --dport 22 -j ACCEPT
$ipt -A INPUT -p tcp --dport 22 -j ACCEPT
#$ipt -A INPUT -p udp --dport 22 -j ACCEPT
#Enable IP masquerade
$ipt -t nat -A POSTROUTING -o $IFACE_WAN -j MASQUERADE
#Enable unrestricted outigoing traffic
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$ipt -A FORWARD -i $IFACE_WAN -o $IFACE_LAN -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A FORWARD -i $IFACE_LAN -o $IFACE_WAN -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#Accept important ICMP messages
$ipt -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
$ipt -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
$ipt -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
# Deixa de responder a pings
#iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
#Protecao contra IP spoofing
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
$ipt -A INPUT -m state --state INVALID -j DROP
#Bloqueia o restante das conexoes
$ipt -A INPUT -p tcp --syn -j DROP
}
parar(){
echo "Firewall desativado............................."
# default policies
$ipt -P INPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -P OUTPUT ACCEPT
$ipt -t nat -P OUTPUT ACCEPT
$ipt -t nat -P PREROUTING ACCEPT
$ipt -t nat -P POSTROUTING ACCEPT
$ipt -t mangle -P INPUT ACCEPT
$ipt -t mangle -P OUTPUT ACCEPT
$ipt -t mangle -P FORWARD ACCEPT
$ipt -t mangle -P PREROUTING ACCEPT
$ipt -t mangle -P POSTROUTING ACCEPT
# Zerando contadores
$ipt -Z
$ipt -t nat -Z
$ipt -t mangle -Z
# flush
$ipt -F
$ipt -X
$ipt -t nat -F
$ipt -t nat -X
$ipt -t mangle -F
$ipt -t mangle -X
}
case "$1" in
"start")iniciar;;
"stop")parar;;
"restart")parar;iniciar;;
*)
echo "Use os parametros start ou stop"
esac
Já pensei em configurações no IIS, mas em outros posts não comentam isso, estou em fase crítica.
Agradeço por qualquer colaboração.
Tenho um site hospedado na locaweb que direciona as solicitações para um server 2003 com IIS na minha sub rede. Já usei todas as regras de PREROUTING que poderia usar e nada acontece, no acesso externo a página não pode ser exibida e no acesso interno da Falha na conexão:(111)Connection refused. Isso está me tirando as forças! A diretoria está cobrando, pois é uma página de acesso de alunos.
Estou mandando as regras que estou utilizando para análise:
#!/bin/sh
ipt="/sbin/iptables"
mod="/sbin/modprobe"
#Interface da Internet
IFACE_WAN="eth0"
#Interface de rede local
IFACE_LAN="eth1"
iniciar(){
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o $IFACE_WAN -j MASQUERADE
#modules
$mod ip_tables
$mod ip_conntrack
$mod iptable_filter
$mod iptable_nat
$mod iptable_mangle
$mod ipt_LOG
$mod ipt_limit
$mod ipt_state
$mod ipt_MASQUERADE
#IRC FTP
$mod ip_nat_ftp
$mod ip_nat _irc
$mod ip_conntrack_ftp
$mod ip_conntrack_irc
#active rules
$ipt -F
$ipt -t nat -F
$ipt -t mangle -F
$ipt -X
$ipt -t nat -X
$ipt -t mangle -X
#default policies
$ipt -P INPUT DROP
$ipt -P FORWARD DROP
$ipt -P OUTPUT ACCEPT
$ipt -t nat -P OUTPUT ACCEPT
$ipt -t nat -P PREROUTING ACCEPT
$ipt -t nat -P POSTROUTING ACCEPT
$ipt -t mangle -P PREROUTING ACCEPT
$ipt -t mangle -P POSTROUTING ACCEPT
#
#Proxy transparente
$ipt -t nat -A PREROUTING -i $IFACE_LAN -p tcp --dport 80 -j REDIRECT --to-port 3128
echo "Proxy transparente ativado..........................................."
#
# Redirecionamento para IIS
echo "Iniciando redirecionamento para o IIS.........................."
$ipt -A FORWARD -i $IFACE_WAN -p tcp --dport 8080 -d 192.168.254.2 -j ACCEPT
$ipt -t nat -A PREROUTING -i $IFACE_WAN -p tcp --dport 8080 -j DNAT --to 192.168.254.2:8080
#
# Redirecionamento para SQL Server
$ipt -t nat -A PREROUTING -p tcp --dport 1433 -j DNAT --to 192.168.254.2
$ipt -t nat -A PREROUTING -p udp --dport 1433 -j DNAT --to 192.168.254.2
$ipt -t nat -A PREROUTING -p tcp --sport 1433 -s 192.168.254.2/25 -j ACCEPT
$ipt -t nat -A PREROUTING -p udp --sport 1433 -s 192.168.254.2/25 -j ACCEPT
$ipt -A FORWARD -p tcp --dport 1433 -s 0/0 -d 192.168.254.2/25 -j ACCEPT
$ipt -A FORWARD -p udp --dport 1433 -s 0/0 -d 192.168.254.2/25 -j ACCEPT
$ipt -A FORWARD -p tcp --sport 1433 -s 192.168.254.2/25 -j ACCEPT
$ipt -A FORWARD -p udp --sport 1433 -s 192.168.254.2/25 -j ACCEPT
#
# Liberar porta do TS
echo "Iniciando redirecionamento para o TS..................................."
#$ipt -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to 192.168.254.2
$ipt -t nat -A PREROUTING -p tcp --sport 3389 -s 192.168.254.2/25 -j ACCEPT
$ipt -A FORWARD -p tcp --dport 3389 -s 0/0 -d 192.168.254.2/25 -j ACCEPT
$ipt -A FORWARD -p tcp --sport 3389 -s 192.168.254.2/25 -j ACCEPT
#$ipt -t nat -A PREROUTING -p udp --dport 3389 -j DNAT --to 192.168.254.2
$ipt -t nat -A PREROUTING -p udp --sport 3389 -s 192.168.254.2/25 -j ACCEPT
$ipt -A FORWARD -p udp --dport 3389 -s 0/0 -d 192.168.254.2/25 -j ACCEPT
$ipt -A FORWARD -p udp --sport 3389 -s 192.168.254.2/25 -j ACCEPT
$ipt -t nat -A PREROUTING -p tcp --dport 3389 -s 192.168.254.2 -j ACCEPT
$ipt -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to 192.168.254.2
$ipt -A FORWARD -p tcp --dport 3389 -j ACCEPT
#
#Autoriza pacotes da interface loopback
$ipt -A INPUT -i lo -j ACCEPT
#Autoriza pacotes da rede local
$ipt -A INPUT -i $IFACE_LAN -j ACCEPT
# Abre a porta 22 usada pelo SSH
$ipt -t nat -A PREROUTING -p tcp --dport 22 -j ACCEPT
#$ipt -t nat -A PREROTUING -p udp --dport 22 -j ACCEPT
$ipt -A INPUT -p tcp --dport 22 -j ACCEPT
#$ipt -A INPUT -p udp --dport 22 -j ACCEPT
#Enable IP masquerade
$ipt -t nat -A POSTROUTING -o $IFACE_WAN -j MASQUERADE
#Enable unrestricted outigoing traffic
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$ipt -A FORWARD -i $IFACE_WAN -o $IFACE_LAN -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A FORWARD -i $IFACE_LAN -o $IFACE_WAN -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
#Accept important ICMP messages
$ipt -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
$ipt -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
$ipt -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
# Deixa de responder a pings
#iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
#Protecao contra IP spoofing
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter
$ipt -A INPUT -m state --state INVALID -j DROP
#Bloqueia o restante das conexoes
$ipt -A INPUT -p tcp --syn -j DROP
}
parar(){
echo "Firewall desativado............................."
# default policies
$ipt -P INPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -P OUTPUT ACCEPT
$ipt -t nat -P OUTPUT ACCEPT
$ipt -t nat -P PREROUTING ACCEPT
$ipt -t nat -P POSTROUTING ACCEPT
$ipt -t mangle -P INPUT ACCEPT
$ipt -t mangle -P OUTPUT ACCEPT
$ipt -t mangle -P FORWARD ACCEPT
$ipt -t mangle -P PREROUTING ACCEPT
$ipt -t mangle -P POSTROUTING ACCEPT
# Zerando contadores
$ipt -Z
$ipt -t nat -Z
$ipt -t mangle -Z
# flush
$ipt -F
$ipt -X
$ipt -t nat -F
$ipt -t nat -X
$ipt -t mangle -F
$ipt -t mangle -X
}
case "$1" in
"start")iniciar;;
"stop")parar;;
"restart")parar;iniciar;;
*)
echo "Use os parametros start ou stop"
esac
Já pensei em configurações no IIS, mas em outros posts não comentam isso, estou em fase crítica.
Agradeço por qualquer colaboração.