Não consigo compatilhar IPTABLES

1. Não consigo compatilhar IPTABLES

Maicon Siqueira
Maicon Lynx

(usa Debian)

Enviado em 21/02/2010 - 23:35h

Galera tenho o seguinte ambiente.
INTERNET DHCPCLIENT NA ETH0 E NA ETH1 MINHA REDE LOCAL. 10.0.0.0/8

Tenho algumas regras bem simples pra situação atual.
mas soh que a internet não sai.

E e tambem tem a questão do Proxy que tenho que tambem direcionar a porta 80 para ele. MAs até agora tá dificil é compartilhar a net.


Galera valeu a força e vai ai meu script.
==================================================
#FLUSH IN TABLES
#=================================================
iptables -F
iptables -t nat -F
#=================================================
#DROP IN CHAINS
#=================================================
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#=================================================
# RULES INPUT
#=================================================
iptables -A INPUT -d 127.0.0.1 -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -d 10.0.0.0/8 -s 10.0.0.0/8 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 0 -d 0/0 -s 0/0 -j ACCEPT
iptables -A INPUT -p udp -d 10.0.0.0/8 --dport 1024:65535 --sport 53 -j ACCEPT
iptables -A INPUT -p tcp -d 10.0.0.0/8 --dport 1024:65535 --sport 80 -j ACCEPT
iptables -A INPUT -p tcp -d 10.0.0.0/8 --dport 1024:65535 --sport 443 -j ACCEPT
#================================================
#RULES OUTPUT
#================================================
iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -s 10.0.0.0/8 -d 10.0.0.0/8 -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 8 -s 0/0 -d 0/0 -j ACCEPT
iptables -A OUTPUT -p udp -s 10.0.0.0/8 --sport 1024:65535 --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp -s 10.0.0.0/8 --sport 1024:65535 --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp -s 10.0.0.0/8 --sport 1024:65535 --dport 443 -j ACCEPT
#===============================================
#RULES FORWARDING
#===============================================
iptables -A FORWARD -s 10.0.0.0/8 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -s 10.0.0.0/8 -j ACCEPT
#===============================================
#RULES TABLES NAT / POSTROUTING / PREROUTING
#===============================================
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE



  


2. Re: Não consigo compatilhar IPTABLES

Jefferson Diego
Diede

(usa Debian)

Enviado em 22/02/2010 - 00:33h

Amigão, se você der DROP nas policy's padrão de tudo (iptables -P INPUT DROP, iptables -P OUTPUT DROP e iptables -P FORWARD DROP) e não der uma regra que aceite os estados ESTABLISHED e RELATED, não terá muitos resultados...

Tente assim:

iptables -F
iptables -t nat -F
iptables -P INPUT DROP
#iptables -P OUTPUT DROP #Não vejo sentido em bloquear o OUTPUT. É como se tivesse um segurança que questionasse quem SAI da sua casa... inclusive você.
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
#iptables -A INPUT -d 127.0.0.1 -s 127.0.0.1 -j ACCEPT #trabalhe com a interface lo ao invés do ip da lo... evita spoofing:
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -d 10.0.0.0/8 -s 10.0.0.0/8 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 0 -d 0/0 -s 0/0 -j ACCEPT

#Adicione então:
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE

#Agora, algumas coisas que não fazem sentido:
#iptables -A INPUT -p udp -d 10.0.0.0/8 --dport 1024:65535 --sport 53 -j ACCEPT
#iptables -A INPUT -p tcp -d 10.0.0.0/8 --dport 1024:65535 --sport 80 -j ACCEPT
#iptables -A INPUT -p tcp -d 10.0.0.0/8 --dport 1024:65535 --sport 443 -j ACCEPT
#iptables -A OUTPUT -s 10.0.0.0/8 -d 10.0.0.0/8 -j ACCEPT
#iptables -A OUTPUT -p icmp --icmp-type 8 -s 0/0 -d 0/0 -j ACCEPT
#iptables -A OUTPUT -p udp -s 10.0.0.0/8 --sport 1024:65535 --dport 53 -j ACCEPT
#iptables -A OUTPUT -p tcp -s 10.0.0.0/8 --sport 1024:65535 --dport 80 -j ACCEPT
#iptables -A OUTPUT -p tcp -s 10.0.0.0/8 --sport 1024:65535 --dport 443 -j ACCEPT

#Estas regras estão com sport definida. Um pacote só tem uma sport de serviço (abaixo de 1024) se ele é uma resposta. Digo, isso só vai funcionar se for um pacote de resposta de uma conexão de algum cliente na rede interna, mas como não há uma regra que permita o pacote inicial, elas são nulas.
#Tente assim:
iptables -A INPUT -p udp -s 10.0.0.0/8 --dport 53 -j ACCEPT
iptables -A INPUT -p tcp -s 10.0.0.0/8 --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -s 10.0.0.0/8 --dport 443 -j ACCEPT
iptables -A FORWARD -p udp -s 10.0.0.0/8 --dport 53 -j ACCEPT
iptables -A FORWARD -p tcp -s 10.0.0.0/8 --dport 80 -j ACCEPT
iptables -A FORWARD -p tcp -s 10.0.0.0/8 --dport 443 -j ACCEPT


iptables -A FORWARD -s 10.0.0.0/8 -o eth0 -j ACCEPT
#iptables -A FORWARD -i eth0 -s 10.0.0.0/8 -j ACCEPT #Regra desnecessária, pois quem tem ip 10.0.0.0/8 (que é privado) é sua eth1.


3. Compartilhar

Roberto Soares (3spreto)
roberto_espreto

(usa Slackware)

Enviado em 22/02/2010 - 03:53h

Você está habilitando o Forward de IP no kernel do linux?
Só com estes 2 comandos abaixo você já compartilhará a internet para os micros 10.0.0.0/8.

echo 1 > /sys/proc/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -o eth0 -j MASQUERADE

Abraços.


4. Re: Não consigo compatilhar IPTABLES

Maicon Siqueira
Maicon Lynx

(usa Debian)

Enviado em 22/02/2010 - 09:57h

Galera funcionouuu.. valeu mesmo...

sabe como é, ganhei esse conceito quando fiz o curso de linux. ai me estabano todo... Aprendi assim, tem q abrir porta por porta e DROPAR tudo. kkk mas beleza tah certo.


e galera preciso direcionar a porta 80 para o squid e redirecionar essas portas para alguns hosts da rede. A forma da expressão tá correta?

valeu pela força galeraa!

iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j REDIRECT --to-destination 192.168.0.253
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3389 -j REDIRECT --to-destination 192.168.0.2
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 21 -j REDIRECT --to-destination 192.168.0.3



5. Re: Não consigo compatilhar IPTABLES

Jefferson Diego
Diede

(usa Debian)

Enviado em 23/02/2010 - 20:36h

Na verdade amigo, a target REDIRECT é para se o destino (após redirecionar) for a própria máquina onde está o Firewall.
Não vou dizer que só há um modo, mas eu costumo redirecionar assim:

iptables -t nat -A PREROUTING -d SEU_IP_EXTERNO -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2:3389
iptables -t nat -A POSTROUTING -d 192.168.0.2 -s 0/0 -p tcp --dport 3389 -j SNAT --to SEU_IP_EXTERNO


6. Re: Não consigo compatilhar IPTABLES

Maicon Siqueira
Maicon Lynx

(usa Debian)

Enviado em 23/02/2010 - 21:15h

Intendi!
amanha vou tentar lá na empresa. A questão do compartilhamento deu certo e tudo. Mas só tive problemas com Proxy transparente. Não deu certo. Mas vou achar o pau!

eu fiz o seguinte. usei a chain Prerouting para isso.

iptables -t nat -A PREROUTING -s 10.0.0.0/8 -p tcp --dport 80 -j REDIRECT --to 8080

Basicamente seria isso certo?

Mas nao deu. Estou pensando será que terei que criar tambem Forwards e Input para que dê certo.?

E cara valeu a força...

Agora sim to aprendendo... kkkk

Valeu.



7. Re: Não consigo compatilhar IPTABLES

Maicon Siqueira
Maicon Lynx

(usa Debian)

Enviado em 23/02/2010 - 21:19h

Ahh e minha internet é DSL.

Então poderia fazer o Redirecionamento assim;
iptables -t nat -A PREROUTING -- ppp0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2:3389
iptables -t nat -A POSTROUTING -d 192.168.0.2 -s 0/0 -p tcp --dport 3389 -j SNAT --to SEU_IP_EXTERNO [ E AQUI? TENHO A OPÇÃO DE ADD. { -i ppp0 } ]


8. Re: Não consigo compatilhar IPTABLES

Jefferson Diego
Diede

(usa Debian)

Enviado em 25/02/2010 - 19:50h

Use então MASQUERADE no seu IP Dinâmico aí:

De:
iptables -t nat -A PREROUTING -d SEU_IP_EXTERNO -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2:3389
iptables -t nat -A POSTROUTING -d 192.168.0.2 -s 0/0 -p tcp --dport 3389 -j SNAT --to SEU_IP_EXTERNO

Vira:

iptables -t nat -A PREROUTING -d SEU_IP_EXTERNO -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2:3389
iptables -t nat -A POSTROUTING -d 192.168.0.2 -s 0/0 -p tcp --dport 3389 -j MASQUERADE


9. Re: Não consigo compatilhar IPTABLES

Maicon Siqueira
maicon lynx

(usa Debian)

Enviado em 04/03/2010 - 11:23h

Ok galera funcionou. Valeu






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts