Iptables - Duvida [RESOLVIDO]

1. Iptables - Duvida [RESOLVIDO]

Ricardo Alvarez
ricardohd

(usa Debian)

Enviado em 15/02/2012 - 21:38h

Pessoal.

Boa noite.

Estou com uma duvida bem de iniciante, e após algumas pesquisas, resolvi colocar aqui no tópico, para obter maiores informações.

Baseado no link: http://www.vivaolinux.com.br/artigo/Servidor-de-internet-para-iniciantes-(Debian-Squeeze)?pagina=1

Estamos com o servidor de internet funcionando belezinha... O unico detalhe, preciso liberar algumas portas, para acesso externo ao ftp, cameras (por exemplo)..

Baseado em pesquisas e com a ajuda dos colegas, verificamos que, deverá ser feito por iptables, tem até um exemplo abaixo;


iptables -t nat -A POSTROUTING -p tcp -s 192.168.2.15 --dport 3550 -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp -s 192.168.2.15 --dport 3550 -j MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -s 192.168.2.15 --dport 4550 -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp -s 192.168.2.15 --dport 4550 -j MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -s 192.168.2.15 --dport 80 -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp -s 192.168.2.15 --dport 80 -j MASQUERADE
iptables -A FORWARD -s 192.168.2.15 -j ACCEPT


Unica pergunta, onde coloco estas regras uma vez que trabalho no servidor de internet com o squid?!? Tenho que inserir esta listagem em qual diretorio? É preciso fazer algo mais?

Obrigado


  


2. MELHOR RESPOSTA

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 16/02/2012 - 12:13h

O correto e todos usarem eth0:
ex:
#Liberar portas para acesso as cameras para o micro 192.168.1.4

iptables -A INPUT -i eth0 -p tcp -m multiport --dport 3550,4550,5550,6550,80 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp -m multiport --dport 3550,4550,5550,6550,80 -j DNAT --to-dest 192.168.1.4


#Liberar porta para ftp e vpn para o micro 192.168.1.3

iptables -A INPUT -i eth0 -p tcp -m multiport --dport 1723,21 -j ACCEPT
iptables -t nat -A PREROUTING -i eth -p tcp -m multiport --dport 1723,21 -j DNAT --to-dest 192.168.1.3
iptables -A PREROUTING -t nat -p 47 -i eth0 -j DNAT --to 192.168.0.3


Recomendo a leitura para entender as regras:
http://www.guiafoca.org/?page_id=14



3. Correto

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 15/02/2012 - 21:55h

Se entendi a pergunta o que quer é desviar o acesso externo para uma maquina da sua rede. Correto?

Se for isso a regra seria:

iptables -A INPUT -i eth1 -p tcp -m multiport --dport 3550,4550,80 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp -m multiport --dport 3550,4550,80 -j DNAT --to-dest 192.168.2.15

Pode ser colocada junto com outras regras que tenham ACCEPT no seu firewall

Lembrando que eth1=placa de rede com internet




4. Re: Iptables - Duvida [RESOLVIDO]

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 15/02/2012 - 21:58h

crie um script com as regras iptables, este será o firewall.

pode utilizar a mesma máquina que esta usando o squid como proxy para o firewall, logo esta máquina será o gateway da rede.

Onde colocar o script firewall?
Debian -> /etc/init.d/rc.firewall
Slackware -> /etc/rc.d/rc.firewall

Como criar um firewall seguro?
Estude Modelo OSI, TCP/IP, Protocolos e suas respectivas portas

Dica: inicie as regras no firewall limpando e em DROP nas chains INPUT, OUTPUT, FORWARD, depois libere os serviços que for utilizar na sua rede.


Maiores informações: http://mundodacomputacaointegral.blogspot.com/


5. Re: Iptables - Duvida [RESOLVIDO]

Ricardo Alvarez
ricardohd

(usa Debian)

Enviado em 16/02/2012 - 08:58h

Certo.

Então vamos lá.

Na pagina 10 do link que mandei, no qual usei como base para montar o server, tem o seguinte script de firewall para compartilhar a internet.


#!/bin/sh
modprobe iptable_nat
iptables -F
iptables -t nat -F
iptables -X
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 80 -j REDIRECT --to 3128
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


Posso incluir esses redirecionamentos de portas dentro deste script e executar tudo de uma só vez ??

Exemplo:


#!/bin/sh
modprobe iptable_nat
iptables -F
iptables -t nat -F
iptables -X
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 80 -j REDIRECT --to 3128
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

sleep 10

iptables -t nat -A POSTROUTING -p tcp -s 192.168.2.15 --dport 3550 -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp -s 192.168.2.15 --dport 3550 -j MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -s 192.168.2.15 --dport 4550 -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp -s 192.168.2.15 --dport 4550 -j MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -s 192.168.2.15 --dport 80 -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp -s 192.168.2.15 --dport 80 -j MASQUERADE
iptables -A FORWARD -s 192.168.2.15 -j ACCEPT



Entro no (rcconf) deixo ele iniciando com a maquina e pronto.

O que acham?


6. Re: Iptables - Duvida [RESOLVIDO]

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 16/02/2012 - 09:26h

ricardohd escreveu:

Certo.

Então vamos lá.

Na pagina 10 do link que mandei, no qual usei como base para montar o server, tem o seguinte script de firewall para compartilhar a internet.


#!/bin/sh
modprobe iptable_nat
iptables -F
iptables -t nat -F
iptables -X
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 80 -j REDIRECT --to 3128
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


Posso incluir esses redirecionamentos de portas dentro deste script e executar tudo de uma só vez ??

Exemplo:


#!/bin/sh
modprobe iptable_nat
iptables -F
iptables -t nat -F
iptables -X
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 80 -j REDIRECT --to 3128
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

sleep 10

iptables -t nat -A POSTROUTING -p tcp -s 192.168.2.15 --dport 3550 -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp -s 192.168.2.15 --dport 3550 -j MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -s 192.168.2.15 --dport 4550 -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp -s 192.168.2.15 --dport 4550 -j MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -s 192.168.2.15 --dport 80 -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp -s 192.168.2.15 --dport 80 -j MASQUERADE
iptables -A FORWARD -s 192.168.2.15 -j ACCEPT



Entro no (rcconf) deixo ele iniciando com a maquina e pronto.

O que acham?


Sim, pode colocar as regras iptables tudo no script, logo este será o firewall.



7. Re: Iptables - Duvida [RESOLVIDO]

Ricardo Alvarez
ricardohd

(usa Debian)

Enviado em 16/02/2012 - 10:31h

Certo.

Então quando falamos sobre regras de firewall, seria basicamente o que se faz neste script, quando o utilizamos como firewall, certo? Pelo que pesquisei, existem outras formas de se configurar um firewall, além desta, correto?

Outra coisa, regras de firewall, nada tem a ver com o squid??

Tirando as duvidas de iniciante, abaixo tive que complementar liberação de portas para dois computadores dentro da rede, pois um é o servidor de cameras e o outro vpn e ftp, está certo assim?




#!/bin/sh
modprobe iptable_nat
iptables -F
iptables -t nat -F
iptables -X
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 80 -j REDIRECT --to 3128
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

sleep 10

#Liberar porta para cameras
iptables -t nat -A POSTROUTING -p tcp -s 192.168.1.4 --dport 3550 -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp -s 192.168.1.4 --dport 3550 -j MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -s 192.168.1.4 --dport 4550 -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp -s 192.168.1.4 --dport 4550 -j MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -s 192.168.1.4 --dport 5550 -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp -s 192.168.1.4 --dport 5550 -j MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -s 192.168.1.4 --dport 6550 -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp -s 192.168.1.4 --dport 6550 -j MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -s 192.168.1.4 --dport 80 -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp -s 192.168.1.4 --dport 80 -j MASQUERADE
iptables -A FORWARD -s 192.168.1.4 -j ACCEPT

sleep 10

#Liberar porta para vpn e ftp
iptables -t nat -A POSTROUTING -p tcp -s 192.168.1.3 --dport 21 -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp -s 192.168.1.3 --dport 21 -j MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -s 192.168.1.3 --dport 1723 -j MASQUERADE
iptables -t nat -A POSTROUTING -p udp -s 192.168.1.3 --dport 1723 -j MASQUERADE


Perceba,
192.168.1.4 = micro das cameras interno.
192.168.1.3 = micro servidor de arquivos e sistema, que fornece acesso via ftp e vpn.




8. Regras

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 16/02/2012 - 10:45h

A logica do firewall esta certa porem se quer liberar o acesso de fora para a maquina da camera e FTP as regras estão erradas.

Da uma olhada no que postei mais acima.


9. Re: Iptables - Duvida [RESOLVIDO]

Ricardo Alvarez
ricardohd

(usa Debian)

Enviado em 16/02/2012 - 11:36h

Certo André.

Isso mesmo, dentro da minha rede interna, tenho um micro de cameras no ip 192.168.1.4, que fornece acesso externo, ou seja, posso estar em casa, lançar o meu IP ou ddns no brownser e visualizar as cameras.

O ftp e vpn é a mesma coisa, posso estar em qualquer local fora da minha rede,, bater no ftp://ip e estará logando neste servidor de arquivos no ip interno 192.168.1.3


Levando em base o que me mandou, segue;


#!/bin/sh
modprobe iptable_nat
iptables -F
iptables -t nat -F
iptables -X
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 80 -j REDIRECT --to 3128
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

sleep 10

#Liberar portas para acesso as cameras para o micro 192.168.1.4

iptables -A INPUT -i eth1 -p tcp -m multiport --dport 3550,4550,5550,6550,80 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp -m multiport --dport 3550,4550,5550,6550,80 -j DNAT --to-dest 192.168.1.4

sleep 10

#Liberar porta para ftp e vpn para o micro 192.168.1.3

iptables -A INPUT -i eth1 -p tcp -m multiport --dport 1723,21 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp -m multiport --dport 1723,21 -j DNAT --to-dest 192.168.1.3



Perceba, eth1 é a interface que distribui o DHCP dentro da minha rede, a internet entra através da eth0, que está ligada à um modem da NET-Virtua. Está correto o que segue acima ?




10. Correto

André Canhadas
andrecanhadas

(usa Debian)

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

ricardohd escreveu:

Certo André.

Isso mesmo, dentro da minha rede interna, tenho um micro de cameras no ip 192.168.1.4, que fornece acesso externo, ou seja, posso estar em casa, lançar o meu IP ou ddns no brownser e visualizar as cameras.

O ftp e vpn é a mesma coisa, posso estar em qualquer local fora da minha rede,, bater no ftp://ip e estará logando neste servidor de arquivos no ip interno 192.168.1.3


Levando em base o que me mandou, segue;


#!/bin/sh
modprobe iptable_nat
iptables -F
iptables -t nat -F
iptables -X
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 80 -j REDIRECT --to 3128
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

sleep 10

#Liberar portas para acesso as cameras para o micro 192.168.1.4

iptables -A INPUT -i eth1 -p tcp -m multiport --dport 3550,4550,5550,6550,80 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp -m multiport --dport 3550,4550,5550,6550,80 -j DNAT --to-dest 192.168.1.4

sleep 10

#Liberar porta para ftp e vpn para o micro 192.168.1.3

iptables -A INPUT -i eth1 -p tcp -m multiport --dport 1723,21 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp -m multiport --dport 1723,21 -j DNAT --to-dest 192.168.1.3



Perceba, eth1 é a interface que distribui o DHCP dentro da minha rede, a internet entra através da eth0, que está ligada à um modem da NET-Virtua. Está correto o que segue acima ?



As regras estão erradas somente em relação da placa de internet que no seu caso é eth0. Então deve trocar para eth0 pois o -i (INPUT)eth1 significa que vai entrar pela placa eth1

Outra coisa se essa VPN for do Ruindows adiciona a regra:

iptables -A PREROUTING -t nat -p 47 -i eth0 -j DNAT --to 192.168.0.3






11. Sleep

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 16/02/2012 - 11:58h

Outra coisa é tirar esse sleep 10 não precisa desse tempo para carregar o restante


12. Re: Iptables - Duvida [RESOLVIDO]

Ricardo Alvarez
ricardohd

(usa Debian)

Enviado em 16/02/2012 - 12:06h

Opa.

Então segue;




#!/bin/sh
modprobe iptable_nat
iptables -F
iptables -t nat -F
iptables -X
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 80 -j REDIRECT --to 3128
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


#Liberar portas para acesso as cameras para o micro 192.168.1.4

iptables -A INPUT -i eth0 -p tcp -m multiport --dport 3550,4550,5550,6550,80 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp -m multiport --dport 3550,4550,5550,6550,80 -j DNAT --to-dest 192.168.1.4


#Liberar porta para ftp e vpn para o micro 192.168.1.3

iptables -A INPUT -i eth0 -p tcp -m multiport --dport 1723,21 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp -m multiport --dport 1723,21 -j DNAT --to-dest 192.168.1.3
iptables -A PREROUTING -t nat -p 47 -i eth0 -j DNAT --to 192.168.0.3


-O INPUT eu alterei para eth0, pois é onde entra a minha internet.
-O PREROUTING mantive na eth1, pois seria a minha rede local e dhcp, ou tbm mudo para eth0? Pois na regra que vc me mandou agora da VPN, está PREROUTING eth0.
-A regra que mandou agora, coloquei no final do scrip.

Finish ??




  
01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts