Como ficaria esse comando do IPTABLES?
	
	
		Pessoal, eu uso proxi transparende na minha rede. Porem eu uso o seguinte comando do iptables para liberar o acesso ao IP 200.201.174.207 sem passar pelo squid. 
iptables -t nat -A PREROUTING -s 0/0 -p tcp -d ! 200.201.174.207 --dport 80 -j REDIRECT --to-port 3128
Repare que o comando vale para todos os destinations menos o ip indicado (por isso informado o "!").
Mas agora eu quero fazer isso com varios ips e não só com esse. Como eu devo fazer isso?
	 
	
	
	
		Re: Como ficaria esse comando do IPTABLES?
	
	
		iptables -t nat -A PREROUTING -p tcp -d 200.201.174.207 --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d A.B.C.D --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d E.F.G.H --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128
Com isso ele faz NAT para todos os destinos com excessão dos citados nas 3 primeiras linhas. É só ir adicionando mais regras antes da última.
	 
	
	
	
		Re: Como ficaria esse comando do IPTABLES?
	
	
		olá,
                Código :
                
for ip in 200.201.174.207 200.201.174.208 200.201.174.209 200.201.174.210
 do
 iptables -t nat -A PREROUTING -s 0/0 -p tcp -d ! $ip --dport 80 -j REDIRECT --to-port 3128
 done
  
até...
	 
	
	
	
		Re: Como ficaria esse comando do IPTABLES?
	
	
		
	Citação:
	
		
		
			
				Postado originalmente por flamehazard 
				
			
			olá,
                Código :
                
for ip in 200.201.174.207 200.201.174.208 200.201.174.209 200.201.174.210
 do
 iptables -t nat -A PREROUTING -s 0/0 -p tcp -d ! $ip --dport 80 -j REDIRECT --to-port 3128
 done
  
até...
 
			
		
	 
 Flame, essas regras nao funcionam conforme o desejado.
Vamos analisar:
As regras criadas seriam as seguintes: 
iptables -t nat -A PREROUTING -s 0/0 -p tcp -d ! 200.201.174.207 --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 0/0 -p tcp -d ! 200.201.174.208 --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 0/0 -p tcp -d ! 200.201.174.209 --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 0/0 -p tcp -d ! 200.201.174.210 --dport 80 -j REDIRECT --to-port 3128
Se a requisicao do usuario fosse para o ip 209, a primeira regra carregada pelo kernel diz o seguinte: redirecione para a porta 3128 todos os pacotes com destino a porta 80 que nao sejam para o ip de destino 200.201.174.207. Como o ip de destino em questao é o 209, o kernel aplica a regra para a solicitacao, redirecionando para o squid. A forma correta e mais 'limpa' é a citada pelo Eric. 
Ou, ainda, se a sua necessidade for apenas com relacao ao Conectividade Social, voce pode cirar a regra pra classe toda, é mais garantido.
iptables -t nat -A PREROUTING -p tcp -d ! 200.201.174.0/24 --dport 80 -j REDIRECT --to-port 3128
Att,
Fabio K. Lima
LPIC1/81913
	 
	
	
	
		Re: Como ficaria esse comando do IPTABLES?
	
	
		para ficar mais organizados.. pode usar chains personalizadas assim:
iptables -t nat -N proxy
iptables -t nat -A PREROUTING -p tcp --dport 80 -j proxy
iptables -t nat -A proxy -d 200.200.200.1 -j ACCEPT
iptables -t nat -A proxy -d 200.200.200.2 -j ACCEPT
iptables -t nat -A proxy -j DNAT --to-destination 192.168.0.1:3128
assim fica mais organizado :)