NAT no Iptables [RESOLVIDO]

1. NAT no Iptables [RESOLVIDO]

Eder Lopes
ederlopes7

(usa CentOS)

Enviado em 01/08/2012 - 13:49h

Pessoal,

estou precisando de um HELP aqui.

Preciso fazer um redirecionamento de umas portas no iptables, porem esta dando um erro..


root@SQSERVER:/etc/squid3/acls# /etc/init.d/firewall reload
iptables v1.4.8: option `PREROUTING' requires an argument
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.4.8: option `PREROUTING' requires an argument
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.4.8: option `PREROUTING' requires an argument
Try `iptables -h' or 'iptables --help' for more information.
Bad argument `PREROUTING'
Try `iptables -h' or 'iptables --help' for more information.




estes erro ocorreram depois que eu coloquei as regras de NAT, mas nao sei aonde eu errei.









segue meu firewall











#!/bin/sh
modprobe iptable_nat
iptables -F
iptables -t nat -F
iptables -X
echo "1" > /proc/sys/net/ipv4/ip_forward
# jogando internet para o proxy
iptables -t nat -A PREROUTING -p tcp -i eth1 --dport 80 -j REDIRECT --to 3128
# Liberar Outlook www.vivaolinux.com.br/dica/Faca-seu-Outlook-funcionar-com-o-iptables
iptables -A FORWARD -p udp -s 192.168.1.0/24 -d 8.8.4.4 --dport 53 -j ACCEPT
iptables -A FORWARD -p udp -s 8.8.4.4 --sport 53 -d 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -p TCP -s 192.168.1.0/24 --dport 25 -j ACCEPT
iptables -A FORWARD -p TCP -s 192.168.1.0/24 --dport 587 -j ACCEPT
iptables -A FORWARD -p TCP -s 192.168.1.0/24 --dport 110 -j ACCEPT
iptables -A FORWARD -p tcp --sport 25 -j ACCEPT
iptables -A FORWARD -p tcp --sport 587 -j ACCEPT
iptables -A FORWARD -p tcp --sport 110 -j ACCEPT
iptables -t nat -A POSTROUTING -j MASQUERADE

# Direcionar internet para eth0
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE




#Liberar MSN Ip especifico
iptables -I FORWARD -s 192.168.1.127 -p tcp --dport 1863 -j ACCEPT
iptables -I FORWARD -s 192.168.1.127 -d loginnet.password.com -j ACCEPT
iptables -I FORWARD -s 192.168.1.127 -d hotmail.com -j ACCEPT
iptables -I FORWARD -s 192.168.1.127 -d hotmail.com.br -j ACCEPT
iptables -I FORWARD -s 192.168.1.127 -d login.live.com -j ACCEPT
iptables -A FORWARD -s 192.168.1.127 -d messenger.hotmail.com -j ACCEPT
iptables -A FORWARD -s 192.168.1.127 -d webmessenger.msn.com -j ACCEPT



#Libera Porta CONECTIVIDADE
iptables -A INPUT -j ACCEPT -p tcp -i eth0 --sport 2631
iptables -A INPUT -j ACCEPT -p tcp -i eth0 --dport 2631
iptables -A INPUT -j ACCEPT -p tcp -i eth0 -s 200.201.174.0/24
iptables -A INPUT -j ACCEPT -p tcp -i eth0 -d 200.201.174.0/24
#=======================================================================
iptables -A FORWARD -j ACCEPT -p tcp --sport 2631
iptables -A FORWARD -j ACCEPT -p tcp --dport 2631
#=======================================================================
#iptables -t nat -A PREROUTING -i eth0 -p tcp -d ! 200.201.174.0/24 --dport 80 -j REDIRECT --to-port 3128
#=======================================================================




#NAT
#========================================================================
iptables -t nat -A PREROUTING -eth1 -p tcp --dport 5432 -j DNAT --to-destination 192.168.1.254
iptables -t nat -A PREROUTING -eth1 -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.118
iptables -t nat -A PREROUTING -eth1 -p tcp --dport 2222 -j DNAT --to-destination 192.168.1.254
iptables -t nat PREROUTING -i eth1 -p tcp --dport 3389 -j DNAT --to-destination 192.168.1.5
iptables -t nat -A POSTROUTING -s 192.168.1.254 -j MASQUERADE

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

iptables -A FORWARD -p tcp --dport 3389 -j ACCEPT
iptables -A FORWARD -p tcp --sport 3389 -j ACCEPT























PLACA LAN - eth0
PLACA WAN - eth1



  


2. MELHOR RESPOSTA

Giancarlo Garcia Fleigel
iamloco

(usa Ubuntu)

Enviado em 01/08/2012 - 16:20h

Como nosso amigo Alex falou falta colocar o -i

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 5432 -j DNAT --to-destination 192.168.1.254:xxxx
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.118:xxx
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 2222 -j DNAT --to-destination 192.168.1.254:Xxx


e no final do ip coloca : e a porta para onde está redirecionando

por exemplo vai acessar a porta 5432 no ip 192.168.1.254:5432, tens que especificar a porta que esse redirecionamento vai escutar.
espero ter ajudado.


3. Re: NAT no Iptables [RESOLVIDO]

Alex
alexhctp

(usa Linux Mint)

Enviado em 01/08/2012 - 14:12h

Amigo,


#NAT
#========================================================================
iptables -t nat -A PREROUTING -eth1 -p tcp --dport 5432 -j DNAT --to-destination 192.168.1.254
iptables -t nat -A PREROUTING -eth1 -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.118
iptables -t nat -A PREROUTING -eth1 -p tcp --dport 2222 -j DNAT --to-destination 192.168.1.254
iptables -t nat PREROUTING -i eth1 -p tcp --dport 3389 -j DNAT --to-destination 192.168.1.5
iptables -t nat -A POSTROUTING -s 192.168.1.254 -j MASQUERADE

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

Me parece que a unica coisa errada nesse script é a auxencia ausência do argumento A na sexta linha, devendo ficar assim:

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 3389 -j DNAT --to-destination 192.168.1.5

Veja e nos diga o que aconteceu.

Abraço!


4. Re: NAT no Iptables [RESOLVIDO]

Eder Lopes
ederlopes7

(usa CentOS)

Enviado em 01/08/2012 - 14:45h

aconteceu a mesma coisa....




root@SQSERVER:/etc/squid3/acls# /etc/init.d/firewall reload
iptables v1.4.8: option `PREROUTING' requires an argument
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.4.8: option `PREROUTING' requires an argument
Try `iptables -h' or 'iptables --help' for more information.
iptables v1.4.8: option `PREROUTING' requires an argument
Try `iptables -h' or 'iptables --help' for more information.





=S


5. Re: NAT no Iptables [RESOLVIDO]

Alex
alexhctp

(usa Linux Mint)

Enviado em 01/08/2012 - 14:51h

Cara, comenta todas as regras de NAT que você adicionou, executa o script. Se o problema persistir, me avisa, caso contrario, vai descomentando as regras ate vc descobrir qual delas desencadeia o erro. Quando descobrir qual regra esta causando o erro, posta aqui.

Abraço!


6. Re: NAT no Iptables [RESOLVIDO]

Eder Lopes
ederlopes7

(usa CentOS)

Enviado em 01/08/2012 - 15:58h

Cara


eu fiz o que voce falou....

descobrei que os erros estão nas linhas


iptables -t nat -A PREROUTING -eth1 -p tcp --dport 5432 -j DNAT --to-destination 192.168.1.254
iptables -t nat -A PREROUTING -eth1 -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.118
iptables -t nat -A PREROUTING -eth1 -p tcp --dport 2222 -j DNAT --to-destination 192.168.1.254



o resto está legal!!!


o que tem de errado nestas linhas?


7. Re: NAT no Iptables [RESOLVIDO]

Giancarlo Garcia Fleigel
iamloco

(usa Ubuntu)

Enviado em 01/08/2012 - 16:23h

vou usar um exemplo, caso você queira mascarar a porta ssh (22)

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 2222 -j DNAT --to-destination 192.168.1.254:22

vais colocar o teu ip externo xxx.xxx.xxx.xxx:2222 que o teu firewall vai transferir tudo que chegar na porta 2222 para a porta 22 do teu ip 192.168.1.254 é +- isso. :D


8. Re: NAT no Iptables [RESOLVIDO]

Alex
alexhctp

(usa Linux Mint)

Enviado em 01/08/2012 - 16:29h

Amigo, desculpa a falta de atenção, mas olhando com mais calma, observei que você também esqueceu de colocar o (-i) na frente da interface...
Altere o script conforme o exemplo abaixo, acrescentando o -i na frente do eth1.

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 5432 -j DNAT --to-destination 192.168.1.254

Tenta mudar isso e me diga o que aconteceu.

Abraço!


9. Re: NAT no Iptables [RESOLVIDO]

Alex
alexhctp

(usa Linux Mint)

Enviado em 01/08/2012 - 16:36h

alexhctp escreveu:

Amigo, desculpa a falta de atenção, mas olhando com mais calma, observei que você também esqueceu de colocar o (-i) na frente da interface...
Altere o script conforme o exemplo abaixo, acrescentando o -i na frente do eth1.

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 5432 -j DNAT --to-destination 192.168.1.254

Tenta mudar isso e me diga o que aconteceu.

Abraço!


Excelente exemplo, serve pra demonstrar de forma mais clara a sintaxe e o uso das regras no iptables!

Obrigado pelo complemento.

Abraço!


10. Re: NAT no Iptables [RESOLVIDO]

Eder Lopes
ederlopes7

(usa CentOS)

Enviado em 02/08/2012 - 17:09h

pessoal, muito obrigado mesmo

as regras estão funcionando perfeitamente

muito obrigado pela ajuda, agora já estou conseguindo brincar um pouco + com o iptables





Valeu!!!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts