Uma regra anulando a outra [RESOLVIDO]

1. Uma regra anulando a outra [RESOLVIDO]

MARCELO HENRIQUE BERNARDES RODRIGUES
marcelohbr

(usa CentOS)

Enviado em 06/12/2010 - 15:40h

Uso CentOS + proxy squid autenticado + iptables e o meu problema é o seguinte:
Existem dois ip’s aqui que são liberados a conexão total, usando a regra:
iptables -t filter -A FORWARD -i eth1 -o ppp0 -s 192.168.1.200 -d 0/0 -p tcp -j ACCEPT
iptables -t filter -A FORWARD -i ppp0 -o eth1 -s 0/0 -d 192.168.1.200 -p tcp -j ACCEPT
que funciona perfeitamente.
Porém, precisei de uma regra para liberar o programa Conectividade Social da Caixa e dentre muitas que pesquisei, achei a seguinte:
iptables -t nat -A PREROUTING -i eth1 -p tcp -d ! 200.201.174.207 --dport 80 -j REDIRECT --to-port 3128
que também funcionou muito bem, mas faz com que a regra anterior pare de funcionar, não permitindo assim o acesso à internet direto.
Como resolvo esse problema?



  


2. MELHOR RESPOSTA

Jefferson Diego
Diede

(usa Debian)

Enviado em 06/12/2010 - 16:06h

Amigo, quanto as suas regras, você não precisa da "iptables -t filter -A FORWARD -i ppp0 -o eth1 -s 0/0 -d 192.168.1.200 -p tcp -j ACCEPT", pois não é necessário acesso de fora para dentro para que as máquinas acessem a internet.

Outra coisa é que sua regra de FORWARD pára funcionar pois a tabela nat está antes da filter ("lógica de iptables"). Se você jogar esse redirect para a 3128 sua máquina 192.168.1.200 vai cair no proxy. O que você pode fazer é o seguinte:


#Quanto aos softwares da caixa, fica mais "eficiente" você fazer o seguinte:
iptables -t nat -I POSTROUTING -i eth1 -p tcp -d 200.201.160/20 -j MASQUERADE
iptables -t filter -I FORWARD -i eth1 -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

#Sua máquina 192.168.1.200 não caírá no proxy:
iptables -t nat -I PREROUTING -i eth1 -p tcp -d ! 200.201.160/20 -s ! 192.168.1.200 --dport 80 -j REDIRECT --to-port 3128
iptables -t filter -A FORWARD -i eth1 -o ppp0 -s 192.168.1.200 -d 0/0 -p tcp -j ACCEPT



Essas regras são para uma condição de "máquina liberada". Se você precisar liberar mais que uma, fica mais simples fazer assim a segunda parte:


#Sua máquina 192.168.1.200 não caírá no proxy:
iptables -t nat -A PREROUTING -i eth1 -p tcp -d ! 200.201.160/20 --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -I PREROUTING -i eth1 -p tcp -s 192.168.1.200 -j ACCEPT
iptables -t filter -A FORWARD -i eth1 -o ppp0 -s 192.168.1.200 -d 0/0 -p tcp -j ACCEPT


3. Re: Uma regra anulando a outra [RESOLVIDO]

Renato Carneiro Pacheco
renato_pacheco

(usa Debian)

Enviado em 06/12/2010 - 15:49h

Faça a liberação total do acesso via squid e não via iptables, é mais simples:

acl libera_geral src 192.168.1.200
http_access allow libera_geral <-- fica na primeira linha do grupo "http_access"


4. Resolvido

MARCELO HENRIQUE BERNARDES RODRIGUES
marcelohbr

(usa CentOS)

Enviado em 07/12/2010 - 10:29h

Diede, vc eh fera msm...
Vejo vc dando sua opinião em varias perguntas...
Deu tudo certo aki.
Te agradeço!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts