Liberar IP externo no firewall [RESOLVIDO]

37. Outra coisa

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 02/03/2012 - 16:48h

Outra coisa tenta remover o filter:

Esta assim:
#Permitindo e filtrando conexao estabelecidas
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -s $LAN -o $ifaceExt -j ACCEPT

Fica:
#Permitindo e filtrando conexao estabelecidas
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s $LAN -o $ifaceExt -j ACCEPT


  


38. Re: Liberar IP externo no firewall [RESOLVIDO]

Rubens Meira
rubens_web

(usa Debian)

Enviado em 02/03/2012 - 16:50h

andrecanhadas escreveu:

rubens_web escreveu:

Alguma outra maneira galera?


Quando vc para o firewall ele continua sem funcionar?





Sim... já fiz este teste também.


39. Re: Liberar IP externo no firewall [RESOLVIDO]

Rubens Meira
rubens_web

(usa Debian)

Enviado em 02/03/2012 - 16:54h

DMS_ escreveu:

Esses sistemas não utilizam alguma porta diferente?Primeiro IP usa uma porta e o segundo IP usa outra? qual politica do seu squid/iptables?
O que você pode tentar fazer é pegar um script do iptables cru, ir adicionando as regras do seu script atual, e ver em que momento você não consegue se comunicar com estes ips, enfim, é uma idéia.

Tenta montar uma diagrama da rede ae, o que entra/sai colocar no papel mesmo isso ajuda bastante, dar uma olhada na documentação da rede.

[]'s


Não já confirmei no suporte da empresa que gerencia estes servidores que tem estes IPs. Os 2 são porta 80 (http).

Política INPUT=DROP / OUTPUT=ACCEPT / FORWARD=DROP

Minha rede aqui não tem muito segredo não. INTERNET >> FIREWALL >> REDE INTERNA


40. Re: Liberar IP externo no firewall [RESOLVIDO]

Daniel Marchi
DMS_

(usa elementary OS)

Enviado em 02/03/2012 - 17:07h

Que [*****] em rubens :/
Você já deve ter tentado isso mas, coloca uma regra liberando estes IPs no seu firewall, mas coloca antes de qualquer DROP.
Rlx que tu vai achar a resposta.


41. Re: Liberar IP externo no firewall [RESOLVIDO]

Rubens Meira
rubens_web

(usa Debian)

Enviado em 02/03/2012 - 17:24h

DMS_ escreveu:

Que [*****] em rubens :/
Você já deve ter tentado isso mas, coloca uma regra liberando estes IPs no seu firewall, mas coloca antes de qualquer DROP.
Rlx que tu vai achar a resposta.


Tá phoda!!
Fiz o seguinte teste DMS,
1° parei o serviço do firewall (TESTEI E NÃO FUNCIONOU)
2° comentei a linha onde direciona porta 80 para porta squid 3128 dentro do script do STOP (AI FUNCIONOU)

qq eu faço agora! vou postar novamente o meu firewall.sh

#======================================================

root@dhcpserver:~# cat /etc/init.d/firewall.sh
#! /bin/sh
# chkconfig: 235 99 10
# description: Start or stop the Webmin server
#
### BEGIN INIT INFO
# Provides: webmin
# Required-Start: $network $syslog
# Required-Stop: $network
# Default-Start: 2 3 5
# Default-Stop: 0 1 6
# Description: Start or stop the Webmin server
### END INIT INFO

#! /bin/bash

#Variaveis
ifaceExt="eth0"; #acesso internet (offboard)
ifaceInt="eth1"; #acesso intranet (rede interna) (onboard)
LAN="192.168.1.0/24"; #rede local
WAN="XXX.XXX.XX.XX"; #ip fixo RADIO

#Carrega modulos
/sbin/modprobe ip_nat
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_queue
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe iptable_mangle
/sbin/modprobe ipt_state
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_multiport
/sbin/modprobe ipt_mac
/sbin/modprobe ipt_string
/sbin/modprobe ipt_MASQUERADE

start(){
echo "Firewall iniciado ...................... [OK]";
#limpa as regras
iptables -F
iptables -X
iptables -Z
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z

#Politica padrao INPUT=DROP | OUTUPT=ACCEPT | FORWARD=DROP
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

#Bloquei ping externo para o servidor (ICMP)
iptables -A INPUT -i $ifaceExt -p icmp --icmp-type 8 -j DROP


#LIBERANDO PORTAS
#--------------------------------------------------------------------------------------------------------
#Libera porta ssh
iptables -A INPUT -p tcp --dport 22 -i $ifaceInt -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -i $ifaceExt -j ACCEPT

#Libera porta (HTTP)
iptables -A INPUT -s $LAN -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -s $LAN -p udp --dport 80 -j ACCEPT

#Libera porta (DNS)
iptables -A INPUT -s $LAN -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -s $LAN -p udp --dport 53 -j ACCEPT

#Libera porta (SQUID)
iptables -A INPUT -s $LAN -p tcp --dport 3128 -j ACCEPT

#Libera portas (SAMBA)
iptables -A INPUT -s $LAN -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -s $LAN -p udp --dport 139 -j ACCEPT

#Libera portas para acesso ao servidor (APACHE)
iptables -A FORWARD -p tcp --destination-port 80 -j ACCEPT

# OLHE AQUI ==============================
# OLHE AQUI ==============================
# OLHE AQUI ==============================
#Libera IP (CLIPASNET)
#=========================================
iptables -I FORWARD -p tcp --dport 80 -d 200.180.72.107 -j ACCEPT
iptables -I FORWARD -p tcp --dport 80 -d 200.247.221.35 -j ACCEPT

#Sistema ClipasNet nao passando pelo squid
iptables -t nat -A PREROUTING -i $ifaceInt -p tcp ! -d 200.180.72.107 --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i $ifaceInt -p tcp ! -d 200.247.221.35 --dport 80 -j REDIRECT --to-port 3128
# OLHE AQUI ==============================
# OLHE AQUI ==============================
# OLHE AQUI ==============================
# OLHE AQUI ==============================
#--------------------------------------------------------------------------------------------------------


#Permite pacotes transmitidos atraves da interface de loopback (localhost)
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $ifaceInt -j ACCEPT
iptables -A INPUT -i $ifaceExt -j ACCEPT

#Compartilha a conexao disponivel na interface de internet
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s $LAN -o $ifaceExt -j MASQUERADE
echo "Compartilhamento de rede ativo";

#Permitindo e filtrando conexao estabelecidas
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -s $LAN -o $ifaceExt -j ACCEPT

#Direciona trafego para squid
iptables -t nat -A PREROUTING -i $ifaceInt -p tcp --dport 80 -j REDIRECT --to-port 3128


#ROTA ACESSO SISTEMA BKP (APACHE)
#------------------------------------------------------------------------------------------------------------------
iptables -t nat -A PREROUTING -i $ifaceExt -p tcp -m multiport --dports 21,80 -j DNAT --to-destination 192.168.1.61
iptables -t nat -A POSTROUTING -o $ifaceExt -j MASQUERADE
iptables -t nat -A POSTROUTING -d 192.168.1.61/32 -j SNAT --to-source 192.168.1.50
#------------------------------------------------------------------------------------------------------------------


echo "Firewall ativado! ...................... [OK]";
}

stop(){
#limpa as regras
iptables -F
iptables -X
iptables -Z
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z

#Politica padrao
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#Compartilha a conexao disponivel na interface de internet
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s $LAN -o $ifaceExt -j MASQUERADE
echo "Compartilhamento de rede ativo";

#Permitindo e filtrando conexao estabelecidas
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -s $LAN -o $ifaceExt -j ACCEPT

#Proxy squid
iptables -t nat -A PREROUTING -i $ifaceInt -p tcp --dport 80 -j REDIRECT --to-port 3128

echo "Firewall desativado! ................... [OK]";
}

case "$1" in
"start") start ;;
"stop") stop ;;
"reload") stop; start ;;
*)
echo "Use parametros start|stop|reload" ;;

esac
root@dhcpserver:~#


42. Teste

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 02/03/2012 - 17:56h

Se tirando a regra do redirecionamento funciona então o que te passei anteriormente era pra funcionar:


Adiciona as duas regras acima da sua que redireciona a porta 80 para o squid.

iptables -t nat -A PREROUTING -i $ifaceInt -p tcp ! -d 200.180.72.107 --dport 80 -j REDIRECT --to-port 3128

iptables -t nat -A PREROUTING -i $ifaceInt -p tcp ! -d 200.247.221.35 --dport 80 -j REDIRECT --to-port 3128

Devem ficar acima de:

iptables -t nat -A PREROUTING -i $ifaceInt -p tcp --dport 80 -j REDIRECT --to-port 3128


Pode tentar outra coisa para ver se funciona:
iptables -A FORWARD -s $LAN -d 200.180.72.107 -j ACCEPT
iptables -A FORWARD -s $LAN -d 200.247.221.35 -j ACCEPT

Ou ainda a opção do browser para não usar proxy para os IP da aplicação



43. Re: Liberar IP externo no firewall [RESOLVIDO]

Rubens Meira
rubens_web

(usa Debian)

Enviado em 05/03/2012 - 14:31h

andrecanhadas escreveu:

Se tirando a regra do redirecionamento funciona então o que te passei anteriormente era pra funcionar:


Adiciona as duas regras acima da sua que redireciona a porta 80 para o squid.

iptables -t nat -A PREROUTING -i $ifaceInt -p tcp ! -d 200.180.72.107 --dport 80 -j REDIRECT --to-port 3128

iptables -t nat -A PREROUTING -i $ifaceInt -p tcp ! -d 200.247.221.35 --dport 80 -j REDIRECT --to-port 3128

Devem ficar acima de:

iptables -t nat -A PREROUTING -i $ifaceInt -p tcp --dport 80 -j REDIRECT --to-port 3128


Pode tentar outra coisa para ver se funciona:
iptables -A FORWARD -s $LAN -d 200.180.72.107 -j ACCEPT
iptables -A FORWARD -s $LAN -d 200.247.221.35 -j ACCEPT

Ou ainda a opção do browser para não usar proxy para os IP da aplicação


Na teoria deveria sim funcionar, mas quando eu coloco esta linha e comento o redirecionamento para porta 3128 não funciona quando eu comento a linha dos IPs e também a do redirecionamento porta 3128 ai funciona!

Esta linha para não redirecionar o IP para o squid, parece não estar funcionando.


44. Re: Liberar IP externo no firewall [RESOLVIDO]

Rubens Meira
rubens_web

(usa Debian)

Enviado em 05/03/2012 - 14:59h

Help Galera...

Situação atual:
Quero liberar os IPs externos abaixo:
200.180.72.107
200.247.221.35

Quando NÃO é redirecionado para o squid (3128) funciona, o contrário não fuinciona.


#Direciona trafego para squid
iptables -t nat -A PREROUTING -i $ifaceInt -p tcp ! -d 200.180.72.107 --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i $ifaceInt -p tcp ! -d 200.247.221.35 --dport 80 -j REDIRECT --to-port 3128

iptables -t nat -A PREROUTING -i $ifaceInt -p tcp --dport 80 -j REDIRECT --to-port 3128

Observação.
Mesmo com a 3° linha acima comentada e as outras 2 não, também não funciona, tenho que comentar as 3 para o sistema desktop operar ONLINE.


45. Conectividade

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 05/03/2012 - 15:15h

rubens_web escreveu:

Help Galera...

Situação atual:
Quero liberar os IPs externos abaixo:
200.180.72.107
200.247.221.35

Quando NÃO é redirecionado para o squid (3128) funciona, o contrário não fuinciona.


#Direciona trafego para squid
iptables -t nat -A PREROUTING -i $ifaceInt -p tcp ! -d 200.180.72.107 --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i $ifaceInt -p tcp ! -d 200.247.221.35 --dport 80 -j REDIRECT --to-port 3128

iptables -t nat -A PREROUTING -i $ifaceInt -p tcp --dport 80 -j REDIRECT --to-port 3128

Observação.
Mesmo com a 3° linha acima comentada e as outras 2 não, também não funciona, tenho que comentar as 3 para o sistema desktop operar ONLINE.


Tenta usar uma regra que é usada para a conectividade social da caixa: (Antes do redirecionamento para o squid)

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -d 200.180.72.107 -j RETURN
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -d 200.247.221.35 -j RETURN




46. Re: Liberar IP externo no firewall [RESOLVIDO]

Rubens Meira
rubens_web

(usa Debian)

Enviado em 05/03/2012 - 15:23h

andrecanhadas escreveu:

rubens_web escreveu:

Help Galera...

Situação atual:
Quero liberar os IPs externos abaixo:
200.180.72.107
200.247.221.35

Quando NÃO é redirecionado para o squid (3128) funciona, o contrário não fuinciona.


#Direciona trafego para squid
iptables -t nat -A PREROUTING -i $ifaceInt -p tcp ! -d 200.180.72.107 --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i $ifaceInt -p tcp ! -d 200.247.221.35 --dport 80 -j REDIRECT --to-port 3128

iptables -t nat -A PREROUTING -i $ifaceInt -p tcp --dport 80 -j REDIRECT --to-port 3128

Observação.
Mesmo com a 3° linha acima comentada e as outras 2 não, também não funciona, tenho que comentar as 3 para o sistema desktop operar ONLINE.


Tenta usar uma regra que é usada para a conectividade social da caixa: (Antes do redirecionamento para o squid)

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -d 200.180.72.107 -j RETURN
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -d 200.247.221.35 -j RETURN



RESOLVEU... valew andrecanhadas!!
Mas me explica melhor sobre estas linhas?



47. Fora do squid

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 05/03/2012 - 15:40h

Basicamente o modulo return faz com que as regras posteriores não afetem o redirecionamento.

Veja mais:
http://www.jsbusiness.com.br/foca/avancado/ch-fw-iptables.htm

Procure a parte:
10.3.6.3 Especificando RETURN como alvo


48. Re: Liberar IP externo no firewall [RESOLVIDO]

Rubens Meira
rubens_web

(usa Debian)

Enviado em 05/03/2012 - 16:50h

Valeu pela colaboração de todos.
Mais um problema resolvido!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts